/* Shared hero geometry. Loaded after page-specific styles. */
:where(.page-hero,.tool-hero,.hub-hero){overflow:clip}

/* Keep in-page hero destinations visible below the sticky navigation. */
#calculator,
#healthCostCalculator,
#calculator-directory,
#guide-content,
#article-content,
#research-articles,
#editorial-process,
#complete-library-title,
#page-content,
#term-explanation{scroll-margin-top:120px}

.page-hero{padding-block:clamp(64px,7vw,96px)}
.page-hero>.hero-shell{display:grid;align-content:center;gap:20px;min-height:clamp(180px,20vw,280px)}

:is(.trust-hero,.page-hero,.tool-hero,.hub-hero,.article-opening) h1{
  width:100%;
  max-width:none;
  margin-inline:0;
  font-size:clamp(3.15rem,5.2vw,5.35rem);
  line-height:1.02;
  letter-spacing:-.05em;
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}

.page-hero>.hero-shell>:where(h1,.lede,.direct-answer){width:100%;max-width:none}
.page-hero>.hero-shell .direct-answer{font-size:clamp(1.08rem,1.5vw,1.28rem);line-height:1.55}

.trust-hero{
  height:auto;
  min-height:0;
  overflow:hidden;
  padding-block:clamp(46px,5vw,72px);
  background:linear-gradient(110deg,#fff 0%,#f7fbfc 48%,#eaf4f7 100%);
}
.trust-hero:after{content:none;display:none}
.trust-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(430px,.96fr);
  align-items:center;
  gap:clamp(36px,5vw,72px);
}
.trust-hero-copy{width:100%;min-width:0}
.trust-hero-copy>p{width:100%;max-width:none}
.trust-hero-media{min-width:0;margin:0;overflow:hidden;background:#dcecf3}
.trust-hero-media img{
  width:100%;
  height:clamp(410px,38vw,520px);
  max-width:none;
  object-fit:cover;
  object-position:58% center;
}

.hub-hero-grid,
.tool-hero-grid,
.article-opening,
.article-style-comparison .article-opening,
.article-style-process .article-opening,
.article-style-planning .article-opening,
.article-style-life-event .article-opening,
.article-style-troubleshooting .article-opening,
.article-style-reference .article-opening{
  grid-template-columns:minmax(0,1.5fr) minmax(290px,.65fr);
  gap:clamp(34px,4.5vw,64px);
}

.article-style-checklist .article-opening,
.article-style-specialist .article-opening{
  grid-template-columns:minmax(290px,.65fr) minmax(0,1.5fr);
}

.hub-hero-grid>div,
.tool-hero-grid>div,
.article-opening>.article-header{min-width:0;width:100%}

.hub-hero-grid :where(.lede,.direct-answer),
.tool-hero-grid :where(.lede,.direct-answer),
.article-opening :where(.lede,.direct-answer){width:100%;max-width:none}

.hub-hero-grid>img,
.tool-hero-grid>img,
.article-opening .article-cover img{width:100%;max-width:none}

@media (max-width:1100px) and (min-width:901px){
  :is(.trust-hero,.page-hero,.tool-hero,.hub-hero,.article-opening) h1{font-size:clamp(3rem,5.5vw,4.65rem)}
  .trust-hero-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.88fr);gap:36px}
  .trust-hero-media img{height:440px;object-position:60% center}
  .hub-hero-grid,
  .tool-hero-grid,
  .article-opening,
  .article-style-comparison .article-opening,
  .article-style-process .article-opening,
  .article-style-planning .article-opening,
  .article-style-life-event .article-opening,
  .article-style-troubleshooting .article-opening,
  .article-style-reference .article-opening{grid-template-columns:minmax(0,1.3fr) minmax(270px,.7fr)}
  .article-style-checklist .article-opening,
  .article-style-specialist .article-opening{grid-template-columns:minmax(270px,.7fr) minmax(0,1.3fr)}
}

@media (max-width:900px){
  .page-hero{padding-block:clamp(50px,8vw,72px)}
  .page-hero>.hero-shell{min-height:0;gap:17px}
  :is(.trust-hero,.page-hero,.tool-hero,.hub-hero,.article-opening) h1{font-size:clamp(3rem,8vw,4.35rem)}
  .trust-hero{height:auto;padding-block:52px}
  .trust-hero-grid{grid-template-columns:minmax(0,1fr);gap:34px}
  .trust-hero-copy{width:100%}
  .trust-hero-media{width:100%}
  .trust-hero-media img{height:auto;aspect-ratio:16/9;object-position:58% center}
  .hub-hero-grid,
  .tool-hero-grid,
  .article-opening,
  .article-style-comparison .article-opening,
  .article-style-process .article-opening,
  .article-style-checklist .article-opening,
  .article-style-planning .article-opening,
  .article-style-life-event .article-opening,
  .article-style-troubleshooting .article-opening,
  .article-style-reference .article-opening,
  .article-style-specialist .article-opening{grid-template-columns:minmax(0,1fr);gap:30px}
  .hub-hero-grid>img,
  .tool-hero-grid>img,
  .article-opening .article-cover img{width:min(100%,680px)}
}

@media (max-width:620px){
  .page-hero{padding-block:40px}
  .page-hero>.hero-shell{gap:14px}
  :is(.trust-hero,.page-hero,.tool-hero,.hub-hero,.article-opening) h1{
    font-size:clamp(2.35rem,10vw,3.15rem);
    line-height:1.04;
    letter-spacing:-.045em;
    text-wrap:wrap;
  }
  .page-hero>.hero-shell .direct-answer{font-size:1.03rem;line-height:1.5}
  .trust-hero{height:auto;padding-block:40px}
  .trust-hero-grid{gap:26px}
  .trust-hero-copy{width:100%}
  .trust-hero-media img{aspect-ratio:4/3;object-position:61% center}
  .hub-hero-grid,
  .tool-hero-grid,
  .article-opening,
  .article-style-comparison .article-opening,
  .article-style-process .article-opening,
  .article-style-checklist .article-opening,
  .article-style-planning .article-opening,
  .article-style-life-event .article-opening,
  .article-style-troubleshooting .article-opening,
  .article-style-reference .article-opening,
  .article-style-specialist .article-opening{gap:22px}
  .hub-hero-grid>img,
  .tool-hero-grid>img,
  .article-opening .article-cover img{width:100%;max-height:320px;object-fit:cover}
}
