/* Homepage task discovery, scoped independently from calculator pages. */
body:has(.calcahead-home) { padding-bottom: 0; }
.calcahead-home { padding-top: 48px; }
.home-hero { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(275px, 1fr); align-items: center; gap: 72px; padding: 0 0 50px; }
.home-label { font-size: .9rem; font-weight: 650; color: var(--accent-strong); margin-bottom: 18px; }
.home-hero h1 { font-size: 3.1rem; line-height: 1.12; letter-spacing: -.035em; margin: 0 0 22px; overflow-wrap: anywhere; }
.home-hero h1 > span { color: var(--accent-strong); }
.home-lead { max-width: 56ch; font-size: 1.02rem; color: var(--ink-muted); line-height: 1.65; margin-bottom: 26px; }
.home-search label { display: block; font-size: .9rem; font-weight: 650; margin-bottom: 9px; }
.home-search-control { display: flex; gap: 10px; align-items: center; min-height: 58px; background: white; border: 1px solid #9cafb7; border-radius: 9px; padding-left: 15px; }
.home-search-control > svg { flex: 0 0 auto; color: var(--ink-muted); }
.home-search-control:focus-within { outline: 3px solid var(--accent); outline-offset: 3px; }
.home-search input { min-width: 0; width: 100%; border: 0; outline: none; padding: 14px 0; background: transparent; color: var(--ink); font-size: 1rem; }
.home-search input::placeholder { color: var(--ink-muted); opacity: 1; }
.home-search input::-webkit-search-cancel-button { display: none; }
.home-search button { border: 0; background: transparent; color: var(--accent-strong); align-self: stretch; padding: 8px 16px; font-size: .85rem; font-weight: 650; min-width: 64px; }
.home-search button:disabled { opacity: 1; color: var(--ink-muted); cursor: default; }
.home-search p { font-size: .78rem; margin: 10px 0 0; color: var(--ink-muted); }
.home-quick-links { display: flex; flex-wrap: wrap; align-items: center; column-gap: 18px; margin-top: 12px; font-size: .85rem; }
.home-quick-links > span { color: var(--ink-muted); }
.home-quick-links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--accent-strong); text-underline-offset: 4px; }
.home-start { padding: 27px 28px 16px; background: white; border: 1px solid var(--edge); border-radius: 12px; }
.home-start h2 { font-size: 1.25rem; margin: 0 0 18px; }
.starting-point { display: flex; align-items: center; gap: 18px; padding: 18px 0; border-top: 1px solid var(--edge); text-decoration: none; }
.starting-point > span:first-child { flex: 1; min-width: 0; }
.starting-point strong { display: block; font-size: .97rem; margin-bottom: 5px; }
.starting-point span span { display: block; font-size: .83rem; color: var(--ink-muted); line-height: 1.55; }
.starting-point > span:last-child { color: var(--accent); font-size: 1.25rem; }
.starting-point:hover strong { text-decoration: underline; text-underline-offset: 4px; color: var(--accent-strong); }
.home-promise { border-top: 1px solid var(--edge); color: var(--ink-muted); font-size: .79rem; padding-top: 17px; margin: 0; }
.catalog-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; padding: 25px 0; border-block: 1px solid var(--edge); }
.catalog-heading h2 { font-size: 1.55rem; margin: 0 0 8px; }
.catalog-heading p { margin: 0; color: var(--ink-muted); font-size: .86rem; min-height: 1.55em; }
.calcahead-home .category-rail { padding: 25px 0; }
.calcahead-home .category-rail a { min-height: 44px; align-items: center; }
.category-rail a[aria-current="true"] { background: #e1f0e9; color: var(--accent-strong); font-weight: 700; }
.mobile-category-filter { min-width: 0; }
.mobile-category-filter label { display: block; margin-bottom: 7px; font-size: .83rem; font-weight: 650; }
.mobile-category-filter select { width: 100%; min-height: 46px; padding: 8px 10px; background: white; border: 1px solid #9cafb7; border-radius: 7px; color: var(--ink); }
.calcahead-home .home-groups { min-height: 340px; }
.calcahead-home .group-head > div { align-items: center; flex-wrap: wrap; gap: 10px; }
.calcahead-home .group-head h2 a { display: inline-flex; align-items: center; min-height: 44px; }
.group-browse { display: inline-flex; align-items: center; gap: 8px; color: var(--accent-strong); font-size: .78rem; min-height: 44px; text-underline-offset: 4px; }
.calcahead-home .tool-group { padding: 20px 0 28px; }
.calcahead-home .group-head { margin-bottom: 16px; }
.calcahead-home .group-head p { margin: 2px 0 0; }
.search-empty { min-height: 340px; padding: 48px 24px; text-align: center; }
.empty-symbol { display: inline-flex; width: 40px; height: 40px; justify-content: center; align-items: center; border: 1px solid #9cafb7; border-radius: 50%; color: var(--ink-muted); font-weight: 650; font-size: 1.2rem; margin-bottom: 18px; }
.search-empty h3 { margin-bottom: 10px; }
.search-empty p { color: var(--ink-muted); max-width: 45ch; margin: 0 auto 22px; overflow-wrap: anywhere; }
.search-empty button { min-height: 44px; }
.home-principles { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 60px; margin-top: 52px; padding: 36px 0 0; border-top: 1px solid var(--edge); }
.home-principles h2 { font-size: 1.7rem; }
.home-principles p { max-width: 30ch; color: var(--ink-muted); font-size: .95rem; }
.home-principles dl { margin: 0; }
.home-principles dl > div { margin-bottom: 22px; }
.home-principles dt { font-weight: 650; margin-bottom: 5px; }
.home-principles dd { margin: 0; color: var(--ink-muted); font-size: .9rem; max-width: 60ch; }
.search-noscript { color: var(--ink-muted); font-size: .85rem; }
@media (max-width: 1100px) {
  .home-hero { gap: 32px; grid-template-columns: minmax(0, 1.6fr) minmax(250px, 1fr); }
  .home-hero h1 { font-size: 2.6rem; }
  .home-start { padding: 24px 20px 18px; }
}
@media (max-width: 800px) {
  .calcahead-home { padding-top: 32px; }
  .home-hero { display: block; padding-bottom: 32px; }
  .home-start { display: none; }
  .home-hero-copy { max-width: 680px; }
  .home-principles { gap: 30px; }
}
@media (max-width: 700px) {
  .catalog-heading { align-items: stretch; flex-direction: column; gap: 18px; padding: 22px 0; }
  [data-catalog][data-enhanced] .category-rail { display: none; }
  [data-catalog][data-enhanced] .mobile-category-filter { display: block; }
  .calcahead-home .category-rail a { font-size: .85rem; }
  .home-principles { grid-template-columns: minmax(0, 1fr); gap: 14px; margin-top: 30px; padding-top: 30px; }
  .home-principles h2 br { display: none; }
}
@media (min-width: 701px) { .mobile-category-filter { display: none; } }
@media (min-width: 701px) { .calcahead-home .category-rail { max-height: calc(100vh - 48px); overflow-y: auto; overscroll-behavior: contain; } }
@media (max-width: 620px) {
  .home-label { margin-bottom: 13px; font-size: .85rem; }
  .home-hero h1 { font-size: 2.25rem; margin-bottom: 18px; }
  .home-lead { font-size: .95rem; line-height: 1.6; margin-bottom: 24px; }
  .home-search-control { gap: 8px; padding-left: 11px; }
  .home-search button { padding-inline: 10px; min-width: 54px; }
  .home-search input { font-size: 1rem; }
  .home-quick-links { gap: 0 16px; margin-top: 6px; }
  .calcahead-home .group-head > div { display: block; }
  .group-browse { display: none; }
  .home-principles h2 { font-size: 1.5rem; }
}
@media (max-width: 360px) { .home-hero h1 { font-size: 2rem; } }
