/* Greenly mini partner maps (article "Where this happens" card + homepage teaser). Scoped under .pmini-* */

.pmini:not(.pmini-ready){display:none;}
.pmini{margin:0 0 2.5rem;}

.pmini-card{
  display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:stretch;
  border-radius:16px;overflow:hidden;background:#0f2419;color:#e9f5ee;text-decoration:none;
  box-shadow:0 12px 32px rgba(12,31,21,.18);transition:transform .25s ease,box-shadow .25s ease;
}
.pmini-card:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(12,31,21,.26);}
.pmini-card:focus-visible{outline:3px solid #52b788;outline-offset:3px;}

.pmini-map{
  position:relative;overflow:hidden;
  background:radial-gradient(ellipse at 55% 45%,#123021 0%,#0b1d13 100%);
}
.pmini-map::before{content:"";display:block;padding-top:62.5%;}
.pmini-map-all::before{padding-top:var(--pmini-ratio,77.7%);}
.pmini-svg{position:absolute;inset:0;width:100%;height:100%;display:block;}
.pmini-grat{fill:none;stroke:rgba(149,213,178,.07);stroke-width:1;vector-effect:non-scaling-stroke;}
.pmini-land{fill:#1a3325;stroke:rgba(149,213,178,.18);stroke-width:.7;vector-effect:non-scaling-stroke;stroke-linejoin:round;}
.pmini-land.is-partner{fill:#2f6a4d;stroke:rgba(183,228,199,.6);}
.pmini-arc{fill:none;stroke:rgba(183,228,199,.6);stroke-width:1.4;stroke-dasharray:2 5;stroke-linecap:round;vector-effect:non-scaling-stroke;}
.pmini-packet{fill:#e9fff1;}

.pmini-ov{position:absolute;inset:0;pointer-events:none;}
.pmini-ov > *{position:absolute;}
.pmini-pin{width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px #2d6a4f,0 0 14px 4px rgba(183,228,199,.65);}
.pmini-pin::after{
  content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;
  border:1.5px solid rgba(216,243,220,.8);opacity:0;
}
.pmini-live .pmini-pin::after{animation:pmini-ping 2.6s ease-out infinite;}
@keyframes pmini-ping{0%{transform:scale(1);opacity:.9;}80%,100%{transform:scale(3.4);opacity:0;}}
.pmini-hq{width:8px;height:8px;margin:-4px 0 0 -4px;background:#fff;transform:rotate(45deg);box-shadow:0 0 10px rgba(255,255,255,.8);}
.pmini-count{
  width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;background:#d8f3dc;color:#0b1d13;
  font:800 .78rem/26px var(--font-body,'Inter',sans-serif);text-align:center;
  box-shadow:0 0 0 4px rgba(216,243,220,.16),0 0 0 9px rgba(216,243,220,.06),0 6px 16px rgba(0,0,0,.35);
}
.pmini-tag{
  transform:translate(12px,-50%);white-space:nowrap;font:600 .66rem/1.2 var(--font-body,'Inter',sans-serif);
  color:#e9f5ee;background:rgba(11,29,19,.82);border:1px solid rgba(149,213,178,.2);padding:3px 7px;border-radius:5px;
}
.pmini-tag.is-left{transform:translate(calc(-100% - 12px),-50%);}
.pmini-tag.is-below{transform:translate(-50%,10px);}
.pmini-tag.is-above{transform:translate(-50%,calc(-100% - 10px));}
.pmini-tag-hq{color:#b7e4c7;background:rgba(11,29,19,.6);font-weight:700;letter-spacing:.04em;}

.pmini-pin,.pmini-hq,.pmini-count,.pmini-tag,.pmini-arc{transition:opacity .6s ease;}
.pmini:not(.pmini-live) .pmini-pin,.pmini:not(.pmini-live) .pmini-count,.pmini:not(.pmini-live) .pmini-tag{opacity:0;}

.pmini-text{padding:22px 24px;display:flex;flex-direction:column;justify-content:center;gap:6px;}
.pmini-kicker{font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#95d5b2;}
.pmini-place{font-family:var(--font-display,'Playfair Display',serif);font-size:1.22rem;font-weight:700;color:#fff;line-height:1.25;}
.pmini-dist{font-size:.83rem;color:#9fc3ad;line-height:1.5;}
.pmini-link{margin-top:8px;font-size:.82rem;font-weight:700;color:#d8f3dc;transition:color .2s;}
.pmini-card:hover .pmini-link{color:#fff;}

@media (max-width:600px){
  .pmini-card{grid-template-columns:1fr;}
  .pmini-text{padding:18px 20px 20px;}
}
@media (prefers-reduced-motion:reduce){
  .pmini-live .pmini-pin::after{animation:none;}
  .pmini-card,.pmini-card:hover{transition:none;transform:none;}
}

/* ---------- Homepage teaser section ---------- */
.pmt{background:linear-gradient(135deg,var(--forest-dark,#162d1e) 0%,#10261a 55%,#0c1f15 100%);color:#e9f5ee;padding:96px 0;overflow:hidden;}
.pmt-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center;}
.pmt .eyebrow{background:rgba(76,175,80,.2);color:#95d5b2;}
.pmt h2{font-family:var(--font-display);font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:800;color:#fff;margin-bottom:16px;line-height:1.2;}
.pmt p{font-size:1.02rem;line-height:1.75;color:#b9d6c3;margin-bottom:28px;}
.pmt-stats{display:flex;gap:34px;flex-wrap:wrap;margin-bottom:34px;}
.pmt-num{font-family:var(--font-display);font-size:2.2rem;font-weight:800;color:#d8f3dc;line-height:1;font-variant-numeric:tabular-nums;}
.pmt-num small{font-size:1rem;margin-left:3px;}
.pmt-label{margin-top:7px;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#7fa58d;}
.pmt-map{display:block;border-radius:18px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.35),0 0 0 1px rgba(149,213,178,.12);transition:transform .3s ease,box-shadow .3s ease;}
.pmt-map:hover{transform:translateY(-4px);box-shadow:0 30px 70px rgba(0,0,0,.42),0 0 0 1px rgba(149,213,178,.3);}
.pmt-map .pmini{margin:0;}
@media (max-width:900px){.pmt-grid{grid-template-columns:1fr;gap:40px;}.pmt{padding:72px 0;}}
