html,body{overflow-x:hidden}
body{margin:0;background:#f5f2ec}
img{max-width:100%;height:auto}
a{color:#c1662f}
a:hover{color:#8f481f}
@keyframes jm-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}

/* ---------- header ---------- */
.jm-header{position:relative;top:0;left:0;right:0;z-index:1210;width:100%;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(20px,5vw,56px);background:#f5f2ec;border-bottom:1px solid rgba(18,48,36,0.1);box-shadow:none;transition:background .35s ease,box-shadow .35s ease,border-color .35s ease;font-family:'Inter',sans-serif;box-sizing:border-box}
.jm-header--overlay{position:absolute;background:transparent;border-bottom:1px solid transparent}
.jm-header--overlay .jm-logo-chip{background:#fff;padding:6px 10px;box-shadow:0 2px 10px rgba(0,0,0,0.25)}
.jm-header--overlay .jm-nav a{color:#fff}
.jm-header--overlay .jm-nav a.is-active{color:#c1662f}
.jm-header--overlay .jm-cta{border-color:rgba(255,255,255,0.7);color:#fff}
.jm-header--overlay .jm-burger span{background:#fff}
.jm-header--overlay.is-solid{background:#f5f2ec;border-bottom-color:rgba(18,48,36,0.1);box-shadow:0 4px 24px rgba(0,0,0,0.08)}
.jm-header--overlay.is-solid .jm-logo-chip{background:transparent;padding:0;box-shadow:none}
.jm-header--overlay.is-solid .jm-nav a{color:#123024}
.jm-header--overlay.is-solid .jm-nav a.is-active{color:#c1662f}
.jm-header--overlay.is-solid .jm-cta{border-color:#c1662f;color:#c1662f}
.jm-header--overlay.is-solid .jm-burger span{background:#123024}
.jm-logo-chip{border-radius:6px;display:flex;align-items:center}
.jm-nav{display:flex;align-items:center;gap:24px}
.jm-nav a{font-size:12px;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;text-decoration:none;color:#123024;padding-bottom:6px;border-bottom:2px solid transparent;white-space:nowrap;transition:color .25s ease,border-color .3s ease}
.jm-nav a.is-active{color:#c1662f;border-bottom-color:#c1662f}
.jm-cta{display:flex;align-items:center;gap:8px;padding:11px 18px;border:1.5px solid #c1662f;color:#c1662f;font-size:12px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:transform .25s ease,box-shadow .25s ease}
.jm-cta:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,0.12);color:#c1662f}
.jm-burger{display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:44px;height:44px;background:none;border:none;cursor:pointer;padding:0;z-index:2}
.jm-burger span{width:24px;height:2px;background:#123024;display:block}
.jm-mobile-menu{position:fixed;inset:72px 0 0 0;background:#123024;z-index:1200;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;display:none;flex-direction:column;padding:32px clamp(20px,5vw,56px);gap:6px;overflow-y:auto}
.jm-mobile-menu.is-open{display:flex}
.jm-mobile-menu a{font-size:16px;font-weight:600;letter-spacing:0.03em;text-transform:uppercase;text-decoration:none;color:#fff;padding:14px 0;border-bottom:1px solid rgba(255,255,255,0.12)}
.jm-mobile-menu a.is-active{color:#c1662f}
.jm-mobile-menu a.jm-mobile-cta{margin-top:20px;text-align:center;background:#c1662f;color:#fff;padding:15px 24px;font-size:13px;font-weight:700;letter-spacing:0.05em;border-bottom:none}
@media (max-width:1280px){.jm-nav{display:none}.jm-cta{display:none}.jm-burger{display:flex}}

/* ---------- shared layout helpers (unchanged from approved baseline) ---------- */
@media (max-width:900px){
  .jm-g-hero,.jm-g-57,.jm-g-5545,.jm-g-sidebar,.jm-g-jmz,.jm-g-3col,.jm-g-2col{grid-template-columns:1fr!important;gap:32px!important}
  .jm-hero-section{height:auto!important;min-height:auto!important;overflow:visible!important;padding-top:100px!important;padding-bottom:48px!important}
  .jm-hero-section>div[style*="flex:1"]{padding-top:0!important}
  .jm-hero-scrollcue{display:none!important}
}
@media (max-width:640px){
  .jm-g-sidebar>div:first-child{max-width:300px;margin:0 auto}
  .jm-g-sidebar{gap:20px!important;padding:26px 0!important}
  .jm-g-af240,.jm-g-af260,.jm-g-af320{grid-template-columns:1fr!important}
  .jm-exec-card{text-align:left}
  .jm-exec-card .jm-exec-portrait{aspect-ratio:4/3}
  .jm-exec-card p{margin-left:20px!important;margin-right:20px!important;font-size:14px!important;line-height:1.7!important}
  .jm-exec-card>div:not(.jm-exec-portrait){padding-left:20px;padding-right:20px}
  .jm-exec-card>a{margin-left:20px}
  .jm-lifecycle{display:grid!important;grid-template-columns:1fr 1fr!important;gap:24px 8px!important;align-items:flex-start!important;justify-content:stretch!important}
  .jm-lifecycle-item{flex-direction:column!important;width:100%!important;max-width:none!important;align-items:center!important}
  .jm-lifecycle-item:last-child:nth-child(odd){grid-column:1 / -1}
  .jm-lifecycle-connector{display:none!important}
  .jm-portfolio-table{display:none!important}
  .jm-portfolio-row{grid-template-columns:1fr!important;gap:6px!important;background:#fff;border:1px solid rgba(18,48,36,0.12)!important;border-bottom:1px solid rgba(18,48,36,0.12)!important;border-radius:10px;padding:18px 20px!important;margin-bottom:14px}
  .jm-portfolio-cell-name{font-family:'Playfair Display',serif;font-size:17px!important;margin-bottom:4px}
  .jm-portfolio-cell-commodity::before{content:'Primary Commodity \2014 ';display:block;font-weight:700;color:#8a8a83;font-size:11px;text-transform:uppercase;letter-spacing:0.04em;margin-bottom:2px}
  .jm-portfolio-cell-stage::before{content:'Stage \2014 ';display:block;font-weight:700;color:#8a8a83;font-size:11px;text-transform:uppercase;letter-spacing:0.04em;margin-bottom:2px}
  .jm-newsletter-block{grid-column:1/-1!important}
  .jm-newsletter-form{width:100%!important}
  .jm-newsletter-form input{flex:1 1 55%!important}
  .jm-newsletter-form button{flex:1 1 auto!important}
  [style*="gap:60px"]{gap:28px!important}
  [style*="gap:40px"]{gap:24px!important}
  section[style*="min-height:600px"]{min-height:auto!important}
  section[style*="min-height:520px"]{min-height:auto!important}
  section[style*="min-height:460px"]{min-height:auto!important}
}
@media (max-width:400px){
  .jm-newsletter-form input{flex:1 1 100%!important}
  .jm-newsletter-form button{flex:1 1 100%!important}
}

/* card hovers (approved baseline) */
.jm-exec-card:hover{transform:translateY(-6px);box-shadow:0 16px 32px rgba(0,0,0,0.1);border-color:#c1662f!important}
.jm-exec-card:hover .jm-exec-portrait img{transform:scale(1.08)}
.jm-exec-portrait img{transition:transform .4s ease}
.jm-pcard-img img{transition:transform .4s ease}
.jm-pcard:hover .jm-pcard-img img{transform:scale(1.05)}
.jm-pcard:hover{transform:translateY(-10px);box-shadow:0 24px 48px rgba(0,0,0,0.14)!important;border-color:#c1662f!important}
.jm-pcard:hover .jm-view-btn{color:#c1662f!important}
@media (min-width:900px){.jm-featured{grid-column:span 2}.jm-featured .jm-pcard-title{font-size:26px!important}}
@media (max-width:760px){
  .jm-lifecycle{display:grid!important;grid-template-columns:1fr 1fr;gap:28px 12px;justify-content:stretch!important}
  .jm-lifecycle-item{flex-direction:column!important;width:100%;align-items:center!important}
  .jm-lifecycle-item:last-child:nth-child(odd){grid-column:1 / -1}
  .jm-lifecycle-connector{display:none}
}
/* ---------- mobile hardening for status tables / snapshot rows / stat grids ---------- */
@media (max-width:640px){
  /* Project Status Summary + Sustainability commitment rows: stack label above chip */
  [style*="grid-template-columns:1fr auto"]{grid-template-columns:1fr!important;gap:8px!important}
  [style*="grid-template-columns:auto 1fr"]{grid-template-columns:1fr!important;gap:8px!important}
  /* Snapshot key/value rows: stack so long values never squeeze */
  [style*="justify-content:space-between"][style*="gap:14px"]{flex-wrap:wrap}
  [style*="justify-content:space-between"][style*="gap:14px"]>span:last-child{text-align:left!important}
  /* Hero fact strips and stat cards: two-up instead of cramped columns */
  [style*="minmax(150px,1fr)"]{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important}
  [style*="minmax(160px,1fr)"]{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))!important}
  /* Timeline / work-programme columns stack cleanly */
  [style*="border-left:3px solid #c1662f"]{min-width:100%!important;flex:1 1 100%!important}
  /* Investor "how it works" step row */
  [style*="flex-wrap:wrap"][style*="gap:14px"]>div{min-width:0}
  /* Breadcrumbs wrap rather than overflow */
  nav[aria-label="Breadcrumb"]{line-height:1.7;word-break:break-word}
  /* Leadership monogram tiles keep a sensible height when portraits are absent */
  .jm-exec-card .jm-exec-portrait{aspect-ratio:16/10}
  /* Body text never below comfortable reading size on small screens */
  article p, article li{font-size:15.5px!important}
}
@media (max-width:400px){
  [style*="minmax(150px,1fr)"], [style*="minmax(160px,1fr)"]{grid-template-columns:1fr!important}
  [style*="padding:44px 28px"]{padding:28px 20px!important}
  [style*="padding:34px 30px"]{padding:24px 20px!important}
  [style*="padding:44px"]{padding:26px 20px!important}
}
.jm-cardlift{transition:transform .25s ease,box-shadow .25s ease}
.jm-cardlift:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,0,0,0.12)}
.jm-btn-lift{transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.jm-btn-lift:hover{transform:translateY(-2px)}

/* ---------- investor-page navigation readability (scoped to /investors/) ---------- */
.jm-header--invnav{background:#f5f2ec;border-bottom:1px solid rgba(18,48,36,0.10)}
.jm-header--invnav .jm-nav a{color:#123024}
.jm-header--invnav .jm-nav a:hover{color:#8f481f}
.jm-header--invnav .jm-nav a.is-active{color:#c1662f}
.jm-header--invnav .jm-cta{border-color:#c1662f;color:#c1662f}
.jm-header--invnav .jm-burger span{background:#123024}

/* mobile menu must clear the hero on every template */
.jm-mobile-menu.is-open{display:flex}
@media (max-width:1280px){.jm-mobile-menu{inset:64px 0 0 0;padding-bottom:56px}}
