/* Holistic by Lawrynowicz — shared styles for topic pages (class hbl-art) */
.hbl-art{
  --green:#405748; --gdark:#2f4236; --dark:#263a30; --muted:#59665c;
  --cream:#f8f7f2; --sage:#f0f3ed; --border:#e2e8df; --accent:#7ba05b; --warn:#8a5a12; --warnbg:#fbf4e6;
  font-family:inherit; color:var(--dark); line-height:1.8; width:100%;
}
.hbl-art,.hbl-art *{box-sizing:border-box}
.hbl-art [hidden]{display:none!important}
.hbl-art__wrap{max-width:860px;margin:0 auto;padding:0 20px}
.hbl-art h1{font-size:clamp(29px,4.2vw,44px);line-height:1.18;font-weight:600;letter-spacing:-.5px;margin:0 0 20px;color:var(--dark);text-transform:none}
.hbl-art h2{font-size:clamp(24px,3vw,31px);line-height:1.25;font-weight:600;color:var(--dark);margin:52px 0 16px;scroll-margin-top:90px;text-transform:none}
.hbl-art h3{font-size:20px;line-height:1.35;font-weight:600;color:var(--green);margin:30px 0 10px;text-transform:none;letter-spacing:0}
.hbl-art p{margin:0 0 18px;font-size:17px;color:var(--muted)}
.hbl-art ul,.hbl-art ol{margin:0 0 20px;padding-left:22px;font-size:17px;color:var(--muted)}
.hbl-art li{margin-bottom:8px}
.hbl-art strong{color:var(--dark)}
.hbl-art a{color:var(--green)}
.hbl-art sup{font-size:12px;color:var(--green);font-weight:600}

/* hero */
.hbl-art__hero{background:var(--cream);border-radius:16px;padding:52px 45px 44px;margin-bottom:34px}
.hbl-art__eyebrow{display:block;color:var(--green);font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:14px}
.hbl-art__lead{font-size:19px!important;line-height:1.75;color:var(--dark)!important}
.hbl-art__note{background:#fff;border-left:4px solid var(--accent);border-radius:10px;padding:18px 22px;margin:22px 0 0}
.hbl-art__note p{margin:0;font-size:16.5px}
.hbl-art__herocta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin:26px 0 0}
.hbl-art__herocta span{font-size:14.5px;color:var(--muted)}

/* buttons */
.hbl-art__btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:13px 28px;background:var(--green);color:#fff!important;border-radius:12px;font-size:17px;font-weight:600;line-height:1.3;text-decoration:none!important;box-shadow:0 6px 18px rgba(47,66,54,.16);transition:background .15s}
.hbl-art__btn:hover,.hbl-art__btn:focus{background:var(--gdark);color:#fff!important}
.hbl-art__btn--light{background:#fff;color:var(--green)!important;box-shadow:none}
.hbl-art__btn--light:hover,.hbl-art__btn--light:focus{background:var(--sage);color:var(--green)!important}

/* contents */
.hbl-art__toc{border:1px solid var(--border);border-radius:14px;padding:22px 28px;background:#fff;margin:0 0 8px}
.hbl-art__toc strong{display:block;margin-bottom:8px;font-size:16px}
.hbl-art__toc ol{margin:0;padding-left:20px;columns:2;column-gap:34px;font-size:16px}
.hbl-art__toc li{margin-bottom:6px;break-inside:avoid}
.hbl-art__toc a{text-decoration:none}
.hbl-art__toc a:hover{text-decoration:underline}

/* can / cannot */
.hbl-art__cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0 26px}
.hbl-art__col{border:1px solid var(--border);border-top:4px solid var(--green);border-radius:12px;padding:24px 24px 10px;background:#fff}
.hbl-art__col--no{border-top-color:#b98a5a}
.hbl-art__col h3{margin:0 0 12px;color:var(--dark)}
.hbl-art__col ul{font-size:16px;padding-left:20px}

/* table */
.hbl-art__tablewrap{overflow-x:auto;margin:22px 0 26px;border:1px solid var(--border);border-radius:12px}
.hbl-art table{width:100%;min-width:560px;border-collapse:collapse;font-size:15.5px;background:#fff;margin:0}
.hbl-art th,.hbl-art td{padding:13px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border);color:var(--muted);line-height:1.55}
.hbl-art thead th{background:var(--green);color:#fff;font-weight:600}
.hbl-art tbody th{color:var(--dark);font-weight:600;background:var(--sage);width:26%}
.hbl-art tr:last-child th,.hbl-art tr:last-child td{border-bottom:0}

/* callouts */
.hbl-art__warn{background:var(--warnbg);border-left:4px solid #d9a441;border-radius:10px;padding:18px 22px;margin:24px 0}
.hbl-art__warn p{margin:0;font-size:16.5px;color:#5c4a22}
.hbl-art__warn strong{color:#4a3a14}
.hbl-art__inline{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;background:var(--sage);border-radius:14px;padding:22px 26px;margin:34px 0}
.hbl-art__inline p{margin:0;font-size:17px;color:var(--dark);font-weight:600;flex:1 1 280px}

/* steps */
.hbl-art__steps{list-style:none;margin:22px 0 22px;padding:0;counter-reset:st}
.hbl-art__steps li{position:relative;counter-increment:st;padding:0 0 18px 54px;margin:0}
.hbl-art__steps li::before{content:counter(st);position:absolute;left:0;top:2px;width:36px;height:36px;border-radius:50%;background:var(--green);color:#fff;font-weight:600;font-size:16px;display:flex;align-items:center;justify-content:center}

/* check list */
.hbl-art__check{list-style:none;padding:0}
.hbl-art__check li{position:relative;padding-left:30px}
.hbl-art__check li::before{content:"";position:absolute;left:3px;top:10px;width:14px;height:8px;border-left:2.5px solid var(--green);border-bottom:2.5px solid var(--green);transform:rotate(-45deg)}

/* calculator */
.hbl-art__calc{border:1px solid var(--border);border-radius:16px;background:#fff;padding:26px 28px;margin:24px 0 26px;box-shadow:0 10px 30px rgba(30,50,35,.05)}
.hbl-art__calc h3{margin:0 0 6px;color:var(--dark)}
.hbl-art__calcgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0 16px}
.hbl-art__calc label{display:block;font-size:15.5px;font-weight:600;color:var(--dark);margin:0 0 6px}
.hbl-art__calc input,.hbl-art__calc select{width:100%;min-height:50px;padding:12px 14px;font:inherit;font-size:16px;color:var(--dark);background:#fff;border:1.5px solid #98a79b;border-radius:10px}
.hbl-art__calc input:focus,.hbl-art__calc select:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(64,87,72,.28)}
.hbl-art__calcrow{display:flex;gap:8px}
.hbl-art__calcrow select{flex:0 0 108px;width:108px}
.hbl-art__calc button{min-height:50px;padding:12px 26px;border:0;border-radius:10px;background:var(--green)!important;color:#fff!important;font:inherit;font-size:16.5px;font-weight:600;cursor:pointer;text-transform:none;letter-spacing:0}
.hbl-art__calc button:hover,.hbl-art__calc button:focus{background:var(--gdark)!important}
.hbl-art__calcout{margin:18px 0 0;padding:18px 20px;background:var(--sage);border-radius:12px}
.hbl-art__calcout b{display:block;font-size:30px;line-height:1.2;color:var(--green);font-weight:600;margin-bottom:6px}
.hbl-art__calcout p{margin:0 0 8px;font-size:16px;color:var(--dark)}
.hbl-art__calcout p:last-child{margin-bottom:0}
.hbl-art__calcerr{margin:12px 0 0;font-size:15px;font-weight:600;color:#b3261e}
.hbl-art__small{font-size:14.5px!important;color:#7b857e!important}

/* faq */
.hbl-art__faq details{background:#fff;border:1px solid var(--border);border-radius:12px;margin:0 0 10px;padding:0 22px}
.hbl-art__faq summary{cursor:pointer;list-style:none;position:relative;padding:18px 34px 18px 0;font-size:17px;font-weight:600;line-height:1.45;color:var(--dark)}
.hbl-art__faq summary::-webkit-details-marker{display:none}
.hbl-art__faq summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:26px;font-weight:400;color:var(--green);line-height:1}
.hbl-art__faq details[open] summary::after{content:"–"}
.hbl-art__faq details p{font-size:16.5px;margin:0 0 18px}

/* closing cta */
.hbl-art__cta{background:var(--green);border-radius:16px;padding:44px 40px;text-align:center;margin:50px 0 0}
.hbl-art__cta h2{color:#fff;margin:0 0 12px}
.hbl-art__cta p{color:rgba(255,255,255,.9);max-width:580px;margin:0 auto 24px}
.hbl-art__cta p:last-child{margin:18px auto 0;font-size:15.5px}
.hbl-art__cta p a{color:#fff;font-weight:600}

/* related, sources, author */
.hbl-art__related{margin:40px 0 0;padding:22px 26px;border:1px solid var(--border);border-radius:14px;background:#fff}
.hbl-art__related strong{display:block;margin-bottom:8px}
.hbl-art__related ul{margin:0;padding-left:20px;font-size:16.5px}
.hbl-art__src{margin:46px 0 0;padding-top:30px;border-top:1px solid var(--border)}
.hbl-art__src h2{font-size:21px;margin:0 0 14px}
.hbl-art__src ol{font-size:14.5px;line-height:1.65;color:var(--muted);padding-left:20px}
.hbl-art__src li{margin-bottom:8px;overflow-wrap:anywhere}
.hbl-art__author{display:flex;gap:16px;align-items:flex-start;background:var(--cream);border-radius:12px;padding:20px 22px;margin:26px 0 14px}
.hbl-art__author img{flex:0 0 auto;width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:50% 14%}
.hbl-art__author p{margin:0;font-size:15.5px;line-height:1.65}
.hbl-art__author b{display:block;color:var(--dark);font-size:16.5px;margin-bottom:2px}
.hbl-art__meta{font-size:14.5px!important;color:#7b857e!important;margin:0 0 8px!important}
.hbl-art__disclaimer{font-size:14.5px!important;color:#7b857e!important;font-style:italic;margin:0!important}

@media(max-width:780px){
  .hbl-art__wrap{padding:0 16px}
  .hbl-art__hero{padding:24px 20px 26px;border-radius:12px;margin-bottom:26px}
  .hbl-art h1{font-size:27px;margin-bottom:14px}
  .hbl-art__eyebrow{font-size:11.5px;letter-spacing:1.2px;margin-bottom:10px}
  .hbl-art p,.hbl-art ul,.hbl-art ol{font-size:16px}
  .hbl-art__lead{font-size:16.5px!important;line-height:1.65}
  .hbl-art__herocta{margin-top:18px}
  .hbl-art__herocta span{display:none}
  /* tables become stacked cards instead of scrolling sideways */
  .hbl-art__tablewrap{overflow:visible}
  .hbl-art table{min-width:0}
  .hbl-art thead{display:none}
  .hbl-art tbody tr{display:block;padding:12px 0;border-bottom:1px solid var(--border)}
  .hbl-art tbody tr:last-child{border-bottom:0}
  .hbl-art tbody th,.hbl-art tbody td{display:block;width:100%;border:0;padding:3px 16px;background:none}
  .hbl-art tbody th{font-size:16.5px;padding-bottom:4px}
  .hbl-art h2{margin-top:42px}
  .hbl-art__herocta .hbl-art__btn{width:100%}
  .hbl-art__toc{padding:18px 20px}
  .hbl-art__toc ol{columns:1}
  .hbl-art__toc li{padding:3px 0}
  .hbl-art__cols{grid-template-columns:1fr;gap:12px}
  .hbl-art__col{padding:20px 18px 6px}
  .hbl-art__inline{padding:20px 20px}
  .hbl-art__inline .hbl-art__btn{width:100%}
  .hbl-art__calc{padding:20px 18px}
  .hbl-art__calcgrid{grid-template-columns:1fr;gap:14px}
  .hbl-art__calc button{width:100%}
  .hbl-art__faq details{padding:0 16px}
  .hbl-art__faq summary{font-size:16.5px;padding:16px 30px 16px 0}
  .hbl-art__cta{padding:34px 22px}
  .hbl-art__cta .hbl-art__btn{width:100%}
  .hbl-art__related{padding:18px 18px}
}

/* hub page: list of articles */
.hbl-art__hub{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 10px}
.hbl-art__hubcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:14px;padding:26px 26px 22px;text-decoration:none!important;transition:border-color .15s, box-shadow .15s}
.hbl-art__hubcard:hover,.hbl-art__hubcard:focus{border-color:var(--green);box-shadow:0 10px 26px rgba(30,50,35,.08)}
.hbl-art .hbl-art__hubcard h2{font-size:21px;line-height:1.3;margin:0 0 10px;color:var(--dark)}
.hbl-art__hubcard p{font-size:16px;line-height:1.6;margin:0 0 14px;flex:1}
.hbl-art__hubcard span{font-size:15px;font-weight:600;color:var(--green)}
@media(max-width:780px){
  .hbl-art__hub{grid-template-columns:1fr;gap:12px}
  .hbl-art__hubcard{padding:20px 20px 18px}
  .hbl-art .hbl-art__hubcard h2{font-size:19px;margin-top:0}
}