/* Theme-first homepage. Direct navigation and comparison work without JavaScript. */
body.home { background: var(--jm-surface); color: var(--jm-text); font-family: var(--jm-font-sans); }
.home .shell { width: var(--jm-shell); }
.home a { text-decoration: none; }
.home .site-header { background: var(--jm-surface); }
.home .site-nav a { flex-shrink: 0; }
.home h1, .home h2, .home h3, .home b, .home strong { font-family: var(--jm-font-sans); }
.home a:focus-visible, .home summary:focus-visible { outline: 2px solid var(--jm-green-ink); outline-offset: 5px; }
.home-kicker { color: var(--jm-text-2); font-size: var(--jm-fs-label); letter-spacing: .14em; font-weight: 500; margin: 0 0 20px; }
.home-hero { position: relative; overflow: hidden; background: var(--jm-deep); }
[data-visually-hidden] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
[data-scene] { margin: 0; position: absolute; inset: 0; }
[data-scene]::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, color-mix(in srgb, var(--jm-deep) 92%, transparent), transparent 70%), linear-gradient(90deg, color-mix(in srgb, var(--jm-deep) 76%, transparent), color-mix(in srgb, var(--jm-deep) 52%, transparent) 60%, transparent); pointer-events: none; }
[data-scene] picture { display: block; height: 100%; }
[data-scene] img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 60%; }
.home-hero-shell { position: relative; padding: 64px 0 32px; }
.home-hero-copy { width: 80%; }
.home-hero .home-kicker { color: var(--jm-surface); margin-bottom: 24px; }
.home-hero h1 { font-size: var(--jm-fs-display); line-height: var(--jm-lh-display); letter-spacing: -.055em; margin: 0 0 24px; font-weight: 400; color: var(--jm-surface); }
.home-hero h1 em { font-style: normal; color: inherit; }
.home-hero-lead { font-size: var(--jm-fs-body); line-height: var(--jm-lh-body); color: var(--jm-surface); margin: 0; }
.home .btn { display: inline-flex; align-items: center; justify-content: space-between; gap: 32px; min-height: var(--jm-cta-h); padding: 12px 24px; border-radius: var(--jm-radius-pill); font-size: var(--jm-fs-body); font-weight: 500; }
.home .btn--primary { background: var(--jm-text); color: var(--jm-surface); }
[data-home-start] { margin-top: 40px; color: var(--jm-surface); }
[data-home-start] h2 { font-size: var(--jm-fs-body); font-weight: 400; color: inherit; margin: 0 0 12px; }
[data-home-entry] { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
[data-home-entry] a { display: flex; align-items: center; justify-content: space-between; gap: 16px; color: var(--jm-surface); min-height: 88px; padding: 16px 0; border-top: 1px solid var(--jm-surface); }
[data-home-entry] a:hover { border-top-width: 3px; padding-top: 14px; }
[data-home-entry] b { font-size: var(--jm-fs-h3); font-weight: 500; }
[data-home-entry] small { display: block; font-size: var(--jm-fs-note); margin-top: 8px; }
.home-hero a:focus-visible { outline-color: var(--jm-surface); }
[data-theme-shortcut] { display: inline-flex; align-items: center; gap: 32px; color: var(--jm-surface); min-height: var(--jm-tap); font-size: var(--jm-fs-note); }
.home-section { padding: var(--jm-space-section) 0; }
.home-section-head { margin-bottom: 32px; }
.home-section h2, .home-proof h2 { font-size: var(--jm-fs-h2); line-height: var(--jm-lh-h2); letter-spacing: -.03em; margin: 0 0 24px; }
.home-section-head > p:last-child { font-size: var(--jm-fs-body); line-height: var(--jm-lh-body); color: var(--jm-text-2); }
.home-topics { background: var(--jm-bg); }
.home-topics .home-section-head { display: grid; grid-template-columns: 1fr 1fr; gap: 0 56px; align-items: end; }
.home-topics .home-kicker { grid-column: 1 / -1; }
.hs-radio { position: absolute; opacity: 0; width: 1px; height: 1px; }
[data-comparison-demo] { position: relative; border: 0; padding: 0; margin: 0; min-width: 0; }
[data-comparison-tabs] { display: flex; gap: 24px; border-bottom: 1px solid var(--jm-line); }
[data-comparison-tabs] label { display: flex; align-items: center; justify-content: center; min-height: 64px; padding: 16px 24px; cursor: pointer; font-size: var(--jm-fs-h3); }
#compare-eyes:checked ~ [data-comparison-tabs] label[for="compare-eyes"], #compare-ears:checked ~ [data-comparison-tabs] label[for="compare-ears"], #compare-own:checked ~ [data-comparison-tabs] label[for="compare-own"] { border-bottom: 3px solid var(--jm-green-ink); color: var(--jm-green-ink); font-weight: 700; }
#compare-eyes:focus-visible ~ [data-comparison-tabs] label[for="compare-eyes"], #compare-ears:focus-visible ~ [data-comparison-tabs] label[for="compare-ears"], #compare-own:focus-visible ~ [data-comparison-tabs] label[for="compare-own"] { outline: 2px solid var(--jm-green-ink); outline-offset: 2px; }
[data-comparison-assumptions] { font-size: var(--jm-fs-note); line-height: var(--jm-lh-note); color: var(--jm-text-2); margin: 20px 0 28px; }
[data-comparison-result] { display: none; }
#compare-eyes:checked ~ [data-comparison-results] [data-comparison-result="eyes"], #compare-ears:checked ~ [data-comparison-results] [data-comparison-result="ears"], #compare-own:checked ~ [data-comparison-results] [data-comparison-result="own"] { display: block; }
[data-comparison-heading] > span { font-size: var(--jm-fs-note); color: var(--jm-text-2); }
[data-comparison-heading] h3 { font-size: var(--jm-fs-h2); line-height: var(--jm-lh-h2); margin: 12px 0 24px; font-weight: 500; }
[data-comparison-services] { padding: 0; margin: 0; list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
[data-comparison-services] li { display: flex; flex-direction: column; gap: 12px; border-top: 1px solid var(--jm-line); padding: 20px 0; }
[data-comparison-services] b { font-size: var(--jm-fs-h3); font-weight: 500; }
[data-comparison-services] span { font-size: var(--jm-fs-note); color: var(--jm-green-ink); }
[data-comparison-services] [data-status="excluded"] span { color: var(--jm-text-2); }
[data-comparison-note] { margin: 12px 0; font-size: var(--jm-fs-note); line-height: var(--jm-lh-note); color: var(--jm-text-2); }
[data-comparison-evidence] { margin-bottom: 24px; }
[data-comparison-evidence] summary { display: flex; align-items: center; justify-content: space-between; min-height: var(--jm-tap); font-size: var(--jm-fs-note); cursor: pointer; border-bottom: 1px solid var(--jm-line); }
[data-comparison-evidence] p { font-size: var(--jm-fs-note); line-height: var(--jm-lh-note); color: var(--jm-text-2); }
[data-comparison-evidence] ul { list-style: none; padding: 0; }
[data-comparison-evidence] li { padding: 12px 0; }
[data-comparison-evidence] strong { font-size: var(--jm-fs-body); }
.home-proof { padding: var(--jm-space-section) 0; }
.home-proof-layout { display: grid; grid-template-columns: 1fr 1.2fr; gap: 72px; align-items: center; }
.home-proof-copy > p:last-of-type { font-size: var(--jm-fs-body); line-height: var(--jm-lh-body); color: var(--jm-text-2); }
.home-proof a { display: inline-flex; justify-content: space-between; align-items: center; gap: 32px; min-height: var(--jm-tap); font-size: var(--jm-fs-body); color: var(--jm-green-ink); }
[data-proof-example] { padding: 32px; border: 1px solid var(--jm-line); border-radius: var(--jm-radius-section); }
[data-proof-example] h3 { font-size: var(--jm-fs-h3); line-height: var(--jm-lh-h3); margin: 0 0 24px; }
[data-proof-example] dl { margin: 0; }
[data-proof-example] dl > div { display: grid; grid-template-columns: 104px 1fr; gap: 16px; padding: 16px 0; border-top: 1px solid var(--jm-line); }
[data-proof-example] dt { font-size: var(--jm-fs-note); color: var(--jm-text-2); }
[data-proof-example] dd { margin: 0; font-size: var(--jm-fs-body); line-height: var(--jm-lh-body); }
[data-proof-limit] { font-size: var(--jm-fs-note); line-height: var(--jm-lh-note); color: var(--jm-text-2); }
.home-states { background: var(--jm-bg); }
[data-home-shortcuts] { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; align-items: start; }
.hs-group { min-width: 0; }
.hs-group-title { padding: 24px 0; min-height: 100px; border-top: 1px solid var(--jm-line); border-bottom: 1px solid var(--jm-line); cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.hs-group-title strong { font-size: var(--jm-fs-h3); font-weight: 500; }
.hs-group-title small { display: block; margin-top: 8px; font-size: var(--jm-fs-note); color: var(--jm-text-2); }
[data-choice-toggle] { display: inline-flex; align-items: center; justify-content: center; width: var(--jm-tap); height: var(--jm-tap); flex: none; border-radius: var(--jm-radius-pill); background: var(--jm-surface); color: var(--jm-green-ink); font-size: var(--jm-fs-h3); }
.hs-group[open] [data-choice-toggle] { transform: rotate(45deg); }
[data-shortcut-group] { margin-top: 24px; }
[data-shortcut-group] h3 { font-size: var(--jm-fs-body); line-height: var(--jm-lh-h3); }
.hs-list, .ht-list { list-style: none; padding: 0; margin: 0; }
.hs-list a { min-height: 100px; display: flex; flex-direction: column; justify-content: center; gap: 8px; position: relative; padding: 16px 24px 16px 0; color: var(--jm-text); border-bottom: 1px solid var(--jm-line); }
.hs-item-head b { font-size: var(--jm-fs-body); }
.hs-item-head em { display: inline-block; font-size: var(--jm-fs-label); font-style: normal; color: var(--jm-green-ink); margin-left: 8px; }
.hs-list small { font-size: var(--jm-fs-note); line-height: var(--jm-lh-note); color: var(--jm-text-2); }
.hs-list i { position: absolute; right: 0; font-style: normal; color: var(--jm-green-ink); }
[data-all-topics] { margin-top: 48px; scroll-margin-top: 32px; }
[data-all-topics] > h3 { font-size: var(--jm-fs-h3); margin: 0 0 24px; }
.ht-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 32px; }
.ht-list a { display: grid; grid-template-columns: 1fr auto; gap: 8px; min-height: 100px; padding: 20px 0; border-top: 1px solid var(--jm-line); color: var(--jm-text); }
.ht-list b { font-size: var(--jm-fs-body); }
.ht-list small { grid-row: 2; font-size: var(--jm-fs-note); color: var(--jm-text-2); }
.ht-list i { grid-column: 2; grid-row: 1 / 3; align-self: center; font-style: normal; color: var(--jm-green-ink); }
.home-season { display: flex; align-items: center; gap: 24px; padding: 32px 0; }
.home-season > span { font-size: var(--jm-fs-label); color: var(--jm-green-ink); white-space: nowrap; }
.home-season a { display: flex; flex: 1; align-items: center; justify-content: space-between; gap: 16px; min-height: var(--jm-tap); color: var(--jm-text); }
.home-season strong { font-size: var(--jm-fs-body); }
.home-season a > span { font-size: var(--jm-fs-note); color: var(--jm-text-2); }
@media (max-width: 780px) {
 .home .site-header .shell { gap: 8px; }
 .home .site-nav { gap: 12px; }
 .home .site-nav a { font-size: var(--jm-fs-note); }
 .home-hero-shell { padding: 40px 0 24px; }
 .home-hero-copy { width: 100%; }
 .home-hero h1 { letter-spacing: -.04em; margin-bottom: 20px; }
 .home-hero .home-kicker { margin-bottom: 20px; }
 [data-scene] img { object-position: 62% 60%; }
 [data-scene]::after { background: linear-gradient(0deg, color-mix(in srgb, var(--jm-deep) 94%, transparent), color-mix(in srgb, var(--jm-deep) 68%, transparent)); }
 [data-home-start] { margin-top: 28px; }
 [data-home-entry] { grid-template-columns: 1fr; gap: 0; }
 [data-home-entry] a { min-height: 64px; padding: 12px 0; }
 [data-home-entry] b { font-size: var(--jm-fs-body); }
 [data-home-entry] small { margin-top: 4px; }
 .home-topics .home-section-head { grid-template-columns: 1fr; gap: 0; }
 [data-comparison-tabs] { gap: 8px; }
 [data-comparison-tabs] label { flex: 1; padding: 16px 4px; font-size: var(--jm-fs-body); letter-spacing: -.04em; }
 [data-comparison-services] { grid-template-columns: 1fr; gap: 0; }
 [data-comparison-services] li { flex-direction: row; justify-content: space-between; align-items: center; padding: 16px 0; }
 [data-comparison-services] b { font-size: var(--jm-fs-body); }
 .home-proof-layout { grid-template-columns: 1fr; gap: 32px; }
 [data-proof-example] { padding: 24px 20px; }
 [data-proof-example] dl > div { grid-template-columns: 1fr; gap: 8px; }
 [data-home-shortcuts] { grid-template-columns: 1fr; gap: 0; }
 .hs-group-title { min-height: 88px; }
 .hs-list a { min-height: 88px; }
 .ht-list { grid-template-columns: repeat(2, 1fr); gap: 0 20px; }
 .ht-list a { min-height: 88px; }
 .home-season { align-items: flex-start; gap: 12px; }
 .home-season a { flex-direction: column; align-items: flex-start; gap: 8px; }
 .home-season > span { padding-top: 4px; }
}
