:root {
  --aus-blue:  #002776;
  --aus-red:   #CE1126;
  --aus-white: #FFFFFF;
}

/* ─── 1) RESET & BASE 
───────────────────────────────────────────────────── */
*, *::before, *::after {
  box-sizing: border-box;
  margin:       0;
  padding:      0;
}
html, body {
  width:      100%;
  min-height: 100%;
}
body {
  font-family: 'Segoe UI', Arial, sans-serif;
  line-height: 1.6;
  background:  var(--aus-white);
  color:       #333;
}

/* ─── 2) FLUID CONTAINER 
───────────────────────────────────────────────── */
.container {
  width:     100%;
  max-width: 1100px;
  margin:    0 auto;
  padding:   0 1rem;
}

/* ─── 3) HEADER & LOGO & NAV BASE 
───────────────────────────────────────── */
header.site-header {
  background: var(--aus-blue);
  padding:    0.5rem 0;
}
.header-flex {
  display:        flex;
  flex-direction: column;
  align-items:    center;
  gap:            0.5rem;
}
.logo-img {
  max-height: 120px;
  width:      auto;
  object-fit: contain;
  filter:
    brightness(0) invert(1)
    drop-shadow(0 0 0 var(--aus-red));
}
.menu-toggle {
  background: transparent;
  border: none;
  color: var(--aus-white);
  font-size: 1.5rem;
  cursor: pointer;
}
nav.navbar {
  width: 100%;
}
nav.navbar .nav-list {
  list-style:      none;
  display:         flex;
  flex-direction:  column;
  align-items:     stretch;
  margin:          0;
  padding:         0.5rem 0;
  gap:             0;
}
nav.navbar .nav-list li a {
  display:         block;
  width:           100%;
  padding:         0.75rem 1rem;
  text-align:      center;
  color:           var(--aus-white);
  text-decoration: none;
  border-bottom:   1px solid rgba(255,255,255,0.2);
  transition:      background 0.2s;
}
nav.navbar .nav-list li:last-child a {
  border-bottom: none;
}
nav.navbar .nav-list li a:hover,
nav.navbar .nav-list li a:focus,
nav.navbar .nav-list li a.active {
  background: var(--aus-red);
}

/* ─── 4) HERO SECTION 
───────────────────────────────────────────────────── */
.hero {
  display:     grid;
  place-items: center;
  text-align:  center;
  padding:     4rem 1rem;
  background:  linear-gradient(135deg, var(--aus-blue) 0%, 
var(--aus-red) 100%);
  color:       var(--aus-white);
}
.hero h1 {
  font-size:     clamp(2rem, 5vw, 3.5rem);
  margin-bottom: 1rem;
}
.hero p {
  font-size:     clamp(1rem, 2vw, 1.25rem);
  margin-bottom: 2rem;
  max-width:     700px;
}

/* ─── 5) BUTTONS 
─────────────────────────────────────────────────────────── */
.btn {
  display:        inline-block;
  padding:        0.75rem 1.5rem;
  background:     var(--aus-red);
  color:          var(--aus-white);
  border:         none;
  border-radius:  4px;
  text-decoration: none;
  cursor:         pointer;
  transition:     transform 0.15s ease, box-shadow 0.15s;
}
.btn:hover {
  transform:  translateY(-2px);
  box-shadow: 0 4px 6px rgba(0,0,0,0.2);
}

/* ─── 6) SERVICES GRID 
──────────────────────────────────────────────────── */
.services-grid {
  display:               grid;
  gap:                   2rem;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  margin:                2rem 0;
}
.service-card {
  border:        1px solid #e5e5e5;
  border-radius: 8px;
  padding:       1.5rem;
  transition:    box-shadow 0.2s;
}
.service-card:hover {
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

/* ─── 7) LISTS 
───────────────────────────────────────────────────────────── */
.container ul {
  padding-left: 2rem;
  margin-left:  1rem;
}

/* ─── 8) MOBILE: STACK NAV BELOW LOGO & APPLY COLOUR 
─────────────────────── */
@media (max-width: 768px) {
  .logo-img {
    max-height: 80px;
  }
  .hero {
    padding: 2rem 1rem;
  }
  /* full-width stacked nav */
  nav.navbar {
    background: var(--aus-blue);
  }
  nav.navbar .nav-list {
    display:         flex !important;
    flex-direction:  column;
    align-items:     stretch;
    width:           100%;
    gap:             0;
    padding:         0.5rem 0;
  }
  nav.navbar .nav-list li a {
    padding:       0.75rem 1rem;
    border-bottom: 1px solid rgba(255,255,255,0.2);
  }
  nav.navbar .nav-list li:last-child a {
    border-bottom: none;
  }
}

/* ─── 9) DESKTOP: TRUE TOP BAR, HORIZONTAL MENU 
─────────────────────────── */
@media (min-width: 769px) {
  .header-flex {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
  .menu-toggle {
    display: none;
  }
  nav.navbar {
    order:         0;
    background:    transparent;
    margin-bottom: 0;
    padding:       0;
  }
  nav.navbar .nav-list {
    flex-direction:  row;
    justify-content: center;
    align-items:     center;
    gap:             1rem;
    padding:         0;
  }
  nav.navbar .nav-list li a {
    width:         auto;
    padding:       0.5rem 1rem;
    border-bottom: none;
  }
  .logo-img {
    order:         0;
    margin-bottom: 0;
  }
}

/* ─── 10) FOOTNOTE STYLING 
───────────────────────────────────────────────── */

.footnotes {
  border-top:    2px solid var(--aus-blue);
  margin-top:    2rem;
  padding:       1rem;
  background:    var(--aus-blue);
  color:         var(--aus-white);
  font-size:     0.85rem;
}

#.footnotes {
#  border-top:    1px solid #ddd;
#  margin-top:    2rem;
#  padding-top:   1rem;
#  font-size:     0.85rem;
#  color:         #666;
#}

/* ─── 11) RED BAR FOOTER 
────────────────────────────────────────────────── */
footer.site-footer {
  background:      var(--aus-blue);
  color:           var(--aus-white);
  text-align:      center;
  padding:         1rem 0;
  font-size:       0.9rem;
  letter-spacing:  0.5px;
  margin-top:      2rem;
}
footer.site-footer .container {
  display:         flex;
  justify-content: center;
  align-items:     center;
}
footer.site-footer a {
  color:           var(--aus-white);
  text-decoration: none;
  transition:      color 0.2s;
}
footer.site-footer a:hover {
  text-decoration: underline;
}

/* ─── 12) ULTRA‑WIDE SCREENS 
─────────────────────────────────────────────── */
@media (min-width: 1600px) {
  .container {
    max-width: 1600px;
  }
}

/* ─── 13) FLUID MEDIA 
───────────────────────────────────────────────────── */
img, video, iframe {
  max-width: 100%;
  height:    auto;
}

