/* Her Wellness Years: warm neutrals, sage and terracotta. Mobile-first. */
@font-face{font-family:"Fraunces";src:url(/fonts/fraunces-latin-var.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Fraunces";src:url(/fonts/fraunces-latin-italic-var.woff2) format("woff2");font-weight:400 600;font-style:italic;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(/fonts/source-sans-3-latin-var.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(/fonts/source-sans-3-latin-italic-var.woff2) format("woff2");font-weight:400 600;font-style:italic;font-display:swap}
:root{
  --cream:#F7F2EA;--paper:#FFFDF9;--sand:#EBE1D3;--sand-2:#E2D5C3;--ink:#2E2A26;--ink-2:#5A524A;--muted:#7A7068;
  --sage:#7F9479;--sage-d:#4E6148;--sage-l:#E4EADF;--terra:#B8643E;--terra-d:#94492A;--terra-l:#F4E2D7;--blush:#F3E6DD;
  --line:#E3D9CB;--radius:18px;--shadow:0 1px 2px rgba(60,40,20,.05),0 8px 24px -12px rgba(60,40,20,.18);
  --serif:"Fraunces",Georgia,"Times New Roman",serif;--sans:"Source Sans 3",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:400 1.0625rem/1.65 var(--sans);font-feature-settings:"kern","liga"}
img,svg{max-width:100%;display:block}
a{color:var(--sage-d);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--terra-d)}
h1,h2,h3{font-family:var(--serif);font-weight:560;line-height:1.18;letter-spacing:-.01em;color:var(--ink);margin:0 0 .5em}
h1{font-size:clamp(2rem,6.2vw,3.1rem)} h2{font-size:clamp(1.45rem,4vw,1.9rem)} h3{font-size:1.2rem}
h1 em,h2 em{font-style:italic;color:var(--terra);font-weight:500}
p{margin:0 0 1.05em}
.wrap{width:min(1120px,100% - 2.5rem);margin-inline:auto}
.narrow{width:min(760px,100% - 2.5rem)}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:99}.skip:focus{left:1rem}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:3px solid var(--terra);outline-offset:2px;border-radius:4px}
/* header */
.site-head{background:rgba(247,242,234,.92);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.head-row{display:flex;align-items:center;justify-content:space-between;min-height:64px;gap:1rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink);font:500 1.28rem/1 var(--serif);letter-spacing:-.01em}
.brand em{color:var(--terra);font-style:italic}
.logo-mark{width:38px;height:38px;flex:none}
.menu summary{list-style:none;cursor:pointer;width:44px;height:44px;display:grid;place-content:center;gap:5px;border-radius:12px}
.menu summary::-webkit-details-marker{display:none}
.menu summary span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px}
.menu[open] summary{background:var(--sand)}
.menu nav{position:absolute;left:0;right:0;top:64px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
.menu ul{list-style:none;margin:0;padding:.5rem 1.25rem 1rem;display:grid;grid-template-columns:1fr 1fr;gap:.1rem 1rem}
.menu a{display:block;padding:.65rem 0;text-decoration:none;color:var(--ink);font-weight:600;border-bottom:1px solid var(--line)}
.menu a[aria-current]{color:var(--terra-d)}
.nav-desk{display:none}
@media (min-width:980px){
  .menu{display:none}.nav-desk{display:block}
  .nav-desk ul{display:flex;list-style:none;margin:0;padding:0;gap:1.3rem}
  .nav-desk a{text-decoration:none;padding:.3rem 0;font-weight:600;font-size:.98rem;color:var(--ink-2)}
  .nav-desk a:hover,.nav-desk a[aria-current]{color:var(--terra-d);box-shadow:inset 0 -2px 0 var(--terra)}
}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.85rem 1.35rem;border-radius:999px;background:var(--sage-d);color:#fff;text-decoration:none;font-weight:700;letter-spacing:.01em;border:2px solid var(--sage-d);transition:background .2s,transform .2s;min-height:48px;text-align:center}
.btn:hover{background:#3E4F39;color:#fff;transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--sage-d)}.btn-ghost:hover{background:var(--sage-l);color:var(--sage-d)}
.btn-cta{background:var(--terra);border-color:var(--terra);width:100%;font-size:1.06rem}.btn-cta:hover{background:var(--terra-d);border-color:var(--terra-d)}
.btn-small{padding:.6rem 1.1rem;min-height:44px;font-size:.95rem;background:var(--terra);border-color:var(--terra)}.btn-small:hover{background:var(--terra-d)}
/* hero */
.hero{background:radial-gradient(1200px 500px at 85% 10%,var(--terra-l),transparent 60%),radial-gradient(900px 500px at 0% 100%,var(--sage-l),transparent 60%),var(--cream);border-bottom:1px solid var(--line)}
.hero-grid{display:grid;gap:2rem;padding:2.6rem 0 2.8rem;align-items:center}
.eyebrow{font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;color:var(--sage-d);margin-bottom:.9rem}
.hero h1{font-size:clamp(2.2rem,7.5vw,3.7rem);font-weight:520;margin-bottom:.4em}
.hero h1 em{display:block}
.lede{font-size:1.18rem;color:var(--ink-2);max-width:36em}
.hero-cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.4rem}
.hero-art svg{width:100%;height:auto;max-width:520px;margin-inline:auto}
@media (min-width:860px){.hero-grid{grid-template-columns:1.1fr .9fr;padding:4.5rem 0}}
/* sections & cards */
.home-sec{padding:2.6rem 0 .6rem}
.sec-title{font-size:clamp(1.5rem,4vw,2rem);margin-bottom:.4rem}
.sec-sub{color:var(--muted);margin-bottom:1.2rem}
.center{text-align:center;margin-top:1.6rem}
.cards{display:grid;gap:1.1rem;margin-top:1.2rem}
@media (min-width:640px){.cards{grid-template-columns:1fr 1fr}}
@media (min-width:980px){.cards{grid-template-columns:repeat(3,1fr)}}
.card a{display:flex;flex-direction:column;height:100%;padding:1.35rem 1.35rem 1.2rem;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .2s,border-color .2s}
.card a:hover{transform:translateY(-2px);border-color:var(--sage)}
.card h3{font-size:1.22rem;margin:.35rem 0 .5rem}
.card p{color:var(--ink-2);font-size:.98rem;margin:0 0 1rem;flex:1}
.card .more{font-weight:700;color:var(--terra-d);font-size:.95rem}
.card-review a{background:linear-gradient(180deg,var(--blush),var(--paper) 55%)}
.kicker{display:flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.11em;color:var(--sage-d);margin:0}
.kicker a{display:inline-flex;align-items:center;gap:.4rem;text-decoration:none;color:inherit}
.ico{width:1.2em;height:1.2em}.ico-sm{width:1.15rem;height:1.15rem}.ico-md{width:2.3rem;height:2.3rem}.ico-lg{width:3.4rem;height:3.4rem}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1.2rem}
@media (min-width:860px){.tiles{grid-template-columns:repeat(4,1fr)}}
.tile{display:flex;flex-direction:column;gap:.45rem;padding:1.15rem;border-radius:var(--radius);text-decoration:none;color:var(--ink);background:var(--paper);border:1px solid var(--line);transition:transform .2s}
.tile:hover{transform:translateY(-2px);color:var(--ink)}
.tile .ico{color:var(--terra)}.tile:nth-child(even) .ico{color:var(--sage-d)}
.tile-name{font:560 1.15rem/1.2 var(--serif)}.tile-blurb{font-size:.9rem;color:var(--muted);line-height:1.45}
@media (max-width:420px){.tile-blurb{display:none}}
.approach{margin-top:2rem;background:var(--sage-l);border-radius:24px;padding:2rem 1.4rem}
@media (min-width:860px){.approach{padding:2.6rem 3rem}}
.checks{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:1rem}
@media (min-width:860px){.checks{grid-template-columns:1fr 1fr;gap:1.2rem 2.4rem}}
.checks li{display:flex;gap:.7rem;align-items:flex-start}.checks .ico{color:var(--sage-d);flex:none;margin-top:.2rem}
/* breadcrumbs */
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.3rem;padding:0;margin:1.3rem 0 .4rem;font-size:.88rem;color:var(--muted)}
.crumbs li+li::before{content:"/";margin-right:.3rem;color:var(--sand-2)}
.crumbs a{color:var(--muted)}
/* hubs & pages */
.hub-head{display:flex;gap:1.1rem;align-items:center;padding:1.4rem 0 1rem}
.hub-ico{flex:none;width:76px;height:76px;border-radius:50%;background:var(--terra-l);color:var(--terra-d);display:grid;place-content:center}
.hub-head h1{margin:.2rem 0 .3rem}
.hub-intro{max-width:760px;margin:.4rem 0 1rem}
.hub-reviews{margin-top:2.6rem}
.page-head{padding:1rem 0 .4rem}
.dek{font-size:1.17rem;color:var(--ink-2);line-height:1.55}
.small{font-size:.9rem;color:var(--muted)}
.link-list{padding-left:1.1rem}.link-list li{margin:.35rem 0}
.all-sec{margin:1.6rem 0}.all-sec h2 a{text-decoration:none;color:var(--ink)}
/* article */
.post-head{padding:.6rem 0 .4rem}
.post-head h1{margin:.5rem 0 .5rem}
.byline{font-size:.9rem;color:var(--muted);margin:.6rem 0 1.2rem}
.byline a{color:var(--muted)}
.medical-note,.disclosure-top{font-size:.94rem;line-height:1.5;padding:.9rem 1.1rem;border-radius:14px;margin:0 0 1rem}
.medical-note{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--sage)}
.disclosure-top{background:var(--terra-l);border-left:4px solid var(--terra)}
.toc{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.2rem;margin:1.4rem 0}
.toc-h{font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.11em;color:var(--sage-d);margin:0 0 .4rem}
.toc ol{margin:0;padding-left:1.2rem;font-size:.97rem}.toc li{margin:.25rem 0}
.prose{font-size:1.1rem;line-height:1.72}
.prose h2{margin:2.1rem 0 .7rem;scroll-margin-top:84px}
.prose h3{margin:1.5rem 0 .5rem}
.prose ul,.prose ol{padding-left:1.3rem;margin:0 0 1.2em}.prose li{margin:.35rem 0}
.prose li::marker{color:var(--terra)}
.prose blockquote{margin:1.4rem 0;padding:.4rem 0 .4rem 1.2rem;border-left:3px solid var(--terra);font-family:var(--serif);font-style:italic;font-size:1.2rem;color:var(--ink-2)}
.box{border-radius:var(--radius);padding:1.15rem 1.3rem .4rem;margin:1.6rem 0;font-size:1.02rem}
.box-title{font:600 1.08rem/1.3 var(--serif);margin:0 0 .5rem}
.box-takeaways,.box-glance{background:var(--sage-l)}
.box-tip{background:var(--blush)}.box-note{background:var(--paper);border:1px solid var(--line)}
.box-doctor{background:#FBF1E6;border:1px solid #EBCFB4}
.box-doctor .box-title::before{content:"";display:inline-block;width:.55rem;height:.55rem;border-radius:50%;background:var(--terra);margin-right:.5rem;vertical-align:middle}
.box-verdict{background:var(--paper);border:2px solid var(--sage)}
.table-wrap{overflow-x:auto;margin:1.2rem 0 1.6rem;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
table{border-collapse:collapse;width:100%;font-size:.97rem;line-height:1.45}
th,td{text-align:left;padding:.7rem .85rem;border-bottom:1px solid var(--line);vertical-align:top}
th{background:var(--sand);font-weight:700}tr:last-child td{border-bottom:0}
.faq h3{font-size:1.12rem;margin-top:1.4rem}
.sources{margin-top:2.4rem;padding-top:1.2rem;border-top:1px solid var(--line);font-size:.93rem}
.sources h2{font-size:1.25rem}.sources ol{padding-left:1.3rem}.sources li{margin:.4rem 0;line-height:1.45}.sources .pub{color:var(--muted)}
.author-box{display:flex;gap:1rem;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem;margin:2rem 0;font-size:.95rem}
.author-box p{margin:0 0 .3rem}.author-name{font-weight:700}.author-mark .logo-mark{width:46px;height:46px}
.related{margin:2.4rem 0 1rem}.related .cards{grid-template-columns:1fr}
@media (min-width:640px){.related .cards{grid-template-columns:1fr 1fr 1fr}}
.related .card p{display:none}
/* affiliate */
.cta{background:var(--paper);border:2px solid var(--terra-l);border-radius:20px;padding:1.2rem 1.25rem;margin:1.8rem 0}
.cta-disc{font-size:.88rem;line-height:1.45;color:var(--ink-2);margin:0 0 .8rem}
.cta-note{font-size:.84rem;color:var(--muted);margin:.7rem 0 0;line-height:1.45}
.mention{background:var(--blush);border-radius:var(--radius);padding:1.1rem 1.25rem;margin:1.8rem 0;font-size:1rem}
.mention-h{font:600 1.05rem/1.3 var(--serif);margin:0 0 .4rem}
/* ads */
.ad-slot{margin:2rem 0;min-height:250px;display:grid;place-content:center;background:repeating-linear-gradient(45deg,var(--sand),var(--sand) 10px,var(--cream) 10px,var(--cream) 20px);border-radius:12px;color:var(--muted);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}
/* footer */
.site-foot{margin-top:4rem;background:#2F3A2C;color:#E7E2D8;padding:2.6rem 0 1.4rem;font-size:.95rem}
.site-foot a{color:#F1E6D6}.site-foot a:hover{color:#fff}
.foot-grid{display:grid;gap:1.8rem}
@media (min-width:860px){.foot-grid{grid-template-columns:2fr 1fr 1fr}}
.brand-foot{color:#fff;margin-bottom:.8rem}.brand-foot em{color:#E9A47F}
.foot-h{font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;color:#B9C5B2;margin:0 0 .6rem}
.site-foot ul{list-style:none;padding:0;margin:0}.site-foot li{margin:.35rem 0}.site-foot li a{text-decoration:none}
.foot-legal{border-top:1px solid rgba(255,255,255,.14);margin-top:2rem;padding-top:1.1rem;font-size:.83rem;color:#C9C3B8}
.nf{padding:4rem 0;text-align:center}.nf .btn{margin:.3rem}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.site-head,.site-foot,.toc,.related,.ad-slot,.cta .btn{display:none}}
/* offer page packages */
.pkgs{display:grid;gap:1rem;margin:1rem 0}
@media (min-width:700px){.pkgs{grid-template-columns:repeat(3,1fr)}}
.pkg{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;display:flex;flex-direction:column;text-align:center}
.pkg-best{border:2px solid var(--terra);box-shadow:var(--shadow)}
.pkg-n{font:600 1.5rem/1.1 var(--serif);margin:0 0 .3rem}.pkg-label{color:var(--sage-d);font-weight:700;font-size:.9rem;margin:0 0 .6rem}
.pkg-price{font-size:.95rem;color:var(--ink-2);flex:1}.pkg-disc{font-size:.8rem;margin:.2rem 0 .6rem}
.pkg .btn-cta{font-size:.98rem;padding:.8rem 1rem}

/* discreet end-of-article review pointer (informational skin/hair articles only) */
.reco-review{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--sage);border-radius:var(--radius);padding:1.15rem 1.25rem;margin:1.8rem 0 0}
.reco-kicker{font:600 .72rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage-d);margin:0 0 .4rem}
.reco-h{font:600 1.2rem/1.3 var(--serif);margin:0 0 .45rem}
.reco-review p{margin:0 0 .7rem}
.reco-link{margin:0!important}
.reco-link a{font-weight:600}

/* Native "you might also like" recommendation grid (our pages only, not an ad network) */
.reco-grid{margin:2.6rem 0 1.2rem}
.reco-grid > h2{margin-bottom:.9rem}
.reco-grid-cards{display:grid;gap:1rem}
@media (min-width:640px){.reco-grid-cards{grid-template-columns:1fr 1fr;gap:1.1rem}}
@media (min-width:980px){.reco-grid-cards{grid-template-columns:repeat(3,1fr)}}
.reco-card{min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;height:100%}
.reco-card a{display:flex;flex-direction:column;height:100%;color:var(--ink);text-decoration:none}
.reco-card a:hover{color:var(--ink)}
.reco-card a:hover .reco-card-h{color:var(--terra-d)}
.reco-card-media{display:block;aspect-ratio:8 / 5;background:var(--sand);overflow:hidden}
.reco-card-media img{width:100%;height:100%;object-fit:cover;object-position:left center;display:block}
.reco-card-body{display:flex;flex-direction:column;flex:1;padding:.9rem 1rem 1.05rem}
.reco-card-kicker{font:700 .68rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage-d);margin:0 0 .35rem}
.reco-card-h{font:560 1.08rem/1.28 var(--serif);margin:0 0 .4rem;letter-spacing:-.01em}
.reco-card-teaser{color:var(--ink-2);font-size:.92rem;line-height:1.45;margin:0 0 .7rem;flex:1}
.reco-card-aff{font-size:.75rem;color:var(--muted);margin:0 0 .55rem}
.reco-card-btn{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;min-height:40px;padding:.35rem .9rem;border-radius:999px;border:1.5px solid var(--sage-d);color:var(--sage-d);font-weight:700;font-size:.88rem;letter-spacing:.01em}
.reco-card a:hover .reco-card-btn{background:var(--sage-d);color:#fff}
.reco-card-review{border-color:var(--sand-2);background:linear-gradient(180deg,var(--blush),var(--paper) 42%)}
.reco-card-adslot[hidden]{display:none!important}

/* Mid-article single review card (after the 3rd paragraph) */
.reco-inline{margin:1.6rem 0;background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--sage);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.reco-inline-link{display:grid;grid-template-columns:1fr;color:var(--ink);text-decoration:none}
@media (min-width:640px){.reco-inline-link{grid-template-columns:minmax(0,240px) minmax(0,1fr);align-items:stretch}}
.reco-inline-media{display:block;aspect-ratio:8 / 5;background:var(--sand);overflow:hidden}
@media (min-width:640px){.reco-inline-media{aspect-ratio:auto;height:100%;min-height:160px}}
.reco-inline-media img{width:100%;height:100%;object-fit:cover;object-position:left center;display:block}
.reco-inline-body{padding:.95rem 1.1rem 1.1rem;display:flex;flex-direction:column}
.reco-inline-h{font:560 1.2rem/1.28 var(--serif);margin:0 0 .4rem}
.reco-inline-link:hover .reco-inline-h{color:var(--terra-d)}
.reco-inline .reco-card-btn{margin-top:.15rem}
@media print{.reco-grid,.reco-inline{display:none}}

/* Editorial photo hero on articles and reviews */
.post-hero{margin:.2rem 0 1.5rem;border-radius:var(--radius);overflow:hidden;background:var(--sand);aspect-ratio:1200 / 630}
.post-hero img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block}
