/* ===== Blue Skies – shared styles ===== */

/* ---- Logo image ---- */
.site-logo{
  height:44px;
  width:auto;
  border-radius:10px;
  display:block;
}
.site-logo-lg{
  height:80px;
  width:auto;
  margin:0 auto 0.75rem;
  border-radius:14px;
  display:block;
}
:root{
  --hill-black:#01172c;
  --hill-gold:#f5a623;
  --hill-blue:#1567C4;
  --hill-blue-dark:#0D4C94;
  --hill-gray-bg:#f2f2f2;
  --hill-text-gray:#6b6b6b;
}

body{
  font-family:'Helvetica Neue', Arial, sans-serif;
  color:#222;
}

a{ color:inherit; }
a:hover{ color:var(--hill-blue); text-decoration:none; }

/* ---- Top bar (legacy — kept for any page still using it) ---- */
.hill-topbar{
  background:#02203f;
  border-bottom:3px solid var(--hill-gold);
}
.hill-logo{
  font-weight:700;
  letter-spacing:3px;
  font-size:1.4rem;
  color:#fff;
}
.hill-logo small{
  display:block;
  font-size:.55rem;
  letter-spacing:4px;
  font-weight:400;
  color:#bbb;
}
.hill-topbar .nav-icon{
  color:#f5a623;
  font-size:1.1rem;
  margin-left:1.2rem;
}
.hill-topbar .lang{
  color:#f5a623;
  font-size:.85rem;
  margin-right:.5rem;
}

/* ---- Page header ---- */
.hill-eyebrow{
  letter-spacing:4px;
  font-size:.8rem;
  color:var(--hill-text-gray);
  font-weight:600;
}
.hill-title{
  font-size:2.6rem;
  font-weight:300;
  margin-bottom:1rem;
}
.hill-title b, .hill-title strong{ font-weight:800; }
.hill-lead{
  color:#444;
  max-width:900px;
}

/* ---- Section backgrounds ---- */
.section-gray{ background:var(--hill-gray-bg); }
.section-dark{
  background:#01172c;
  color:#eee;
}
.section-dark h2, .section-dark h3{ color:#fff; }

/* ---- Buttons ---- */
.btn-hill{
  background:#01172c;
  color:#fff;
  border:1px solid #01172c;
  letter-spacing:1px;
  font-size:.8rem;
  padding:.75rem 1.5rem;
}
.btn-hill:hover{
  background:var(--hill-blue);
  border-color:var(--hill-blue);
  color:#fff;
}
.link-arrow{
  color:#222;
  font-size:.85rem;
  letter-spacing:1px;
  font-weight:600;
}
.link-arrow:hover{ color:var(--hill-blue); }

/* ---- Team / person cards ---- */
.person-photo{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  background:#ccc;
}
.person-name{ font-weight:700; margin-top:.75rem; margin-bottom:0; }
.person-role{ color:var(--hill-text-gray); font-size:.9rem; }
.person-contact{ font-size:.9rem; }

/* ---- Partner cards ---- */
.partner-logo{
  height:90px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:1rem;
}
.partner-logo img{ max-height:100%; max-width:100%; }

/* ---- Footer ---- */
footer.hill-footer{
  background:#01172c;
  color:#ccc;
}
footer.hill-footer h6{
  color:#fff;
  letter-spacing:2px;
  font-weight:700;
  font-size:.85rem;
}
footer.hill-footer a{ color:#ccc; }
footer.hill-footer a:hover{ color:var(--hill-blue); }
footer.hill-footer hr{ border-color:#333; }
.footer-bottom{
  border-top:1px solid #333;
  font-size:.8rem;
  color:#888;
}

/* ---- Contact accordion ---- */
.country-list .accordion-button{
  background:#fff;
  font-weight:500;
}
.country-list .accordion-button:not(.collapsed){
  background:var(--hill-gray-bg);
  color:#000;
  box-shadow:none;
}
.country-list .accordion-item{ border-left:0; border-right:0; }

/* ---- Hero (home) ---- */
.hero-split{
  min-height:520px;
}
.hero-image-side{
  background-size:cover;
  background-position:center;
  position:relative;
  min-height:520px;
  overflow:hidden;
}
.hero-slide{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  opacity:0;
  transition:opacity 1.4s ease;
  z-index:0;
}
.hero-slide.active{ opacity:1; z-index:1; }
.hero-image-side .overlay-text{
  position:absolute;
  bottom:2rem;
  left:2rem;
  color:#fff;
  font-size:1.6rem;
  font-weight:300;
  z-index:2;
}
.hero-panel{
  background:#01172c;
  color:#fff;
  min-height:520px;
}
.hero-tile{
  background:#012444;
  min-height:220px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:1rem;
  transition:background .2s ease;
}
.hero-tile:hover{ background:#013060; }
.hero-tile .icon{ font-size:2.5rem; margin-bottom:auto; color:var(--hill-blue); }
.hero-tile h5{
  border-bottom:2px solid var(--hill-blue);
  display:inline-block;
  padding-bottom:.3rem;
}

/* ---- Quote block ---- */
.quote-block{
  background:#01172c;
  color:#fff;
}
.quote-mark{ color:var(--hill-gold); font-size:2.5rem; line-height:1; }

/* ---- Job search / detail ---- */
.job-filters{
  background:#fff;
  padding:1.25rem;
  box-shadow:0 1px 4px rgba(0,0,0,.08);
}
.job-card{
  background:#fff;
  border:1px solid #e6e6e6;
  padding:1.5rem;
  transition:box-shadow .2s ease, transform .2s ease;
}
.job-card:hover{
  box-shadow:0 10px 24px rgba(0,0,0,.08);
  transform:translateY(-3px);
}
.job-tag{
  background:var(--hill-gray-bg);
  color:#333;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.5px;
  padding:.3rem .6rem;
  border-radius:2px;
}
.job-tag-alt{
  background:var(--hill-blue);
  color:#fff;
}
.job-hero{
  background:#01172c;
  color:#fff;
}
.job-hero .hill-eyebrow{ color:#bbb; }
.job-meta-pill{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.15);
  border-radius:999px;
  padding:.4rem 1rem;
  font-size:.82rem;
  display:inline-flex;
  align-items:center;
  gap:.4rem;
}

/* =========================================================
   SIDE NAVIGATION LAYOUT
   ========================================================= */
:root{ --hill-sidebar-w: 250px; }

.hill-sidebar{
  position:fixed;
  top:0; left:0; bottom:0;
  width:var(--hill-sidebar-w);
  background:#01172c;
  border-right:3px solid var(--hill-gold);
  padding:26px 20px 22px;
  overflow-y:auto;
  z-index:1040;
  flex-direction:column;
}
.hill-sidebar .hill-logo{ color:#fff; }
.hill-sidebar .lang{
  display:block;
  color:#7a7a7a;
  font-size:.68rem;
  letter-spacing:2.5px;
  margin:2px 0 26px;
}

.hill-nav{ list-style:none; padding:0; margin:0; flex:1; }
.hill-nav > li{ margin-bottom:2px; }
.hill-nav a.nav-link{
  display:flex; align-items:center; gap:10px;
  color:#c9c9c9; padding:10px 12px; border-radius:4px;
  font-size:.86rem; font-weight:500; letter-spacing:.3px;
  transition:background .15s ease, color .15s ease;
}
.hill-nav a.nav-link i{ font-size:.95rem; opacity:.85; }
.hill-nav a.nav-link:hover{ background:#012444; color:#fff; }
.hill-nav a.nav-link.active{
  background:#012444; color:#fff;
  border-left:3px solid var(--hill-gold);
  padding-left:9px;
}
.hill-nav .sub-list{
  list-style:none; margin:2px 0 8px 22px; padding-left:16px;
  border-left:1px dashed #0a3a5c;
}
.hill-nav .sub-list a{
  display:block; padding:7px 10px; font-size:.78rem; color:#8f8f8f; border-radius:4px;
}
.hill-nav .sub-list a:hover{ color:#fff; }
.hill-nav .sub-list a.active{ color:#fff; font-weight:600; }

.hill-sidebar-cta{
  background:#012444; border:1px solid #0a3a5c; border-radius:4px;
  padding:14px; margin-top:16px;
}
.hill-sidebar-cta p{ font-size:.74rem; color:#a8a8a8; margin-bottom:10px; line-height:1.4; }

.hill-main{ margin-left:var(--hill-sidebar-w); }

.hill-mobile-topbar{
  display:none;
  background:#01172c;
  border-bottom:3px solid var(--hill-gold);
}

@media (max-width: 991.98px){
  .hill-sidebar{ display:none !important; }
  .hill-main{ margin-left:0; }
  .hill-mobile-topbar{ display:flex; }
}

/* Offcanvas mobile menu reuses the same look as before */
.offcanvas.text-bg-dark .hill-logo{ color:#fff; }
.offcanvas.text-bg-dark a{ color:#eee; font-weight:500; }
.offcanvas.text-bg-dark a:hover{ color:var(--hill-gold); }
.offcanvas.text-bg-dark ul{ padding-left:0; }


