body {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  font-family: Arial, sans-serif;
  background: url("../images/background_skyscraper2.jpg") center center / cover no-repeat fixed;
}

body.wip-page {
  background: url("../images/stillbuilding_notext.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600&display=swap');

/* HEADER BAR */
#site-header {
  position: relative;
  z-index: 9;
}

#header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
  box-sizing: border-box;
}

/* Logo styling */
#header-logo {
  height: 60px;            /* adjust as needed */
  width: auto;
}


/* Title block centered */
#title-block {
  text-align: center;
  flex: 1; /* allows it to center between logo and spacer */
}

/* Spacer matches logo width visually */
.header-spacer {
  width: 60px; /* same as logo height for balance */
}


/* Unified title styling */
#site-title,
#site-subtitle {
  font-family: "Poppins", sans-serif;
  margin: 0;
  padding: 0;
  line-height: 1.1;
  color: #0c1013;
}

#site-title {
  font-size: 48px;
  font-weight: 600;
}

#site-subtitle {
  font-size: 34px;
  font-weight: 500;
  margin-bottom: 10px;
}

/* The coloured initials */
.initial {
  /*color: rgb(2, 2, 100);*/
  color: black;
  font-weight: 600; /* optional: makes the initial stand out */
}

#site-footer {
  width: 100%;
  background: linear-gradient(90deg, #FFC300, #FF8C00);
  padding: 20px 0;
  text-align: center;
  margin-top: auto;
}

/* Footer links: clean grey, modern spacing */
#site-footer a {
  font-family: "Poppins", sans-serif;
  color: #0A1A3C;
  text-decoration: none;
  margin: 0 15px;
  font-size: 16px;
  transition: color 0.25s ease;
}

/* Hover: warm sun‑gold accent */
#site-footer a:hover {
  color: #e0e0e0;
}

#page-content {
  flex: 1; /* pushes footer to the bottom */
}

/* Email */
.email-inline-wrapper {
  margin: 40px 0 20px;
  font-family: "Poppins", sans-serif;
  font-size: 18px;
  color: #1f2a36;
}

.email-inline {
  font-weight: 600;
  color: #0044dd;
  border-bottom: 1px solid rgba(0, 85, 170, 0.3);
  text-decoration: none;
}

.email-inline:hover {
  color: #FF8C00;
  border-color: #FF8C00;
}

/* ---------------------------------------------------------
   CONTACT FORM — centred, aligned, elegant
--------------------------------------------------------- */

#contact-section {
  margin-top: 60px;
  display: flex;
  justify-content: center;
}

#contact-form {
  width: 100%;
  max-width: 500px;       /* keeps everything neatly aligned */
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 0 auto;
  margin-bottom: 60px;
}

#contact-form label {
  font-weight: 500;
  color: #1f2a36;
  margin-bottom: 4px;
}

#contact-form input,
#contact-form textarea {
  width: 100%;            /* ensures perfect alignment */
  padding: 12px;
  font-size: 16px;
  font-family: "Poppins", sans-serif;
  border: 1px solid #ccc;
  border-radius: 6px;
  background: #fff;
  box-sizing: border-box; /* prevents overflow issues */
}

#contact-form textarea {
  resize: vertical;       /* allow resizing but only vertically */
}

#contact-form button {
  width: fit-content;     /* button hugs its content */
  padding: 12px 24px;
  align-self: flex-start; /* aligns button with left edge of inputs */
  background: #0A1A3C;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 16px;
  cursor: pointer;
  transition: background 0.25s ease;
}

#contact-form button:hover {
  background: #0055aa;
}

#contact-form select {
  width: 100%;
  padding: 12px;
  font-size: 16px;
  font-family: "Poppins", sans-serif;
  border: 1px solid #ccc;
  border-radius: 6px;
  background: #fff;
  box-sizing: border-box;
}

/* Mobile refinement */
@media (max-width: 600px) {
  #contact-form {
    max-width: 100%;
  }
}
