@charset "utf-8";
.canopy-page,.canopy-page *{box-sizing:border-box}.canopy-page{width:100%;padding:20px 22px 36px;color:#333;font-size:16px;line-height:1.8}
.canopy-intro{margin:0 0 22px;padding:25px;border-radius:11px;background:#f5f7f1}.canopy-eyebrow{margin:0 0 4px;color:#59734b;font-size:.9rem;font-weight:700;letter-spacing:.05em}.canopy-intro h1{margin:0 0 7px;color:#2c4625;font-size:clamp(1.7rem,4vw,2.35rem);line-height:1.35}.canopy-lead{margin:0 0 17px;color:#4c5e47;font-size:1.08rem;font-weight:700}
.canopy-points{margin:0 0 24px;padding:18px 22px;border-left:5px solid #86a957;border-radius:8px;background:#f7faef}.canopy-points ul{margin:0;padding-left:1.4em}.canopy-points li{margin:5px 0;font-weight:700}
.canopy-gallery,.canopy-card,.canopy-related,.canopy-information{margin:24px 0;padding:22px;border:1px solid #dfe5d8;border-radius:10px;background:#fff}.canopy-gallery h2,.canopy-card h2,.canopy-related h2,.canopy-information h2{margin:0 0 14px;padding-bottom:8px;border-bottom:2px solid #86a957;color:#375531;font-size:1.28rem}
.canopy-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.canopy-gallery figure{margin:0;overflow:hidden;border-radius:8px;background:#f6f7f4}.canopy-gallery img{display:block;width:100%;height:180px;object-fit:cover}.canopy-gallery figcaption{padding:9px 10px;text-align:center;font-size:.92rem}
.canopy-price-row{display:grid;grid-template-columns:1fr auto;gap:18px;padding:15px 16px;align-items:center;border:1px solid #dce4d4;border-radius:8px;background:#fbfff7}.canopy-price-row strong{color:#355e29;font-size:1.08rem;white-space:nowrap}.canopy-alert{margin:12px 0 0;color:#b11c1c;font-weight:700}
.canopy-card ul,.canopy-related ul,.canopy-information ul{margin:0;padding-left:1.45em}.canopy-card li,.canopy-related li,.canopy-information li{margin:6px 0}
.canopy-schedule-list{border-top:1px solid #e2e7dd}.canopy-schedule-list>div{display:grid;grid-template-columns:90px 1fr;gap:14px;padding:11px 0;border-bottom:1px solid #e2e7dd}.canopy-schedule-list time{color:#426b37;font-weight:700}.canopy-schedule-list p{margin:0}
.canopy-table-wrap{width:100%;overflow-x:auto}.canopy-table-wrap table{width:100%;min-width:760px;border-collapse:collapse}.canopy-table-wrap th,.canopy-table-wrap td{padding:9px 10px;border:1px solid #dfe4da;text-align:center;vertical-align:middle}.canopy-table-wrap thead th{background:#607d4d;color:#fff}.canopy-table-wrap tbody th{background:#edf3e9;color:#35552e}
.canopy-note{margin:10px 0 0;color:#666;font-size:.92rem}.canopy-related a{font-weight:700}
.canopy-actions{display:flex;gap:12px;justify-content:center;margin:20px 0 0}.canopy-actions--bottom{margin-top:28px}.canopy-button{display:inline-flex;min-height:48px;padding:11px 24px;align-items:center;justify-content:center;border:2px solid #5f864c;border-radius:7px;background:#fff;color:#3f6733;font-weight:700;line-height:1.3;text-decoration:none}.canopy-button--primary{background:#5f864c;color:#fff}.canopy-button:hover,.canopy-button:focus{text-decoration:none;filter:brightness(.96)}
@media(max-width:700px){.canopy-page{padding:12px 10px 28px;font-size:15px}.canopy-intro,.canopy-gallery,.canopy-card,.canopy-related,.canopy-information{padding:16px}.canopy-hero__caption{position:static;background:#43543d;font-size:.92rem}.canopy-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.canopy-gallery img{height:150px}.canopy-price-row{grid-template-columns:1fr;gap:3px}.canopy-schedule-list>div{grid-template-columns:75px 1fr}.canopy-actions{flex-direction:column}.canopy-button{width:100%}}
@media(max-width:440px){.canopy-gallery-grid{grid-template-columns:1fr}.canopy-gallery img{height:auto}}


/* =========================================================
   2026 visual hierarchy refresh
   Keeps the existing HTML / PVII structure intact.
   ========================================================= */
.canopy-page {
  max-width: 960px;
  margin: 0 auto;
}

.canopy-intro {
  position: relative;
  padding: 30px 30px 26px;
  border: 1px solid #dce5d6;
  border-top: 6px solid #527b40;
  box-shadow: 0 7px 20px rgba(50, 65, 42, .08);
  background: linear-gradient(180deg, #ffffff 0%, #f5f8f1 100%);
}

.canopy-eyebrow {
  display: inline-block;
  margin-bottom: 8px;
  padding: 4px 11px;
  border-radius: 999px;
  background: #edf4e8;
  color: #456c39;
}

.canopy-intro h1 {
  padding-bottom: 10px;
  border-bottom: 1px solid #dce4d8;
}

.canopy-lead {
  margin-top: 14px;
  color: #ba6320;
  font-size: 1.12rem;
}

.canopy-points {
  border-left: 0;
  border-top: 4px solid #df8027;
  box-shadow: 0 5px 15px rgba(83, 64, 34, .07);
  background: #fff9ed;
}

.canopy-points li::marker {
  color: #df8027;
}

.canopy-gallery,
.canopy-card,
.canopy-related,
.canopy-information {
  border: 0;
  box-shadow: 0 6px 18px rgba(43, 56, 38, .08);
}

.canopy-gallery h2,
.canopy-card h2,
.canopy-related h2,
.canopy-information h2 {
  padding: 0 0 10px 12px;
  border-bottom: 1px solid #dce5d8;
  border-left: 5px solid #5d874b;
  color: #315b2b;
}

.canopy-gallery {
  background: #f8faf6;
}

.canopy-gallery figure {
  border: 1px solid #e0e5dc;
  box-shadow: 0 3px 10px rgba(45, 54, 40, .06);
  background: #fff;
}

.canopy-gallery figcaption {
  font-weight: 700;
  color: #4b6045;
}

.canopy-price {
  border-top: 5px solid #df7b25;
  background: #fffdf8;
}

.canopy-price-row {
  border: 0;
  box-shadow: inset 0 0 0 1px #dfe6da;
}

.canopy-price-row strong {
  color: #b95f1d;
  font-size: 1.2rem;
}

.canopy-schedule {
  background: #f6f9f3;
}

.canopy-schedule-list > div {
  margin: 0 -4px;
  padding: 12px 8px;
}

.canopy-schedule-list > div:nth-child(odd) {
  background: #f4f8f1;
}

.canopy-schedule-list time {
  display: inline-block;
  padding: 2px 7px;
  border-radius: 4px;
  background: #557c47;
  color: #fff;
  text-align: center;
}

.canopy-table-wrap {
  border: 1px solid #dce3d8;
  border-radius: 7px;
}

.canopy-table-wrap thead th {
  background: #4f7542;
}

.canopy-related {
  background: #f3f8ef;
}

.canopy-information {
  border-left: 5px solid #d5a044;
  background: #fffaf0;
}

.canopy-actions {
  padding: 20px;
  border-radius: 10px;
  background: #f2f7ee;
}

.canopy-button {
  min-width: 220px;
  box-shadow: 0 4px 11px rgba(0, 0, 0, .09);
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}

.canopy-button--primary {
  border-color: #df7623;
  background: #df7623;
}

.canopy-button:hover,
.canopy-button:focus {
  transform: translateY(-1px);
  box-shadow: 0 7px 15px rgba(0, 0, 0, .13);
}

@media (max-width: 700px) {
  .canopy-intro {
    padding: 22px 18px 19px;
  }

  .canopy-actions {
    padding: 16px;
  }

  .canopy-button {
    min-width: 0;
  }
}
