/* RESET */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* BASE */
body {
  font-family: 'Open Sans', sans-serif;
  color: #102033;
  background: #f5f7fa;
  line-height: 1.6;
}

/* GLOBAL */
.section-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 80px 20px;
}

h1, h2, h3 {
  font-family: 'Montserrat', sans-serif;
}

h2 {
  font-size: 36px;
  margin-bottom: 20px;
  color: #0b1f3a;
}

p {
  font-size: 16px;
  color: #425466;
}

.intro-text {
  max-width: 760px;
  margin-bottom: 40px;
}

.strong-line {
  margin-top: 30px;
  font-weight: 700;
  font-size: 18px;
  color: #0b1f3a;
}

/* NAV */
.nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 22px 40px;
  background: #0b1f3a;
  border-bottom: 1px solid rgba(255,255,255,0.10);
}

.logo h1 {
  font-size: 18px;
  letter-spacing: 2px;
  color: #ffffff;
}

.logo p {
  font-size: 11px;
  color: #b9c6d8;
  letter-spacing: 1px;
}

.menu a {
  margin-left: 20px;
  text-decoration: none;
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
}

.menu a:hover {
  color: #c7d7ee;
}

.connect,
.language {
  padding: 8px 14px;
  border: 1px solid rgba(255,255,255,0.75);
  border-radius: 4px;
}

.connect:hover,
.language:hover {
  background: #ffffff;
  color: #0b1f3a !important;
}

/* HERO */
.hero {
  padding: 110px 40px;
  background:
    linear-gradient(135deg, rgba(11,31,58,0.82), rgba(7,24,45,0.88)),
    url("images/bg.jpg") no-repeat center center;
  background-size: cover;
}

.hero-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1100px;
  margin: 0 auto;
  gap: 60px;
}

.hero-text {
  max-width: 680px;
}

.hero-text h2 {
  font-size: 46px;
  line-height: 1.25;
  margin-bottom: 24px;
  color: #ffffff;
}

.hero-text p {
  margin-bottom: 34px;
  max-width: 620px;
  color: #d7e1ef;
  font-size: 17px;
}

.photo-placeholder img {
  width: 290px;
  border-radius: 12px;
}

/* BUTTON */
.btn {
  display: inline-block;
  padding: 13px 24px;
  background: #ffffff;
  color: #0b1f3a;
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
  border-radius: 4px;
  transition: 0.3s;
  border: 1px solid #ffffff;
}

.btn:hover {
  background: transparent;
  color: #ffffff;
}

/* PAGE HERO */
.page-hero {
  background:
    linear-gradient(135deg, rgba(11,31,58,0.86), rgba(7,24,45,0.90)),
    url("images/bg.jpg") no-repeat center center;
  background-size: cover;
  color: #ffffff;
}

.page-hero h2 {
  color: #ffffff;
}

.page-hero p {
  color: #d7e1ef;
  font-size: 18px;
}

/* SERBIAN PAGE HERO BG PATH */
body.sr .hero,
body.sr .page-hero {
  background:
    linear-gradient(135deg, rgba(11,31,58,0.84), rgba(7,24,45,0.90)),
    url("../images/bg.jpg") no-repeat center center;
  background-size: cover;
}

/* SECTIONS */
.problem,
.value,
.approach,
.perspective,
.about-intro,
.about-experience,
.principles,
.skills-section,
.contact-intro,
.experience {
  background: #ffffff;
}

.perspective.alt,
.final-cta {
  background: #eef3f8;
}

/* GRIDS */
.problem-grid,
.services,
.approach-grid,
.perspective-grid,
.experience-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 30px;
  margin-top: 40px;
}

.problem-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
}

.problem-card,
.service,
.approach-card,
.perspective-card,
.experience-card,
.about-card,
.contact-box,
.principles-list p,
.experience-list p {
  padding: 24px;
  border: 1px solid #dce4ee;
  background: #f8fafc;
  border-radius: 6px;
}

.problem-card {
  font-weight: 700;
  color: #0b1f3a;
  border-left: 4px solid #0b1f3a;
}

.service {
  background: #ffffff;
  transition: 0.3s;
}

.service:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 35px rgba(11,31,58,0.10);
}

.service h3,
.approach-card h3,
.perspective-card h3,
.experience-card h3,
.about-card h3,
.contact-box h3 {
  margin-bottom: 10px;
  color: #0b1f3a;
}

.icon {
  font-size: 24px;
  margin-bottom: 10px;
  color: #12365f;
}

.approach-card span,
.perspective-card span {
  font-size: 14px;
  color: #6d7f93;
  font-weight: 700;
}

/* STATEMENT */
.statement {
  background: linear-gradient(135deg, #0b1f3a, #07182d);
  color: #fff;
  text-align: center;
}

.statement h2 {
  color: #fff;
  font-size: 32px;
}

.statement .section-inner {
  padding: 75px 20px;
}

/* ABOUT */
.about-layout,
.contact-layout {
  display: flex;
  gap: 40px;
}

.about-text,
.contact-text {
  flex: 2;
}

.about-card,
.contact-box {
  flex: 1;
}

.about-card ul {
  list-style: none;
}

.about-card li {
  margin-bottom: 10px;
  color: #425466;
  border-bottom: 1px solid #e5ebf2;
  padding-bottom: 8px;
}

.principles-list p,
.experience-list p {
  margin-bottom: 15px;
  border-left: 4px solid #0b1f3a;
}

.contact-list {
  margin-top: 20px;
  padding-left: 20px;
}

.contact-list li {
  margin-bottom: 10px;
  color: #425466;
}

.note {
  margin-top: 20px;
  font-size: 13px;
  color: #6d7f93;
}

/* FINAL CTA */
.final-cta {
  text-align: center;
}

.final-cta h2 {
  margin-bottom: 10px;
}

.final-cta p {
  margin-bottom: 22px;
}

.final-cta .btn {
  background: #0b1f3a;
  color: #ffffff;
  border: 1px solid #0b1f3a;
}

.final-cta .btn:hover {
  background: transparent;
  color: #0b1f3a;
}

/* FOOTER */
.footer {
  text-align: center;
  padding: 30px 20px;
  font-size: 13px;
  color: #b9c6d8;
  background: #0b1f3a;
}

.footer .disclaimer {
  max-width: 950px;
  margin: 0 auto 12px auto;
  color: #d7e1ef;
  font-size: 12px;
  line-height: 1.5;
}

/* RESPONSIVE */
@media (max-width: 900px) {
  .nav {
    flex-direction: column;
    gap: 15px;
    padding: 20px;
  }

  .menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
  }

  .menu a {
    margin-left: 0;
  }

  .hero {
    padding: 75px 20px;
  }

  .hero-content {
    flex-direction: column;
    text-align: center;
  }

  .hero-text h2 {
    font-size: 34px;
  }

  .photo-placeholder {
    margin-top: 20px;
  }

  .photo-placeholder img {
    width: 230px;
  }

  .about-layout,
  .contact-layout {
    flex-direction: column;
  }

  h2 {
    font-size: 30px;
  }

  .section-inner {
    padding: 60px 20px;
  }
}
