/* Homepage-only layout and hierarchy. */
/* Match the application shell's page surface so the shared text tokens retain
   the same contrast on the public landing page and authenticated screens. */
body.home-page { background: var(--color-surface-page); }

.home-text-link, .home-note a { color: var(--color-text-link); font-size: 14px; font-weight: 600; text-underline-offset: .16em; }
.home-main { overflow: hidden; }
.home-hero, .home-paths, .home-tools, .home-recent, .home-participate { max-width: 1120px; margin: 0 auto; padding-left: var(--space-4); padding-right: var(--space-4); }
.home-hero { padding-top: clamp(56px, 10vw, 112px); padding-bottom: clamp(72px, 12vw, 136px); }
.home-eyebrow, .home-card-kicker { margin: 0 0 var(--space-3); color: var(--color-text-link); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.home-hero h1 { max-width: 15ch; margin: 0 0 var(--space-6); font-family: var(--font-serif); font-size: clamp(46px, 7.5vw, 82px); font-weight: 600; line-height: 1.02; letter-spacing: -.035em; }
.home-lede { max-width: 60ch; margin: 0 0 var(--space-8); color: var(--color-text-secondary); font-size: clamp(18px, 2vw, 21px); }
.home-actions, .home-inline-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); margin: 0; }
.home-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 10px 16px; border: 1px solid var(--color-action-primary); background: var(--color-action-primary); color: var(--color-text-on-action); font-size: 14px; font-weight: 600; text-decoration: none; }
.home-button:hover { filter: brightness(1.1); }
.home-button-subtle { background: transparent; color: var(--color-action-primary); }
.home-search{position:relative; display:flex; align-items:center; max-width:640px; margin:var(--space-8) 0 var(--space-6); background:var(--color-surface-page); border:1px solid var(--color-border-default); box-shadow:0 2px 8px rgba(0,0,0,.04); transition:border-color .15s, box-shadow .15s;}
.home-search:focus-within{border-color:var(--color-border-strong); box-shadow:0 4px 16px rgba(0,0,0,.06);}
.home-search input{flex:1; min-height:46px; padding:0 16px 0 44px; border:0; background:transparent; font-size:16px; font-family:var(--font-sans);}
.home-search input:focus{outline:none;}
.home-search input::placeholder{color:var(--color-text-secondary); opacity:.9;}
.home-search .home-search-icon{position:absolute; left:14px; top:50%; transform:translateY(-50%); width:18px; height:18px; color:var(--color-text-secondary); pointer-events:none; opacity:.7;}
.home-search button{flex:0 0 auto; min-width:96px; min-height:46px; border:1px solid transparent; border-left:1px solid var(--color-border-default); background:var(--color-button-secondary-bg); color:var(--color-button-secondary-text); font-weight:600; font-size:14px; padding:0 16px; cursor:pointer;}
.home-search button:hover{background:var(--color-button-secondary-bg-hover);}
.home-search button:focus-visible{outline:var(--focus); outline-offset:2px;}
.home-witness { margin: clamp(32px, 6vw, 56px) 0 0; padding-top: var(--space-6); border-top: 1px solid var(--color-border-default); }
.home-witness blockquote { margin: 0 0 var(--space-2); font-family: var(--font-he); font-size: clamp(30px, 4vw, 44px); font-weight: 700; }
.home-witness-link { color: inherit; text-decoration: none; }
.home-witness-link:hover, .home-witness-link:focus-visible { color: inherit; text-decoration: none; }
.home-witness-link:focus-visible { outline: var(--focus); outline-offset: 5px; }
.home-witness figcaption { color: var(--color-text-secondary); font-size: 14px; text-align: left; direction: ltr; }
.home-paths { padding-bottom: var(--space-20); }
.home-recent { padding-bottom: var(--space-20); }
.home-recent-list { border-top: 1px solid var(--color-border-strong); }
.home-recent-item { display: flex; justify-content: space-between; gap: var(--space-4); padding: var(--space-4) 0; border-bottom: 1px solid var(--color-border-default); color: inherit; text-decoration: none; }
.home-recent-item:hover span { text-decoration: underline; text-underline-offset: .16em; }
.home-recent-item time { color: var(--color-text-secondary); font-size: 13px; white-space: nowrap; }
.home-recent-empty { color: var(--color-text-secondary); }
.home-section-intro { max-width: 62ch; margin-bottom: var(--space-8); }
.home-section-intro h2, .home-tools h2 { margin: 0 0 var(--space-4); font-family: var(--font-serif); font-size: clamp(30px, 4vw, 44px); font-weight: 600; line-height: 1.1; letter-spacing: -.02em; }
.home-section-intro > p:not(.home-eyebrow):not(.home-inline-actions), .home-tools > div > p:not(.home-eyebrow):not(.home-inline-actions) { margin: 0; color: var(--color-text-secondary); }
.home-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--color-border-strong); }
.home-card { min-height: 270px; padding: var(--space-6); border-right: 1px solid var(--color-border-default); border-bottom: 1px solid var(--color-border-default); color: inherit; text-decoration: none; }
.home-card:first-child { border-left: 1px solid var(--color-border-default); }
.home-card-featured { background: var(--color-surface-page); }
.home-card h3, .home-note h3 { margin: 0 0 var(--space-3); font-family: var(--font-serif); font-size: 25px; font-weight: 600; line-height: 1.15; }
.home-card p { margin: 0; color: var(--color-text-secondary); font-size: 15px; }
.home-card-link { display: block; margin-top: var(--space-6); color: var(--color-text-link); font-size: 14px; font-weight: 600; }
.home-card:hover h3, .home-card:focus-visible h3 { text-decoration: underline; text-underline-offset: .14em; }
.home-tools { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: var(--space-10); padding-top: var(--space-16); padding-bottom: var(--space-16); border-top: 1px solid var(--color-border-default); }
.home-inline-actions { margin-top: var(--space-6); }
.home-note { align-self: start; padding: var(--space-6); border-left: 3px solid var(--color-action-primary); background: var(--color-surface-page); }
.home-note p { margin: 0 0 var(--space-4); color: var(--color-text-secondary); font-size: 14px; }
.home-reading-example p:first-child { margin: 0 0 var(--space-2); color: var(--color-text-primary); font-family: var(--font-he); font-size: clamp(30px, 4vw, 44px); font-weight: 700; line-height: 1.2; }
.home-reading-example p:last-child { margin-bottom: 0; color: var(--color-text-secondary); font-size: 14px; line-height: 1.5; }
.home-participate { display: flex; justify-content: space-between; align-items: end; gap: var(--space-10); padding-top: var(--space-16); padding-bottom: var(--space-20); }
.home-participate-actions { max-width: 30ch; }
.home-participate-actions p { margin: var(--space-4) 0 0; color: var(--color-text-secondary); font-size: 14px; }
.home-participate-actions a:not(.home-button) { color: var(--color-text-link); text-underline-offset: .16em; }
.home-footer { margin-top: 0; }
.home-button:focus-visible, .home-card:focus-visible, .home-text-link:focus-visible, .home-note a:focus-visible { outline: var(--focus); outline-offset: 3px; }
@media (max-width: 720px) { .home-card-grid { grid-template-columns: 1fr; } .home-card, .home-card:first-child { min-height: 0; border-left: 1px solid var(--color-border-default); } .home-tools, .home-participate { grid-template-columns: 1fr; display: grid; gap: var(--space-8); } .home-participate { align-items: start; } }
@media (prefers-reduced-motion: reduce) { .home-button { transition: none; } }
