
:root{
  --green:#244f32;
  --green-dark:#13301f;
  --green-mid:#3e704b;
  --gold:#c59b42;
  --cream:#f8f5ec;
  --light:#f3f6f0;
  --text:#26322b;
  --muted:#67736b;
  --line:#e4dfd1;
  --white:#ffffff;
  --shadow:0 18px 45px rgba(22,54,34,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial, Helvetica, sans-serif;color:var(--text);background:#fff;line-height:1.65}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.container{width:min(1120px,92vw);margin:auto}
.topbar{background:var(--green-dark);color:#e9efe9;font-size:13px}
.topbar-inner{display:flex;justify-content:space-between;gap:18px;padding:8px 0;flex-wrap:wrap}
.main-header{background:#fff;border-bottom:4px solid var(--gold);position:sticky;top:0;z-index:40;box-shadow:0 5px 18px rgba(0,0,0,.05)}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:92px}
.logo img{width:245px}
.main-nav ul{display:flex;align-items:center;gap:0;list-style:none;padding:0;margin:0}
.main-nav a{display:block;padding:34px 15px;font-weight:700;font-size:14px;color:var(--green-dark);text-transform:uppercase}
.main-nav a:hover,.main-nav a.active{background:var(--green);color:#fff}
.menu-toggle{display:none;background:var(--green);color:#fff;border:0;border-radius:4px;font-size:24px;padding:8px 12px}
.hero{min-height:620px;background:linear-gradient(rgba(19,48,31,.75),rgba(19,48,31,.62)),url('assets/hero-profile.jpg') center/cover no-repeat;position:relative;display:flex;align-items:center;color:#fff}
.hero-content{position:relative;max-width:850px}
.pretitle,.section-kicker{color:var(--gold);text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:13px;margin:0 0 10px}
.hero h1{font-family:Georgia,serif;font-size:clamp(42px,6vw,72px);line-height:1.05;margin:0 0 20px}
.hero p{font-size:19px;max-width:760px}
.hero-buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:3px;padding:13px 22px;font-weight:800;border:2px solid transparent}
.btn-primary{background:var(--gold);color:#172117}
.btn-outline{border-color:#fff;color:#fff}
.btn-light{background:#fff;color:var(--green)}
.intro-strip{background:var(--green);color:#fff}
.intro-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.intro-grid div{padding:28px;border-right:1px solid rgba(255,255,255,.18)}
.intro-grid strong{font-size:34px;color:var(--gold);display:block;line-height:1}
.intro-grid span{font-weight:700}
.section{padding:76px 0}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
h1,h2,h3{color:var(--green-dark);line-height:1.15;margin-top:0}
h2{font-family:Georgia,serif;font-size:clamp(30px,4vw,46px)}
.text-link{font-weight:800;color:var(--green);border-bottom:2px solid var(--gold)}
.image-frame{border:8px solid #fff;box-shadow:var(--shadow);outline:1px solid var(--line)}
.image-frame img{height:420px;width:100%;object-fit:cover}
.services-section,.page-hero,.resources-band{background:var(--light)}
.section-title{text-align:center;max-width:750px;margin:0 auto 38px}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.service-card{background:#fff;padding:28px;border-top:5px solid var(--gold);box-shadow:var(--shadow);min-height:220px}
.service-card h3{font-size:20px}
.service-card p{color:var(--muted)}
.projects-preview{background:#fff}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.project-card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}
.project-card img{height:240px;width:100%;object-fit:cover}
.project-body{padding:22px}
.project-body span{font-size:12px;font-weight:800;color:var(--gold);text-transform:uppercase}
.project-body p{color:var(--muted)}
.center{text-align:center;margin-top:34px}
.cta-band{background:var(--green-dark);color:#fff;padding:48px 0}
.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:28px}
.cta-inner h2{color:#fff}
.cta-inner p{color:#dce4dc}
.page-hero{padding:78px 0;border-bottom:1px solid var(--line)}
.page-hero h1{font-size:56px;font-family:Georgia,serif}
.page-hero p{max-width:720px;font-size:18px;color:var(--muted)}
.content-with-sidebar{display:grid;grid-template-columns:280px 1fr;gap:42px;align-items:start}
.sidebar{background:var(--green);padding:24px;color:#fff;position:sticky;top:120px}
.sidebar h3{color:#fff;border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:10px;margin-top:0}
.sidebar a,.sidebar span{display:block;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12);font-weight:700}
.services-list article{padding:28px 0;border-bottom:1px solid var(--line)}
.profile-content p,.profile-content li{color:var(--muted)}
.info-table{width:100%;border-collapse:collapse;margin:24px 0}
.info-table th,.info-table td{border:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}
.info-table th{background:var(--light);width:32%;color:var(--green-dark)}
.project-list-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:44px}
.project-list-columns div{background:var(--light);padding:26px;border-left:5px solid var(--gold)}
.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.team-card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:28px;border-top:5px solid var(--green)}
.team-card h3{color:var(--gold);font-size:16px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px}
.contact-box{background:var(--light);padding:24px;border-left:5px solid var(--gold);margin-top:24px}
.contact-form{background:#fff;box-shadow:var(--shadow);padding:28px;border-top:5px solid var(--gold)}
.contact-form label{display:block;font-weight:800;margin-bottom:16px;color:var(--green-dark)}
.contact-form input,.contact-form textarea{width:100%;padding:13px;border:1px solid var(--line);margin-top:7px;font:inherit}
.footer{background:var(--green-dark);color:#dbe5dd;padding:58px 0 0}
.footer-grid{display:grid;grid-template-columns:1.3fr .8fr 1fr 1.1fr;gap:34px}
.footer-logo{width:220px;background:#fff;padding:8px;margin-bottom:16px}
.footer h3{color:#fff;border-bottom:2px solid var(--gold);padding-bottom:10px;font-size:18px}
.footer p,.footer li{color:#c8d4cd}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links li{margin-bottom:9px}
.copyright{text-align:center;border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding:18px;color:#9cada2;font-size:14px}
@media(max-width:900px){
  .menu-toggle{display:block}
  .main-nav{display:none;position:absolute;left:4vw;right:4vw;top:105px;background:#fff;box-shadow:var(--shadow)}
  .main-nav.open{display:block}
  .main-nav ul{display:block}
  .main-nav a{padding:14px 18px;border-bottom:1px solid var(--line)}
  .intro-grid,.services-grid,.project-grid,.project-list-columns,.team-grid,.contact-grid,.grid-2,.footer-grid,.content-with-sidebar{grid-template-columns:1fr}
  .sidebar{position:static}
  .cta-inner{display:block}
  .hero{min-height:560px}
  .logo img{width:210px}
}
