:root{
  --bg-dark:#0c1210;
  --bg-dark2:#101915;
  --panel:#152019;
  --gold:#d9a441;
  --gold-soft:#f0c878;
  --text-light:#f4f2ea;
  --text-muted:#b9c2ba;
  --line:rgba(244,242,234,0.12);
  --font-head:"Georgia","Times New Roman",serif;
  --font-body:"Segoe UI",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  background:var(--bg-dark);
  color:var(--text-light);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.container{max-width:1180px;margin:0 auto;padding:0 28px;}
.eyebrow{
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.72rem;
  color:var(--gold);
  font-weight:600;
  margin-bottom:14px;
  display:inline-block;
}
h1,h2,h3{font-family:var(--font-head);font-weight:700;letter-spacing:.01em;}
.btn{
  display:inline-block;
  padding:14px 30px;
  border:1px solid var(--gold);
  color:var(--gold-soft);
  font-size:.82rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:all .25s ease;
  cursor:pointer;
  background:none;
}
.btn:hover{background:var(--gold);color:#111;}
.btn.solid{background:var(--gold);color:#141a13;border-color:var(--gold);}
.btn.solid:hover{background:var(--gold-soft);border-color:var(--gold-soft);}

/* ===== HEADER ===== */
header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(12,18,16,0.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;height:78px;}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--font-head);font-size:1.25rem;letter-spacing:.03em;}
.logo .mark{
  width:34px;height:34px;border-radius:50%;
  background:conic-gradient(var(--gold-soft),var(--gold),#8a6420,var(--gold),var(--gold-soft));
  display:inline-block;
}
nav ul{list-style:none;display:flex;gap:34px;}
nav a{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);transition:color .2s;}
nav a:hover,nav a.active{color:var(--gold-soft);}
.nav-toggle{display:none;background:none;border:none;color:var(--text-light);font-size:1.6rem;cursor:pointer;}

@media(max-width:860px){
  nav ul{
    position:fixed;top:78px;left:0;right:0;
    flex-direction:column;background:var(--bg-dark2);
    padding:22px 28px;gap:18px;
    transform:translateY(-130%);
    transition:transform .3s ease;
    border-bottom:1px solid var(--line);
  }
  nav ul.open{transform:translateY(0);}
  .nav-toggle{display:block;}
}

/* ===== PAGE HERO (interior pages) ===== */
.page-hero{
  position:relative;
  padding:190px 0 90px;
  background:
    linear-gradient(180deg, rgba(8,12,10,.75) 0%, rgba(8,12,10,.92) 100%),
    var(--hero-img) center/cover no-repeat;
}
.page-hero h1{font-size:clamp(2rem,4.4vw,3rem);color:var(--text-light);}
.page-hero p{color:var(--text-muted);max-width:560px;margin-top:16px;font-size:1.02rem;}
.breadcrumb{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:18px;}
.breadcrumb span{color:var(--gold-soft);}

/* ===== HOME HERO ===== */
.hero{
  position:relative;
  height:100vh;
  min-height:620px;
  display:flex;
  align-items:center;
  background:
    linear-gradient(180deg, rgba(8,12,10,.55) 0%, rgba(8,12,10,.55) 40%, rgba(8,12,10,.92) 100%),
    url('https://images.unsplash.com/photo-1677273459827-e212995b079d?fm=jpg&q=80&w=2200&auto=format&fit=crop') center/cover no-repeat;
}
.hero-inner{max-width:720px;}
.hero h1{
  font-size:clamp(2.3rem,5vw,3.6rem);
  line-height:1.12;
  color:var(--text-light);
  margin-bottom:22px;
}
.hero h1 em{font-style:normal;color:var(--gold-soft);}
.hero p{font-size:1.05rem;color:var(--text-muted);max-width:560px;margin-bottom:34px;}
.hero .btn-row{display:flex;gap:16px;flex-wrap:wrap;}
.scroll-cue{
  position:absolute;bottom:34px;left:50%;transform:translateX(-50%);
  font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);
  display:flex;flex-direction:column;align-items:center;gap:8px;
}
.scroll-cue::after{content:"";width:1px;height:34px;background:var(--gold);display:block;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:.3}50%{opacity:1}}

/* ===== SECTION GENERIC ===== */
section{padding:110px 0;}
.section-alt{background:var(--bg-dark2);}
.section-head{max-width:640px;margin-bottom:56px;}
.section-head h2{font-size:clamp(1.8rem,3.4vw,2.5rem);color:var(--text-light);}
.section-head p{color:var(--text-muted);margin-top:16px;font-size:1rem;}
.section-head.center{max-width:680px;margin-left:auto;margin-right:auto;text-align:center;}

/* ===== ABOUT / SPLIT ===== */
.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center;}
.about-grid.reverse{grid-template-columns:.9fr 1.1fr;}
.about-grid.reverse .about-text{order:2;}
.about-grid img{border:1px solid var(--line);}
.about-text p{color:var(--text-muted);margin-bottom:16px;}
.stat-row{display:flex;gap:40px;margin-top:34px;flex-wrap:wrap;}
.stat-row div{border-top:1px solid var(--gold);padding-top:10px;}
.stat-row strong{display:block;font-family:var(--font-head);font-size:1.7rem;color:var(--gold-soft);}
.stat-row span{font-size:.78rem;letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase;}

@media(max-width:900px){
  .about-grid,.about-grid.reverse{grid-template-columns:1fr;}
  .about-grid.reverse .about-text{order:0;}
}

/* ===== SERVICES / OFFERING CARDS ===== */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);border:1px solid var(--line);}
.cards.two{grid-template-columns:repeat(2,1fr);}
.card{
  background:var(--bg-dark2);
  padding:0;
  position:relative;
  overflow:hidden;
  min-height:380px;
  display:flex;flex-direction:column;justify-content:flex-end;
}
.card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45;transition:opacity .35s, transform .5s;}
.card:hover img{opacity:.65;transform:scale(1.05);}
.card-body{position:relative;padding:28px;}
.card-body span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);}
.card-body h3{font-size:1.25rem;margin:10px 0 8px;color:var(--text-light);}
.card-body p{font-size:.9rem;color:var(--text-muted);}
@media(max-width:860px){.cards,.cards.two{grid-template-columns:1fr;}}

/* ===== BANNER (flagship project style) ===== */
.project-banner{
  position:relative;
  background:
    linear-gradient(90deg, rgba(8,12,10,.92) 20%, rgba(8,12,10,.35) 100%),
    var(--banner-img, url('https://images.unsplash.com/photo-1592263904934-b00851dc93eb?fm=jpg&q=80&w=2200&auto=format&fit=crop')) right center/cover no-repeat;
  padding:110px 0;
}
.project-banner .container{max-width:1180px;}
.project-banner .content{max-width:560px;}
.fact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:36px;}
.fact{border-left:2px solid var(--gold);padding-left:16px;}
.fact strong{display:block;font-size:1.35rem;font-family:var(--font-head);color:var(--gold-soft);}
.fact span{font-size:.8rem;color:var(--text-muted);}
@media(max-width:700px){.fact-grid{grid-template-columns:1fr 1fr;}}

/* ===== SDG / RATIONALE STRIP ===== */
.sdg-strip{display:flex;gap:0;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-left:1px solid var(--line);border-right:1px solid var(--line);}
.sdg-item{flex:1;min-width:220px;padding:34px 28px;border-right:1px solid var(--line);}
.sdg-item:last-child{border-right:none;}
.sdg-item .num{font-family:var(--font-head);color:var(--gold);font-size:1.1rem;margin-bottom:10px;display:block;}
.sdg-item h4{font-size:1rem;color:var(--text-light);margin-bottom:8px;}
.sdg-item p{font-size:.86rem;color:var(--text-muted);}

/* ===== TEAM ===== */
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.team-card{background:var(--panel);border:1px solid var(--line);padding:36px;}
.team-card h3{color:var(--gold-soft);font-size:1.2rem;margin-bottom:4px;}
.team-card .role{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);margin-bottom:16px;display:block;}
.team-card p{color:var(--text-muted);font-size:.92rem;}
@media(max-width:860px){.team-grid{grid-template-columns:1fr;}}

/* ===== VALUES / PROCESS LIST ===== */
.value-list{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--line);border:1px solid var(--line);}
.value-item{background:var(--bg-dark);padding:34px;}
.value-item h4{color:var(--gold-soft);font-size:1.05rem;margin-bottom:10px;}
.value-item p{color:var(--text-muted);font-size:.9rem;}
@media(max-width:700px){.value-list{grid-template-columns:1fr;}}

/* ===== GALLERY STRIP ===== */
.gallery-strip{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2px;}
.gallery-strip img{width:100%;height:320px;object-fit:cover;filter:grayscale(15%);}
@media(max-width:860px){.gallery-strip{grid-template-columns:1fr;}}

/* ===== PROCESS STEPS (services page) ===== */
.steps{counter-reset:step;border-top:1px solid var(--line);}
.step{display:grid;grid-template-columns:80px 1fr;gap:24px;padding:30px 0;border-bottom:1px solid var(--line);}
.step .step-num{font-family:var(--font-head);font-size:1.6rem;color:var(--gold);}
.step h3{font-size:1.15rem;color:var(--text-light);margin-bottom:8px;}
.step p{color:var(--text-muted);font-size:.92rem;}

/* ===== CONTACT ===== */
.contact-wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;}
.contact-card{border:1px solid var(--line);padding:36px;background:var(--panel);}
.contact-card h3{color:var(--gold-soft);font-size:1.1rem;margin-bottom:14px;}
.contact-card p{color:var(--text-muted);font-size:.94rem;margin-bottom:8px;}
@media(max-width:860px){.contact-wrap{grid-template-columns:1fr;}}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.form-grid .full{grid-column:1/-1;}
.form-grid label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);display:block;margin-bottom:8px;}
.form-grid input,.form-grid textarea{
  width:100%;background:var(--bg-dark2);border:1px solid var(--line);color:var(--text-light);
  padding:12px 14px;font-family:var(--font-body);font-size:.92rem;
}
.form-grid input:focus,.form-grid textarea:focus{outline:1px solid var(--gold);}
.map-wrap{border:1px solid var(--line);margin-top:56px;}
.map-wrap iframe{width:100%;height:360px;border:0;display:block;filter:grayscale(40%) invert(92%) contrast(90%);}

/* ===== CTA STRIP ===== */
.cta-strip{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:70px 0;text-align:center;}
.cta-strip h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:18px;}
.cta-strip p{color:var(--text-muted);max-width:520px;margin:0 auto 30px;}

/* ===== FOOTER ===== */
footer{background:#080b09;border-top:1px solid var(--line);padding:64px 0 26px;}
.footer-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:40px;padding-bottom:44px;border-bottom:1px solid var(--line);}
.footer-brand .logo{margin-bottom:14px;}
.footer-brand p{color:var(--text-muted);max-width:320px;font-size:.9rem;}
.footer-links{display:flex;gap:70px;flex-wrap:wrap;}
.footer-links h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);margin-bottom:16px;}
.footer-links ul{list-style:none;}
.footer-links li{margin-bottom:10px;font-size:.9rem;color:var(--text-muted);}
.footer-links a:hover{color:var(--gold-soft);}
.footer-bottom{
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;
  padding-top:24px;font-size:.78rem;color:var(--text-muted);gap:14px;
}
.socials{display:flex;gap:16px;}
.socials a{
  width:34px;height:34px;border:1px solid var(--line);border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:.8rem;color:var(--text-muted);
}
.socials a:hover{border-color:var(--gold);color:var(--gold-soft);}
