:root{--green:#21763a;--green2:#41a84f;--blue:#062941;--dark:#0b1720;--cream:#f6f3eb;--light:#f4f7f2;--text:#1d2a33;--muted:#62717c;--line:#dfe7de;--white:#fff;--shadow:0 18px 45px rgba(0,0,0,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);line-height:1.55;background:#fff}img{max-width:100%}a{color:inherit}.container{width:min(1180px,92vw);margin:auto}.topbar{background:#061a2a;color:#fff;font-size:.95rem}.topbar-inner{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0}.topbar a{color:#fff;text-decoration:none;font-weight:800}.nav{background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 4px 22px rgba(0,0,0,.08)}.nav-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between}.brand img{width:185px;display:block;margin:-18px 0}.menu-toggle{display:none;background:var(--blue);color:#fff;border:0;border-radius:6px;font-size:1.4rem;padding:.5rem .75rem}.nav-links{display:flex;align-items:center;gap:1.15rem;text-transform:uppercase;font-size:.88rem;font-weight:900;letter-spacing:.02em}.nav-links a{text-decoration:none}.nav-links a:hover{color:var(--green)}.nav-cta{background:var(--green);color:#fff!important;padding:.85rem 1rem;border-radius:6px}.hero{position:relative;color:#fff;min-height:610px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(4,21,34,.94),rgba(4,48,22,.72),rgba(0,0,0,.32)),url('../images/gallery/469978467_553546360895487_5181224348787593710_n.jpg');background-size:cover;background-position:center}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 18%,rgba(75,178,79,.35),transparent 28%)}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.35fr .82fr;gap:3rem;align-items:center}.eyebrow{margin:0 0 .7rem;text-transform:uppercase;letter-spacing:.13em;color:#a9e877;font-weight:900}.eyebrow.green{color:var(--green)}h1,h2,h3{line-height:1.08;margin:.15rem 0 1rem}h1{font-size:clamp(2.7rem,6vw,5.7rem);max-width:790px;letter-spacing:-.04em}h2{font-size:clamp(1.85rem,3.2vw,3rem);letter-spacing:-.025em}h3{font-size:1.22rem}.lead{font-size:clamp(1.12rem,2vw,1.42rem);max-width:760px;color:#e7f0e5}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.7rem}.btn{display:inline-block;text-decoration:none;text-transform:uppercase;font-weight:900;letter-spacing:.04em;border-radius:7px;padding:1rem 1.35rem}.btn.primary{background:var(--green2);color:#fff}.btn.dark{background:var(--blue);color:#fff}.btn.secondary{border:2px solid #fff;color:#fff}.btn.light{background:#fff;color:var(--blue)}.proof-card{background:rgba(4,20,32,.82);border:1px solid rgba(255,255,255,.28);border-radius:16px;padding:1.45rem;backdrop-filter:blur(8px);box-shadow:var(--shadow)}.proof-row{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.15)}.proof-row:last-child{border-bottom:0}.proof-number{font-size:2rem;font-weight:900;color:#a9e877;min-width:78px}.proof-row strong{display:block;font-size:1.08rem}.proof-row span{color:#d8e5e9}.section{padding:4.6rem 0}.section.light{background:var(--light)}.split-heading{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin-bottom:1.8rem}.text-link{color:var(--green);font-weight:900;text-decoration:none}.cards{display:grid;gap:1.25rem}.cards.four{grid-template-columns:repeat(4,1fr)}.cards.three{grid-template-columns:repeat(3,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.55rem;box-shadow:0 8px 26px rgba(0,0,0,.06)}.card:hover{box-shadow:0 14px 34px rgba(0,0,0,.12)}.icon{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--green);color:white;font-size:1.45rem;margin-bottom:1rem}.attention-strip{background:#09283f;color:#fff;padding:1.4rem 0}.attention-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;text-align:center}.attention-grid strong{display:block;font-size:1.1rem;color:#a9e877}.feature-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:2.4rem;align-items:center}.mini-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.mini-gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px;box-shadow:0 10px 25px rgba(0,0,0,.14)}.cta-band{background:linear-gradient(120deg,var(--blue),#0c421f);color:#fff;padding:3.2rem 0}.cta-content{display:flex;align-items:center;justify-content:space-between;gap:2rem}.footer{background:#031827;color:#d9e6ec;padding:3rem 0}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem}.footer-logo{width:145px}.page-hero{background:linear-gradient(120deg,#062941,#0b4321);color:#fff;padding:4.5rem 0}.page-hero p{font-size:1.15rem;max-width:760px;color:#e4ece9}.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.gallery-item{border:0;padding:0;background:transparent;cursor:pointer;border-radius:12px;overflow:hidden;box-shadow:0 8px 22px rgba(0,0,0,.12)}.gallery-item img{width:100%;height:220px;object-fit:cover;display:block;transition:.22s}.gallery-item:hover img{transform:scale(1.04)}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;z-index:200;padding:2rem}.lightbox.open{display:flex}.lightbox img{width:auto;max-width:94vw;max-height:86vh;object-fit:contain;background:#fff;border:5px solid #fff;box-shadow:var(--shadow)}.close-lightbox,.prev-photo,.next-photo{position:absolute;border:0;background:rgba(255,255,255,.15);color:#fff;cursor:pointer;border-radius:6px}.close-lightbox{right:1rem;top:1rem;font-size:2.2rem;width:54px;height:54px}.prev-photo,.next-photo{top:50%;transform:translateY(-50%);font-size:4rem;width:70px;height:86px}.prev-photo{left:1rem}.next-photo{right:1rem}.lightbox-note{position:absolute;left:50%;bottom:1rem;transform:translateX(-50%);background:rgba(0,0,0,.5);color:#fff;padding:.45rem .8rem;border-radius:999px}.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}.video-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1rem;box-shadow:0 8px 24px rgba(0,0,0,.08)}.video-card video,.video-card iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:10px;background:#111;display:block}.sky-card{background:linear-gradient(120deg,#eff8ff,#f8fff1);border:1px solid #cfe4f2;border-radius:16px;padding:2rem}.sticky-call{display:none}@media(max-width:920px){.topbar-inner{display:block;text-align:center}.nav-inner{min-height:84px}.brand img{width:145px;margin:-10px 0}.menu-toggle{display:block}.nav-links{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;flex-direction:column;align-items:stretch;padding:1rem 4vw;box-shadow:0 14px 32px rgba(0,0,0,.15)}.nav-links.open{display:flex}.nav-links a{padding:.8rem}.hero{min-height:auto;padding:4.2rem 0}.hero-grid,.feature-grid,.contact-grid{grid-template-columns:1fr}.cards.four,.cards.three,.service-list{grid-template-columns:1fr 1fr}.attention-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr}.split-heading,.cta-content{display:block}.video-grid{grid-template-columns:1fr}.sticky-call{display:block;position:fixed;left:0;right:0;bottom:0;z-index:80;background:var(--green);color:#fff;text-align:center;text-decoration:none;font-weight:900;text-transform:uppercase;padding:.9rem}.footer{padding-bottom:5rem}}@media(max-width:560px){.cards.four,.cards.three,.service-list,.attention-grid{grid-template-columns:1fr}.mini-gallery{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:1fr}.gallery-item img{height:250px}.btn{width:100%;text-align:center}h1{font-size:2.55rem}.prev-photo,.next-photo{font-size:2.6rem;width:48px;height:64px}.lightbox{padding:.6rem}.lightbox img{max-width:96vw}.hero-actions{gap:.65rem}}



/* Gallery enlargement / lightbox */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 18px;
}
.gallery-grid a,
.photo-grid a,
.project-grid a {
  display: block;
}
.gallery-grid img,
.photo-grid img,
.project-grid img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 12px;
  cursor: pointer;
}
.lightbox {
  display: none;
  position: fixed;
  z-index: 9999;
  inset: 0;
  background: rgba(0,0,0,.88);
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.lightbox:target {
  display: flex;
}
.lightbox img {
  max-width: 94vw;
  max-height: 90vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 10px;
  box-shadow: 0 20px 60px rgba(0,0,0,.5);
}
.lightbox .close {
  position: fixed;
  top: 18px;
  right: 24px;
  color: white;
  font-size: 42px;
  text-decoration: none;
  font-weight: bold;
  line-height: 1;
}
.lightbox .caption {
  position: fixed;
  bottom: 18px;
  left: 20px;
  right: 20px;
  color: white;
  text-align: center;
  font-size: 16px;
}



/* Auto folder gallery/video pages */
.media-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 18px;
  margin-top: 24px;
}
.media-card {
  display: block;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  text-decoration: none;
  color: inherit;
}
.media-card img,
.media-card video {
  width: 100%;
  height: 230px;
  object-fit: cover;
  display: block;
}
.media-card span {
  display: block;
  padding: 12px 14px;
  font-weight: 700;
}
.lightbox {
  display: none;
  position: fixed;
  z-index: 9999;
  inset: 0;
  background: rgba(0,0,0,.9);
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.lightbox:target {
  display: flex;
}
.lightbox img,
.lightbox video {
  max-width: 94vw;
  max-height: 88vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 10px;
}
.lightbox .close {
  position: fixed;
  top: 18px;
  right: 26px;
  color: #fff;
  font-size: 44px;
  font-weight: 800;
  text-decoration: none;
}
.empty-note {
  padding: 20px;
  border-radius: 12px;
  background: #f4f7f4;
  margin-top: 20px;
}



/* Clean navigation */
.site-header {
  background: #ffffff;
  border-bottom: 1px solid rgba(0,0,0,.08);
  position: sticky;
  top: 0;
  z-index: 1000;
}
.nav-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 20px;
}
.brand {
  text-decoration: none;
  color: #123;
  font-weight: 800;
  font-size: 1.25rem;
}
.main-nav {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.main-nav a {
  color: #123;
  text-decoration: none;
  font-weight: 700;
}
.main-nav a:hover {
  text-decoration: underline;
}
.main-nav .nav-call {
  background: #2d7d46;
  color: white;
  padding: 9px 14px;
  border-radius: 999px;
  text-decoration: none;
}
@media (max-width: 760px) {
  .nav-wrap {
    align-items: flex-start;
    flex-direction: column;
  }
  .main-nav {
    width: 100%;
    gap: 10px;
  }
  .main-nav a {
    display: inline-block;
    padding: 6px 0;
  }
}


/* Clean override */

/* Clean navigation */
.site-header {
  background: #ffffff;
  border-bottom: 1px solid rgba(0,0,0,.08);
  position: sticky;
  top: 0;
  z-index: 1000;
}
.nav-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 20px;
}
.brand {
  color: #123;
  text-decoration: none;
  font-weight: 800;
  font-size: 1.25rem;
}
.main-nav {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.main-nav a {
  color: #123;
  text-decoration: none;
  font-weight: 700;
}
.main-nav a:hover {
  text-decoration: underline;
}
.main-nav .nav-call {
  background: #2d7d46;
  color: #fff;
  padding: 9px 14px;
  border-radius: 999px;
  text-decoration: none;
}
.media-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 18px;
  margin-top: 24px;
}
.media-card {
  display: block;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  text-decoration: none;
  color: inherit;
}
.media-card img,
.media-card video {
  width: 100%;
  height: 230px;
  object-fit: cover;
  display: block;
}
.media-card span {
  display: block;
  padding: 12px 14px;
  font-weight: 700;
}
.lightbox {
  display: none;
  position: fixed;
  z-index: 9999;
  inset: 0;
  background: rgba(0,0,0,.9);
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.lightbox:target {
  display: flex;
}
.lightbox img,
.lightbox video {
  max-width: 94vw;
  max-height: 88vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 10px;
}
.lightbox .close {
  position: fixed;
  top: 18px;
  right: 26px;
  color: #fff;
  font-size: 44px;
  font-weight: 800;
  text-decoration: none;
}
.empty-note {
  padding: 20px;
  border-radius: 12px;
  background: #f4f7f4;
  margin-top: 20px;
}
@media (max-width: 760px) {
  .nav-wrap {
    flex-direction: column;
    align-items: flex-start;
  }
  .main-nav {
    width: 100%;
    gap: 10px;
  }
}



/* Header logo */
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
}
.site-logo {
  width: 58px;
  height: 58px;
  object-fit: contain;
  display: block;
}
.brand-text {
  font-weight: 800;
  line-height: 1.1;
}
@media (max-width: 760px) {
  .site-logo {
    width: 48px;
    height: 48px;
  }
}
/* Mobile header fix */
@media (max-width: 900px) {
  .site-header {
    position: relative;
  }

  .nav-wrap {
    padding: 6px 12px;
    gap: 8px;
  }

  .site-logo {
    width: 52px !important;
    height: 52px !important;
  }

  .brand-text {
    font-size: 18px;
    line-height: 1.1;
  }

  .main-nav {
    gap: 8px;
  }

  .main-nav a {
    font-size: 14px;
    padding: 6px 8px;
  }
}

/* Phone landscape fix */
@media (max-height: 500px) and (orientation: landscape) {
  .site-logo {
    width: 40px !important;
    height: 40px !important;
  }

  .brand-text {
    font-size: 16px;
  }

  .nav-wrap {
    padding: 4px 10px;
  }

  .main-nav a {
    font-size: 13px;
    padding: 4px 6px;
  }
}
@media (max-height: 500px) and (orientation: landscape) {
  .site-logo {
    width: 32px !important;
    height: 32px !important;
  }

  .brand-text {
    font-size: 14px;
  }

  .nav-wrap {
    padding: 2px 8px;
  }

  .main-nav a {
    font-size: 12px;
    padding: 2px 4px;
  }
}
@media (max-height: 500px) and (orientation: landscape) {
  .site-logo {
    width: 24px !important;
    height: 24px !important;
  }

  .brand-text {
    font-size: 12px;
  }

  .nav-wrap {
    padding: 1px 6px;
  }

  .main-nav a {
    font-size: 11px;
    padding: 1px 3px;
  }
}
/* First landscape fix */
@media (max-height: 500px) and (orientation: landscape) {
   ...
}

/* Second landscape override */
@media (max-height: 500px) and (orientation: landscape) {
  .site-header {
    min-height: auto !important;
  }

  .nav-wrap {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: auto !important;
  }

  .main-nav {
    margin: 0 !important;
    padding: 0 !important;
  }

  .main-nav a {
    line-height: 1 !important;
    margin: 0 !important;
  }
}