
/* ===== common mobile/header/footer/image overrides ===== */
header{position:fixed!important;top:0;left:0;width:100%;z-index:1000;background-color:rgba(11,47,107,.95)!important;box-shadow:0 2px 10px rgba(0,0,0,.1)!important;padding:10px 0!important;height:80px!important;display:flex!important;align-items:center!important}
header .container{display:flex!important;justify-content:space-between!important;align-items:center!important;width:100%!important;max-width:1600px!important;margin:0 auto!important;padding:0 40px!important}
.nav{display:flex!important;width:100%!important;justify-content:space-between!important;align-items:center!important}
.brand{display:flex!important;align-items:center!important;text-decoration:none!important;color:#fff!important;gap:15px!important;height:100%!important;min-width:0}
.brand img{height:55px!important;width:auto!important;max-width:min(42vw,260px)!important;object-fit:contain!important;vertical-align:middle!important;background:none!important;border:none!important;padding:0!important;margin:0!important;box-shadow:none!important}
.brand .name{font-size:1.1rem!important;font-weight:500!important;letter-spacing:.05em!important;line-height:1.2!important;white-space:nowrap!important;color:#fff!important}
.navlinks{display:flex!important;gap:25px!important;align-items:center!important;margin:0!important}
.navlinks a{color:rgba(255,255,255,.9)!important;text-decoration:none!important;font-size:.95rem!important;font-weight:400!important;transition:color .3s!important}
.navlinks a:hover,.navlinks a.active{color:#fff!important;border-bottom:1px solid #fff!important}
.navtools{margin-left:30px!important;padding-left:25px!important;border-left:1px solid rgba(255,255,255,.3)!important;display:flex!important;align-items:center!important;gap:12px!important;flex:0 0 auto!important}
.lang{display:flex!important;align-items:center!important;gap:8px!important;white-space:nowrap!important}
.lang a{color:rgba(255,255,255,.7)!important;text-decoration:none!important;font-size:.88rem!important;font-weight:300!important;transition:color .3s!important;padding:4px 6px!important;border-radius:999px!important}
.lang a.on{color:#fff!important;font-weight:500!important}
.burger{display:none;border:none!important;background:transparent!important;padding:0!important;margin-left:10px!important;appearance:none!important;-webkit-appearance:none!important}
.burger span{display:block!important;width:22px!important;height:2px!important;margin:3px 0!important;background:#fff!important;border-radius:2px!important}
.mobilePanel{display:none;position:fixed;top:64px;left:0;width:100%;background:rgba(11,47,107,.98);z-index:999;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.mobilePanel[data-open="1"]{display:block!important}
.mobilePanel .container{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:10px 14px 14px}
.mobilePanel a{display:block;color:#fff;text-decoration:none;padding:12px 4px;border-bottom:1px solid rgba(255,255,255,.14);font-size:15px}
footer{background:#0b2f6b!important;color:#fff!important;padding:48px 0 24px!important;margin-top:56px!important}
footer .container{max-width:1600px!important;margin:0 auto!important;padding:0 40px!important}
.footgrid{display:grid!important;grid-template-columns:1.6fr 1fr 1fr!important;gap:28px!important;align-items:start!important}
footer h4{margin:0 0 12px!important;font-size:1rem!important;color:#fff!important}
footer p, footer a, .copyright, .foot-tagline{color:rgba(255,255,255,.92)!important;line-height:1.7!important}
footer a:hover{color:#fff!important;text-decoration:underline!important}
.copyright{margin-top:20px!important;padding-top:16px!important;border-top:1px solid rgba(255,255,255,.16)!important;font-size:.9rem!important}
img{max-width:100%;height:auto}
.card img,.project-card img,.service-card img,.lineage-card img,.feature-card img,.hero img,.page-hero img,.section img,.content img,.image-wrap img,.gallery img,figure img{max-width:100%!important;height:auto!important;display:block!important}
.hero-visual img,.hero-image img{width:100%!important;height:auto!important;object-fit:cover!important}
@media (max-width: 900px){
  body{overflow-x:hidden!important}
  header{height:64px!important;min-height:64px!important;padding:0!important}
  header .container{padding:0 14px!important;max-width:100%!important}
  .nav{gap:10px!important}
  .brand img{height:36px!important;max-width:180px!important}
  .brand .name{display:none!important}
  .navlinks{display:none!important}
  .navtools{display:flex!important;align-items:center!important;gap:8px!important;margin-left:0!important;padding-left:0!important;border-left:none!important}
  .lang a{font-size:12px!important;line-height:1!important;padding:4px 6px!important;margin:0!important}
  .burger{display:inline-flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;width:42px!important;height:42px!important;border:none!important;border-radius:12px!important;background:rgba(255,255,255,.95)!important;padding:0!important;cursor:pointer!important}
  .burger span{width:20px!important;height:2px!important;margin:2px 0!important;background:#233a68!important}
  .mobilePanel{top:64px!important}
  footer{padding:36px 0 20px!important}
  footer .container{padding:0 20px!important}
  .footgrid{grid-template-columns:1fr!important;gap:18px!important}
  .copyright{margin-top:14px!important;padding-top:14px!important}
  .page-hero,.hero-wrapper,.hero{padding-left:0!important;padding-right:0!important}
  .section-inner,.section .container,.page-hero .container{padding-left:20px!important;padding-right:20px!important}
  .cards,.card-grid,.grid{grid-template-columns:1fr!important}
  .card,.service-card,.project-card,.lineage-card,.feature-card{width:100%!important;max-width:100%!important;flex-basis:auto!important}
}


/* ===== v2 mobile nav / footer refinements ===== */
@media (max-width: 900px){
  header{
    height:72px !important;
    min-height:72px !important;
  }
  header .container{
    padding:0 12px !important;
  }
  .nav{
    position:relative !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
  }
  .brand{
    flex:1 1 auto !important;
    min-width:0 !important;
    max-width:calc(100% - 150px) !important;
  }
  .brand img{
    height:34px !important;
    max-width:170px !important;
  }
  .navtools{
    margin-left:auto !important;
    padding-left:0 !important;
    border-left:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:8px !important;
    flex:0 0 auto !important;
    min-width:auto !important;
  }
  .lang{
    display:inline-flex !important;
    align-items:center !important;
    gap:4px !important;
    padding:3px !important;
    border:1px solid rgba(35,58,104,.24) !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.96) !important;
    white-space:nowrap !important;
  }
  .lang a{
    color:#233a68 !important;
    font-size:12px !important;
    line-height:1 !important;
    padding:7px 10px !important;
    margin:0 !important;
    border-radius:999px !important;
  }
  .lang a.on{
    background:#183b7a !important;
    color:#fff !important;
    font-weight:700 !important;
  }
  .burger{
    margin-left:0 !important;
    width:42px !important;
    height:42px !important;
    background:#fff !important;
    border-radius:12px !important;
    box-shadow:0 2px 8px rgba(0,0,0,.08) !important;
  }
  .burger span{
    background:#233a68 !important;
  }
  .mobilePanel{
    top:72px !important;
  }
  .page-hero,
  .hero-wrapper{
    margin-top:72px !important;
  }
}

/* footer CTA text visibility */
footer .footgrid > div:last-child p a,
footer .footgrid > div:last-child .cta,
footer .footgrid > div:last-child .btn,
footer .footgrid > div:last-child .contact-btn{
  display:inline-block !important;
  background:#ffffff !important;
  color:#0b2f6b !important;
  text-decoration:none !important;
  font-weight:800 !important;
  padding:10px 14px !important;
  border-radius:999px !important;
  border:0 !important;
  min-width:160px !important;
  text-align:center !important;
  line-height:1.2 !important;
}

/* image / card consistency on mobile */
@media (max-width: 900px){
  .page-hero{
    padding:56px 0 44px !important;
    background-size:cover !important;
    background-position:center center !important;
  }
  .page-hero h1{
    font-size:clamp(2.2rem, 10vw, 3rem) !important;
    line-height:1.05 !important;
    margin-bottom:12px !important;
  }
  .page-hero p{
    font-size:1rem !important;
  }
  .twoCol,
  .features-grid,
  .project-grid,
  .lineage-grid,
  .cards,
  .card-grid{
    grid-template-columns:1fr !important;
    display:grid !important;
  }
  .card,
  .service-card,
  .project-card,
  .feature-card,
  .lineage-card{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
  }
}
