@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Newsreader:ital,opsz,wght@1,6..72,500&display=swap");
.l4d-wellness-hub-page { --ink:#17352f; --green:#315f57; --green-dark:#244b44; --lime:#8aa35f; --orange:#dc8b43; --paper:#fbfaf6; --sage:#eff3e9; --line:rgba(23,53,47,.14); --muted:#687b75; width:100%; background:var(--paper); color:var(--ink); font-family:"DM Sans",Arial,sans-serif; }
.l4d-wellness-hub-page * { box-sizing:border-box; }
.l4d-wellness-hub-page a { color:inherit; text-decoration:none; }
.l4d-wellness-hub-page button,.l4d-wellness-hub-page input,.l4d-wellness-hub-page select { font:inherit; }
.l4d-wellness-hub-page .he-sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.he-hub-hero { padding:clamp(4.5rem,8vw,8rem) clamp(1rem,5vw,5rem) clamp(4rem,7vw,6.5rem); background:radial-gradient(circle at 12% 18%,rgba(138,163,95,.17),transparent 26rem),linear-gradient(125deg,#eef4ed,#faf8f2 62%,#f2eee3); text-align:center; }
.he-hub-hero-copy { max-width:58rem; margin:0 auto; }
.he-hub-kicker { display:flex; align-items:center; justify-content:center; gap:.65rem; margin:0 0 1rem; color:var(--lime); font-size:.72rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.he-hub-kicker > span { flex:0 0 1.75rem; width:1.75rem; height:1px; background:currentColor; }
.he-hub-kicker b { font:inherit; }
.he-hub-hero h1 { max-width:55rem; margin:0 auto; font-size:clamp(3rem,5.4vw,5.6rem); letter-spacing:-.065em; line-height:.98; }
.he-hub-hero h1 em { color:var(--orange); font-family:"Newsreader",Georgia,serif; font-weight:500; }
.he-hub-hero-copy > p:last-child { max-width:44rem; margin:1.4rem auto 0; color:var(--muted); font-size:1.02rem; line-height:1.7; }
.he-hub-search { max-width:70rem; margin:3rem auto -8.25rem; position:relative; z-index:2; }
.he-hub-query { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.8rem; min-height:4.4rem; padding:.45rem .45rem .45rem 1.2rem; border:1px solid rgba(255,255,255,.85); border-radius:999px; background:#fff; box-shadow:0 1.2rem 3rem rgba(23,53,47,.12); }
.he-hub-query svg { width:1.2rem; fill:none; stroke:var(--green); stroke-width:1.8; stroke-linecap:round; }
.he-hub-query input { width:100%; min-width:0; height:3rem; padding:0; border:0; outline:0; background:transparent; color:var(--ink); }
.he-hub-query button { min-width:9rem; min-height:3.45rem; padding:.6rem 1.2rem; border:0; border-radius:999px; background:var(--green); color:#fff; font-weight:800; cursor:pointer; }
.he-hub-query button:hover { background:var(--green-dark); }
.he-hub-filters { display:grid; grid-template-columns:1fr 1fr auto; gap:.75rem; margin-top:.75rem; padding:.75rem; border:1px solid rgba(255,255,255,.88); border-radius:1rem; background:rgba(255,255,255,.96); box-shadow:0 1.2rem 3rem rgba(23,53,47,.1); text-align:left; }
.he-hub-filters label { display:block; min-width:0; }
.he-hub-filters label span { display:block; margin:0 0 .3rem .2rem; color:var(--muted); font-size:.65rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.he-hub-filters select { width:100%; min-height:3.2rem; padding:.55rem .8rem; border:1px solid var(--line); border-radius:.75rem; outline:0; background:#fff; color:var(--ink); font-weight:600; }
.l4d-wellness-hub-page .he-hub-clear { align-self:end!important; min-height:3.2rem!important; margin:0!important; padding:.55rem 1rem!important; border:1px solid var(--line)!important; border-radius:.75rem!important; outline:0!important; appearance:none!important; background:var(--sage)!important; color:var(--green)!important; box-shadow:none!important; font-weight:800!important; cursor:pointer; }
.l4d-wellness-hub-page .he-hub-clear:hover,.l4d-wellness-hub-page .he-hub-clear:focus { border-color:var(--green)!important; background:var(--green)!important; color:#fff!important; }
.he-hub-library { width:100%; max-width:90rem; margin-inline:auto; padding:10rem clamp(1rem,3vw,3rem) clamp(5rem,8vw,8rem); }
.he-hub-library-head { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:2.4rem; }
.he-hub-library-head .he-hub-kicker { justify-content:flex-start; margin-bottom:.65rem; }
.he-hub-library-head h2 { margin:0; font-size:clamp(2.4rem,4vw,4rem); letter-spacing:-.055em; line-height:1; }
.he-hub-library-head > p { margin:0; color:var(--muted); white-space:nowrap; }
.he-hub-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(1rem,1.6vw,1.5rem); }
.he-hub-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:1.35rem; background:#fff; box-shadow:0 .7rem 2rem rgba(23,53,47,.055); }
.he-hub-card[hidden] { display:none!important; }
.he-hub-card-image { position:relative; display:grid; place-items:center; min-height:11.5rem; overflow:hidden; background:linear-gradient(145deg,#edf3e9,#f7f4eb); }
.he-hub-card-image img { display:block; width:100%; height:11.5rem; padding:0; object-fit:cover; object-position:center; mix-blend-mode:normal; transition:transform .35s ease; }
.he-hub-card:hover .he-hub-card-image img { transform:scale(1.035); }
.he-hub-card-image > span { position:absolute; top:1rem; left:1rem; padding:.42rem .7rem; border-radius:999px; background:rgba(255,255,255,.92); color:var(--green); font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.he-hub-card-body { display:flex; flex:1; flex-direction:column; padding:1.1rem; }
.he-hub-card-body > p:first-child { margin:0 0 .55rem; color:var(--lime); font-size:.67rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.he-hub-card h3 { margin:0; font-size:1.18rem; letter-spacing:-.035em; line-height:1.18; }
.he-hub-card-summary { flex:1; margin:.8rem 0 1rem; color:var(--muted); font-size:.9rem; line-height:1.6; }
.he-hub-card-meta { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1rem; }
.he-hub-card-meta span { padding:.35rem .55rem; border-radius:999px; background:var(--sage); color:var(--green); font-size:.68rem; font-weight:700; }
.he-hub-card-link { display:flex; align-items:center; justify-content:space-between; padding-top:1rem; border-top:1px solid var(--line); color:var(--green); font-size:.84rem; font-weight:800; }
.he-hub-card-link span { font-size:1.1rem; }
.he-hub-empty,.he-hub-notice { padding:4rem 1rem; border:1px dashed var(--line); border-radius:1rem; color:var(--muted); text-align:center; }
@media (max-width:1200px) { .he-hub-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:900px) { .he-hub-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.he-hub-search { margin-bottom:-10.5rem; }.he-hub-library { padding-top:12rem; } }
@media (max-width:600px) { .he-hub-hero { padding-top:3.6rem; }.he-hub-hero h1 { font-size:clamp(2.7rem,13vw,4rem); }.he-hub-search { margin-top:2rem; margin-bottom:-13.5rem; }.he-hub-query { grid-template-columns:auto minmax(0,1fr); border-radius:1rem 1rem 0 0; }.he-hub-query button { grid-column:1/-1; width:100%; border-radius:.75rem; }.he-hub-filters { grid-template-columns:1fr; margin-top:0; border-radius:0 0 1rem 1rem; }.he-hub-library { padding-top:15.5rem; }.he-hub-library-head { align-items:start; }.he-hub-library-head > p { padding-top:.4rem; font-size:.75rem; }.he-hub-grid { grid-template-columns:1fr; }.he-hub-card-image,.he-hub-card-image img { min-height:13rem; height:13rem; } }

/* Shared responsive guardrails: contain unpredictable CMS content. */
.l4d-wellness-hub-page { min-width:0; max-width:100%; overflow-wrap:anywhere; }
.l4d-wellness-hub-page :where(img,video,canvas,iframe) { max-width:100%; }
.l4d-wellness-hub-page :where(input,select,textarea) { max-width:100%; }
