/* Home page (prefix hm-). Shared components live in site.css. */

.hm-wide { width: min(100% - 2 * var(--gutter), 1240px); }

/* Hero: bright sunrise photo, copy straight on the sky, glass card right */
.hm-hero { --hero-h: 292px; --hero-pos: 50% 52%; --hero-copy: 590px; }
.hm-hero::before { --hero-fade: linear-gradient(90deg, rgba(255,255,255,.6) 0%, rgba(255,255,255,.42) 40%, rgba(255,255,255,0) 56%); }
.hm-hero .hero__inner { padding-block: .9rem; }
.hm-hero .hero__title { font-size: clamp(1.9rem, 1rem + 2vw, 2.15rem); line-height: 1.06; letter-spacing: -.03em; margin-bottom: .35em; }
.hm-hero .hero__title .accent { color: #2e9a3e; }
.hm-hero .hero__lead { font-size: max(clamp(.88rem, .82rem + .2vw, .94rem), 16px) /* rt-1019 */; line-height: 1.4; color: #14223a; max-width: 37rem; }
.hm-hero .hero__actions { gap: 1.2rem; margin-top: .9rem; }
.hm-hero .hero__actions .btn { min-height: 42px; font-size: .9rem; padding: .5rem 1.05rem; }
/* The photo is set 114% wide so the hiker sits just right of the copy, as in the design */
.hm-hero .hero__bg img { width: 120%; max-width: none; }
.hm-hero__cta { box-shadow: 0 0 0 3px rgba(255, 255, 255, .85); }
.hm-hero__video { --btn-bg: rgba(255, 255, 255, .92); border-width: 2px; }
.hm-hero__video .icon { width: 1.3em; height: 1.3em; }
.hm-hero__ticks { margin-top: .75rem; gap: .4rem 1.9rem; color: #14223a; font-weight: 500; font-size: .82rem; }
.hm-hero__ticks .icon { color: #14223a; }
.hm-hero__fine { margin: .8rem 0 0; padding-top: .6rem; border-top: 1px solid #dde4ee; font-size: max(.68rem, 14px) /* rt-1019 */; line-height: 1.4; color: #4a566c; }
.hm-hero__fine a { color: inherit; }
.hm-hero__card { width: 232px; padding: .95rem 1rem; margin-right: clamp(0px, 9vw - 70px, 60px); }
.hm-points { list-style: none; margin: 0; padding: 0; display: grid; gap: .9rem; }
.hm-points .info { align-items: center; gap: .85rem; }
.hm-points .info > .icon { width: 27px; height: 27px; color: var(--ink); }
.hm-points h2 { margin: 0 0 .1rem; font-size: .82rem; font-weight: 700; letter-spacing: 0; }
.hm-points p { margin: 0; font-size: max(.72rem, 16px) /* rt-1019 */; color: #404d63; }

/* Six topic cards directly under the hero */
.hm-topics { padding-block: .65rem .2rem; }
.hm-topics__grid { list-style: none; margin: 0; padding: 0; }
.hm-topics .topic-card { gap: .5rem; padding: .65rem .55rem; border-radius: 8px; background: #f2f5f9; }
.hm-topics .topic-card h3 { font-size: .86rem; }
.hm-topics .topic-card p { font-size: max(.7rem, 16px) /* rt-1019 */; line-height: 1.36; margin-bottom: .3em; }
.hm-topics .topic-card .link-arrow { font-size: .74rem; white-space: nowrap; }
.hm-topics .ib { --s: 30px; border-radius: 6px; }

/* Main two-column area */
.hm-main { display: grid; grid-template-columns: minmax(0, 1fr) 470px; gap: 1rem 1.25rem; padding-block: .75rem 1rem; align-items: start; }
.hm-main .section-head { margin-bottom: .6rem; }
.hm-main .section-head h2 { font-size: clamp(1.2rem, 1rem + .5vw, 1.38rem); }
.hm-main .section-head p { font-size: max(.86rem, 16px) /* rt-1019 */; margin-top: .15rem; }
.hm-tools, .hm-blog ul { list-style: none; margin: 0; padding: 0; }
.hm-tools .tool-card { gap: .5rem; padding: .55rem .5rem; align-items: center; }
.hm-tools .tool-mark { --s: 42px; }
.hm-tools .badge { font-size: .56rem; padding: .12rem .3rem; white-space: nowrap; }
.hm-tools h3 { font-size: .86rem; margin: .25rem 0 0; }
.hm-tools .tool-card__sub { font-size: .68rem; }
.hm-tools .rating { margin: .2rem 0 .3rem; font-size: .7rem; gap: .1rem .25rem; }
.hm-tools .stars .icon { width: .78rem; height: .78rem; }
.hm-tools .link-arrow { font-size: .74rem; }
.hm-blog { margin-top: .9rem; }
.hm-blog .post-card__media { --ratio: 4 / 1; }
.hm-blog .post-card__body { padding: .5rem .5rem 0; gap: .25rem; }
.hm-blog .post-card h3 { font-size: .86rem; line-height: 1.25; }
.hm-blog .meta { font-size: .74rem; gap: 2.2rem; }
.hm-main__right { display: flex; flex-direction: column; align-items: stretch; }
.hm-reviews-all { align-self: flex-end; margin-bottom: .45rem; font-size: .84rem; }

/* Starter-kit lead box with the cover mockup */
.hm-kit { display: grid; grid-template-columns: minmax(0, 1fr) 150px; grid-template-areas: "copy cover" "list cover" "form form"; gap: .4rem 1rem; padding: 1.1rem 1.25rem 1rem; background: linear-gradient(135deg, #f1f8f2 0%, #e7f2e8 100%); }
.hm-kit__copy { grid-area: copy; }
.hm-kit .eyebrow { font-size: .74rem; margin-bottom: .35rem; }
.hm-kit .lead-box__title { font-size: 1.42rem; line-height: 1.15; margin-bottom: .4rem; }
.hm-kit .lead-box__text { font-size: max(.86rem, 16px) /* rt-1019 */; color: #45526a; margin-bottom: .2rem; }
.hm-kit__list { grid-area: list; gap: .5rem .7rem; align-self: start; }
.hm-kit__list li { font-size: max(.76rem, 16px) /* rt-1019 */; padding-left: 1.45rem; }
.hm-kit__list li::before { width: 1rem; height: 1rem; }
.hm-kit__cover { grid-area: cover; display: grid; place-items: center; }
.hm-kit__cover .ebook { --w: 148px; }
.hm-kit__cover .ebook__title { font-size: 1.12rem; margin-top: .55rem; }
.hm-kit__form { grid-area: form; margin-top: .55rem; }
.hm-kit__form input { min-height: 40px; font-size: .84rem; }
.hm-kit__form .btn { min-height: 40px; font-size: .86rem; padding-inline: 1rem; }
.hm-kit__form .form-fine { font-size: max(.74rem, 14px) /* rt-1019 */; }

/* Wordmark strip */
.logo-strip { border-top: 1px solid #e7ecf2; }
.logo-strip li a { color: #3c4a63; text-decoration: none; }
.logo-strip li a:hover { color: var(--green-700); text-decoration: underline; }
.logo-strip__label { font-family: var(--font-body); font-weight: 400; letter-spacing: 0; font-size: .8rem; }

@media (max-width: 1180px) {
  .hm-main { grid-template-columns: minmax(0, 1fr) 400px; }
  .hm-tools { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hm-kit { grid-template-columns: minmax(0, 1fr) 130px; }
  .hm-kit__cover .ebook { --w: 128px; }
  .hm-kit__cover .ebook__title { font-size: .95rem; }
  .hm-kit__list { grid-template-columns: minmax(0, 1fr); }
  .hm-hero::before { --hero-fade: linear-gradient(90deg, rgba(255,255,255,.8) 0%, rgba(255,255,255,.65) 55%, rgba(255,255,255,.1) 75%); }
}
@media (max-width: 1024px) {
  .hm-topics__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
  .hm-kit { grid-template-columns: minmax(0, 1fr) 170px; }
  .hm-kit__cover .ebook { --w: 160px; }
  .hm-kit__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hm-hero__card { width: 100%; margin-right: 0; }
  .hm-points { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hm-main { grid-template-columns: minmax(0, 1fr); }
  .hm-main__right { order: 2; }
  .hm-reviews-all { display: none; }
}
@media (max-width: 760px) {
  .hm-hero { --hero-mobile-h: 190px; --hero-pos: 50% 58%; }
  .hm-hero .hero__bg img { width: 100%; }
  .hm-hero .hero__actions .btn { width: 100%; }
  .hm-blog .post-card { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: .75rem; align-items: start; }
  .hm-blog .post-card__media { --ratio: 4 / 3; }
  .hm-blog .post-card__body { padding: 0; }
}
@media (max-width: 640px) {
  .hm-topics__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hm-topics .topic-card { flex-direction: column; gap: .5rem; }
  .hm-tools { grid-template-columns: minmax(0, 1fr); }
  .hm-kit { grid-template-columns: minmax(0, 1fr); grid-template-areas: "cover" "copy" "list" "form"; }
}
@media (max-width: 420px) {
  .hm-points { grid-template-columns: minmax(0, 1fr); }
}
