:root{
  --primary:#393085;
  --primary-dark:#2c2568;
  --accent:#f0b429;
  --light:#f7f7fc;
  --text:#23233a;
  --white:#ffffff;
  --shadow:0 14px 40px rgba(57,48,133,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--text);
  background:#fff;
}
a{text-decoration:none}
img{max-width:100%;display:block}
.topbar{
  background:var(--primary-dark);
  color:#fff;
  font-size:14px;
  padding:10px 0;
}
.topbar i{color:var(--accent);margin-right:8px}
.main-navbar{
  background:#fff;
  transition:.3s ease;
}
.navbar-brand{
  font-size:30px;
  font-weight:800;
  color:var(--primary)!important;
  line-height:1.1;
}
.navbar-toggler{border:0;box-shadow:none!important}
.navbar-nav .nav-link{
  color:var(--text)!important;
  font-weight:700;
  padding:12px 16px!important;
  border-radius:999px;
}
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active{
  color:#fff!important;
  background:var(--primary);
}
.hero-slider .carousel-item{
  min-height:88vh;
  background-size:cover;
  background-position:center;
  position:relative;
}
.hero-slider .carousel-item::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg, rgba(57,48,133,.88), rgba(57,48,133,.55));
}
.hero-content{
  position:relative;
  z-index:2;
  min-height:88vh;
  display:flex;
  align-items:center;
  color:#fff;
}
.hero-badge{
  display:inline-block;
  background:rgba(240,180,41,.18);
  color:#fff;
  border:1px solid rgba(240,180,41,.45);
  padding:10px 16px;
  border-radius:999px;
  margin-bottom:18px;
  font-weight:700;
  letter-spacing:.4px;
}
.hero-content h1{
  font-size:58px;
  font-weight:800;
  line-height:1.15;
  margin-bottom:18px;
}
.hero-content p{
  max-width:700px;
  font-size:18px;
  line-height:1.8;
  margin-bottom:28px;
}
.btn-theme{
  background:var(--accent);
  color:#1c1c1c;
  font-weight:800;
  padding:14px 28px;
  border-radius:999px;
  border:none;
  box-shadow:0 10px 30px rgba(240,180,41,.25);
}
.btn-theme:hover{background:#f4be46;color:#111}
.btn-outline-theme{
  background:transparent;
  color:#fff;
  border:2px solid rgba(255,255,255,.8);
  padding:12px 26px;
  border-radius:999px;
  font-weight:800;
}
.section-pad{padding:40px 0}
.section-title{margin-bottom:44px;text-align:center}
.section-title .mini{
  color:var(--primary);
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:1px;
  margin-bottom:10px;
}
.section-title h2{
  font-size:40px;
  font-weight:800;
  color:var(--primary);
  margin-bottom:12px;
}
.section-title p{
  max-width:760px;
  margin:0 auto;
  color:#666;
  line-height:1.8;
}
.soft-bg{background:linear-gradient(180deg,#fafaff,#f4f3ff)}
.about-card{
  background:#fff;
  border-radius:24px;
  overflow:hidden;
  box-shadow:var(--shadow);
  transition:.35s ease;
}
.service-card,.gallery-card,.desk-card,.contact-card,.feature-card{
  background:#fff;
  border-radius:24px;
  overflow:hidden;
  box-shadow:var(--shadow);
  transition:.35s ease;
  height:100%;
}
.about-card:hover,.service-card:hover,.gallery-card:hover,.desk-card:hover,.contact-card:hover,.feature-card:hover{
  transform:translateY(-8px);
}
.about-card img,.service-card img,.gallery-card img{width:100%;object-fit:cover}
.about-card img{height:430px}
.service-card img{height:240px}
.gallery-card img{height:300px}
.card-body-custom{padding:28px}
.card-body-custom h3,.card-body-custom h4,.card-body-custom h5{color:var(--primary);font-weight:800}
.card-body-custom p{color:#666;line-height:1.8}
.feature-icon{
  width:72px;height:72px;border-radius:20px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--primary),#564db0);
  color:#fff;font-size:28px;margin-bottom:18px;
}
.metric-card{
  background:linear-gradient(135deg,var(--primary),#4b41a6);
  color:#fff;border-radius:24px;padding:34px 20px;text-align:center;box-shadow:var(--shadow)
}
.metric-card h3{font-size:42px;font-weight:800;margin-bottom:8px}
.metric-card p{margin:0;opacity:.92}
.page-banner{
  position:relative;
  padding:50px 0;
  background:linear-gradient(135deg,rgba(57,48,133,.92),rgba(57,48,133,.78)),url('images/banner.svg') center/cover no-repeat;
  color:#fff;
  text-align:center;
}
.page-banner h1{font-size:48px;font-weight:800;margin-bottom:10px}
.page-banner p{max-width:720px;margin:0 auto;line-height:1.8;opacity:.95}
.director-img{width:100%;height:100%;min-height:460px;object-fit:cover}
.role-badge{
  display:inline-block;background:#edeaff;color:var(--primary);font-weight:800;
  border-radius:999px;padding:10px 14px;margin-bottom:14px
}
.gallery-card{position:relative}
.gallery-overlay{
  position:absolute;left:18px;right:18px;bottom:18px;
  padding:16px 18px;border-radius:18px;background:rgba(57,48,133,.92);color:#fff
}
.gallery-overlay h5{margin:0 0 4px;color:#fff}
.contact-info-item{display:flex;gap:15px;margin-bottom:24px;align-items:flex-start}
.contact-info-item i{
  width:52px;height:52px;border-radius:16px;background:var(--primary);color:#fff;
  display:flex;align-items:center;justify-content:center;flex:0 0 52px
}
.form-control{
  border:1px solid #ddd;min-height:54px;border-radius:16px;padding:14px 16px;
}
.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 .2rem rgba(57,48,133,.12)}
textarea.form-control{min-height:150px}
.footer{
  background:var(--primary-dark);color:#fff;padding:26px 0;margin-top:20px
}
.footer p{margin:0}
.footer a{color:#fff}
.shadow-sm-custom{box-shadow:0 8px 25px rgba(0,0,0,.08)}
@media (max-width:991px){
  .hero-content h1{font-size:42px}
  .page-banner h1{font-size:38px}
  .navbar-brand{font-size:24px}
}
@media (max-width:767px){
  .hero-slider .carousel-item,.hero-content{min-height:74vh}
  .hero-content h1{font-size:32px}
  .hero-content p{font-size:16px}
  .section-title h2{font-size:30px}
  .page-banner{padding:80px 0}
  .page-banner h1{font-size:30px}
  .director-img{min-height:300px}
}
