@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&family=Jost:wght@300;400;500&display=swap');

:root {
  --green-dark:   #263227;
  --green-mid:    #2f3d30;
  --green-card:   #354036;
  --green-border: rgba(255,255,255,0.08);
  --cream:        #F0EDE4;
  --gold:         #C9A84C;
  --gold-hover:   #dbbe6a;
  --text-light:   #F0EDE4;
  --text-muted:   rgba(240,237,228,0.6);
  --text-dark:    #1e2a1f;
  --text-dark-muted: #5a6b5b;
  --nav-h:        68px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

body {
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  background: var(--green-dark);
  color: var(--text-light);
  overflow-x: hidden;
}

/* NAV */
nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  height: var(--nav-h);
  background: var(--green-dark);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 3.5vw;
  border-bottom: 1px solid var(--green-border);
}
.nav-logo {
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold);
  text-decoration: none;
}
.nav-links { display: flex; gap: 2.5rem; list-style: none; }
.nav-links a {
  font-size: 0.67rem;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-light);
  text-decoration: none;
  transition: color .2s;
}
.nav-links a:hover, .nav-links a.active { color: var(--gold); }
.nav-cta {
  font-size: 0.64rem;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-dark);
  background: var(--gold);
  text-decoration: none;
  padding: 0.6rem 1.3rem;
  transition: background .2s;
}
.nav-cta:hover { background: var(--gold-hover); }

.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; padding:4px; }
.hamburger span { display:block; width:22px; height:1px; background:var(--text-light); }

.mobile-menu {
  display:none; position:fixed;
  top:var(--nav-h); left:0; right:0;
  background:var(--green-dark);
  padding:1.5rem 3.5vw 2rem;
  border-top:1px solid var(--green-border);
  z-index:99;
  flex-direction:column; gap:1.25rem;
}
.mobile-menu.open { display:flex; }
.mobile-menu a { font-size:.75rem; letter-spacing:.14em; text-transform:uppercase; color:var(--text-light); text-decoration:none; }
.mobile-menu .mob-cta { background:var(--gold); color:var(--text-dark); padding:.75rem 1.25rem; text-align:center; font-weight:500; }

/* LABEL */
.label {
  font-size: 0.6rem;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.65rem;
}

/* SECTIONS */
.sec-green  { background: var(--green-dark); padding: 6rem 5vw; }
.sec-mid    { background: var(--green-mid);  padding: 6rem 5vw; }
.sec-cream  { background: var(--cream);      padding: 6rem 5vw; color: var(--text-dark); }

/* HEADINGS */
h1, h2, h3 { font-family: 'Playfair Display', serif; font-weight: 400; line-height: 1.15; }
h1 { font-size: clamp(2.8rem, 5vw, 5rem); }
h2 { font-size: clamp(1.9rem, 3vw, 2.8rem); }
h3 { font-size: 1.2rem; }
.gold-italic { font-style: italic; color: var(--gold); }

/* HERO */
.hero {
  position: relative;
  height: 100vh; min-height: 600px;
  display: flex; align-items: flex-end;
  padding-bottom: 5rem; padding-left: 5vw;
  overflow: hidden;
}
.hero-bg { position:absolute; inset:0; z-index:1; background: linear-gradient(to bottom, rgba(30,42,31,.2) 0%, rgba(30,42,31,.65) 100%); }
.hero-bg-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.hero-content { position:relative; z-index:2; }
.hero-sublabel {
  font-size:.62rem; letter-spacing:.2em; text-transform:uppercase;
  color:rgba(240,237,228,.75);
  display:flex; align-items:center; gap:.75rem; margin-bottom:1rem;
}
.hero-sublabel::before { content:''; display:block; width:32px; height:1px; background:rgba(240,237,228,.45); }
.hero-pills { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:2rem; }
.pill {
  font-size:.63rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--text-light);
  background:rgba(38,50,39,.75);
  border:1px solid rgba(240,237,228,.18);
  padding:.4rem .9rem; backdrop-filter:blur(4px);
}
.pill::before { content:'› '; color:var(--gold); }

/* PAGE HERO */
.page-hero {
  padding: calc(var(--nav-h) + 4rem) 5vw 4rem;
  background: var(--green-dark);
}
.page-hero p.sub {
  font-size:.88rem; color:var(--text-muted);
  line-height:1.85; margin-top:1rem; max-width:540px;
}

/* CARD DARK */
.card-dark {
  background: var(--green-card);
  border: 1px solid var(--green-border);
  padding: 2rem;
}

/* CARD CREAM */
.card-cream {
  background: #fff;
  border: 1px solid rgba(0,0,0,.07);
  padding: 1.4rem 1.6rem;
  display: flex; align-items: flex-start; gap: 1rem;
}
.card-cream .cc-icon { font-size:1.1rem; flex-shrink:0; padding-top:2px; }
.card-cream .cc-label { font-size:.58rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:.25rem; }
.card-cream .cc-text { font-size:.84rem; color:var(--text-dark); line-height:1.7; }

/* INFO ROWS (dark) */
.info-row {
  display:flex; align-items:flex-start; gap:1rem;
  padding:1.1rem 0;
  border-bottom:1px solid var(--green-border);
}
.info-row:last-child { border-bottom:none; }
.info-row .ir-icon { font-size:1.1rem; flex-shrink:0; width:28px; }
.info-row .ir-label { font-size:.58rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:.2rem; }
.info-row .ir-text { font-size:.85rem; color:var(--text-light); line-height:1.65; }

/* LAYOUTS */
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
.two-col-wide { grid-template-columns:1.35fr 1fr; }
.grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; }

/* COMP BLOCKS */
.comp-block { padding:3.5rem 0; border-bottom:1px solid var(--green-border); }
.comp-block:last-child { border-bottom:none; }
.comp-block h3 { font-family:'Playfair Display',serif; font-size:1.5rem; color:var(--text-light); margin-bottom:1rem; }
.comp-block p { font-size:.86rem; color:var(--text-muted); line-height:1.85; max-width:680px; }
.comp-list { list-style:none; margin-top:1.25rem; display:flex; flex-wrap:wrap; gap:.5rem 2rem; }
.comp-list li { font-size:.82rem; color:var(--text-muted); display:flex; align-items:center; gap:.5rem; }
.comp-list li::before { content:'—'; color:var(--gold); }

/* TABLE */
table { width:100%; border-collapse:collapse; }
thead th {
  font-size:.6rem; font-weight:400; letter-spacing:.2em; text-transform:uppercase;
  color:var(--gold); padding:.75rem 1.25rem;
  border-bottom:1px solid var(--green-border); text-align:left;
}
tbody tr { border-bottom:1px solid var(--green-border); transition:background .2s; }
tbody tr:hover { background:rgba(255,255,255,.04); }
tbody td { padding:1rem 1.25rem; font-size:.84rem; color:var(--text-light); line-height:1.5; }
tbody td.gold { color:var(--gold); }

/* BADGE */
.badge {
  display:inline-flex; align-items:center; gap:.4rem;
  font-size:.58rem; font-weight:500; letter-spacing:.15em; text-transform:uppercase;
  color:var(--text-light);
  background:rgba(60,130,60,.3);
  border:1px solid rgba(80,160,80,.35);
  padding:.3rem .8rem;
}
.badge::before { content:'●'; color:#6abf6a; font-size:.45rem; }

/* BUTTONS */
.btn-gold {
  display:inline-flex; align-items:center; gap:.6rem;
  font-family:'Jost',sans-serif; font-size:.64rem; font-weight:500;
  letter-spacing:.15em; text-transform:uppercase;
  color:var(--text-dark); background:var(--gold);
  text-decoration:none; padding:.85rem 1.7rem;
  border:none; cursor:pointer; transition:background .2s;
}
.btn-gold:hover { background:var(--gold-hover); }

.btn-outline {
  display:inline-flex; align-items:center; gap:.6rem;
  font-size:.64rem; font-weight:500; letter-spacing:.15em; text-transform:uppercase;
  color:var(--gold); background:transparent;
  border:1px solid var(--gold); text-decoration:none;
  padding:.85rem 1.7rem; transition:background .2s, color .2s;
}
.btn-outline:hover { background:var(--gold); color:var(--text-dark); }

/* TEAM CARD */
.team-card { background:var(--green-card); border:1px solid var(--green-border); }
.team-card img { width:100%; aspect-ratio:3/4; object-fit:cover; object-position:top; display:block; filter:saturate(.9); }
.team-card-body { padding:1.5rem; }
.team-card-body h3 { font-size:1.3rem; color:var(--text-light); margin-bottom:.25rem; }
.team-card-body .role { font-size:.62rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); margin-bottom:1rem; }
.team-card-body p { font-size:.82rem; color:var(--text-muted); line-height:1.8; }

/* FORM */
.form-group { margin-bottom:1.1rem; }
.form-group label { display:block; font-size:.58rem; letter-spacing:.18em; text-transform:uppercase; color:var(--text-muted); margin-bottom:.4rem; }
.form-group input,
.form-group select,
.form-group textarea {
  width:100%; font-family:'Jost',sans-serif; font-size:.85rem; font-weight:300;
  color:var(--text-light); background:rgba(255,255,255,.05);
  border:none; border-bottom:1px solid var(--green-border);
  padding:.7rem 0; outline:none; transition:border-color .2s; -webkit-appearance:none;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus { border-color:var(--gold); }
.form-group textarea { resize:vertical; min-height:100px; }
.form-group select {
  cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23C9A84C'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 0 center;
}
.form-group select option { background:var(--green-dark); }

/* CONTACT ROW */
.contact-row {
  display:flex; align-items:center; gap:.85rem;
  padding:.9rem 0; border-bottom:1px solid var(--green-border);
  font-size:.87rem; color:var(--text-light);
}
.contact-row .ci-icon { font-size:1rem; width:24px; flex-shrink:0; }
.contact-row a { color:var(--text-light); text-decoration:none; }
.contact-row a:hover { color:var(--gold); }

/* FOOTER */
footer {
  background:var(--green-dark);
  border-top:1px solid var(--green-border);
  padding:1.5rem 5vw; text-align:center;
  font-size:.72rem; color:var(--text-muted); letter-spacing:.08em;
}
footer a { color:var(--text-muted); text-decoration:none; }
footer a:hover { color:var(--gold); }

/* RESPONSIVE */
@media (max-width: 860px) {
  .nav-links, .nav-cta { display:none; }
  .hamburger { display:flex; }
  .two-col, .two-col-wide { grid-template-columns:1fr; gap:2.5rem; }
  .grid-2 { grid-template-columns:1fr; }
  .sec-green, .sec-mid, .sec-cream { padding:4rem 5vw; }
}

/* FADE UP */
@keyframes fadeUp { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:translateY(0); } }
.fu  { opacity:0; animation:fadeUp .7s ease forwards; }
.fu1 { animation-delay:.1s; }
.fu2 { animation-delay:.22s; }
.fu3 { animation-delay:.36s; }

/* SPACING UTILITIES (replace one-off inline margin-top) */
.mt-xs { margin-top:.75rem; }
.mt-sm { margin-top:1.5rem; }
.mt-md { margin-top:2.5rem; }
.mt-lg { margin-top:3rem; }

/* FULL-WIDTH CENTERED BUTTON VARIANT */
.btn-full { width:100%; display:flex; justify-content:center; }
