/* =========================
   GLOBAL BASE / LAYOUT
   ========================= */
html, body { margin: 0; padding: 0; }
body {
  font-family: "Avenir Light","Segoe UI",Arial,sans-serif;
  background: #fff;
  color: #222;
}

/* =========================
   HEADER (logo + tagline + nav)
   ========================= */
header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 3rem 0 2rem;     /* approved spacing */
}

.logo-container { display: flex; flex-direction: column; }
.logo { height: 39px; }
.tagline {
  font-family: "Avenir Light","Segoe UI",sans-serif;
  font-weight: 300;
  font-size: 25px;
  margin-top: .5rem;
}

/* Nav on same line, not flush-right */
nav { display: flex; gap: 2rem; align-items: center; margin-right: 2rem; }
nav a { text-decoration: none; color: #222; font-size: 1rem; font-weight: 500; }
nav a:hover, nav a.active { color: #f4a936; }

/* =========================
   FLAGS ROW (centered) + ORANGE LINE
   ========================= */
.flags {
  display: flex;
  justify-content: center;
  gap: .7rem;
  margin: 1rem 0;
}
.flags img { height: 22px; display: block; }

/* Full-width orange divider (under flags, and anywhere you need it) */
.divider {
  width: 100vw;
  height: 3px;
  background: #f4a936;
  position: relative;
  left: 50%; right: 50%;
  margin-left: -50vw; margin-right: -50vw;
  margin-top: 0; margin-bottom: 0;
}

/* =========================
   FULL-BLEED UTILITY + HERO
   ========================= */
.edge-full {
  position: relative;
  width: 100vw;
  left: 50%; right: 50%;
  margin-left: -50vw; margin-right: -50vw;
}

.hero-wrapper { position: relative; }
.hero-wrapper, .hero-wrapper .hero-img { display: block; width: 100%; }
.hero-img { height: auto; border: none; }

/* =========================
   MAIN TEXT BLOCK (Home)
   ========================= */
main { padding: 0; margin: 0; }
.main-text {
  max-width: 900px;
  margin: 2rem auto;
  padding: 0 1.25rem;
  font-family: Georgia, serif;
  font-size: 20px;          /* approved home size */
  line-height: 1.7;
  text-align: justify;
  color: #222;
}

/* =========================
   PROJECTS / TITLES / CAPTIONS
   ========================= */
.projects h1 {
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 700;
  font-size: 63px;
  text-align: center;
  color: #000;
  margin: 1.5rem auto;
}

/* Generic large section title (e.g., “Various International Projects”) */
.section-title {
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 700;
  font-size: 60px;
  text-align: center;
  color: #000;
  margin: 1.5rem auto;
}

/* White title over images (sliders) */
.caption {
  position: absolute;
  top: 16px; right: 16px;
  color: #fff;
  font-family: Georgia, serif;
  font-size: 46px;
  text-shadow: 0 2px 8px rgba(0,0,0,.45);
  pointer-events: none;
}

/* =========================
   FOOTER (if present)
   ========================= */
footer {
  text-align: center;
  padding: 1rem 0;
  background: #e6eaf0;
  border-top: 2px solid #f7f7f7;
  color: #444;
  font-size: 1rem;
}

/* =========================
   RESPONSIVE
   ========================= */
@media (max-width: 900px) {
  header { padding: 1rem 1.25rem 0; }
  nav { gap: 1rem; margin-right: 1rem; }
  .main-text { padding: 0 1rem; font-size: 18px; }
  .caption { font-size: 28px; }
  .projects h1 { font-size: 42px; }
  .section-title { font-size: 36px; }
}

/* ——— Mobile header/nav (iPhone) ——— */
@media (max-width: 900px) {
  header {
    flex-direction: column;
    align-items: center;
    padding: 1rem 1rem 0 1rem;
  }
  .logo { height: 34px; }
  .tagline { font-size: 20px; margin-top: .3rem; }

  nav {
    flex-wrap: wrap;               /* allow wrapping */
    justify-content: center;
    gap: 0.9rem 1.1rem;            /* tighter spacing on small screens */
    margin: .75rem 0 0;
  }
  nav a { font-size: .98rem; }
}