/* Loue Box 85 — Header/Footer V3 — isolated chrome layer */

/* HEADER ================================================================ */
.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  width:100%;
  background:#fff;
  border:0;
  border-bottom:1px solid #e5edf5;
  box-shadow:0 10px 30px rgba(7,27,49,.07);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.site-header .header-shell{
  height:88px;
  display:flex;
  align-items:center;
  gap:22px;
  position:relative;
}
.site-header .brand-panel{
  display:flex;
  align-items:center;
  gap:12px;
  flex:0 0 218px;
  min-width:0;
  margin:0;
  padding:0 20px 0 0;
  border-right:1px solid #e2eaf2;
}
.site-header .brand-panel img{
  display:block;
  width:104px;
  height:auto;
  max-width:none;
  flex:0 0 auto;
}
.site-header .brand-signature{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  line-height:1.15;
}
.site-header .brand-signature small{
  display:block;
  margin:0;
  color:#7b8a9a;
  font-size:.60rem;
  font-weight:850;
  letter-spacing:.10em;
  text-transform:uppercase;
  white-space:nowrap;
}
.site-header .brand-signature strong{
  display:block;
  margin-top:5px;
  color:#071b31;
  font-size:.76rem;
  font-weight:850;
  white-space:nowrap;
}
.site-header .header-main{
  min-width:0;
  flex:1 1 auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
}
.site-header .nav-links{
  position:static;
  min-width:0;
  margin:0;
  padding:0;
  display:flex;
  flex:1 1 auto;
  align-items:center;
  justify-content:flex-end;
  gap:0;
  background:transparent;
  border:0;
  box-shadow:none;
}
.site-header .nav-links a{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  margin:0;
  padding:9px 7px;
  border:0;
  border-radius:9px;
  background:transparent!important;
  color:#2a4057;
  font-size:.80rem;
  font-weight:760;
  line-height:1.15;
  white-space:nowrap;
}
.site-header .nav-links a::after{
  content:"";
  position:absolute;
  left:8px;
  right:8px;
  bottom:4px;
  height:2px;
  border-radius:2px;
  background:#1768c4;
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .18s ease;
}
.site-header .nav-links a:hover,
.site-header .nav-links a[aria-current="page"]{
  color:#1768c4;
}
.site-header .nav-links a:hover::after,
.site-header .nav-links a[aria-current="page"]::after{
  transform:scaleX(1);
}
.site-header .mobile-nav-cta{display:none!important;}
.site-header .header-actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:8px;
}
.site-header .header-phone{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0;
  padding:7px 9px;
  border:1px solid transparent;
  border-radius:12px;
  background:#f6f9fc;
  color:#071b31;
  line-height:1;
}
.site-header .header-phone:hover{
  border-color:#dce8f3;
  background:#eef5fb;
}
.site-header .header-phone-icon{
  display:grid;
  place-items:center;
  width:33px;
  height:33px;
  flex:0 0 33px;
  border-radius:10px;
  background:#eaf4ff;
  color:#1768c4;
  font-size:.85rem;
}
.site-header .header-phone>span:last-child{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.site-header .header-phone small{
  color:#7d8c9a;
  font-size:.56rem;
  font-weight:850;
  letter-spacing:.07em;
  line-height:1;
  text-transform:uppercase;
  white-space:nowrap;
}
.site-header .header-phone strong{
  color:#071b31;
  font-size:.79rem;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}
.site-header .nav-cta{
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:43px;
  margin:0;
  padding:10px 13px!important;
  border:0!important;
  border-radius:12px!important;
  background:#071b31!important;
  color:#fff!important;
  box-shadow:none!important;
  font-size:.78rem!important;
  font-weight:850!important;
  white-space:nowrap;
}
.site-header .nav-cta:hover{background:#1768c4!important;}
.site-header .nav-cta b{
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:7px;
  background:rgba(255,255,255,.13);
  font-size:.75rem;
}
.site-header .menu-btn{
  display:none;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  flex:0 0 44px;
  margin-left:auto;
  padding:0;
  border:1px solid #dce5ee;
  border-radius:12px;
  background:#fff;
  box-shadow:none;
}
.site-header .menu-btn span,
.site-header .menu-btn span::before,
.site-header .menu-btn span::after{
  display:block;
  width:21px;
  height:2px;
  border-radius:2px;
  background:#071b31;
  content:"";
  position:relative;
}
.site-header .menu-btn span::before{position:absolute;top:-7px;left:0;}
.site-header .menu-btn span::after{position:absolute;top:7px;left:0;}
.site-header .header-location-bar{
  width:100%;
  border-top:1px solid #edf2f6;
  border-bottom:0;
  background:#f5f8fb;
  color:#586c80;
  font-size:.72rem;
  font-weight:760;
}
.site-header .header-location-bar .container{
  min-height:30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.site-header .header-location-bar i{
  display:inline-block;
  width:7px;
  height:7px;
  margin-right:7px;
  border-radius:50%;
  background:#25a372;
  box-shadow:0 0 0 4px rgba(37,163,114,.09);
}
.site-header .header-location-bar b{padding:0 7px;color:#a5b2bf;}
.site-header .header-location-bar a{color:#1768c4;font-weight:850;}

/* FOOTER ================================================================ */
.footer{
  position:relative;
  overflow:hidden;
  margin:0;
  padding:0 0 24px;
  background:#f1f5f9;
  color:#455a70;
}
.footer::before{
  content:"LOUE BOX 85";
  position:absolute;
  left:50%;
  bottom:104px;
  z-index:0;
  transform:translateX(-50%);
  color:rgba(7,27,49,.028);
  font-size:clamp(5rem,12vw,11rem);
  font-weight:950;
  letter-spacing:-.07em;
  line-height:1;
  pointer-events:none;
  white-space:nowrap;
}
.footer a{color:inherit;}
.footer .footer-pitch{
  position:relative;
  z-index:2;
  background:#fff;
  border-top:1px solid #e1e9f1;
  border-bottom:1px solid #dde7f0;
}
.footer .footer-pitch-inner{
  min-height:286px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:54px;
  padding-top:52px;
  padding-bottom:52px;
}
.footer .footer-pitch-inner>div:first-child{max-width:760px;}
.footer .footer-kicker{
  display:inline-block;
  margin:0 0 11px;
  color:#1768c4;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.footer .footer-pitch h2{
  margin:0;
  color:#071b31;
  font-size:clamp(2.45rem,4.5vw,4.65rem);
  font-weight:900;
  letter-spacing:-.055em;
  line-height:.94;
}
.footer .footer-pitch h2 em{color:#1768c4;font-style:normal;}
.footer .footer-pitch p{
  max-width:650px;
  margin:20px 0 0;
  color:#66788a;
  font-size:1rem;
}
.footer .footer-pitch-actions{
  min-width:205px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:16px;
}
.footer .footer-pitch-actions .btn{
  display:inline-flex!important;
  width:auto!important;
  min-height:48px;
  margin:0!important;
  padding:13px 19px!important;
  border-radius:13px!important;
}
.footer .footer-call{
  display:flex!important;
  flex-direction:column;
  gap:6px;
  margin:0;
  padding:0 0 0 3px!important;
  color:#071b31!important;
  line-height:1;
}
.footer .footer-call small{
  color:#8291a0;
  font-size:.67rem;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.footer .footer-call strong{color:#071b31;font-size:1.22rem;font-weight:900;}
.footer .footer-body{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(220px,.95fr) minmax(330px,1.2fr) minmax(250px,.95fr);
  gap:42px;
  padding-top:48px;
  padding-bottom:42px;
}
.footer .footer-brand-column{max-width:310px;}
.footer .footer-brand{
  display:inline-flex!important;
  margin:0;
  padding:0!important;
}
.footer .footer-brand img{
  width:140px;
  height:auto;
  filter:none!important;
  opacity:1!important;
}
.footer .footer-brand-column p{
  margin:18px 0;
  color:#607487;
  font-size:.9rem;
}
.footer .footer-email{
  display:inline-block!important;
  margin:0;
  padding:0 0 2px!important;
  border-bottom:1px solid #aab9c8;
  color:#071b31!important;
  font-size:.88rem;
  font-weight:850;
}
.footer .footer-trust{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px;
}
.footer .footer-trust span{
  display:inline-flex;
  padding:6px 9px;
  border:1px solid #dbe5ee;
  border-radius:999px;
  background:#fff;
  color:#36516c;
  font-size:.68rem;
  font-weight:800;
}
.footer .footer-sites{display:grid;gap:11px;}
.footer .footer-site-card{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr) 24px;
  align-items:center;
  gap:12px;
  width:100%;
  margin:0;
  padding:15px 16px!important;
  border:1px solid #dfe7ef;
  border-radius:16px;
  background:#fff;
  box-shadow:0 5px 18px rgba(7,27,49,.025);
  transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.footer .footer-site-card:hover{
  border-color:#b9cee2;
  color:inherit;
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(7,27,49,.06);
}
.footer .site-index{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:11px;
  background:#071b31;
  color:#fff;
  font-size:.69rem;
  font-weight:900;
}
.footer .footer-site-card div{min-width:0;display:flex;flex-direction:column;line-height:1.18;}
.footer .footer-site-card small{
  color:#1768c4;
  font-size:.60rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.footer .footer-site-card strong{
  overflow:hidden;
  margin:4px 0;
  color:#071b31;
  font-size:.94rem;
  font-weight:850;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.footer .footer-site-card div span{color:#778797;font-size:.74rem;}
.footer .footer-site-card>b{color:#1768c4;font-size:.92rem;}
.footer .footer-links-panel{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  padding-top:2px;
}
.footer .footer-links-panel h3{
  margin:0 0 13px;
  color:#071b31;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.footer .footer-links-panel a{
  display:block!important;
  margin:0;
  padding:4px 0!important;
  color:#53687d;
  font-size:.83rem;
  font-weight:650;
  line-height:1.35;
}
.footer .footer-links-panel a:hover{color:#1768c4;}
.footer .footer-bottom{
  position:relative;
  z-index:1;
  display:grid!important;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:20px;
  margin:0 auto!important;
  padding-top:20px!important;
  border-top:1px solid #d7e0e9;
  color:#718296;
  font-size:.72rem;
}
.footer .footer-bottom>div{margin:0!important;}
.footer .footer-bottom-links{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
}
.footer .footer-bottom-links a{
  display:inline-block!important;
  margin:0;
  padding:0!important;
  color:#53697f;
}
.footer .footer-seo{text-align:right;}

/* RESPONSIVE ============================================================ */
@media (max-width:1180px){
  .site-header .brand-panel{flex-basis:118px;padding-right:14px;}
  .site-header .brand-signature{display:none;}
  .site-header .nav-links a{padding-left:6px;padding-right:6px;font-size:.77rem;}
  .site-header .header-phone small{display:none;}
}
@media (max-width:1040px){
  .site-header .header-phone{display:none;}
  .site-header .nav-links a{font-size:.78rem;padding-left:8px;padding-right:8px;}
}
@media (max-width:920px){
  .site-header .header-shell{height:72px;gap:12px;}
  .site-header .brand-panel{flex:0 0 auto;padding:0;border:0;}
  .site-header .brand-panel img{width:108px;}
  .site-header .menu-btn{display:flex;}
  .site-header .header-main{flex:0 0 auto;margin-left:auto;}
  .site-header .header-actions{display:none;}
  .site-header .nav-links{
    display:none;
    position:absolute;
    top:72px;
    left:-20px;
    right:-20px;
    z-index:1002;
    max-height:calc(100vh - 102px);
    overflow:auto;
    margin:0;
    padding:10px 20px 18px;
    border-top:1px solid #e5edf5;
    border-bottom:1px solid #dce6ef;
    background:#fff;
    box-shadow:0 18px 35px rgba(7,27,49,.14);
    flex-direction:column;
    align-items:stretch;
    gap:2px;
  }
  .site-header .nav-links.open{display:flex;}
  .site-header .nav-links a{
    display:flex;
    justify-content:flex-start;
    width:100%;
    min-height:44px;
    padding:11px 12px;
    border-radius:10px;
    font-size:.91rem;
  }
  .site-header .nav-links a::after{display:none;}
  .site-header .nav-links a:hover,
  .site-header .nav-links a[aria-current="page"]{background:#f1f6fb!important;}
  .site-header .nav-links .mobile-nav-cta{
    display:flex!important;
    justify-content:center;
    margin-top:7px;
    background:#071b31!important;
    color:#fff!important;
  }
  .site-header .header-location-bar .container{min-height:29px;}

  .footer .footer-body{grid-template-columns:1fr 1.15fr;}
  .footer .footer-links-panel{
    grid-column:1/-1;
    padding-top:27px;
    border-top:1px solid #d9e2eb;
  }
}
@media (max-width:680px){
  .site-header .header-shell{height:68px;}
  .site-header .brand-panel img{width:102px;}
  .site-header .menu-btn{width:41px;height:41px;flex-basis:41px;}
  .site-header .nav-links{top:68px;left:-13px;right:-13px;padding:9px 13px 15px;}
  .site-header .header-location-bar .container{justify-content:center;}
  .site-header .header-location-bar a{display:none;}

  .footer .footer-pitch-inner{
    min-height:0;
    display:block;
    padding-top:44px;
    padding-bottom:44px;
  }
  .footer .footer-pitch h2{font-size:clamp(2.45rem,12vw,3.9rem);}
  .footer .footer-pitch p{margin-top:18px;}
  .footer .footer-pitch-actions{margin-top:28px;}
  .footer .footer-body{
    grid-template-columns:1fr;
    gap:31px;
    padding-top:38px;
    padding-bottom:32px;
  }
  .footer .footer-brand-column{max-width:none;}
  .footer .footer-links-panel{
    grid-column:auto;
    grid-template-columns:1fr 1fr;
    gap:18px;
    padding-top:25px;
  }
  .footer .footer-bottom{
    display:grid!important;
    grid-template-columns:1fr;
    gap:11px;
    text-align:center;
  }
  .footer .footer-bottom-links{flex-wrap:wrap;gap:8px 14px;}
  .footer .footer-seo{text-align:center;}
  .footer::before{bottom:170px;font-size:24vw;}
}
@media (max-width:430px){
  .footer .footer-links-panel{grid-template-columns:1fr;}
  .footer .footer-site-card{grid-template-columns:36px minmax(0,1fr) 20px;padding:14px!important;}
}

/* Explicit hover states overriding legacy footer link rules */
.footer .footer-email:hover,
.footer .footer-bottom-links a:hover{color:#1768c4!important;}
