@page{size:A4;margin:0}
:root{
  --green:#0e7a3d;--deep:#102418;--orange:#e06e00;--dark:#142414;
  --cream:#f3f6f2;--muted:#5a6a5a;--line:#d5dfd4;--ink:#1c2a1c;
  --font:"Plus Jakarta Sans",system-ui,sans-serif;
  --display:"Fraunces",Georgia,serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:#fff;color:var(--ink);font-family:var(--font);-webkit-print-color-adjust:exact;print-color-adjust:exact}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}

.sheet{
  width:210mm;height:297mm;margin:0 auto;
  background:#fff;position:relative;overflow:hidden;
  page-break-after:always;break-after:page;
  display:flex;flex-direction:column;
}
.sheet:last-child{page-break-after:auto;break-after:auto}

.pad{
  padding:13mm 15mm 11mm;
  flex:1;min-height:0;
  display:flex;flex-direction:column;
  gap:0;
}
.foot{
  flex:0 0 auto;
  margin-top:4mm;padding-top:3.5mm;
  display:flex;justify-content:space-between;align-items:center;
  border-top:0.35mm solid var(--line);font-size:8pt;color:var(--muted)
}
.foot b{color:var(--green);font-weight:700}

.kicker{display:flex;align-items:center;gap:2.5mm;color:var(--green);font-size:7.5pt;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin:0 0 1.8mm}
.kicker i{width:6mm;height:0.55mm;background:var(--orange);display:inline-block}
.h2{font:700 16.5pt/1.12 var(--display);letter-spacing:-.02em;margin:0 0 3mm;color:var(--dark)}
.lead{font-size:9.5pt;line-height:1.45;color:var(--muted);margin:0 0 3mm}
.p{font-size:9pt;line-height:1.45;color:#3f4f3f;margin:0 0 2.2mm}
.note{font-size:7.5pt;color:var(--muted);margin:2mm 0 0;line-height:1.35}

/* Picture frames */
.frame{
  border:0.55mm solid #b7c7b6;
  background:#f7faf7;
  overflow:hidden;
  padding:1.8mm;
  flex:0 0 auto;
  display:flex;
}
.frame img{
  width:100%;height:100%;object-fit:cover;object-position:center;
  border:0.25mm solid #d5dfd4;flex:1;min-height:0
}
.frame.fill{flex:1 1 auto;min-height:55mm;margin-top:3.5mm}
.frame.band{height:58mm;margin:3mm 0 0;flex:0 0 58mm}
.frame.tall{flex:1 1 auto;min-height:0;height:auto;align-self:stretch}

.badge{display:inline-flex;background:#e8f5ee;color:var(--green);border-radius:999px;padding:1.3mm 3mm;font-size:7.5pt;font-weight:800;width:fit-content;margin-top:1.5mm}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:3mm}
.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2.8mm}
.grid-side{display:grid;grid-template-columns:82mm 1fr;gap:4.5mm;flex:1;min-height:0;align-items:stretch;margin-top:1mm}
.grid-side-rev{display:grid;grid-template-columns:1fr 82mm;gap:4.5mm;flex:1;min-height:0;align-items:stretch;margin-top:1mm}

.card{background:var(--cream);border:0.3mm solid var(--line);border-radius:1.8mm;padding:3mm}
.card h3{margin:0 0 1mm;font:700 9.5pt var(--display);color:var(--dark)}
.card p{margin:0;font-size:8pt;line-height:1.35;color:var(--muted)}
.card .n{color:var(--orange);font:800 8.5pt var(--display);margin-bottom:0.6mm}

.list{margin:0;padding:0;list-style:none;display:grid;gap:1.6mm}
.list li{display:grid;grid-template-columns:2.5mm 1fr;gap:2mm;font-size:8.5pt;line-height:1.3;color:#3f4f3f}
.list li:before{content:"";width:1.5mm;height:1.5mm;border-radius:50%;background:var(--orange);margin-top:1.3mm}
.list.cols-2{grid-template-columns:1fr 1fr;column-gap:4mm;row-gap:1.6mm}

.stack{display:flex;flex-direction:column;gap:2.5mm;min-height:0;flex:1}
.stack > .list,.stack > .card,.stack > .p,.stack > .badge{flex:0 0 auto}
.stack > .frame.fill{flex:1 1 auto;min-height:42mm;margin-top:0}

/* Cover */
.cover{background:var(--deep);color:#fff;padding:0}
.cover-inner{
  flex:1;display:flex;flex-direction:column;
  padding:16mm 18mm 14mm;position:relative
}
.cover-bar{position:absolute;left:0;top:0;bottom:0;width:3.5mm;background:var(--orange)}
.cover-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8mm}
.cover-mark{
  width:58mm;height:auto;object-fit:contain;
  background:#fff;border-radius:2mm;padding:2.2mm 2.8mm
}
.cover-org{
  text-align:right;font-size:8pt;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:#9db7a7;line-height:1.55;padding-top:1mm
}
.cover-mid{margin-top:18mm}
.cover-label{
  font-size:9pt;font-weight:800;letter-spacing:.22em;text-transform:uppercase;
  color:var(--orange);margin:0 0 4mm
}
.cover-title{
  font:700 36pt/1.02 var(--display);margin:0 0 5mm;color:#fff;max-width:165mm
}
.cover-rule{width:24mm;height:0.8mm;background:var(--orange);margin:0 0 6mm}
.cover-tag{font-size:12.5pt;line-height:1.4;color:#d5e4d9;max-width:150mm;margin:0}

.cover-toc{
  margin-top:auto;
  background:rgba(255,255,255,.06);
  border:0.35mm solid rgba(255,255,255,.14);
  border-radius:2.5mm;
  padding:5mm 6mm;
}
.cover-toc h3{
  margin:0 0 3mm;font-size:8pt;letter-spacing:.16em;text-transform:uppercase;
  color:var(--orange);font-weight:800
}
.cover-toc ol{
  margin:0;padding:0;list-style:none;
  display:grid;grid-template-columns:1fr 1fr;gap:1.6mm 8mm
}
.cover-toc li{
  display:flex;justify-content:space-between;gap:3mm;
  font-size:8.5pt;color:#dce8df;border-bottom:0.2mm dotted rgba(255,255,255,.18);
  padding-bottom:1.2mm
}
.cover-toc li span{color:#8eaa98;font-variant-numeric:tabular-nums}

.cover-bottom{
  display:grid;grid-template-columns:1fr 1fr;gap:4mm;
  border-top:0.35mm solid rgba(255,255,255,.18);
  padding-top:5mm;margin-top:5mm
}
.cover-bottom .lab{display:block;font-size:7pt;letter-spacing:.12em;text-transform:uppercase;color:#8eaa98;margin-bottom:1mm}
.cover-bottom .val{font-size:9.5pt;color:#e8f2ea;font-weight:600;line-height:1.4}

.flow{display:grid;grid-template-columns:repeat(6,1fr);gap:2mm}
.flow-step{background:#fff;border:0.3mm solid var(--line);border-radius:1.8mm;padding:2.5mm 1.5mm;text-align:center}
.flow-step .dot{width:5.5mm;height:5.5mm;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;margin:0 auto 1.3mm;font-size:7pt;font-weight:800}
.flow-step b{display:block;font-size:7pt;color:var(--deep);margin-bottom:0.6mm}
.flow-step span{font-size:6.2pt;color:var(--muted);line-height:1.25}

.cycle{display:grid;grid-template-columns:1fr 1fr;gap:2.5mm}
.cycle-item{background:var(--cream);border-radius:1.8mm;padding:2.8mm;border-left:1.1mm solid var(--orange)}
.cycle-item b{display:block;font:700 9pt var(--display);margin-bottom:0.6mm}
.cycle-item span{font-size:7.3pt;color:var(--muted);line-height:1.3}

.map-wrap{background:linear-gradient(160deg,#e8f5ee,#fff);border:0.3mm solid var(--line);border-radius:2mm;padding:3mm;display:flex;flex-direction:column;min-height:0}
.map-svg{width:100%;height:auto}
.chips{display:flex;flex-wrap:wrap;gap:1.6mm;margin-top:2mm}
.chip{font-size:7pt;font-weight:700;padding:1mm 2.2mm;border-radius:999px;background:#fff;border:0.3mm solid #d7e4d9;color:var(--deep)}
.chip.primary{background:var(--green);border-color:var(--green);color:#fff}

.goals{display:flex;flex-direction:column;gap:2.2mm;flex:0 0 auto}
.goals .card{padding:2.8mm 3mm}
.goals .card h3{margin:0 0 0.6mm}

.closing{background:var(--deep);color:#fff;padding:14mm 15mm 12mm}
.closing .h2{color:#fff;font-size:17pt;margin:4mm 0 3mm}
.closing .p{color:#c8d9cf}
.closing a{color:#fff;text-decoration:underline}
.closing .foot{border-top-color:rgba(255,255,255,.2);color:#9db7a7;margin-top:auto}
.closing .foot b{color:#d9e7dc}
.closing-logo{width:50mm;background:#fff;border-radius:2mm;padding:2mm 3mm;flex:0 0 auto}
.closing .frame{border-color:rgba(255,255,255,.25);box-shadow:inset 0 0 0 1.2mm rgba(16,36,24,.35)}

@media screen{
  body{background:#4d5c52;padding:8mm 0}
  .sheet{box-shadow:0 3mm 10mm rgba(0,0,0,.28);margin-bottom:8mm}
}
@media print{
  body{background:#fff;padding:0}
  .sheet{box-shadow:none;margin:0}
}
