:root{
  --olive:#274013; --olive-deep:#16250A; --gold:#AA7723; --gold-soft:#C99A45;
  --cream:#F6F0E4; --cream-deep:#EFE7D6; --paper:#FCFAF5; --ink:#1D2415; --muted:#6E7566;
  --line:rgba(39,64,19,.14); --line-soft:rgba(39,64,19,.08);
  --shadow-soft:0 1px 2px rgba(39,64,19,.05), 0 10px 30px -12px rgba(39,64,19,.16);
  --shadow-lift:0 2px 4px rgba(39,64,19,.06), 0 22px 48px -18px rgba(39,64,19,.26);
  --r:14px; --maxw:1180px;
  --serif:'Lora', Georgia, 'Times New Roman', serif;
  --sans:'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
body{margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans);
  font-size:16.5px; line-height:1.65; -webkit-font-smoothing:antialiased}
img{max-width:100%; height:auto; display:block}
a{color:inherit}
.wrap{width:100%; max-width:var(--maxw); margin:0 auto; padding:0 22px}

/* ---------- header ---------- */
.hdr{position:sticky; top:0; z-index:50; background:rgba(252,250,245,.88);
  backdrop-filter:saturate(140%) blur(10px); border-bottom:1px solid var(--line-soft)}
.hdr__in{display:flex; align-items:center; gap:18px; min-height:66px}
.logo{display:inline-flex; align-items:center; gap:9px; text-decoration:none; flex:0 0 auto}
.logo__mark{width:28px; height:28px}
.logo__txt{font-family:var(--serif); font-weight:600; font-size:18px; letter-spacing:.01em; color:var(--olive)}
.nav{display:flex; gap:22px; margin-left:18px; flex:1 1 auto}
.nav a{text-decoration:none; font-size:14.5px; color:var(--muted); padding:6px 0;
  border-bottom:1.5px solid transparent; transition:color .18s, border-color .18s}
.nav a:hover,.nav a[aria-current="page"]{color:var(--olive); border-color:var(--gold)}
.hdr__end{display:flex; align-items:center; gap:12px; margin-left:auto}
.langs{display:flex; gap:2px; background:var(--cream); border:1px solid var(--line-soft);
  border-radius:999px; padding:3px}
.lang{border:0; background:transparent; font:inherit; font-size:12.5px; font-weight:500;
  letter-spacing:.04em; color:var(--muted); padding:4px 9px; border-radius:999px;
  cursor:pointer; text-decoration:none; display:inline-block}
.lang[aria-current="true"]{background:#fff; color:var(--olive); box-shadow:0 1px 2px rgba(39,64,19,.10)}
.btn{display:inline-flex; align-items:center; gap:8px; text-decoration:none; font-weight:500;
  font-size:14.5px; padding:11px 19px; border-radius:999px; transition:transform .18s, box-shadow .18s, background .18s}
.btn--primary{background:var(--olive); color:#F7F4EC; box-shadow:var(--shadow-soft)}
.btn--primary:hover{background:var(--olive-deep); transform:translateY(-1px); box-shadow:var(--shadow-lift)}
.btn--ghost{border:1px solid var(--line); color:var(--olive); background:transparent}
.btn--ghost:hover{background:var(--cream)}
.btn--lg{padding:14px 26px; font-size:15.5px}

/* ---------- hero ---------- */
.phero{background:linear-gradient(180deg,var(--cream) 0%, var(--paper) 100%);
  border-bottom:1px solid var(--line-soft); padding:52px 0 46px}
.crumb{font-size:13px; color:var(--muted); margin:0 0 18px}
.crumb a{text-decoration:none; border-bottom:1px solid var(--line)}
.crumb a:hover{color:var(--olive)}
.eyebrow{font-size:11.5px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--gold); font-weight:700; margin:0 0 12px}
h1{font-family:var(--serif); font-weight:500; font-size:clamp(30px,5.4vw,50px);
  line-height:1.14; letter-spacing:-.015em; margin:0 0 16px; color:var(--olive-deep); max-width:20ch}
.lead{font-size:clamp(16.5px,2.1vw,19.5px); color:#414a38; max-width:62ch; margin:0}
.phero .meta{margin-top:22px; font-size:13.5px; color:var(--muted)}

/* ---------- sections ---------- */
section{padding:52px 0}
section+section{padding-top:8px}
h2{font-family:var(--serif); font-weight:500; font-size:clamp(23px,3.4vw,33px);
  line-height:1.2; margin:0 0 14px; color:var(--olive-deep)}
h3{font-family:var(--serif); font-weight:500; font-size:clamp(19px,2.4vw,23px);
  margin:0 0 8px; color:var(--olive-deep)}
h4{font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold);
  font-weight:700; margin:0 0 10px}
p{margin:0 0 14px; max-width:70ch}
.statement{font-family:var(--serif); font-size:clamp(21px,3.2vw,30px); line-height:1.3;
  color:var(--olive-deep); max-width:24ch; margin:0 0 18px}

/* image + text: IMAGE ALWAYS FIRST IN DOM -> on mobile image comes before text */
.split{display:grid; gap:26px; align-items:center}
.split__media{margin:0}
.split__media img{width:100%; border-radius:var(--r); box-shadow:var(--shadow-soft)}
.split__media figcaption{font-size:13px; color:var(--muted); margin-top:9px}
@media(min-width:860px){
  .split{grid-template-columns:1fr 1fr; gap:44px}
  .split--text-first .split__media{order:2}
  .split--text-first .split__body{order:1}
}
.media-band{background:var(--cream); border-radius:var(--r); padding:22px; display:grid; place-items:center}
.media-band img{max-width:520px; width:100%}

.cards{display:grid; gap:16px; grid-template-columns:1fr}
@media(min-width:700px){.cards--2{grid-template-columns:1fr 1fr}}
@media(min-width:700px){.cards--3{grid-template-columns:1fr 1fr}}
@media(min-width:900px){.cards--3{grid-template-columns:repeat(3,1fr)}}
.card{background:#fff; border:1px solid var(--line-soft); border-radius:var(--r);
  padding:22px; box-shadow:var(--shadow-soft)}
.card__num{font-family:var(--serif); font-size:26px; color:var(--gold); line-height:1; margin-bottom:8px; display:block}
.card p{margin:0; font-size:15.5px; color:#454e3c}

.list{list-style:none; padding:0; margin:0; display:grid; gap:12px}
.list li{position:relative; padding-left:22px; font-size:15.8px; color:#414a38; max-width:66ch}
.list li::before{content:""; position:absolute; left:0; top:.62em; width:8px; height:8px;
  border-radius:50%; background:var(--gold-soft)}
.list li b{color:var(--olive-deep); font-weight:600}
.list--2{display:grid; gap:12px}
@media(min-width:760px){.list--2{grid-template-columns:1fr 1fr; gap:12px 34px}}

.steps{counter-reset:s; display:grid; gap:14px; max-width:80ch; padding:0; margin:0}
.steps li{list-style:none; display:grid; grid-template-columns:34px 1fr; gap:12px;
  align-items:start; font-size:15.8px; color:#414a38}
.steps li::before{counter-increment:s; content:counter(s,decimal-leading-zero);
  font-family:var(--serif); font-size:14px; color:var(--gold); background:var(--cream);
  border-radius:8px; width:34px; height:28px; display:grid; place-items:center}
.steps ol{padding:0; margin:0}
ol.steps{padding:0; margin:0}

.chips{display:flex; flex-wrap:wrap; gap:9px; padding:0; margin:0; list-style:none}
.chips li{border:1px solid var(--line); border-radius:999px; padding:7px 15px;
  font-size:14px; color:#414a38; background:#fff}

.note{background:var(--cream); border-radius:var(--r); padding:22px 24px; border:1px solid var(--line-soft)}
.note p:last-child{margin-bottom:0}
.dark{background:var(--olive-deep); color:#EDE8DA; border-radius:var(--r); padding:28px}
.dark h2,.dark h3{color:#F6F0E4}
.dark h4{color:var(--gold-soft)}
.dark p{color:#D8D6C7}

/* stat bars */
.bars{display:grid; gap:24px; margin:0; padding:0; max-width:760px}
.bar h3{font-size:16.5px; font-family:var(--sans); font-weight:600; margin:0 0 10px; color:var(--olive-deep)}
.bar__row{display:grid; grid-template-columns:minmax(96px,132px) 1fr auto; gap:12px;
  align-items:center; font-size:13.5px; color:var(--muted); margin-bottom:7px}
.bar__track{display:block; background:var(--cream-deep); border-radius:999px; height:12px; overflow:hidden}
.bar__fill{display:block; height:100%; border-radius:999px; background:var(--gold-soft)}
.bar__fill--ctrl{background:#C6C2B0}
.bar__val{font-weight:600; color:var(--gold); font-size:13.5px; min-width:52px; text-align:right}
.bars__scale{font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin:0 0 16px}
.kpis{display:grid; gap:14px; grid-template-columns:1fr}
@media(min-width:640px){.kpis{grid-template-columns:1fr 1fr}}
@media(min-width:980px){.kpis{grid-template-columns:repeat(4,1fr)}}
.kpi{background:#fff; border:1px solid var(--line-soft); border-radius:var(--r); padding:18px;
  box-shadow:var(--shadow-soft); text-align:center}
.kpi span{display:block; width:10px; height:10px; border-radius:50%; background:var(--gold);
  margin:0 auto 10px}
.kpi p{font-size:14.5px; margin:0; color:#414a38}

.cta{background:var(--cream); border-top:1px solid var(--line-soft); padding:56px 0; margin-top:44px}
.cta__in{display:grid; gap:18px; justify-items:start}
.cta h2{margin:0}
.cta p{margin:0}
.cta__row{display:flex; flex-wrap:wrap; gap:12px}

.related{display:grid; gap:14px; grid-template-columns:1fr}
@media(min-width:760px){.related{grid-template-columns:repeat(3,1fr)}}
.related a{background:#fff; border:1px solid var(--line-soft); border-radius:var(--r);
  padding:18px 20px; text-decoration:none; box-shadow:var(--shadow-soft); display:block;
  transition:transform .18s, box-shadow .18s}
.related a:hover{transform:translateY(-2px); box-shadow:var(--shadow-lift)}
.related strong{display:block; font-family:var(--serif); font-weight:500; font-size:18px;
  color:var(--olive-deep); margin-bottom:5px}
.related span{font-size:14px; color:var(--muted)}

.disclaimer{font-size:12.8px; color:var(--muted); max-width:80ch; margin:34px 0 0}

/* ---------- footer ---------- */
.ft{background:var(--olive-deep); color:#CFCEC2; padding:50px 0 26px; margin-top:0}
.ft .logo__txt{color:#F6F0E4}
.ft__in{display:grid; gap:30px; grid-template-columns:1fr}
@media(min-width:700px){.ft__in{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.ft__in{grid-template-columns:1.4fr 1fr 1fr 1fr 1.1fr}}
.ft__tag{font-family:var(--serif); font-style:italic; color:#B9BAAC; margin:14px 0 0; max-width:30ch}
.ft h4{color:#EDE8DA; font-size:11.5px; letter-spacing:.15em; text-transform:uppercase; margin:0 0 12px}
.ft ul{list-style:none; padding:0; margin:0; display:grid; gap:9px}
.ft a{color:#CFCEC2; text-decoration:none; font-size:14.5px}
.ft a:hover{color:#fff}
.ft__wa{display:inline-flex; align-items:center; gap:8px; margin-top:14px;
  border:1px solid rgba(255,255,255,.22); border-radius:999px; padding:9px 16px; font-size:14px}
.ft__btm{border-top:1px solid rgba(255,255,255,.12); margin-top:34px; padding-top:18px;
  display:flex; flex-wrap:wrap; gap:10px 26px; font-size:12.5px; color:#9FA294}

@media(max-width:820px){
  .hdr__in{flex-wrap:wrap; min-height:auto; padding-top:10px; padding-bottom:8px; gap:10px}
  .hdr__end{margin-left:auto}
  .nav{order:3; width:100%; margin-left:0; gap:16px; overflow-x:auto;
    -webkit-overflow-scrolling:touch; scrollbar-width:none; padding-bottom:2px}
  .nav::-webkit-scrollbar{display:none}
  .nav a{white-space:nowrap; font-size:14px}
}
@media(max-width:480px){
  .logo__txt{font-size:16.5px}
  .btn{padding:10px 15px; font-size:14px}
  section{padding:40px 0}
  .phero{padding:36px 0 34px}
}