/* ===== RESET ===== */
*{margin:0;padding:0;box-sizing:border-box}
body{
  font-family:Arial, Helvetica, sans-serif;
  background:#f5f7fa;
  color:#222;
  line-height:1.6;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}

/* ===== COMMON ===== */
.container{max-width:1200px;margin:auto;padding:0 20px}
.section{padding:90px 0}
.section.gray{background:#fff}
h1{font-size:40px;margin-bottom:20px}
h2{font-size:28px;margin:30px 0 10px}
h3{font-size:22px;margin-bottom:10px}
p{color:#555}

/* ===== HEADER ===== */
.header{
  position:fixed;
  top:0;left:0;right:0;
  background:#fff;
  border-bottom:1px solid #eee;
  z-index:1000;
}
.nav{
  height:70px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.logo{font-size:22px;font-weight:bold}

/* ===== MENU ===== */
.menu{
  display:flex;
  gap:30px;
}
.menu-item{position:relative}
.menu-item>a{
  padding:10px 0;
  display:inline-block;
  font-weight:500;
}

/* ===== MEGA MENU ===== */
.mega-menu{
  position:absolute;
  top:100%;
  left:0;
  background:#fff;
  padding:30px 40px;
  min-width:900px;
  box-shadow:0 15px 40px rgba(0,0,0,.15);
  display:none;
  grid-template-columns:repeat(4,1fr);
  gap:40px;
}
.menu-item:hover .mega-menu{
  display:grid;
}
.mega-col h4{
  font-size:13px;
  text-transform:uppercase;
  color:#777;
  margin-bottom:12px;
}
.mega-col a{
  display:block;
  font-size:14px;
  color:#333;
  margin-bottom:8px;
}
.mega-col a:hover{color:#0077cc}

/* ===== HERO ===== */
.hero{
  margin-top:70px;
  position:relative;
  color:#fff;
  background:url("images/hero.jpg") center/cover no-repeat;
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:#182226bf;
}
.hero-content{
  position:relative;
  padding:130px 0;
}
.hero h1{font-size:46px;color:#e5e7eb;margin-top:15px}
.hero p{font-size:18px;color:#e5e7eb;margin-top:15px}

/* ===== GRID ===== */
.grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:30px;
}
.card{
  background:#f9fafc;
  border-radius:10px;
  overflow:hidden;
  border:1px solid #eee;
}
.card img{height:180px;object-fit:cover}
.card-body{padding:25px}

/* ===== ABOUT ===== */
.about-wrap{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
}
.about-wrap img{
  border-radius:12px;
  height:100%;
  object-fit:cover;
}

/* ===== ANIMATION ===== */
.fade-in,.slide-up{
  opacity:0;
  transform:translateY(30px);
  transition:all .8s ease;
}
.show{opacity:1;transform:none}

/* ===== CONTACT ONLY ===== */
.contact-only{
  background:#0b4dbb;
  padding:70px 6%;
  color:#fff;
}
.contact-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:40px;
}
.contact-box h3{
  font-size:15px;
  margin-bottom:15px;
}
.contact-box p{
  line-height:1.7;
  font-size:14px;
}
.contact-box a{
  display:block;
  margin-bottom:10px;
  opacity:.9;
}
.contact-box iframe{
  width:100%;
  height:200px;
  border:none;
  border-radius:6px;
  background:#fff;
}
.contact-box img{
  max-width:160px;
  margin-top:15px;
}

/* SUBSCRIBE */
.contact-subscribe{
  margin-top:50px;
  display:flex;
  flex-wrap:wrap;
  gap:15px;
}
.contact-subscribe input{
  padding:12px;
  border:none;
  border-radius:6px;
  width:220px;
  background:rgba(255,255,255,.15);
  color:#fff;
}
.contact-subscribe input::placeholder{
  color:#fff;
  opacity:.8;
}
.contact-subscribe button{
  padding:12px 25px;
  border:none;
  border-radius:6px;
  background:#fff;
  color:#0b4dbb;
  cursor:pointer;
  font-weight:600;
}

/* FORCE TEXT WHITE */
.contact-only,
.contact-only *{
  color:#fff !important;
}

/* ===== FOOTER ===== */
.footer{
  background:#0f2027;
  color:#ccc;
  padding:60px 0 40px;
  font-size:14px;
}
.footer-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:40px;
}
.footer h4{
  font-size:14px;
  margin-bottom:12px;
  color:#fff;
}
.footer a{display:block;color:#ccc;margin-bottom:8px}
.footer a:hover{color:#fff}
.footer-bottom{
  text-align:center;
  margin-top:40px;
  color:#777;
}

/* ===== MOBILE ===== */
@media(max-width:1000px){
  .mega-menu{display:none!important}
  .about-wrap{grid-template-columns:1fr}
  h1{font-size:34px}
}
