
body {
  background: linear-gradient(180deg, #f6fbff 0%, #d6eaff 100%);
  font-family: 'Montserrat', 'Poppins', Arial, sans-serif;
  color: #233c69;
}
.site-header {
  background: #fff;
  box-shadow: 0 2px 24px rgba(33,108,211,0.07);
  padding: 32px 0 10px 0;
  margin-bottom: 2rem;
}
.site-logo { max-width: 340px; height: auto; margin: 0 auto; display: block; }
.main-menu { list-style: none; display: flex; gap: 36px; justify-content: center; font-size: 1.2rem; font-weight: 600; }
.main-menu li { display: inline; }
.main-menu a { color: #1870d7; text-decoration: none; padding: 8px 16px; border-radius: 16px; transition: background .18s; }
.main-menu a:hover { background: #d6eaff; color: #003470; }
.container { max-width: 1100px; margin: 0 auto; padding: 0 20px; }
.home-content .intro { text-align: center; padding: 36px 0; }
.btn-primary { background: linear-gradient(90deg, #2986ff 40%, #38c2ff 100%); color: #fff; border: none; border-radius: 22px; padding: 14px 38px; font-size: 1.1rem; font-weight: 600; text-decoration: none; box-shadow: 0 2px 8px rgba(50,116,220,0.10); transition: background .22s, box-shadow .22s; }
.btn-primary:hover { background: #1277e7; box-shadow: 0 4px 18px rgba(16,64,168,0.17); }
.site-footer { background: #f6fbff; text-align: center; padding: 28px 0 16px 0; margin-top: 50px; font-size: 1rem; color: #4571a6; border-top: 1px solid #e6f0fb;}
.gallery-flex { display: flex; flex-wrap: wrap; gap: 2vw; justify-content: center; }
.gallery-item { background: #fff; border-radius: 22px; box-shadow: 0 4px 24px rgba(20,100,200,0.08);
  overflow: hidden; width: min(320px, 98vw); margin-bottom: 24px; transition: transform .19s, box-shadow .19s; }
.gallery-item img { width: 100%; display: block; border-radius: 22px 22px 0 0; }
.gallery-item p { text-align: center; font-size: 1.12rem; color: #185089; margin: 10px 0 16px 0; }
.gallery-item:hover { transform: translateY(-10px) scale(1.04); box-shadow: 0 10px 48px rgba(32,120,250,0.17); }
.section-fade { opacity: 0; transform: translateY(30px); transition: opacity 0.8s cubic-bezier(.5,.2,.2,1), transform 0.7s cubic-bezier(.5,.2,.2,1); }
.section-fade.visible { opacity: 1; transform: none; }
.btn-animated { transition: box-shadow .18s, background .2s; }
.btn-animated:hover { box-shadow: 0 8px 36px rgba(33, 160, 255, 0.16); background: linear-gradient(90deg, #2986ff 55%, #38c2ff 100%); }
@media(max-width:800px){
  .main-menu { flex-direction: column; gap: 14px; }
  .site-logo { max-width: 220px;}
  .gallery-item img { width: 98vw; max-width:340px; height: auto; }
}
