:root {
  --blue-900: #0a2d6e;
  --blue-800: #0d47a1;
  --blue-700: #1565c0;
  --blue-600: #1976d2;
  --blue-500: #2196f3;
  --blue-400: #42a5f5;
  --blue-100: #e3f2fd;
  --white: #ffffff;
  --yellow: #ffc107;
  --red: #ef5350;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'Sarabun', sans-serif; overflow-x: hidden; background: #fff; }
/* ═══════ NAVBAR CUSTOM ═══════ */
.navbar-airva {
  background-color: var(--white);
  box-shadow: 0 2px 15px rgba(0,0,0,0.1);
  padding: 0.8rem 0;
  position: sticky;
  top: 0;
  z-index: 1000;
}
.navbar-brand img {
  height: 50px;
}
.nav-link {
  font-family: 'Kanit', sans-serif;
  color: var(--blue-900) !important;
  font-weight: 500;
  padding: 0.5rem 1.2rem !important;
  transition: all 0.3s ease;
}
.nav-link:hover {
  color: var(--blue-500) !important;
}
/* Dropdown Animation & Style */
.dropdown-menu {
  border: none;
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
  border-radius: 12px;
  padding: 10px;
  margin-top: 10px;
}
.dropdown-item {
  font-family: 'Sarabun', sans-serif;
  font-size: 0.95rem;
  padding: 8px 20px;
  border-radius: 8px;
  transition: all 0.2s;
  color: var(--blue-800);
}
.dropdown-item:hover {
  background-color: var(--blue-100);
  color: var(--blue-700);
  transform: translateX(5px);
}
/* Hover to open dropdown on Desktop */
@media (min-width: 992px) {
  .dropdown:hover > .dropdown-menu {
    display: block;
    animation: fadeInDown 0.3s ease forwards;
  }
}

@keyframes fadeInDown {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Mobile Adjustments (Hamburger on Left) */
@media (max-width: 991px) {
  .navbar-header {
    display: flex;
    flex-direction: row-reverse;
    width: 100%;
    justify-content: space-between;
    align-items: center;
  }
  .navbar-toggler {
    border: none;
    font-size: 1.5rem;
    color: var(--blue-900);
  }
  .navbar-collapse {
    background: #fff;
    padding: 1rem;
    border-top: 1px solid #eee;
  }
  .dropdown-menu {
    box-shadow: none;
    background: #f8fbff;
    border-left: 3px solid var(--blue-500);
    border-radius: 0;
  }
}
/* ═══════ HERO ═══════ */
.hero-wrapper {
  position: relative;
  overflow: hidden;
  min-height: 340px;
    height: 800px;
    width: 100%;
}
.hero-wave {
  position: absolute;
  top: 0; right: 0;
  width: 60%;
  height: 100%;
  background: linear-gradient(135deg, var(--blue-500) 0%, var(--blue-800) 100%);
  border-radius: 0 0 0 52%;
  z-index: 0;
}
.hero-circle {
  position: absolute;
  top: -20px; right: 80px;
  width: 300px; height: 300px;
  background: #fff;
  border-radius: 50%;
  z-index: 1;
  box-shadow: 0 8px 50px rgba(0,0,0,.13);
}
.hero-characters {
    position: absolute;
    top: 10%;
    right: 9%;
    height: 620px;
    z-index: 2;
    display: flex;
    align-items: flex-end;
    gap: 10px;
}
.char-fig {
  width: 600px;
  display: flex; align-items: center; justify-content: center;
  flex-direction: column; gap: 8px;
  animation: cfloat 3.5s ease-in-out infinite;
}
.char-fig:nth-child(2) { animation-delay:.6s; height:215px; }
.char-fig i { font-size: 2.8rem; color: rgba(255,255,255,.9); }
.char-fig small {
  font-family:'Kanit',sans-serif; font-size:.62rem; font-weight:600;
  color:rgba(255,255,255,.8); text-align:center; line-height:1.3;
}
@keyframes cfloat {
  0%,100%{transform:translateY(0);}50%{transform:translateY(-9px);}
}
.container-logo {
    padding-top: 22rem !important;
}
.hero-logo {
  position:relative; z-index:3;
  width:130px; height:130px;
  background:#fff; border-radius:50%;
  box-shadow:0 8px 32px rgba(13,71,161,.22);
  display:flex; align-items:center; justify-content:center;
  flex-direction:column;
  margin-bottom:1rem;
  border:4px solid var(--blue-100);
  left: 35%;
}
.hero-logo-inner {
  width:185px; height:185px;
  background:var(--blue-700); border-radius:50%;
  display:flex; align-items:center; justify-content:center; flex-direction:column;
}
.hero-logo-inner img {
   width:185px; height:185px; 
}
.social-row { display:flex; gap:10px; left: 26%; margin-top:4rem; position:relative; z-index:3; }
.soc-ic {
  width:43px; height:43px; 
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:1.1rem; text-decoration:none;
  transition:all .25s;
}
.soc-ic:hover {
  background:rgba(255,255,255,.22);
  border-color:rgba(255,255,255,.9);
  color:#fff; transform:translateY(-3px);
  border-radius:50%;
}

/* ═══════ SLIDE BANNER ═══════ */
.slide-section { background:#047ac0; padding-bottom: 2rem; }
.slide-card {
  position:relative;
  overflow:hidden;
  display:flex; align-items:center;
}
.slide-content {
  position:relative; z-index:2;
  transition:opacity .25s;
}
.slide-content img {
    width: 100%;
    min-height: 420px;
}
.slide-content h2 {
  font-family:'Kanit',sans-serif;
  font-size:2.1rem; font-weight:900;
  color:var(--blue-800); line-height:1.1;
}
.slide-content h2 em { font-style:normal; color:var(--red); }
.slide-en { font-family:'Kanit',sans-serif; font-size:1.35rem; font-weight:700; color:var(--blue-600); margin-top:.3rem; }
.slide-by { font-size:.88rem; color:var(--blue-700); font-weight:500; }
.slide-char-wrap {
  position:absolute; right:70px; bottom:0;
  height:190px; z-index:2;
  display:flex; align-items:flex-end;
}
.slide-char-fig {
  width:115px; height:185px;
  border-radius:60px 60px 0 0;
  background:linear-gradient(160deg,var(--blue-400),var(--blue-700));
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 -8px 30px rgba(33,150,243,.3);
}
.slide-char-fig i { font-size:3.5rem; color:rgba(255,255,255,.85); }
.sarrow {
  position:absolute; top:50%; transform:translateY(-50%);
  width:42px; height:42px; border-radius:50%;
  background:rgba(255,255,255,.82); border:2px solid rgba(33,150,243,.2);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; z-index:3; color:var(--blue-700); font-size:1rem;
  transition:all .2s; box-shadow:0 4px 14px rgba(0,0,0,.1);
}
.sarrow:hover { background:var(--blue-600); color:#fff; }
.sarrow.lft { left:16px; }
.sarrow.rgt { right:16px; }
.sdots { display:flex; gap:7px; justify-content:center; margin-top:1.1rem; }
.sd {
  width:9px; height:9px; border-radius:50%;
  background:#90caf9; cursor:pointer; transition:all .3s;
}
.sd.on { background:var(--blue-700); width:26px; border-radius:5px; }

/* ═══════ CERT STRIP ═══════ */
.cert-strip {
  padding:1.4rem 0;
  background:#f8fbff;
  border-top:1px solid #e0eef8;
  border-bottom:1px solid #e0eef8;
}
.cbadge {
    min-height: 65px;
    display: flex;
    align-items: center;
    justify-content: center;
    display: flex;
    align-items: center;
    gap: .7rem;
}
.cbadge img {
    width: 100%;
    min-height: 153px;
}
/* ═══════ WHY US ═══════ */
.why-section {
  background:var(--blue-700);
  padding:4.5rem 0;
  position:relative; overflow:hidden;
}
.why-section::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(circle at 8% 50%,rgba(255,255,255,.05) 0%,transparent 55%),
             radial-gradient(circle at 92% 15%,rgba(255,255,255,.05) 0%,transparent 50%);
}
.why-title {
  font-family:'Kanit',sans-serif;
  font-size:1.85rem; font-weight:800; color:#fff; line-height:1.2;
}
.why-sub { color:rgba(255,255,255,.7); font-size:.94rem; margin-top:.55rem; max-width:290px; }
.btn-more {
  display:inline-flex; align-items:center; gap:.5rem;
  margin-top:1.8rem; padding:.55rem 1.7rem;
  border:2px solid rgba(255,255,255,.4); border-radius:50px;
  color:#fff; font-family:'Kanit',sans-serif; font-weight:600; font-size:.9rem;
  text-decoration:none; background:transparent; transition:all .25s;
}
.btn-more:hover { background:rgba(255,255,255,.15); border-color:#fff; color:#fff; }
.feat-card {
  background:#ffffff;
  border:1px solid #ffffff;
  border-radius:18px; padding:1.55rem 1.25rem;
  text-align:center; height:100%;
  transition:background .25s, transform .3s, box-shadow .3s;
  backdrop-filter:blur(3px);
}
.feat-card:hover {
  transform:translateY(-6px);
  box-shadow:0 18px 45px rgba(0,0,0,.22);
}
.feat-icon img {
  width:62px; height:62px; border-radius:15px;
  background:#1565c0;
  display:flex; align-items:center; justify-content:center;
  font-size:1.65rem; color:#fff;
  margin:0 auto .9rem;
  box-shadow:0 5px 18px rgba(0,0,0,.14);
  transition:background .25s;
}
.feat-card h6 { font-family:'Kanit',sans-serif; font-weight:700; font-size:.97rem; color:#111; }
.feat-card p { font-size:.83rem; color:#111; margin-top:.4rem; line-height:1.55; }

/* ═══════ SERVICE CARDS ═══════ */
.services-section { background:var(--blue-700); padding:0 0 3.5rem; }
.svc-card {
  border-radius:18px; overflow:hidden;
  position:relative; height:200px; cursor:pointer;
  transition:transform .3s, box-shadow .3s;
}
.svc-card:hover { transform:translateY(-6px); box-shadow:0 20px 50px rgba(0,0,0,.32); }
.svc-bg {
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  transition:transform .4s;
}
.svc-card:hover .svc-bg { transform:scale(1.07); }
.svc-ov {
  position:absolute; inset:0;
  background:linear-gradient(to top,rgba(9,42,105,.88) 0%,rgba(9,42,105,.25) 55%,transparent 100%);
}
.svc-lbl {
  position:absolute; bottom:0; left:0; right:0; padding:.85rem;
  font-family:'Kanit',sans-serif; font-weight:700; font-size:.9rem; color:#fff;
}
.svc-lbl span {
  display:inline-block; background:var(--blue-600);
  padding:.22rem .8rem; border-radius:8px; font-size:.85rem;
  box-shadow:0 3px 12px rgba(0,0,0,.25);
}
.svc-deco { position:absolute; top:.9rem; right:.9rem; font-size:2rem; opacity:.32; }

/* ═══════ FADE-IN ═══════ */
.fiu { opacity:0; transform:translateY(26px); transition:opacity .55s ease, transform .55s ease; }
.fiu.vis { opacity:1; transform:none; }
/* ═══════ NEWS SECTION ═══════ */
.news-section {
  padding: 5rem 0;
  background-color: var(--blue-700);
}
.news-title {
  font-family: 'Kanit', sans-serif;
  font-weight: 800;
  font-size: 2.2rem;
  color: #fff;
  margin-bottom: 3rem;
  text-align: center;
}
.news-card {
  border: none;
  background: #fff;
  border-radius: 0;
  box-shadow: 0 5px 25px rgba(0,0,0,0.05);
  height: 100%;
  transition: transform 0.3s;
  border-radius: 18px;
}
.news-card:hover {
  transform: translateY(-10px);
}
.news-img-wrapper {
  position: relative;
  overflow: hidden;
  border-radius: 18px 18px 0 0;
}
.news-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.news-date-tag {
  position: absolute;
  left: 0;
  top: 20%;
  background: var(--blue-500);
  color: #fff;
  padding: 10px 5px;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  font-family: 'Kanit', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
  z-index: 2;
}

.news-body {
  padding: 1.5rem;
}
.news-card-title {
  font-family: 'Kanit', sans-serif;
  font-weight: 700;
  font-size: 1.05rem;
  color: #222;
  margin-bottom: 1rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.8rem;
}
.btn-readmore {
  color: var(--blue-500);
  text-decoration: none;
  font-weight: 700;
  font-size: 0.9rem;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border-bottom: 2px solid var(--blue-500);
  padding-bottom: 2px;
}
.btn-readmore:hover {
  color: var(--blue-800);
  border-color: var(--blue-800);
}
.google-map iframe {
    position: relative;
    display: block;
    border: none;
    height: 517px;
    width: 100%;
}
@media (max-width: 767px) {
  .news-title { font-size: 1.8rem; }
  .slide-content img {
    min-height: 160px;
    max-height: 160px;
  }
  .google-map iframe {
    height: 317px;
  }
}
/* ═══════ FOOTER ═══════ */
footer {
  background:#047ac0;
  color:rgba(255,255,255,.73);
  padding:3.5rem 0 1.5rem;
}
footer h5 { font-family:'Kanit',sans-serif; color:#fff; font-weight:700; margin-bottom:.85rem; }
footer a { color:#fff !important; text-decoration:none; transition:color .2s; }
footer a:hover { color:rgba(255,255,255,.38); }
footer ul { list-style:none; padding:0; }
footer ul li { color:#fff; margin-bottom:.4rem; font-size:.88rem; }
.fdivider { border-color:rgba(255,255,255,.1); margin:2rem 0 1rem; }
.fcopy { font-size:.8rem; color:#fff; }

/* ═══════ RESPONSIVE ═══════ */
@media(max-width:1600px){
    .hero-wrapper {height: 600px;}
    .hero-logo-inner, .hero-logo-inner img {width: 165px;height: 165px;}
    .container-logo {padding-top: 15rem !important;}
    .hero-characters {top: -1%;right: 5%;height: 500px;}
    .char-fig, .char-fig img {width: 600px;height: 500px;}
}
@media(max-width:1400px){
    .hero-wrapper {height: 580px;}
    .hero-logo-inner, .hero-logo-inner img {width: 135px;height: 135px;}
    .container-logo {padding-top: 18rem !important;}
    .hero-wrapper {height: 600px;}
    .hero-characters {top: -1%;right: 5%;height: 500px;}
    .char-fig, .char-fig img {width: 600px;height: 500px;}
}
@media(max-width:1200px){
    .hero-wrapper {height: 300px !important;}
    .hero-logo-inner, .hero-logo-inner img {width: 135px;height: 135px;}
    .container-logo {padding-top: 8rem !important;}
    .hero-wrapper {height: 600px;}
    .hero-characters {top: -1%;right: 5%;height: 300px;}
    .char-fig, .char-fig img {width: 400px;height: 300px;}
    .social-row {left: 20% !important;margin-top: 1rem !important;}
}
@media(max-width:991px){
  .hero-circle{width:220px;height:220px;right:20px;top:-15px;}
  .hero-characters {top: 5%;right: 5%;height: 280px;}
  .char-fig, .char-fig img {width: 350px;height: 280px;}
  .char-fig i{font-size:2.1rem;}
  .hero-wave{width:56%;}
}
@media(max-width:767px){
  .container-logo {padding-top: 8.3rem !important;}
  .soc-ic, .soc-ic img {width: 23px !important;height: 23px !important;}
  .social-row { display:flex;gap: 6px;left: 2% !important;margin-top: -0.5rem;position:relative; z-index:3; }
  .hero-logo-inner, .hero-logo-inner img {width: 75px;height: 75px;}
  .hero-logo {width: 75px;height: 75px;left: 10%;}
  .hero-wave{width:0;}
   .hero-characters {top: 10%;right: 1%;height: 180px;}
  .char-fig, .char-fig img {width: 220px;height: 180px;}
  .hero-wrapper{
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    min-height: 40px;
    height: 250px !important;
    width: 100%
  }
  .slide-char-wrap{display:none;}
  .slide-content{padding:1.5rem 3.5rem;}
  .slide-content h2{font-size:1.45rem;}
  .cbadge {
    min-height: 45px;
    display: inline;
  }
  .cbadge img {
      min-height: 45px;
      max-height: 45px;
  }
  .cert-strip {
    padding: .2rem 0;
  }
}