*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Source Sans 3',sans-serif;background:#0B3D2E;color:#8FBC8F;line-height:1.7;font-size:17px;overflow-x:hidden}
h1,h2,h3,h4,h5,h6{font-family:'Montserrat',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:#DAA520;line-height:1.2}
a{color:#DAA520;text-decoration:none;transition:color .3s ease}
a:hover{color:#8FBC8F}
img{max-width:100%;height:auto;display:block;border-radius:12px;object-fit:cover}
ul,ol{list-style:none}
section{position:relative;padding:100px 20px}

.container{max-width:1200px;margin:0 auto;width:100%}
.row{display:flex;flex-wrap:wrap;gap:40px}

/* Scroll animations */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* Header */
.site-header{position:fixed;top:0;left:0;width:100%;z-index:1000;background:rgba(11,61,46,0.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(218,165,32,0.2);padding:18px 30px;display:flex;align-items:center;justify-content:space-between}
.logo{font-family:'Montserrat',sans-serif;font-weight:700;font-size:22px;text-transform:uppercase;letter-spacing:2px;color:#DAA520}
.logo span{color:#8FBC8F}

/* Hamburger */
.nav-toggle{display:flex;flex-direction:column;justify-content:space-between;width:32px;height:24px;background:none;border:none;cursor:pointer;z-index:1100}
.nav-toggle span{display:block;width:100%;height:3px;background:#DAA520;border-radius:2px;transition:all .35s ease}
.nav-toggle.open span:nth-child(1){transform:translateY(10.5px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:translateY(-10.5px) rotate(-45deg)}

/* Full-screen overlay nav */
.nav-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0B3D2E;z-index:1050;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease}
.nav-overlay.open{opacity:1;visibility:visible}
.nav-overlay ul{text-align:center}
.nav-overlay li{margin:24px 0}
.nav-overlay a{font-family:'Montserrat',sans-serif;font-size:28px;text-transform:uppercase;letter-spacing:3px;color:#8FBC8F;position:relative;padding:6px 0}
.nav-overlay a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:#DAA520;transition:width .35s ease}
.nav-overlay a:hover::after,.nav-overlay a.active::after,.nav-overlay a[aria-current="page"]::after{width:100%}
.nav-overlay a.active,.nav-overlay a[aria-current="page"]{color:#DAA520}

/* Hero — split 50/50 */
.hero{display:flex;min-height:100vh;padding:0;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
.hero-left{flex:1;display:flex;flex-direction:column;justify-content:center;padding:120px 60px 60px;background:#0B3D2E}
.hero-left h1{font-size:clamp(2rem,4.5vw,3.6rem);margin-bottom:24px}
.hero-left p{font-size:1.15rem;color:#8FBC8F;margin-bottom:36px;max-width:520px}
.hero-right{flex:1;overflow:hidden}
.hero-right img{width:100%;height:100%;min-height:50vh;border-radius:0}

/* Buttons */
.btn{display:inline-block;font-family:'Montserrat',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;font-size:14px;padding:14px 34px;border:2px solid #DAA520;background:transparent;color:#DAA520;border-radius:50px;cursor:pointer;transition:all .35s ease}
.btn:hover{background:#DAA520;color:#0B3D2E;transform:scale(1.05);box-shadow:0 8px 25px rgba(218,165,32,0.35)}
.btn-sage{border-color:#8FBC8F;color:#8FBC8F}
.btn-sage:hover{background:#8FBC8F;color:#0B3D2E;box-shadow:0 8px 25px rgba(143,188,143,0.35)}

/* Section dividers */
.section-alt{background:#0A3326}
.section-diagonal{clip-path:polygon(0 5%,100% 0,100% 95%,0 100%);padding:140px 20px}
.section-diagonal-rev{clip-path:polygon(0 0,100% 5%,100% 100%,0 95%);padding:140px 20px}

/* Section heading */
.section-title{text-align:center;margin-bottom:60px}
.section-title h2{font-size:clamp(1.8rem,3.5vw,2.6rem);margin-bottom:16px}
.section-title p{color:#8FBC8F;max-width:640px;margin:0 auto}

/* Cards */
.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px}
.card{background:rgba(143,188,143,0.06);border:1px solid rgba(218,165,32,0.18);border-radius:16px;padding:36px 28px;transition:transform .35s ease,box-shadow .35s ease}
.card:hover{transform:translateY(-10px);box-shadow:0 18px 45px rgba(0,0,0,0.45);border-color:rgba(218,165,32,0.45)}
.card-icon{width:64px;height:64px;border-radius:50%;background:rgba(218,165,32,0.12);display:flex;align-items:center;justify-content:center;margin-bottom:24px;font-size:28px;color:#DAA520}
.card h3{font-size:1.25rem;margin-bottom:14px}
.card p{color:#8FBC8F;font-size:0.98rem}

/* Feature row */
.feature-row{display:flex;align-items:center;gap:50px;flex-wrap:wrap}
.feature-row.reverse{flex-direction:row-reverse}
.feature-row .feature-text{flex:1;min-width:300px}
.feature-row .feature-img{flex:1;min-width:300px}
.feature-row .feature-img img{width:100%;height:360px;border-radius:16px}
.feature-row h2{font-size:clamp(1.6rem,3vw,2.3rem);margin-bottom:20px}
.feature-row p{margin-bottom:24px}

/* Contact */
.contact-block{background:rgba(143,188,143,0.06);border:1px solid rgba(218,165,32,0.2);border-radius:16px;padding:48px;max-width:640px;margin:0 auto}
.contact-block h2{text-align:center;margin-bottom:32px}
address{font-style:normal;font-size:1.1rem;line-height:2;color:#8FBC8F;text-align:center}
address strong{color:#DAA520;display:block;font-family:'Montserrat',sans-serif;text-transform:uppercase;letter-spacing:1.5px;font-size:1.15rem;margin-bottom:8px}
address a{display:inline-block;margin-top:12px}

/* Footer */
.site-footer{background:#082319;border-top:1px solid rgba(218,165,32,0.2);padding:70px 20px 30px}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:40px;max-width:1200px;margin:0 auto 50px}
.footer-col h4{font-size:1rem;margin-bottom:20px;color:#DAA520}
.footer-col p,.footer-col a,.footer-col li{color:#8FBC8F;font-size:0.95rem;line-height:2}
.footer-col a:hover{color:#DAA520}
.footer-logo{font-family:'Montserrat',sans-serif;font-weight:700;font-size:1.4rem;text-transform:uppercase;letter-spacing:2px;color:#DAA520;margin-bottom:16px;display:block}
.footer-bottom{max-width:1200px;margin:0 auto;text-align:center;padding-top:30px;border-top:1px solid rgba(143,188,143,0.15);font-size:0.85rem;color:rgba(143,188,143,0.7)}

/* Responsive */
@media(max-width:768px){
  .hero{flex-direction:column}
  .hero-left{padding:110px 24px 50px}
  .hero-right img{min-height:300px}
  .section-diagonal,.section-diagonal-rev{clip-path:none;padding:80px 20px}
  section{padding:70px 20px}
  .contact-block{padding:32px 24px}
  .feature-row.reverse{flex-direction:column}
  .feature-row .feature-img img{height:260px}
}