:root {
  --bg: #000;
  --text: #eee;
  --red: #FF4136;
  --blue: #0074D9;
  --font: 'Segoe UI', sans-serif;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--font);
  line-height: 1.6;
}
header {
  position: sticky; top: 0; z-index:10;
  background: var(--bg); border-bottom: 1px solid #222;
  padding:1rem;
}
nav { display:flex; justify-content:center; gap:2rem; }
nav a {
  color: var(--red);
  text-decoration: none;
  font-weight: bold;
  transition: color .2s;
}
nav a:hover { color: var(--blue); }
.container { max-width:1000px; margin:2rem auto; padding:0 1rem; }
h1,h2 { text-align:center; margin-bottom:1rem; }
.homepage h1 {
  font-size: 3rem;
}
.bio-section, .policy-texts {
  display:flex; flex-wrap:wrap; gap:2rem; align-items:center;
}
.bio-text, .policy-texts > div, .services-list {
  flex:1 1 300px;
}
.bio-image {
  flex:2 1 300px; text-align:center;
}
.bio-image img, .gallery-grid img {
  max-width:100%; height:auto; border-radius:8px;
}
.homepage-extra-image {
  text-align: center;
  margin: 2rem 0;
}
.homepage-extra-image img {
  width: 70%;
  height: auto;
}
.contact, .contact a {
  text-align:center; display:block; margin:.5rem 0;
}
.contact a { color: var(--blue); text-decoration:none; }
.services-list {
  list-style:none; padding:0; text-align:center;
}
.services-list li { margin:.75rem 0; font-size:1.1rem; }
.button {
  display:inline-block; margin:1rem auto;
  padding:.75rem 1.5rem; background:var(--red);
  color:var(--text); text-decoration:none; font-weight:bold;
  border-radius:4px; transition:background .2s;
}
.button:hover { background: var(--blue); }
.gallery-grid {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:.5rem;
}
#lightbox {
  display:none; position:fixed; top:0; left:0; right:0; bottom:0;
  background:rgba(0,0,0,.9); justify-content:center; align-items:center;
  z-index:100;
}
#lightbox .content img {
  max-width:90%; max-height:90%; border-radius:8px;
}
.policies-list {
  list-style:disc inside; max-width:600px; margin:0 auto 2rem;
}
@media (max-width:600px) {
  .bio-section, .policy-texts { flex-direction:column; }
}