/* Focused homepage (landing/focused_home.html), in the Business Pack pages'
   visual language (business_plan/css/pack-detail.css): emerald on deep
   forest, 800-weight tight headings, soft layered shadows. Colours from
   tokens.css. Selectors are scoped under .fh / .fh-nav because
   base_marketing.html loads the vendor theme's style.css, which styles bare
   headings, links and lists. */

.fh, .fh-nav {
  --fh-ink: var(--slate-900);
  --fh-body: var(--slate-600);
  --fh-line: var(--slate-200);
  --fh-radius: 20px;
  --fh-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 18px 40px -22px rgba(15, 23, 42, .35);
  --fh-ease: cubic-bezier(.2, .8, .2, 1);
  --fh-forest: linear-gradient(135deg, var(--emerald-900) 0%, var(--slate-900) 70%);
}

/* ── Header ─────────────────────────────────────────────────────────────── */
.fh-nav { position: sticky; top: 0; z-index: 1030; background: rgba(255, 255, 255, .92); backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid var(--fh-line); }
.fh-nav__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); min-height: 68px; }
.fh-nav__brand { display: flex; align-items: center; gap: var(--space-2); text-decoration: none; }
.fh-nav__brand img { height: 40px; width: auto; display: block; }
.fh-nav__name { font-size: 1.25rem; font-weight: 800; letter-spacing: -.02em; color: var(--fh-ink); }
.fh-nav__links { display: flex; align-items: center; gap: var(--space-5); }
.fh-nav__links a { color: var(--slate-700); font-weight: 600; text-decoration: none; white-space: nowrap; }
.fh-nav__links a:hover, .fh-nav__links a:focus-visible { color: var(--emerald-700); }
.fh-nav .fh-nav__cta { padding: 8px 16px; border-radius: 10px; background: var(--fh-ink); color: var(--white); }
.fh-nav .fh-nav__cta:hover, .fh-nav .fh-nav__cta:focus-visible { background: var(--emerald-800); color: var(--white); }

/* ── Shared ─────────────────────────────────────────────────────────────── */
.fh { color: var(--fh-body); }
.fh .container { max-width: 76rem; }
.fh h2, .fh h3 { color: var(--fh-ink); }
.fh a { color: var(--emerald-700); }
.fh ul, .fh ol { margin: 0; padding: 0; list-style: none; }
.fh-section { padding: 88px 0; }
.fh-section--tint { background: var(--slate-50); }
.fh-section--tight { padding: 40px 0; }
.fh-section__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-6); }
.fh-section__head .fh-section__title { margin-bottom: 0; }
.fh-section__title { font-size: clamp(1.75rem, 1.2rem + 1.8vw, 2.6rem); font-weight: 800; line-height: 1.12; letter-spacing: -.025em; margin: 0 0 var(--space-6); }
.fh-section__lead { font-size: 1.0625rem; line-height: 1.65; margin: 0; }
.fh-eyebrow { margin: 0 0 var(--space-2); color: var(--emerald-700); font-size: .75rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.fh-eyebrow--light { color: var(--emerald-300); }
.fh-note { font-size: .875rem; color: var(--slate-500); margin: var(--space-4) 0 0; }
.fh .fh-link { display: inline-flex; align-items: center; gap: .4rem; font-weight: 700; text-decoration: none; color: var(--emerald-700); }
.fh .fh-link:hover .bi { transform: translateX(3px); }
.fh .bi { transition: transform .25s var(--fh-ease); }

.fh-chip { display: inline-flex; align-items: center; gap: .45rem; margin: 0; padding: 6px 14px; border-radius: var(--radius-pill); font-size: .8125rem; font-weight: 700; letter-spacing: .01em; }
.fh-chip--glass { background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .22); color: var(--white); backdrop-filter: blur(6px); }

.fh .fh-btn { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; padding: 15px 24px; border-radius: 14px; font-weight: 800; font-size: 1rem; line-height: 1.2; text-decoration: none; text-align: center; border: 2px solid transparent; transition: transform .2s var(--fh-ease), background-color .2s ease, box-shadow .2s ease, color .2s ease; }
.fh .fh-btn:hover, .fh .fh-btn:focus-visible { transform: translateY(-2px); }
.fh .fh-btn--bright { background: var(--emerald-300); color: var(--fh-ink); box-shadow: 0 12px 28px -12px rgba(16, 185, 129, .8); }
.fh .fh-btn--bright:hover, .fh .fh-btn--bright:focus-visible { background: var(--emerald-500); color: var(--fh-ink); }
.fh .fh-btn--glass { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .35); color: var(--white); backdrop-filter: blur(6px); }
.fh .fh-btn--glass:hover, .fh .fh-btn--glass:focus-visible { background: rgba(255, 255, 255, .18); color: var(--white); }
.fh .fh-btn--white { background: var(--white); color: var(--emerald-800); }
.fh .fh-btn--white:hover, .fh .fh-btn--white:focus-visible { background: var(--emerald-50); color: var(--emerald-900); }
.fh .fh-btn--outline { background: var(--white); border-color: var(--green-600); color: var(--green-700); }
.fh .fh-btn--outline:hover, .fh .fh-btn--outline:focus-visible { background: var(--green-600); color: var(--white); }
.fh-actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.fh-actions--center { justify-content: center; }

/* ── Hero ───────────────────────────────────────────────────────────────── */
/* Sky blue fading into the forest green. The text column sits on the deeper
   sky (600/700) so white copy keeps its contrast; the lighter sky is a glow
   in the corner, and the emerald glow balances the art on the right. */
.fh-hero {
  position: relative; overflow: hidden; padding: 80px 0 0; color: rgba(255, 255, 255, .9);
  background:
    radial-gradient(760px 420px at 0% 0%, rgba(56, 189, 248, .55), transparent 62%),
    radial-gradient(820px 520px at 92% 18%, rgba(16, 185, 129, .32), transparent 62%),
    linear-gradient(125deg, var(--sky-600) 0%, var(--sky-700) 34%, var(--emerald-800) 72%, var(--emerald-900) 100%);
}
.fh-hero__grid { padding-bottom: var(--space-8); }

/* ── "Powered by AI" band ───────────────────────────────────────────────── */
.fh-ai { position: relative; padding: 22px 0 26px; background: rgba(2, 44, 34, .28); border-top: 1px solid rgba(255, 255, 255, .12); backdrop-filter: blur(4px); }
.fh-ai__kicker { display: inline-flex; align-items: center; gap: .45rem; margin: 0 0 var(--space-3); color: var(--sky-300); font-size: .75rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.fh-ai__viewport { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, var(--black) 8%, var(--black) 92%, transparent); mask-image: linear-gradient(90deg, transparent, var(--black) 8%, var(--black) 92%, transparent); }
.fh-ai__track { display: flex; width: max-content; animation: fh-marquee 38s linear infinite; }
.fh-ai__viewport:hover .fh-ai__track { animation-play-state: paused; }
.fh .fh-ai__list { display: flex; gap: var(--space-3); padding-right: var(--space-3); }
.fh-ai__chip { display: inline-flex; align-items: center; gap: .55rem; white-space: nowrap; padding: 10px 18px; border-radius: var(--radius-pill); background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .22); color: var(--white); font-weight: 700; font-size: .95rem; }
.fh-ai__chip .bi { color: var(--emerald-300); font-size: 1.05rem; }
@keyframes fh-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.fh-hero__grid { display: grid; gap: var(--space-8); align-items: center; }
.fh-hero__copy .fh-chip { margin-bottom: var(--space-5); }
.fh .fh-hero__title { color: var(--white); font-size: clamp(2.3rem, 1.4rem + 4vw, 4rem); font-weight: 800; line-height: 1.06; letter-spacing: -.035em; margin: 0 0 var(--space-5); }
.fh-hl { background: linear-gradient(90deg, var(--emerald-300), var(--emerald-500)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.fh-hero__lead { font-size: clamp(1.0625rem, 1rem + .5vw, 1.25rem); line-height: 1.6; margin: 0 0 var(--space-6); max-width: 36rem; }
.fh-hero .fh-actions { margin-bottom: var(--space-6); }
.fh-trust { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-5); font-size: .9375rem; font-weight: 600; color: rgba(255, 255, 255, .82); }
.fh-trust li { display: inline-flex; align-items: center; gap: .45rem; }
.fh-trust .bi { color: var(--emerald-300); }

.fh-hero__art { position: relative; height: 340px; }
.fh-hero__card { position: absolute; width: 56%; aspect-ratio: 1; height: auto; object-fit: cover; border-radius: 22px; border: 4px solid rgba(255, 255, 255, .14); box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .6); transition: transform .5s var(--fh-ease); }
.fh-hero__card--1 { left: 22%; top: 4%; z-index: 3; transform: rotate(-3deg); }
.fh-hero__card--2 { left: 0; top: 18%; z-index: 2; transform: rotate(-12deg) scale(.86); }
.fh-hero__card--3 { right: 0; top: 16%; z-index: 1; transform: rotate(10deg) scale(.86); }
.fh-hero__art:hover .fh-hero__card--1 { transform: rotate(0) translateY(-6px); }
.fh-hero__badge { position: absolute; z-index: 4; left: 8%; bottom: 0; display: flex; flex-direction: column; padding: 12px 18px; border-radius: 16px; background: var(--white); box-shadow: 0 20px 40px -18px rgba(0, 0, 0, .55); }
.fh-hero__badge-k { color: var(--emerald-700); font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.fh-hero__badge-v { color: var(--fh-ink); font-weight: 800; }

/* ── Two paths ──────────────────────────────────────────────────────────── */
.fh-paths { display: grid; gap: var(--space-5); }
.fh .fh-path { position: relative; display: block; min-height: 440px; border-radius: 26px; overflow: hidden; text-decoration: none; color: var(--white); box-shadow: var(--fh-shadow); isolation: isolate; transition: transform .35s var(--fh-ease), box-shadow .35s ease; }
.fh .fh-path:hover, .fh .fh-path:focus-visible { transform: translateY(-4px); box-shadow: 0 30px 60px -28px rgba(4, 120, 87, .55); color: var(--white); }
.fh-path__mosaic { position: absolute; inset: 0; z-index: -2; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 3px; background: var(--emerald-900); }
.fh-path__mosaic--home { grid-template-columns: 1.4fr 1fr; }
.fh-path__mosaic--home img:first-child { grid-row: span 2; }
.fh-path__mosaic img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--fh-ease); }
.fh-path:hover .fh-path__mosaic img { transform: scale(1.06); }
.fh-path__shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgba(2, 44, 34, .96) 0%, rgba(2, 44, 34, .7) 42%, rgba(2, 44, 34, .1) 100%); }
.fh-path--home .fh-path__shade { background: linear-gradient(to top, rgba(15, 23, 42, .96) 0%, rgba(15, 23, 42, .68) 42%, rgba(15, 23, 42, .08) 100%); }
.fh-path__body { position: absolute; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-6); }
.fh-path__title { font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.25rem); font-weight: 800; letter-spacing: -.025em; line-height: 1.1; }
.fh-path__text { max-width: 30rem; line-height: 1.55; color: rgba(255, 255, 255, .86); }
.fh-path__go { display: inline-flex; align-items: center; gap: .45rem; margin-top: var(--space-1); font-weight: 800; color: var(--emerald-300); }
.fh-path:hover .fh-path__go .bi { transform: translateX(4px); }

/* ── Pack cards ─────────────────────────────────────────────────────────── */
.fh-packs { display: grid; gap: var(--space-5); grid-template-columns: 1fr; }
.fh-packs li { display: flex; }
.fh .fh-pack { display: flex; flex-direction: column; width: 100%; background: var(--white); border: 1px solid var(--fh-line); border-radius: var(--fh-radius); overflow: hidden; text-decoration: none; box-shadow: var(--fh-shadow); transition: transform .3s var(--fh-ease), border-color .3s ease, box-shadow .3s ease; }
.fh .fh-pack:hover, .fh .fh-pack:focus-visible { transform: translateY(-4px); border-color: var(--emerald-300); box-shadow: 0 24px 44px -24px rgba(4, 120, 87, .5); }
.fh-pack__media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--emerald-900); }
.fh-pack__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--fh-ease); }
.fh-pack:hover .fh-pack__media img { transform: scale(1.06); }
.fh-pack__industry { position: absolute; left: 12px; top: 12px; padding: 4px 10px; border-radius: var(--radius-pill); background: rgba(15, 23, 42, .74); color: var(--white); font-size: .75rem; font-weight: 700; backdrop-filter: blur(4px); }
.fh-pack__free { position: absolute; right: 12px; top: 12px; padding: 4px 12px; border-radius: var(--radius-pill); background: var(--emerald-300); color: var(--fh-ink); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.fh-pack__body { display: flex; flex-direction: column; gap: var(--space-2); flex: 1; padding: 18px 20px 20px; }
.fh-pack__name { color: var(--fh-ink); font-size: 1.0625rem; font-weight: 800; line-height: 1.3; letter-spacing: -.01em; }
.fh-pack__tagline { color: var(--fh-body); font-size: .9rem; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.fh-pack__foot { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: var(--space-3); border-top: 1px solid var(--slate-150); }
.fh-pack__price { color: var(--fh-ink); font-size: 1.35rem; font-weight: 800; letter-spacing: -.02em; }
.fh-pack__go { display: inline-flex; align-items: center; gap: .35rem; color: var(--emerald-700); font-weight: 700; font-size: .9rem; }
.fh-pack:hover .fh-pack__go .bi { transform: translateX(3px); }

/* ── Free sample ────────────────────────────────────────────────────────── */
.fh-free {
  display: grid; overflow: hidden; border-radius: 28px; color: rgba(255, 255, 255, .88); box-shadow: var(--fh-shadow);
  background: radial-gradient(600px 300px at 100% 0%, rgba(110, 231, 183, .28), transparent 60%), linear-gradient(135deg, var(--emerald-700), var(--emerald-900));
}
.fh-free__img { width: 100%; height: 100%; min-height: 220px; aspect-ratio: 16 / 9; object-fit: cover; object-position: center 75%; }
.fh-free__copy { padding: var(--space-6); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.fh .fh-free__title { color: var(--white); font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.3rem); font-weight: 800; letter-spacing: -.025em; line-height: 1.12; margin: 0 0 var(--space-3); }
.fh-free__text { font-size: 1.0625rem; line-height: 1.6; margin: 0 0 var(--space-5); max-width: 38rem; }
.fh-free__text strong { color: var(--white); }

/* ── Steps ──────────────────────────────────────────────────────────────── */
.fh-steps { display: grid; gap: var(--space-5); grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); counter-reset: fh-step; }
.fh-step { position: relative; counter-increment: fh-step; padding: 28px; border-radius: var(--fh-radius); background: var(--white); border: 1px solid var(--fh-line); box-shadow: var(--fh-shadow); }
.fh-step::after { content: "0" counter(fh-step); position: absolute; right: 22px; top: 14px; font-size: 3rem; font-weight: 800; letter-spacing: -.04em; color: var(--slate-100); }
.fh-step__icon { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; margin-bottom: var(--space-4); border-radius: 14px; background: linear-gradient(135deg, var(--emerald-500), var(--emerald-700)); color: var(--white); font-size: 1.35rem; box-shadow: 0 10px 22px -10px rgba(4, 120, 87, .7); }
.fh .fh-step h3 { position: relative; z-index: 1; font-size: 1.2rem; font-weight: 800; margin: 0 0 var(--space-2); }
.fh-step p { position: relative; z-index: 1; margin: 0; line-height: 1.55; }

/* ── Home plans: plan first, then the professionals ─────────────────────── */
.fh-home { display: grid; gap: var(--space-6); align-items: center; }
.fh-home__intro .fh-section__title { margin-bottom: var(--space-3); }
.fh-home__list { display: grid; gap: var(--space-4); margin-top: var(--space-5) !important; }
.fh-home__list li { display: flex; gap: var(--space-4); align-items: flex-start; line-height: 1.5; }
.fh-home__list strong { display: block; color: var(--fh-ink); font-size: 1.0625rem; }
.fh-home__icon { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 13px; background: var(--emerald-100); color: var(--emerald-800); font-size: 1.25rem; }
.fh-home__photo img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 26px; box-shadow: var(--fh-shadow); }
.fh-home__note { display: flex; gap: var(--space-3); align-items: flex-start; margin: var(--space-6) 0 var(--space-5); padding: 14px 18px; border-radius: 14px; background: var(--amber-50); border: 1px solid var(--amber-200); color: var(--amber-800); line-height: 1.55; }
.fh-home__note .bi { margin-top: 2px; }
.fh-routes { display: grid; gap: var(--space-5); }
.fh-route { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-2); padding: 28px; border-radius: var(--fh-radius); background: var(--white); border: 1px solid var(--fh-line); box-shadow: var(--fh-shadow); }
.fh-route p { margin: 0 0 var(--space-3); line-height: 1.6; flex: 1; }
.fh .fh-route h3 { font-size: 1.3rem; font-weight: 800; letter-spacing: -.015em; margin: 0; }
.fh-route__icon { display: inline-flex; align-items: center; justify-content: center; width: 50px; height: 50px; margin-bottom: var(--space-2); border-radius: 14px; background: var(--slate-100); color: var(--fh-ink); font-size: 1.35rem; }
.fh-route--accent { color: rgba(255, 255, 255, .85); border-color: transparent; background: radial-gradient(420px 220px at 100% 0%, rgba(110, 231, 183, .3), transparent 60%), var(--fh-forest); }
.fh .fh-route--accent h3 { color: var(--white); }
.fh-route--accent p { color: inherit; }
.fh-route--accent .fh-route__icon { background: rgba(255, 255, 255, .12); color: var(--emerald-300); }
.fh .fh-btn--dark { background: var(--fh-ink); color: var(--white); }
.fh .fh-btn--dark:hover, .fh .fh-btn--dark:focus-visible { background: var(--emerald-800); color: var(--white); }

/* ── Founder ────────────────────────────────────────────────────────────── */
.fh-founder { display: grid; gap: var(--space-5); justify-items: center; text-align: center; max-width: 60rem; margin: 0 auto; padding: 32px; border-radius: 26px; background: var(--white); border: 1px solid var(--fh-line); box-shadow: var(--fh-shadow); }
.fh-founder__photo { width: 148px; height: 148px; border-radius: 50%; object-fit: cover; padding: 5px; background: linear-gradient(135deg, var(--emerald-300), var(--emerald-700)); }
.fh .fh-founder__name { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); font-weight: 800; letter-spacing: -.02em; margin: 0; }
.fh-founder__role { margin: 4px 0 var(--space-3); color: var(--emerald-700); font-weight: 700; }
.fh-founder__bio { margin: 0; font-size: 1.0625rem; line-height: 1.7; }

/* ── Trust facts (gradient tiles, as on the contact page) ───────────────── */
.fh-confidence { display: grid; gap: var(--space-6); }
.fh-confidence__intro .fh-section__title { margin-bottom: var(--space-3); }
.fh-facts { display: grid; gap: var(--space-5); grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); }
.fh-fact { display: flex; gap: var(--space-4); align-items: flex-start; line-height: 1.5; font-size: .95rem; }
.fh-fact strong { display: block; color: var(--fh-ink); font-size: 1.0625rem; margin-bottom: 2px; }
.fh-fact a { word-break: break-word; }
.fh-fact__icon { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 58px; height: 58px; border-radius: 16px; color: var(--white); font-size: 1.4rem; }
.fh-fact__icon--violet { background: linear-gradient(160deg, var(--violet-600), rgba(124, 58, 237, .35)); }
.fh-fact__icon--green { background: linear-gradient(160deg, var(--green-600), rgba(22, 163, 74, .35)); }
.fh-fact__icon--peach { background: linear-gradient(160deg, var(--amber-500), rgba(248, 113, 113, .45)); }
.fh-fact__icon--blue { background: linear-gradient(160deg, var(--blue-600), rgba(37, 99, 235, .35)); }
.fh-fact__icon--amber { background: linear-gradient(160deg, var(--amber-600), rgba(245, 158, 11, .35)); }

/* ── A person, as the last option ───────────────────────────────────────── */
.fh-help { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4) var(--space-5); padding: 24px 28px; border-radius: var(--fh-radius); background: var(--white); border: 1px dashed var(--slate-300); }
.fh-help__icon { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: var(--radius-pill); background: var(--green-100); color: var(--green-700); font-size: 1.4rem; }
.fh-help__copy { flex: 1 1 18rem; }
.fh .fh-help__title { font-size: 1.25rem; font-weight: 800; margin: 0 0 4px; }
.fh-help__copy p { margin: 0; }

/* ── FAQ ────────────────────────────────────────────────────────────────── */
.fh-faqwrap { max-width: 54rem; }
.fh-faq { margin-bottom: var(--space-3); padding: 16px 20px; border-radius: 14px; background: var(--white); border: 1px solid var(--fh-line); }
.fh-faq summary { display: flex; justify-content: space-between; gap: var(--space-4); font-weight: 700; color: var(--fh-ink); cursor: pointer; list-style: none; }
.fh-faq summary::-webkit-details-marker { display: none; }
.fh-faq summary::after { content: "+"; flex: none; color: var(--emerald-700); font-size: 1.4rem; line-height: 1; transition: transform .25s var(--fh-ease); }
.fh-faq[open] summary::after { transform: rotate(45deg); }
.fh-faq p { margin: var(--space-3) 0 0; line-height: 1.6; }

/* ── Closing band ───────────────────────────────────────────────────────── */
.fh-close { padding: 88px 0; text-align: center; color: rgba(255, 255, 255, .8); background: radial-gradient(700px 360px at 50% 0%, rgba(16, 185, 129, .3), transparent 65%), var(--fh-forest); }
.fh .fh-close__title { color: var(--white); font-size: clamp(1.75rem, 1.2rem + 2vw, 2.75rem); font-weight: 800; letter-spacing: -.03em; margin: 0 0 var(--space-6); }
.fh-close__more { margin: var(--space-6) 0 0; }
.fh .fh-close__more a { color: var(--emerald-300); font-weight: 700; text-decoration: none; }

/* The vendor style.css colours every <p>; on the dark grounds they inherit. */
.fh-hero p, .fh-free p, .fh-close p { color: inherit; }

/* ── Breakpoints ────────────────────────────────────────────────────────── */
@media (min-width: 576px) {
  .fh-packs { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 768px) {
  .fh-paths { grid-template-columns: 1fr 1fr; }
  .fh-routes { grid-template-columns: 1fr 1fr; }
  .fh-founder { grid-template-columns: auto 1fr; justify-items: start; text-align: left; padding: 40px 48px; gap: var(--space-6); align-items: center; }
  .fh-free { grid-template-columns: minmax(16rem, 2fr) 3fr; }
  .fh-free__img { aspect-ratio: auto; }
  .fh-free__copy { padding: var(--space-8); }
  .fh-hero__art { height: 420px; }
}
@media (min-width: 992px) {
  .fh-packs { grid-template-columns: repeat(3, 1fr); }
  .fh-home { grid-template-columns: 1.1fr .9fr; }
  .fh-hero__grid { grid-template-columns: 1.15fr .85fr; }
  .fh-confidence { grid-template-columns: .85fr 1.15fr; align-items: start; }
}
@media (max-width: 991.98px) {
  /* Six links don't fit beside the logo on tablets; the hero's buttons cover the sections. */
  .fh-nav__wide { display: none; }
}
@media (max-width: 767.98px) {
  .fh-section { padding: 64px 0; }
  .fh-hero { padding: 56px 0 0; }
  .fh-nav__links { gap: var(--space-4); }
  .fh .fh-path { min-height: 400px; }
}
@media (max-width: 575.98px) {
  .fh-actions .fh-btn { flex: 1 1 100%; }
  .fh-hero__art { height: 280px; }
}
@media (prefers-reduced-motion: reduce) {
  .fh *, .fh-nav * { transition: none !important; }
  .fh-ai__track { animation: none; width: auto; }
  .fh-ai__viewport { -webkit-mask-image: none; mask-image: none; }
  .fh .fh-ai__list { flex-wrap: wrap; padding: 0 var(--space-4); }
  .fh-ai__list--repeat { display: none !important; }
  .fh .fh-path:hover, .fh .fh-pack:hover, .fh .fh-btn:hover { transform: none; }
}
.fh-free__name { margin: 0 0 var(--space-2); font-size: 1.0625rem; line-height: 1.5; }
.fh-free__name strong { display: block; color: var(--white); font-size: 1.125rem; }
.fh-free__name span { display: block; color: rgba(255, 255, 255, .78); }
