/* /assets/css/site.css */

/* Base */
:root{
  --hc-bg:#f3f6fb;
  --hc-ink:#0b1b2a;
  --hc-muted:#4b647a;
  --hc-blue:#0b3a5a;
  --hc-blue2:#082c45;
  --hc-card:#ffffff;
  --hc-border:rgba(10,30,50,.14);
  --hc-shadow:0 10px 24px rgba(10,30,50,.10);
  --hc-radius:16px;
  --hc-gap:18px;

  /* Layout widths */
  --hc-left: 290px;
  --hc-right: 340px;
  --hc-max: 1680px;
  --hc-pad: 12px;

  /* Scroller readability */
  --hc-scroll-font: 18px;
}

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body.hc-body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--hc-ink);
  background: var(--hc-bg);
  line-height: 1.45;
}

a{ color:#0b57a3; }
a:hover{ text-decoration: underline; }

.skip-link{
  position:absolute;
  left:-9999px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}
.skip-link:focus{
  left:12px;
  top:12px;
  width:auto;
  height:auto;
  padding:10px 12px;
  background:#fff;
  border:2px solid #0b57a3;
  border-radius:10px;
  z-index:99999;
}

/* Header */
.hc-header{
  background: linear-gradient(0deg, var(--hc-blue2), var(--hc-blue));
  color:#fff;
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.hc-header-inner{
  max-width: var(--hc-max);
  margin: 0 auto;
  padding: 14px var(--hc-pad) 8px var(--hc-pad);
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  align-items:center;
  gap:14px;
}

.hc-brand{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.hc-brand a{
  color:#ffffff;
  text-decoration:none;
  font-weight:900;
  letter-spacing:.2px;
  font-size: 24px;
}
.hc-brand small{
  color: rgba(255,255,255,.85);
  font-size: 13px;
  line-height: 1.2;
}
.hc-brand-logos{
  display:flex;
  gap:10px;
  align-items:center;
}
.hc-brand-logos img{
  height:18px;
  width:auto;
  object-fit:contain;
  filter: drop-shadow(0 1px 0 rgba(0,0,0,.25));
}

.hc-header-center-logos{
  display:flex;
  gap:14px;
  align-items:center;
  justify-content:center;
}
.hc-header-center-logos img{
  height:22px;
  width:auto;
  object-fit:contain;
  filter: drop-shadow(0 1px 0 rgba(0,0,0,.25));
}

/* Header buttons right */
.hc-header-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
}
.hc-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:9px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  color:#fff;
  text-decoration:none;
  font-weight:800;
  font-size: 13px;
  white-space:nowrap;
  cursor:pointer;
}
.hc-btn:hover{ background: rgba(255,255,255,.14); text-decoration:none; }
.hc-btn.hc-btn-yellow{
  background:#f3c400;
  border-color:#f3c400;
  color:#111;
}
.hc-btn.hc-btn-yellow:hover{ filter:brightness(.98); }

/* CTA row */
.hc-cta-row{
  max-width: var(--hc-max);
  margin: 6px auto 10px auto;
  padding: 0 var(--hc-pad);
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:12px;
}
.hc-cta{
  display:block;
  text-decoration:none;
  border-radius: 16px;
  padding: 14px 14px 12px 14px;
  border:1px solid rgba(255,255,255,.14);
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
  color:#fff;
  position:relative;
  overflow:hidden;
}
.hc-cta:hover{ transform: translateY(-1px); transition: transform .15s ease; text-decoration:none; }
.hc-cta__title{
  font-weight: 950;
  font-size: 16px;
  letter-spacing:.2px;
  margin-bottom: 6px;
}
.hc-cta__sub{
  font-weight: 800;
  font-size: 13px;
  opacity:.96;
}
.hc-cta__note{
  margin-top: 8px;
  font-size: 12px;
  font-weight: 800;
  opacity:.92;
}
.hc-cta--gold{
  background: linear-gradient(90deg, #f6c400, #ffdb5a);
  color:#12202d;
}
.hc-cta--gold .hc-cta__sub,
.hc-cta--gold .hc-cta__note{ color:#12202d; opacity:.95; }
.hc-cta--blue{
  background: linear-gradient(90deg, #1f5ea6, #2f78d3);
}
.hc-cta--slate{
  background: linear-gradient(90deg, #2c485e, #1f3447);
}
.hc-cta--green{
  background: linear-gradient(90deg, #0f7a63, #1aa07c);
}

/* Nav row (force one row when possible) */
.hc-nav-row{
  max-width: var(--hc-max);
  margin: 0 auto;
  padding: 0 var(--hc-pad) 12px var(--hc-pad);
}

/* Dropdown nav */
.hc-nav{
  list-style:none;
  margin: 0;
  padding: 0;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  justify-content:space-between;
}
.hc-nav > li{ position:relative; }
.hc-nav a, .hc-nav button{
  font: inherit;
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
  padding:9px 12px;
  border-radius:999px;
  cursor:pointer;
  text-decoration:none;
  font-weight:900;
  font-size: 13px;
}
.hc-nav a:hover, .hc-nav button:hover{ background: rgba(255,255,255,.12); }
.hc-nav button{ display:inline-flex; align-items:center; gap:8px; }
.hc-nav .caret{ opacity:.9; font-weight:900; }

.hc-nav .dd{
  position:absolute;
  top: 44px;
  left:0;
  min-width: 260px;
  background:#fff;
  color: var(--hc-ink);
  border:1px solid var(--hc-border);
  border-radius: 14px;
  box-shadow: var(--hc-shadow);
  padding: 8px;
  display:none;
  z-index: 9999;
}
.hc-nav .has-dd.open .dd{ display:block; }
.hc-nav .dd a{
  display:block;
  border:none;
  background:transparent;
  color: var(--hc-ink);
  padding:10px 10px;
  border-radius: 10px;
  font-weight:800;
}
.hc-nav .dd a:hover{
  background: rgba(11,87,163,.10);
  text-decoration:none;
}

/* Scroller */
.hc-scroller{
  border-top: 1px solid rgba(255,255,255,.10);
  background: #062437;
  color:#fff;
}
.hc-scroller-inner{
  max-width: var(--hc-max);
  margin:0 auto;
  padding: 10px var(--hc-pad);
  overflow:hidden;
}
.hc-ticker{
  white-space:nowrap;
  font-size: var(--hc-scroll-font);
  font-weight:900;
  opacity:.98;
}
.hc-ticker .dot{ color:#f3c400; margin: 0 12px; }
.hc-ticker__track{
  display:inline-block;
  padding-left: 100%;
  animation-name: hc-marquee;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
@keyframes hc-marquee{
  0% { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

/* Main layout */
.hc-shell{
  max-width: var(--hc-max);
  margin: 0 auto;
  padding: 16px var(--hc-pad) 28px var(--hc-pad);
  display:grid;
  grid-template-columns: var(--hc-left) 1fr var(--hc-right);
  gap: var(--hc-gap);
  align-items:start;
}

/* Cards/panels */
.hc-card{
  background: var(--hc-card);
  border: 1px solid var(--hc-border);
  border-radius: var(--hc-radius);
  box-shadow: 0 1px 0 rgba(10,30,50,.04);
}
.hc-card.pad{ padding: 18px; }

.hc-panel-title{
  margin:0 0 8px 0;
  font-size: 18px;
  font-weight: 950;
}
.hc-panel-subtitle{
  margin:0 0 14px 0;
  color: var(--hc-muted);
  font-weight: 800;
  font-size: 13px;
}

/* Footer (RESTORED / STYLED) */
.hc-footer{
  background: #041b2b;
  color:#d8e6f3;
  padding: 26px 0;
  margin-top: 24px;
}
.hc-footer__inner{
  max-width: var(--hc-max);
  margin:0 auto;
  padding: 0 var(--hc-pad);
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  align-items:start;
}
.hc-footer__brand{
  font-weight: 950;
  font-size: 16px;
  margin-bottom: 8px;
}
.hc-footer__text{
  margin: 0 0 10px 0;
  color: rgba(255,255,255,.86);
  font-weight: 700;
}
.hc-footer__links a{
  color:#ffffff;
  font-weight: 900;
  text-decoration:none;
}
.hc-footer__links a:hover{ text-decoration:underline; }
.hc-logos{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:10px;
}
.hc-logos img{
  height: 28px;
  width:auto;
  object-fit:contain;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  padding: 6px 10px;
}

/* Modal */
.hc-modal[hidden]{ display:none; }
.hc-modal{
  position:fixed;
  inset:0;
  z-index: 999999;
}
.hc-modal__backdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.45);
}
.hc-modal__panel{
  position:relative;
  width: min(720px, calc(100% - 24px));
  margin: 80px auto 0 auto;
  background:#fff;
  border-radius: 18px;
  border: 1px solid rgba(10,30,50,.18);
  box-shadow: var(--hc-shadow);
  padding: 16px 16px 14px 16px;
}
.hc-modal__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.hc-modal__title{
  font-weight: 950;
  font-size: 18px;
  color: var(--hc-ink);
}
.hc-modal__close{
  border:none;
  background: rgba(10,30,50,.08);
  border-radius: 10px;
  width: 40px;
  height: 40px;
  font-size: 22px;
  cursor:pointer;
}
.hc-modal__hint{
  margin: 10px 0 12px 0;
  color: var(--hc-muted);
  font-weight: 700;
}
.hc-label{
  display:block;
  font-weight: 900;
  margin-bottom: 8px;
}
.hc-select{
  width:100%;
  padding: 12px 12px;
  border-radius: 12px;
  border: 1px solid rgba(10,30,50,.18);
  font-weight: 800;
}
.hc-modal__actions{
  margin-top: 12px;
  display:flex;
  gap:10px;
  justify-content:flex-end;
}
body.hc-modal-open{ overflow:hidden; }

/* Responsive */
@media (max-width: 1200px){
  :root{ --hc-left: 260px; --hc-right: 320px; }
  .hc-cta-row{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 1040px){
  .hc-shell{ grid-template-columns: 1fr; }
  .hc-header-inner{ grid-template-columns: 1fr; }
  .hc-header-actions{ justify-content:flex-start; }
  .hc-nav{ justify-content:flex-start; }
}
