
:root{
  --p2w-ink:#17201a;
  --p2w-green:#264b36;
  --p2w-soft:#eef0eb;
  --p2w-paper:#fbfaf6;
  --p2w-line:#e6e4dc;
  --p2w-muted:#667168;
}
.p2w-np-wrap{max-width:1500px;margin:0 auto;padding:32px 20px 64px;color:var(--p2w-ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.p2w-np-hero{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(260px,.7fr);gap:42px;align-items:end;margin-bottom:28px}
.p2w-eyebrow{font-size:12px;letter-spacing:.2em;font-weight:700;color:var(--p2w-green);margin-bottom:10px}
.p2w-np-copy h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(46px,5.2vw,72px);line-height:1.02;margin:0;font-weight:500;white-space:nowrap;letter-spacing:-.02em}
.p2w-script{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:clamp(24px,2.6vw,36px);line-height:1.08;color:var(--p2w-green);margin:12px 0 18px;max-width:760px}
.p2w-intro{max-width:820px;font-size:18px;line-height:1.55;margin:0;color:#354139}
.p2w-progress-card{background:var(--p2w-paper);border:1px solid var(--p2w-line);border-radius:18px;padding:24px;box-shadow:0 10px 30px rgba(20,36,28,.06)}
.p2w-progress-number{font-family:Georgia,"Times New Roman",serif;font-size:28px}.p2w-progress-number span{font-size:42px;color:var(--p2w-green);font-weight:700}
.p2w-progress-label{margin-top:2px;color:var(--p2w-muted)}
.p2w-progress-track{height:13px;background:#e4e7e1;border-radius:999px;overflow:hidden;margin-top:16px}
.p2w-progress-track span{display:block;height:100%;background:var(--p2w-green);border-radius:inherit}
.p2w-progress-pct{text-align:right;margin-top:6px;font-weight:600;color:var(--p2w-green)}
.p2w-map-shell{position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--p2w-line);background:#f4f5f1;margin-bottom:22px}
#p2w-np-map{height:440px}
.p2w-map-legend{position:absolute;right:14px;bottom:14px;z-index:500;background:rgba(255,255,255,.95);border:1px solid var(--p2w-line);padding:10px 14px;border-radius:12px;display:flex;gap:15px;font-size:13px}
.p2w-map-legend span{display:flex;align-items:center;gap:7px}.p2w-map-legend i{width:11px;height:11px;border-radius:50%;display:inline-block}
.visited-dot{background:var(--p2w-green)}.bucket-dot{background:#fff;border:2px solid var(--p2w-green)}
.p2w-filter-row{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px}
.p2w-filter{border:1px solid transparent;background:#f1f2ef;color:#202b23;padding:10px 16px;border-radius:999px;font:inherit;cursor:pointer;transition:.2s ease}
.p2w-filter:hover{transform:translateY(-1px);background:#e7ebe6}.p2w-filter.is-active{background:var(--p2w-green);color:#fff}.p2w-filter span{opacity:.75}
.p2w-parks-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.p2w-park-card{background:#fff;border:1px solid var(--p2w-line);border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(20,36,28,.06);transition:.25s ease}
.p2w-park-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(20,36,28,.10)}
.p2w-park-card.is-hidden{display:none}
.p2w-card-image{height:245px;background-size:cover;background-position:center;position:relative;background-color:#e7e8e2}
.p2w-card-image::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.05),rgba(0,0,0,0) 55%)}
.p2w-card-image.is-placeholder{background:radial-gradient(circle at 80% 20%,#e9dcc2 0 10%,transparent 10%),linear-gradient(145deg,#dfe7df,#ece7dc 55%,#d8dfd4)}
.p2w-placeholder-text{position:absolute;left:20px;bottom:18px;right:20px;font-family:Georgia,"Times New Roman",serif;font-size:22px;color:#415045;z-index:2}
.p2w-status{position:absolute;z-index:3;left:14px;top:14px;padding:8px 12px;border-radius:999px;font-size:13px;font-weight:700;backdrop-filter:blur(8px)}
.p2w-status.visited{background:rgba(38,75,54,.92);color:#fff}.p2w-status.bucket{background:rgba(255,255,255,.9);color:#1e2e24;border:1px solid rgba(38,75,54,.2)}
.p2w-card-body{padding:20px}.p2w-card-body h2{font-family:Georgia,"Times New Roman",serif;font-size:24px;line-height:1.15;margin:0 0 3px;text-transform:uppercase;font-weight:600}
.p2w-state{color:var(--p2w-muted);margin-bottom:12px}
.p2w-tags{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}.p2w-tags span{background:#f2f3f0;border-radius:999px;padding:6px 10px;font-size:12px}
.p2w-card-footer{display:flex;justify-content:space-between;gap:10px;align-items:center}
.p2w-visit-line{font-size:14px;color:#38453c}
.p2w-guide-button{display:inline-flex;align-items:center;gap:8px;text-decoration:none!important;background:var(--p2w-green);color:#fff!important;border-radius:9px;padding:9px 12px;font-size:13px;font-weight:700;white-space:nowrap}
.p2w-guide-button.is-muted{background:#e7e8e4;color:#445047!important}
.p2w-map-marker{width:18px;height:18px;border-radius:50%;background:var(--p2w-green);border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.22)}
.p2w-map-marker.bucket{background:#fff;border:3px solid var(--p2w-green)}
.leaflet-div-icon{background:transparent!important;border:0!important}
@media(max-width:980px){.p2w-np-hero{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(260px,.7fr);gap:42px;align-items:end;margin-bottom:28px}.p2w-parks-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.p2w-np-wrap{padding-left:14px;padding-right:14px}.p2w-parks-grid{grid-template-columns:1fr}.p2w-card-image{height:220px}.p2w-card-footer{align-items:flex-start;flex-direction:column}#p2w-np-map{height:360px}.p2w-map-legend{left:10px;right:auto}.p2w-filter-row{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.p2w-filter{white-space:nowrap}}

@media(max-width:1100px){
  .p2w-np-copy h1{white-space:normal;font-size:clamp(44px,7vw,64px)}
  .p2w-np-hero{grid-template-columns:minmax(0,1.5fr) minmax(250px,.7fr)}
}


/* v1.2 hero alignment */
.p2w-np-hero{
  grid-template-columns:minmax(0,1fr) 340px;
  gap:36px;
  align-items:start;
}

.p2w-np-copy{
  min-width:0;
}

.p2w-np-copy h1{
  font-size:clamp(48px,4.7vw,66px);
  line-height:.98;
  white-space:nowrap;
  margin:0;
  letter-spacing:-.025em;
}

.p2w-script{
  font-size:clamp(25px,2.4vw,34px);
  line-height:1.05;
  margin:16px 0 22px;
}

.p2w-intro{
  max-width:790px;
  font-size:18px;
  line-height:1.55;
}

.p2w-progress-card{
  width:340px;
  box-sizing:border-box;
  align-self:start;
  margin-top:4px;
}

@media (max-width:1200px){
  .p2w-np-hero{
    grid-template-columns:minmax(0,1fr) 320px;
    gap:28px;
  }
  .p2w-np-copy h1{
    font-size:clamp(44px,5vw,58px);
  }
  .p2w-progress-card{
    width:320px;
  }
}

@media (max-width:980px){
  .p2w-np-hero{
    grid-template-columns:1fr;
    gap:24px;
  }
  .p2w-np-copy h1{
    white-space:normal;
    font-size:clamp(44px,8vw,60px);
  }
  .p2w-progress-card{
    width:min(100%,420px);
    margin-top:0;
  }
}


/* v1.3: full-width title + balanced lower hero */
.p2w-np-hero{
  display:block;
  margin-bottom:30px;
}

.p2w-hero-title{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(50px,5.4vw,76px);
  line-height:.98;
  margin:0 0 22px;
  font-weight:500;
  letter-spacing:-.025em;
  white-space:nowrap;
}

.p2w-hero-lower{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:44px;
  align-items:start;
}

.p2w-hero-lower .p2w-script{
  margin:0 0 22px;
  font-size:clamp(25px,2.4vw,34px);
  line-height:1.08;
}

.p2w-hero-lower .p2w-intro{
  max-width:760px;
  margin:0;
  font-size:18px;
  line-height:1.6;
}

.p2w-hero-lower .p2w-progress-card{
  width:340px;
  margin:0;
  align-self:start;
}

@media (max-width:1050px){
  .p2w-hero-title{
    white-space:normal;
    font-size:clamp(46px,7vw,66px);
  }
  .p2w-hero-lower{
    grid-template-columns:minmax(0,1fr) 300px;
    gap:28px;
  }
  .p2w-hero-lower .p2w-progress-card{
    width:300px;
  }
}

@media (max-width:800px){
  .p2w-hero-title{
    margin-bottom:18px;
  }
  .p2w-hero-lower{
    grid-template-columns:1fr;
    gap:22px;
  }
  .p2w-hero-lower .p2w-progress-card{
    width:min(100%,420px);
  }
}
