/* Graduated from the approved Care Spotlight, scoped to the homepage feature. */
#featured-at-haven {
  --cs-paper:#fffdfa; --cs-plum:#6b3a6b; --cs-plum-mid:#8b4c8b;
  --cs-ink:#352d36; --cs-muted:#655d66; --cs-line:#e7dfe5; --cs-gold:#d4a574;
  padding:1.5rem 0; background:#fbf8f5; color:var(--cs-ink);
  font-family:Inter,Arial,sans-serif; font-size:16px; line-height:1.5;
}
#featured-at-haven *, #featured-at-haven *::before, #featured-at-haven *::after { box-sizing:border-box; }
#featured-at-haven [hidden] { display:none!important; }
#featured-at-haven .cs-browse-controls { display:flex; width:min(100% - 2rem,1160px); min-height:60px; align-items:center; justify-content:space-between; gap:.8rem; margin:0 auto .75rem; padding:.5rem .65rem .5rem 1rem; border:1px solid #e3d3e1; border-radius:7px; background:#f3ebf2; }
#featured-at-haven .cs-browse-label { color:var(--cs-plum); font-size:.8rem; font-weight:750; letter-spacing:.01em; }
#featured-at-haven .cs-browse-label small { display:inline-flex; min-width:2.8rem; min-height:28px; align-items:center; justify-content:center; margin-left:.55rem; padding:.15rem .5rem; border:1px solid #decede; border-radius:999px; background:var(--cs-paper); color:var(--cs-plum); font-size:.72rem; font-variant-numeric:tabular-nums; font-weight:700; white-space:nowrap; }
#featured-at-haven .cs-browse-controls > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:324px; flex:0 0 auto; gap:.45rem; }
#featured-at-haven .cs-browse-controls button { display:inline-flex; min-width:0; min-height:44px; align-items:center; justify-content:center; gap:.45rem; padding:.5rem .8rem; border:1px solid var(--cs-plum); border-radius:5px; background:var(--cs-paper); color:var(--cs-plum); font:650 .82rem Inter,Arial,sans-serif; cursor:pointer; transition:background-color 160ms,color 160ms,transform 160ms; }
#featured-at-haven .cs-browse-controls button[data-spotlight-next] { border-color:var(--cs-plum); background:var(--cs-plum); color:var(--cs-paper); }
#featured-at-haven .cs-browse-controls button:hover { transform:translateY(-1px); background:#eadfea; }
#featured-at-haven .cs-browse-controls button[data-spotlight-next]:hover { background:var(--cs-plum-mid); }
#featured-at-haven .cs-spotlight { width:min(100% - 2rem,1160px); margin:0 auto; border:1px solid var(--cs-line); border-radius:9px; background:var(--cs-paper); overflow:hidden; box-shadow:0 16px 44px rgba(72,45,67,.055); }
#featured-at-haven .cs-hero { position:relative; display:grid; grid-template-columns:1.3fr .7fr; min-height:250px; background:linear-gradient(105deg,#fffdfa 0%,#fffdfa 54%,#f7f0f5 54%,#f7f0f5 100%); }
#featured-at-haven .cs-hero-no-art { grid-template-columns:1fr; background:var(--cs-paper); }
#featured-at-haven .cs-hero-no-art .cs-hero-copy { max-width:850px; }
#featured-at-haven .cs-hero-copy { align-self:center; padding:clamp(1rem,2.8vw,2rem) clamp(1.2rem,3.2vw,2.5rem); }
#featured-at-haven .cs-kicker { display:block; margin:0 0 .55rem; color:var(--cs-plum); font-size:.7rem; font-weight:750; letter-spacing:.12em; line-height:1.4; text-transform:uppercase; }
#featured-at-haven .cs-hero h2 { margin:0; color:var(--cs-ink); font:600 clamp(2rem,3.6vw,2.9rem)/1.08 "Playfair Display",Georgia,serif; letter-spacing:-.03em; }
#featured-at-haven .cs-hero-stretched-link { color:inherit; text-decoration:none; }
#featured-at-haven .cs-hero-stretched-link::after { position:absolute; z-index:2; inset:0; content:""; }
#featured-at-haven .cs-hero-stretched-link:focus-visible { outline:none; }
#featured-at-haven .cs-hero-stretched-link:focus-visible::after { outline:3px solid var(--cs-gold); outline-offset:-4px; }
#featured-at-haven h2 em, #featured-at-haven h3 em { color:var(--cs-plum); font-weight:500; }
#featured-at-haven .cs-lede { max-width:480px; margin:.95rem 0 1.2rem; color:var(--cs-muted); font-size:.94rem; line-height:1.64; }
#featured-at-haven .cs-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem 1.1rem; }
#featured-at-haven .cs-hero-actions > a { position:relative; z-index:3; }
#featured-at-haven .cs-button { display:inline-flex; min-height:44px; align-items:center; justify-content:center; gap:.65rem; padding:.62rem .9rem; border:1px solid transparent; border-radius:4px; font-size:.79rem; font-weight:700; line-height:1.35; text-decoration:none; transition:background-color 160ms,transform 160ms; }
#featured-at-haven .cs-button-primary { border-color:var(--cs-plum); background:var(--cs-plum); color:white; }
#featured-at-haven .cs-button-primary:hover { transform:translateY(-1px); background:var(--cs-plum-mid); }
#featured-at-haven .cs-text-link { color:var(--cs-plum); font-size:.79rem; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
#featured-at-haven .cs-hero-art { position:relative; display:flex; min-height:220px; align-items:center; justify-content:center; padding:1rem; overflow:hidden; }
#featured-at-haven .cs-hero-art::before { position:absolute; width:min(79%,360px); aspect-ratio:1; border:1px solid rgba(107,58,107,.12); border-radius:50%; background:radial-gradient(circle,rgba(255,253,250,.88) 0 38%,rgba(245,237,242,.25) 39% 69%,transparent 70%); content:""; }
#featured-at-haven .cs-hero-art img { position:relative; z-index:1; width:min(78%,240px); height:auto; max-height:225px; object-fit:contain; filter:saturate(.83); }
#featured-at-haven .cs-art-copy { position:relative; margin:0; padding:.5rem; color:var(--cs-muted); font-size:.9rem; }
#featured-at-haven .cs-art-copy h3 { font:600 1.4rem/1.3 "Playfair Display",Georgia,serif; }
#featured-at-haven .cs-assessment-host { background:#f9f5f8; overflow:visible; }
#featured-at-haven #tracker { padding:0; scroll-margin-top:100px; }
#featured-at-haven #tracker > .container { width:100%; max-width:none; margin:0; padding:0; }
#featured-at-haven .hp-tracker-details { border:0; border-radius:0; border-block:1px solid var(--cs-line); background:#f9f5f8; }
#featured-at-haven .hp-tracker-details > summary { padding:.85rem clamp(1rem,3.5vw,2.5rem); min-height:75px; }
#featured-at-haven .hp-tracker-content { padding:1.3rem clamp(1rem,3.5vw,2.5rem); background:var(--cs-paper); }
#featured-at-haven .cs-details-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(1rem,3vw,2.4rem); padding:1.25rem clamp(1rem,3.5vw,2.5rem); }
#featured-at-haven .cs-section-intro { margin-bottom:1rem; }
#featured-at-haven .cs-section-intro h3, #featured-at-haven .cs-pathway-heading h3 { margin:0; color:var(--cs-ink); font:600 1.7rem/1.17 "Playfair Display",Georgia,serif; letter-spacing:-.025em; }
#featured-at-haven .cs-section-intro > p:last-child { margin:.5rem 0 0; color:var(--cs-muted); font-size:.9rem; line-height:1.55; }
#featured-at-haven .cs-capability { display:grid; grid-template-columns:28px 1fr 34px; gap:.7rem; padding:.85rem .1rem; border-top:1px solid var(--cs-line); }
#featured-at-haven .cs-cap-number { padding-top:.1rem; color:#b18ab0; font:600 .78rem "Playfair Display",Georgia,serif; }
#featured-at-haven .cs-capability .cs-kicker { margin-bottom:.18rem; }
#featured-at-haven .cs-capability h4 { margin:0 0 .24rem; color:var(--cs-ink); font:600 1.05rem "Playfair Display",Georgia,serif; }
#featured-at-haven .cs-capability p:not(.cs-kicker) { margin:0; color:var(--cs-muted); font-size:.9rem; line-height:1.48; }
#featured-at-haven .cs-hormone-watch { position:relative; z-index:3; display:inline-flex; min-height:44px; align-items:center; justify-content:center; gap:.55rem; margin:.3rem 0 .75rem 2.8rem; padding:.55rem .8rem; border:1px solid var(--cs-plum); border-radius:4px; background:var(--cs-paper); color:var(--cs-plum); font-family:inherit; font-size:.8rem; font-weight:700; cursor:pointer; transition:background-color 160ms,transform 160ms; }
#featured-at-haven .cs-hormone-watch:hover { transform:translateY(-1px); background:#f3ebf2; }
#featured-at-haven .cs-hormone-noscript { position:relative; z-index:3; margin:.2rem 0 .7rem 2.8rem; font-size:.82rem; }
#featured-at-haven .cs-hormone-noscript a { color:var(--cs-plum); font-weight:700; text-underline-offset:3px; }
#featured-at-haven .cs-capability a, #featured-at-haven .cs-faq-answer a, #featured-at-haven .cs-video-actions a, #featured-at-haven .cs-video-actions button { display:inline-flex; align-items:center; min-height:32px; gap:.3rem; margin-top:.42rem; padding:0; border:0; background:none; color:var(--cs-plum); font-size:.82rem; font-weight:700; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
#featured-at-haven .cs-cap-icon { display:grid; width:31px; height:31px; place-items:center; border:1px solid #e6d8e4; border-radius:50%; color:var(--cs-plum); }
#featured-at-haven .cs-cap-icon svg { width:18px; height:18px; }
#featured-at-haven .cs-more-options { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.5rem; margin-top:.25rem; padding:.7rem .75rem; background:#f7f2f6; }
#featured-at-haven .cs-more-options > span { color:var(--cs-muted); font-size:.75rem; }
#featured-at-haven .cs-more-options a { color:var(--cs-plum); font-size:.82rem; font-weight:700; text-decoration:underline; }
#featured-at-haven .cs-biote { margin:.7rem 0; border:1px solid #e6d8e4; background:#fbf7fa; }
#featured-at-haven .cs-biote > summary { display:flex; min-height:44px; align-items:center; justify-content:space-between; gap:.65rem; padding:.55rem .7rem; color:var(--cs-plum); font-size:.85rem; font-weight:700; cursor:pointer; list-style:none; }
#featured-at-haven .cs-biote > summary::-webkit-details-marker { display:none; }
#featured-at-haven .cs-biote > summary::after { content:"+"; font-size:1.1rem; }
#featured-at-haven .cs-biote[open] > summary::after { content:"−"; }
#featured-at-haven .cs-biote-copy { padding:0 .7rem .7rem; color:var(--cs-muted); font-size:.82rem; line-height:1.5; }
#featured-at-haven .cs-biote-copy p { margin:.3rem 0 .55rem; }
#featured-at-haven .cs-biote-copy .cs-biote-safety { padding:.55rem .65rem; border-left:2px solid var(--cs-gold); background:#f7f0f5; }
#featured-at-haven .cs-biote-copy a { color:var(--cs-plum); font-weight:700; text-decoration:underline; text-underline-offset:3px; }
#featured-at-haven .cs-care-points { color:var(--cs-muted); font-size:.9rem; line-height:1.6; padding-left:1.2rem; }
#featured-at-haven .cs-video-panel { padding:.9rem; border:1px solid var(--cs-line); background:#f8f3f7; }
#featured-at-haven .cs-video-heading { display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-bottom:.6rem; }
#featured-at-haven .cs-video-heading .cs-kicker { margin-bottom:.1rem; }
#featured-at-haven .cs-video-heading h3 { margin:0; color:var(--cs-ink); font:600 1.18rem "Playfair Display",Georgia,serif; }
#featured-at-haven .cs-video-duration { padding:.25rem .45rem; border:1px solid #e6d8e4; border-radius:20px; color:var(--cs-plum); font-size:.7rem; }
#featured-at-haven .cs-video-poster { position:relative; display:block; width:100%; aspect-ratio:16/9; padding:0; overflow:hidden; border:0; background:#ddd2da; cursor:pointer; }
#featured-at-haven .cs-video-poster img { display:block; width:100%; height:100%; object-fit:cover; transition:transform 250ms; }
#featured-at-haven .cs-video-poster:hover img { transform:scale(1.025); }
#featured-at-haven .cs-video-poster::after { position:absolute; inset:45% 0 0; background:linear-gradient(transparent,rgba(34,24,34,.69)); content:""; }
#featured-at-haven .cs-play-icon { position:absolute; z-index:1; top:50%; left:50%; display:grid; width:49px; height:49px; place-items:center; border:1px solid rgba(255,255,255,.85); border-radius:50%; background:rgba(53,45,54,.72); transform:translate(-50%,-50%); }
#featured-at-haven .cs-play-icon i { width:0; height:0; margin-left:3px; border-top:7px solid transparent; border-bottom:7px solid transparent; border-left:10px solid white; }
#featured-at-haven .cs-poster-caption { position:absolute; z-index:1; bottom:.7rem; left:.75rem; color:white; font-size:.8rem; font-weight:650; }
#featured-at-haven [data-video-stage] > iframe { display:block; width:100%; aspect-ratio:16/9; border:0; background:#27212a; }
#featured-at-haven .cs-video-caption { margin:.45rem 0 0; color:var(--cs-muted); font-size:.75rem; line-height:1.4; }
#featured-at-haven .cs-video-choices { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.55rem; }
#featured-at-haven .cs-video-choices button { position:relative; z-index:3; display:inline-flex; min-height:44px; align-items:center; justify-content:center; padding:.5rem .75rem; border:1px solid #d9c8d8; border-radius:4px; background:var(--cs-paper); color:var(--cs-plum); font-family:inherit; font-size:.77rem; font-weight:650; cursor:pointer; transition:background-color 160ms,transform 160ms; }
#featured-at-haven .cs-video-choices button[aria-pressed="true"] { border-color:var(--cs-plum); background:var(--cs-plum); color:var(--cs-paper); }
#featured-at-haven .cs-video-choices button:hover { transform:translateY(-1px); background:#eee4ed; }
#featured-at-haven .cs-video-choices button[aria-pressed="true"]:hover { background:var(--cs-plum-mid); }
#featured-at-haven .cs-video-choices button:focus-visible, #featured-at-haven .cs-hormone-watch:focus-visible { outline:3px solid var(--cs-gold); outline-offset:3px; }
#featured-at-haven .cs-story-preview { display:flex; align-items:center; gap:.7rem; width:100%; margin-top:.7rem; padding:.4rem; border:1px solid var(--cs-line); background:var(--cs-paper); color:var(--cs-plum); text-align:left; cursor:pointer; }
#featured-at-haven .cs-story-preview img { width:76px; height:auto; aspect-ratio:16/9; object-fit:cover; }
#featured-at-haven .cs-story-preview > span:first-of-type { flex:1; font-size:.82rem; font-weight:650; }
#featured-at-haven .cs-story-preview small { display:block; margin-top:.2rem; color:var(--cs-muted); font-size:.75rem; font-weight:400; }
#featured-at-haven .cs-video-actions { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.35rem .8rem; margin-top:.1rem; }
#featured-at-haven .cs-faq { margin-top:.8rem; padding:.85rem .9rem; border:1px solid var(--cs-line); background:var(--cs-paper); }
#featured-at-haven .cs-faq > summary { display:flex; min-height:44px; align-items:center; justify-content:space-between; gap:.7rem; color:var(--cs-ink); font-size:.82rem; font-weight:700; cursor:pointer; list-style:none; }
#featured-at-haven .cs-faq > summary::-webkit-details-marker { display:none; }
#featured-at-haven .cs-faq > summary::after { content:"+"; color:var(--cs-plum); font-size:1.15rem; }
#featured-at-haven .cs-faq[open] > summary::after { content:"−"; }
#featured-at-haven .cs-faq .cs-kicker { margin-bottom:.25rem; }
#featured-at-haven .cs-faq-answer p { margin:.25rem 0 0; color:var(--cs-muted); font-size:.9rem; line-height:1.55; }
#featured-at-haven .cs-faq-highlights { margin-top:.8rem; padding:.85rem .9rem; border:1px solid var(--cs-line); background:var(--cs-paper); }
#featured-at-haven .cs-faq-highlights > .cs-kicker { margin-bottom:.5rem; }
#featured-at-haven .cs-faq-item > summary { display:flex; min-height:64px; align-items:center; justify-content:space-between; gap:.7rem; color:var(--cs-ink); font:600 1.04rem/1.4 "Playfair Display",Georgia,serif; cursor:pointer; list-style:none; }
#featured-at-haven .cs-faq-item > summary::-webkit-details-marker { display:none; }
#featured-at-haven .cs-faq-item > summary::after { content:"+"; flex:none; color:var(--cs-plum); font:600 1.4rem Inter,Arial,sans-serif; }
#featured-at-haven .cs-faq-item[open] > summary::after { content:"−"; }
#featured-at-haven .cs-faq-item > summary:focus-visible { outline:2px solid var(--cs-plum); outline-offset:3px; }
#featured-at-haven .cs-faq-short-answer p { margin:0 0 .6rem; }
#featured-at-haven .cs-faq-short-answer a { color:var(--cs-plum); font-weight:600; text-underline-offset:3px; }
#featured-at-haven .cs-faq-pause { display:block; min-height:44px; margin:.2rem auto 0; padding:.3rem .6rem; border:0; background:transparent; color:var(--cs-muted); font:500 .75rem Inter,Arial,sans-serif; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
#featured-at-haven .cs-faq-short-answer { margin:.4rem 0 0; color:var(--cs-muted); font-size:.88rem; line-height:1.55; }
#featured-at-haven .cs-faq-controls { display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-top:.65rem; padding-top:.55rem; border-top:1px solid var(--cs-line); }
#featured-at-haven .cs-faq-controls button { min-height:44px; padding:.35rem .45rem; border:0; background:transparent; color:var(--cs-plum); font:700 .78rem Inter,Arial,sans-serif; cursor:pointer; }
#featured-at-haven .cs-faq-controls [data-faq-count] { color:var(--cs-muted); font-size:.73rem; font-variant-numeric:tabular-nums; }
#featured-at-haven .cs-pathways { display:grid; grid-template-columns:.78fr 1fr 1fr; gap:.75rem; padding:1rem clamp(1rem,3.5vw,2.5rem) 1.35rem; border-top:1px solid var(--cs-line); background:#f8f3f7; }
#featured-at-haven .cs-pathway-heading { align-self:center; padding-right:.5rem; }
#featured-at-haven .cs-pathway-heading h3 { font-size:1.7rem; }
#featured-at-haven .cs-pathway { display:flex; min-height:150px; flex-direction:column; padding:.85rem .9rem; border:1px solid #e6dce5; background:var(--cs-paper); color:inherit; text-decoration:none; transition:transform 160ms,border-color 160ms; }
#featured-at-haven .cs-pathway:hover { transform:translateY(-2px); border-color:#c6a9c4; }
#featured-at-haven .cs-pathway-index { color:var(--cs-plum); font-size:.7rem; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
#featured-at-haven .cs-pathway-title { margin-top:.5rem; color:var(--cs-ink); font:600 1.02rem "Playfair Display",Georgia,serif; }
#featured-at-haven .cs-pathway-copy { margin-top:.3rem; color:var(--cs-muted); font-size:.9rem; line-height:1.45; }
#featured-at-haven .cs-pathway-link { display:flex; justify-content:space-between; gap:.3rem; margin-top:auto; padding-top:.55rem; color:var(--cs-plum); font-size:.82rem; font-weight:700; }
#featured-at-haven .cs-guide-link { margin:0; padding:.8rem 1rem; color:var(--cs-plum); font-size:.9rem; text-align:center; }
#featured-at-haven .cs-guide-link a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
#featured-at-haven :is(a,button,input,summary):focus-visible { outline:3px solid var(--cs-gold); outline-offset:3px; }
#featured-at-haven .cs-hero-stretched-link:focus-visible { outline:none; }
@media(max-width:767px) {
  #featured-at-haven .cs-browse-controls { width:min(100% - 1rem,560px); }
  #featured-at-haven .cs-spotlight { width:min(100% - 1rem,560px); border-radius:7px; }
  #featured-at-haven .cs-hero { grid-template-columns:minmax(0,1fr); background:var(--cs-paper); }
  #featured-at-haven .cs-hero-copy { padding:1.35rem 1rem .8rem; }
  #featured-at-haven .cs-hero h2 { font-size:clamp(2rem,9vw,2.6rem); }
  #featured-at-haven .cs-lede { margin:.75rem 0 1rem; font-size:.9rem; }
  #featured-at-haven .cs-hero-art { display:none; }
  #featured-at-haven .hp-tracker-details > summary { padding:.8rem; }
  #featured-at-haven .hp-tracker-content { padding:1rem .75rem; }
  #featured-at-haven .cs-details-grid { grid-template-columns:minmax(0,1fr); gap:1rem; padding:1.25rem .9rem; }
  #featured-at-haven .cs-media-column { order:-1; }
  #featured-at-haven .cs-hormone-watch, #featured-at-haven .cs-hormone-noscript { margin-left:2.3rem; }
  #featured-at-haven .cs-video-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  #featured-at-haven .cs-video-choices button { padding-inline:.4rem; }
  #featured-at-haven .cs-pathways { grid-template-columns:minmax(0,1fr); gap:.55rem; padding:.95rem .9rem 1rem; }
  #featured-at-haven .cs-pathway-heading h3 br { display:none; }
  #featured-at-haven .cs-pathway { min-height:140px; }
}
@media(max-width:430px) {
  #featured-at-haven .cs-browse-controls { flex-wrap:wrap; gap:.35rem .5rem; padding:.55rem; }
  #featured-at-haven .cs-browse-label { flex:1 1 100%; padding-left:.2rem; }
  #featured-at-haven .cs-browse-controls > div { width:100%; }
  #featured-at-haven .cs-browse-controls button { padding:.45rem .35rem; }
}
@media(prefers-reduced-motion:reduce) {
  #featured-at-haven *, #featured-at-haven *::before, #featured-at-haven *::after { transition:none!important; scroll-behavior:auto!important; }
}
@media print {
  #featured-at-haven .cs-browse-controls { display:none!important; }
  body.homepage:has(#featured-at-haven[data-featured-topic="heavy-bleeding"]) #main-content > :not(#featured-at-haven),
  #featured-at-haven[data-featured-topic="heavy-bleeding"] .cs-spotlight > :not(.cs-assessment-host) { display:none!important; }
  #featured-at-haven[data-featured-topic="heavy-bleeding"], #featured-at-haven[data-featured-topic="heavy-bleeding"] :is(.cs-spotlight,.cs-assessment-host) { width:100%!important; margin:0!important; padding:0!important; border:0!important; overflow:visible!important; box-shadow:none; }
}
