.role {
  align-items: center;
  gap: 12px;
  padding: 8px 12px 8px 8px;
  border-radius: 12px;
}

.role-tree {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.role-tree img {
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  object-fit: cover;
  object-position: center;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 9px;
  background: #315b43;
}

/* Show the complete tree instead of cropping its crown or trunk. */
.tree-visual {
  height: 290px;
  padding: 0;
  background: linear-gradient(180deg,#f4f1e7 0%,#dce8d8 100%);
}

.tree-visual::before {
  display: none;
}

.tree-visual img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: center;
}

.tree-visual .rank {
  position: absolute;
  left: 14px;
  bottom: 14px;
  z-index: 2;
}

.dialog-image {
  width: 100%;
  height: min(58vh, 620px);
  margin: 0 0 24px;
  object-fit: contain;
  object-position: center;
  background: #eef2e7;
  border-radius: 14px;
}

dialog {
  position: relative;
  width: min(1100px, calc(100% - 28px));
  max-height: 94vh;
  padding: 24px;
}

dialog .dialog-close {
  position: sticky;
  z-index: 3;
  top: 0;
  float: right;
  margin: 8px 8px -50px 0;
  background: rgba(255,255,255,.94);
  box-shadow: 0 3px 14px rgba(0,0,0,.18);
}

@media (max-width: 620px) {
  .tree-visual {
    height: 250px;
  }

  .tree-visual img {
    object-fit: cover;
    object-position: center;
  }

  dialog {
    width: calc(100% - 16px);
    max-height: 96vh;
    padding: 12px;
  }

  .dialog-image {
    height: 48vh;
    margin-bottom: 18px;
  }
}

.role span {
  white-space: nowrap;
}

.set-tools {display:grid;grid-template-columns:minmax(210px,1.1fr) repeat(4,minmax(160px,1fr));gap:10px;margin:0 auto 14px}
.set-tools input,.set-tools select{width:100%;min-height:52px;padding:11px 13px;border:2px solid var(--line);border-radius:11px;background:#fff;color:var(--ink)}
.set-summary{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;color:var(--muted)}
.set-summary button{border:0;background:transparent;color:#8a6a2e;cursor:pointer;text-decoration:underline}
.set-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.set-item{overflow:hidden;border:2px solid var(--line);border-radius:16px;background:#fff;transition:.2s ease}
.set-item:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(27,54,39,.13)}
.set-images{display:grid;grid-template-columns:1.35fr 1fr 1fr;height:190px;gap:3px;padding:3px;background:#e6eadf}
.set-images img{width:100%;height:100%;min-width:0;object-fit:cover}
.set-images img:first-child{border-radius:11px 0 0 0}.set-images img:last-child{border-radius:0 11px 0 0}
.set-body{display:flex;flex-direction:column;min-height:390px;padding:18px}
.set-meta{display:flex;justify-content:space-between;color:#8a6a2e;font-size:13px;font-weight:700;letter-spacing:.08em}
.set-body h3{margin:7px 0 4px;font-size:24px}.set-tagline{margin:0 0 14px;color:var(--muted);line-height:1.55}
.set-tree-names{display:grid;gap:7px;margin-bottom:14px}.set-tree-names span{display:flex;align-items:center;gap:8px;color:#214b35;font-weight:600}
.set-tree-names b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#f4dfb2;color:#5d4518;font-size:12px}
.set-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.set-tags span{padding:5px 8px;border-radius:20px;background:var(--soft);color:#375441;font-size:12px}
.set-body .primary{width:100%;margin-top:auto}.set-empty{padding:50px 20px;border:2px dashed var(--line);border-radius:16px;text-align:center;color:var(--muted)}
.set-image-button,.set-title-button{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.set-title-button h3{transition:.2s}.set-title-button:hover h3{color:#8a3552}.set-card-actions{display:grid;gap:8px;margin-top:auto}.set-card-actions .primary,.set-card-actions .secondary{width:100%;margin:0}.set-dialog{width:min(1120px,calc(100% - 28px));padding:0;background:var(--cream)}.set-dialog>.dialog-close{position:sticky;top:14px;margin:14px 14px -56px 0}.set-dialog-images{display:grid;grid-template-columns:1.35fr 1fr 1fr;height:min(46vh,480px);gap:4px;background:#e4eadf}.set-dialog-images img{width:100%;height:100%;min-width:0;object-fit:contain;background:#eef2e7}.set-dialog-content{padding:30px}.set-dialog-content>h2{font-size:clamp(32px,4vw,48px);margin:5px 0}.set-dialog-lead{max-width:840px;color:#8a3552;font-size:22px;font-weight:600;line-height:1.55}.set-dialog-content>blockquote{margin:24px 0;padding:22px;border-left:3px solid var(--pink);background:#fff6f7;font-size:18px;line-height:1.75}.set-dialog-content section{margin:30px 0}.set-dialog-content section>h3{font-size:28px;margin:6px 0}.set-dialog-content section>p:last-child{color:var(--muted);line-height:1.75}.set-role-detail{display:grid;gap:12px}.set-role-detail article{display:grid;grid-template-columns:160px 1fr;gap:18px;padding:10px;border:1px solid var(--line);border-radius:14px;background:#fff}.set-role-detail img{width:160px;height:140px;object-fit:contain;background:#eef2e7;border-radius:9px}.set-role-detail small{color:#8a6a2e;font-weight:700}.set-role-detail h4{font-size:22px;margin:3px 0}.set-role-detail p{color:var(--muted);line-height:1.6;margin:0}.set-care{display:grid;grid-template-columns:1fr 1fr;gap:12px}.set-care>div{padding:18px;border-radius:13px;background:var(--soft)}.set-secret-note{padding:18px 20px;border:1px solid #e5c77e;border-radius:13px;background:#fff8e8;color:#5a461e}.set-secret-note p{margin:6px 0 0;line-height:1.65}.set-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.tree-filter-tools{display:grid;grid-template-columns:minmax(260px,2fr) repeat(4,minmax(140px,1fr)) auto;max-width:none}.catalog-card h3 a{color:inherit;text-decoration:none}.catalog-card h3 a:hover{color:#8a3552}.catalog-card>a:first-child{display:block}.tree-filter-tags{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 13px}.tree-filter-tags span{padding:4px 7px;border-radius:20px;background:#f2eee1;color:#6b552a;font-size:12px}
.advanced-toggle{display:none;min-height:50px;border:2px solid #d8ccb0;border-radius:11px;background:#fff8e8;color:#6a501c;font-weight:700;cursor:pointer}.advanced-toggle span{float:right;font-size:20px}.advanced-filter-fields{display:contents}

@media (max-width:1000px){.set-tools{grid-template-columns:1fr 1fr}.set-tools input{grid-column:1/-1}.set-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.tree-filter-tools{grid-template-columns:1fr 1fr}.tree-filter-tools input{grid-column:1/-1}.tree-filter-tools span{grid-column:1/-1}}
@media (max-width:620px){.set-tools,.set-catalog{grid-template-columns:1fr}.set-tools input{grid-column:auto}.set-images{height:175px}.set-body{min-height:0}}

.services{background:#fbfaf6}.service-journey{display:flex;align-items:center;justify-content:center;gap:12px;margin:-10px auto 34px;color:#315b43;font-weight:700}.service-journey i{width:42px;height:1px;background:var(--gold)}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.service-grid article{display:flex;flex-direction:column;padding:22px;border:2px solid var(--line);border-radius:15px;background:#fff;transition:.2s}.service-grid article:hover,.service-grid article.selected{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 8px 24px rgba(27,54,39,.1)}.service-grid article>b{color:var(--gold);font-size:14px;letter-spacing:.12em}.service-grid h3{font-size:22px;margin:7px 0}.service-grid p{color:var(--muted);line-height:1.6;margin:0 0 18px}.service-grid button{width:100%;margin-top:auto}.service-grid article.selected button{background:var(--green);color:#fff}
.service-finder{display:grid;grid-template-columns:1fr 1.1fr;gap:32px;align-items:center;margin-top:28px;padding:30px;border-radius:18px;background:var(--green);color:#fff;border:1px solid var(--gold)}.service-finder h3{font-size:30px;margin:7px 0}.service-finder p{color:#c7d8cb;line-height:1.65}.service-finder form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.service-finder input,.service-finder select{min-height:52px;padding:11px 13px;border:0;border-radius:10px;background:#fff}.service-finder form .primary{grid-column:1/-1}
.comfort-plan{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:20px;padding:24px 28px;border:2px solid #ead6a8;border-radius:16px;background:#fff8e8}.comfort-plan small{color:#8a6a2e;font-weight:700}.comfort-plan h3{font-size:28px;margin:5px 0}.comfort-plan p{color:var(--muted);margin:0}.comfort-plan button{white-space:nowrap}
.selected-services{padding:13px;margin-top:12px;border:2px solid var(--line);border-radius:11px;background:#fff}.selected-services small{display:block;color:#8a6a2e;margin-bottom:8px}.selected-services>div{display:flex;flex-wrap:wrap;gap:6px}.selected-services span{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:20px;background:var(--soft);color:#294d38;font-size:13px}.selected-services button{border:0;background:transparent;color:#8a3552;cursor:pointer;font-size:18px;line-height:1}
.provider-directory{scroll-margin-top:86px;margin-top:28px;padding:28px;border:2px solid var(--line);border-radius:18px;background:#f2f4ed}.provider-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.provider-head h3{font-size:30px;margin:5px 0}.provider-head p{color:var(--muted)}.provider-head>span{padding:7px 10px;border-radius:20px;background:#f6e3bb;color:#73571f;font-size:13px}.provider-tools{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.provider-tools select{min-height:50px;padding:10px 12px;border:2px solid var(--line);border-radius:10px;background:#fff}.provider-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.provider-card{display:grid;grid-template-columns:64px 1fr;gap:14px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.provider-logo{display:grid;place-items:center;width:64px;height:64px;border-radius:14px;background:var(--green);color:#fff;font-size:22px;font-weight:700}.provider-name{display:flex;justify-content:space-between;align-items:center;gap:10px}.provider-name h4{font-size:20px;margin:0}.provider-name span{padding:4px 7px;border-radius:16px;background:#f6e3bb;color:#73571f;font-size:11px}.provider-info>p{margin:7px 0;color:var(--muted)}.provider-info>small{color:#315b43}.provider-services{display:flex;flex-wrap:wrap;gap:5px;margin:11px 0}.provider-services span{padding:4px 7px;border-radius:16px;background:var(--soft);color:#315b43;font-size:11px}.provider-actions{display:flex;gap:7px}.provider-actions button{flex:1;min-height:38px;border:1px solid #315b43;border-radius:8px;background:#fff;color:#214b35;font-weight:700;cursor:pointer}.provider-actions button:nth-child(2){background:#21b54b;border-color:#21b54b;color:#fff}.provider-actions button:nth-child(3){background:#191919;border-color:#191919;color:#fff}.provider-empty{padding:28px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:12px;background:#fff}
@media(max-width:900px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-finder{grid-template-columns:1fr}.service-journey{flex-wrap:wrap}.service-journey i{width:20px}.nav nav a[href="#services"]{display:none}}
@media(max-width:620px){.service-grid{grid-template-columns:1fr}.service-finder{padding:22px}.service-finder form{grid-template-columns:1fr}.service-finder form .primary{grid-column:auto}.comfort-plan{align-items:flex-start;flex-direction:column}.comfort-plan button{width:100%}.service-journey{font-size:13px;gap:7px}}
@media(max-width:620px){.set-dialog-images{height:34vh}.set-dialog-content{padding:20px 14px}.set-dialog-lead{font-size:19px}.set-role-detail article{grid-template-columns:100px 1fr}.set-role-detail img{width:100px;height:120px}.set-care,.set-dialog-actions{grid-template-columns:1fr}}
@media(max-width:620px){.advanced-toggle{display:block;width:100%}.set-tools,.tree-filter-tools{display:grid;grid-template-columns:1fr}.set-tools input,.tree-filter-tools input{grid-column:auto}.advanced-filter-fields{display:none}.advanced-filter-fields.open{display:grid;grid-template-columns:1fr;gap:10px}.tree-filter-tools>span{grid-column:auto}.provider-directory{padding:18px 12px}.provider-head{display:block}.provider-head>span{display:inline-block}.provider-tools,.provider-list{grid-template-columns:1fr}.provider-card{grid-template-columns:50px 1fr}.provider-logo{width:50px;height:50px}.provider-actions{display:grid;grid-template-columns:1fr 1fr 1fr}}

/* Editorial mosaic: one hero tree and two supporting trees, without gaps. */
.set-dialog-images{grid-template-columns:1.35fr 1fr;grid-template-rows:1fr 1fr;height:min(52vh,520px);overflow:hidden}
.set-dialog-images img{min-height:0;object-fit:cover;object-position:center;background:#315b43}
.set-dialog-images img:first-child{grid-row:1/3}
.set-role-detail img{object-fit:cover;object-position:center}
@media(max-width:620px){.set-dialog-images{height:42vh;grid-template-columns:1.25fr 1fr}}
