/* Hub · sustainability — photo + claim check, five practices, an illustrative weight budget. */
.bdh-sus__grid{align-items:start}
.bdh-sus__media{position:relative;padding-bottom:64px}
.bdh-sus__img img{object-position:50% 60%}

.bdh-sus__claim{position:absolute;left:20px;right:20px;bottom:0;z-index:2;display:grid;gap:10px;padding:20px 22px;border-radius:var(--r-lg);background:var(--paper);box-shadow:var(--sh-2)}
.bdh-sus__ch{display:flex;align-items:center;justify-content:space-between;gap:12px;font-family:var(--f);font-size:var(--t-lbl);letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.bdh-sus__line{font-family:var(--f-h);font-size:1.25rem;font-weight:500;line-height:1.3;letter-spacing:-.012em;color:var(--ink)}
.bdh-sus__line mark{position:relative;background:none;color:inherit;isolation:isolate;white-space:nowrap}
.bdh-sus__line mark::before{content:"";position:absolute;left:-3px;right:-3px;top:8%;bottom:4%;z-index:-1;border-radius:4px;background:var(--blue-wash-2);border-bottom:2px solid var(--blue);
  transform:scaleX(0);transform-origin:left center;transition:transform .8s var(--e) .3s}
.bdh-sus__claim.is-in .bdh-sus__line mark::before{transform:none}
.bdh-sus__note{display:flex;align-items:flex-start;gap:8px;font-size:var(--t-xs);line-height:1.5;color:var(--txt)}
.bdh-sus__note .bdh-flag{margin-top:1px}
.bdh-sus__fix{display:grid;gap:4px;padding:10px 12px;border-radius:var(--r-sm);background:var(--paper-2);font-size:var(--t-sm);line-height:1.45;color:var(--ink)}
.bdh-sus__fix span{font-family:var(--f);font-size:var(--t-lbl);letter-spacing:.12em;text-transform:uppercase;color:var(--blue-d)}
.bdh-sus__note,.bdh-sus__fix{opacity:0;transform:translateY(6px);transition:opacity .5s var(--e),transform .5s var(--e)}
.bdh-sus__claim.is-in .bdh-sus__note{opacity:1;transform:none;transition-delay:1s}
.bdh-sus__claim.is-in .bdh-sus__fix{opacity:1;transform:none;transition-delay:1.5s}

.bdh-sus__row{display:grid;grid-template-columns:48px minmax(0,1fr);padding-block:24px;border-top:1px solid var(--line)}
.bdh-sus__row:last-child{border-bottom:1px solid var(--line)}
.bdh-sus__row .bdh-idx{padding-top:5px}
.bdh-sus__d{margin:8px 0 14px;max-width:54ch;font-size:var(--t-sm);line-height:1.6;color:var(--muted)}
.bdh-sus__row .bdh-tag{background:var(--paper)}

.bdh-sus__budget{margin-top:clamp(48px,5vw,72px);gap:24px}
.bdh-sus__bh{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.bdh-sus__bh .bdh-d{margin-top:8px;max-width:60ch}
.bdh-sus__bars{display:grid;gap:18px}
.bdh-sus__barrow{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:center;gap:20px}
.bdh-sus__bl{font-size:var(--t-sm);color:var(--ink)}
.bdh-sus__track{height:18px}
.bdh-sus__bar{display:flex;gap:2px;height:100%}
.bdh-sus__bar i{height:100%;min-width:4px;border-radius:3px}
.is-s0{background:var(--ink)}.is-s1{background:var(--blue)}.is-s2{background:var(--line-3)}.is-s3{background:var(--paper-4);box-shadow:inset 0 0 0 1px var(--line-3)}
.bdh-sus__bar i.bdh-grow{transition-delay:calc(var(--i,0) * 80ms + 150ms)}
.bdh-sus__legend{display:flex;flex-wrap:wrap;gap:8px 20px;font-family:var(--f);font-size:var(--t-lbl);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.bdh-sus__legend span{display:inline-flex;align-items:center;gap:8px}
.bdh-sus__legend i{width:12px;height:12px;border-radius:3px}

@media (max-width:1023px){
  .bdh-sus__media,.bdh-sus__list{grid-column:1 / -1}
  .bdh-sus__media{padding-bottom:0}
  .bdh-sus__img{aspect-ratio:16/9}
  .bdh-sus__claim{position:relative;left:auto;right:auto;margin-top:-48px;margin-inline:20px}
}
@media (max-width:600px){
  .bdh-sus__img{aspect-ratio:4/3}
  .bdh-sus__claim{margin-inline:12px;padding:16px}
  .bdh-sus__line{font-size:1.0625rem}
  .bdh-sus__line mark{white-space:normal}
  .bdh-sus__row{grid-template-columns:36px minmax(0,1fr)}
  .bdh-sus__bh{flex-direction:column}
  .bdh-sus__barrow{grid-template-columns:minmax(0,1fr);gap:8px}
}
@media (prefers-reduced-motion:reduce){
  .bdh-sus__line mark::before{transform:none;transition:none}
  .bdh-sus__note,.bdh-sus__fix{opacity:1;transform:none;transition:none}
}
