/* Homepage-only editorial layout; shared navigation and reading themes stay global. */
.home-front-hero { padding:clamp(2rem,5vw,4rem) 0; border-bottom:1px solid var(--line); background:radial-gradient(ellipse at 80% 30%,rgba(159,88,203,.13),transparent 65%); }
.home-front-hero__grid { display:grid; grid-template-columns:minmax(0,1fr) 160px; gap:3rem; align-items:center; }
.home-front-hero h1 { max-width:850px; font-size:clamp(2.35rem,4.7vw,4.3rem); line-height:1.08; margin:0 0 1.2rem; }
.home-front-hero .lede { max-width:720px; margin:0 0 1.5rem; }
.home-front-hero__emblem { width:160px; height:auto; }
.home-front-section { padding:clamp(2rem,4vw,3.25rem) 0; border-bottom:1px solid var(--line); }
.home-front-section h2 { margin:0 0 1.2rem; font-size:clamp(1.8rem,3vw,2.5rem); line-height:1.18; }
.home-front-section h3 { font-size:1.35rem; line-height:1.3; }
.home-front-heading { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.home-front-heading > div:first-child { min-width:0; }
.home-now-controls { display:flex; gap:.5rem; flex-shrink:0; }
.home-now-controls[hidden] { display:none; }
.home-now-controls button { border:1px solid var(--line); border-radius:50%; background:rgba(180,120,190,.12); color:inherit; width:44px; height:44px; cursor:pointer; font-size:1.2rem; }
.home-now-controls button:disabled { opacity:.35; cursor:default; }
.home-now-shelf { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 2.5rem)/3); gap:1.25rem; overflow-x:auto; scroll-snap-type:x proximity; scroll-padding:.25rem; padding:.25rem .25rem 1.25rem; overscroll-behavior-inline:contain; }
.home-now-card { display:flex; flex-direction:column; min-width:0; padding:1.5rem; border:1px solid var(--line); border-top:3px solid #aa7898; background:rgba(125,75,143,.12); scroll-snap-align:start; }
.home-now-card h3 { margin:1rem 0 .75rem; }
.home-now-card p { font-size:1rem; margin:0 0 1.5rem; }
.home-now-card time { font-size:.8rem; opacity:.8; margin-top:.45rem; }
.home-now-card .text-link { margin-top:auto; }
.home-now-card .tag-row { margin:0; }
.home-all-updates summary,.home-event-disclosure summary { cursor:pointer; width:fit-content; padding:.6rem 0; text-underline-offset:4px; }
.home-all-updates nav { display:flex; flex-wrap:wrap; gap:1rem 2rem; padding:.75rem 0; }
.home-front-doors { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; }
.home-front-doors > a { color:inherit; text-decoration:none; border-left:2px solid #aa7898; padding-left:1.25rem; }
.home-front-doors h3 { margin:0 0 .5rem; }
.home-front-doors p { margin:0; }
.home-front-mission { margin:1.75rem 0 0; font-size:.95rem; }
.home-front-reading,.home-front-music,.home-front-account { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:2.5rem; align-items:center; }
.home-front-reading,.home-front-music { padding:2rem; border:1px solid var(--line); border-radius:12px; background:linear-gradient(110deg,rgba(113,62,137,.18),rgba(134,65,95,.2)); }
.home-front-reading.guide-library__card { min-height:0; isolation:isolate; }
.home-front-reading > div { position:relative; z-index:1; }
.home-front-reading__actions { display:flex; flex-direction:column; align-items:flex-start; gap:1.2rem; }
.home-front-meta { font-size:.85rem; margin-bottom:0; }
.home-front-events { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.home-front-events .home-event-card { min-height:0; padding:1.5rem; }
.home-front-events .home-event-card h3 { margin:.75rem 0; }
.home-event-disclosure { margin-top:.75rem; font-size:.9rem; }
.home-event-disclosure p { max-width:85ch; }
.home-front-section :is(a,button,summary,[tabindex]):focus-visible { outline:3px solid #e8b974; outline-offset:4px; }
@media(max-width:760px) {
  .home-front-hero__grid { grid-template-columns:minmax(0,1fr); gap:0; }
  .home-front-hero__emblem { display:none; }
  .home-now-shelf { grid-auto-columns:86%; gap:1rem; }
  .home-now-card { padding:1.25rem; }
  .home-front-heading { gap:.75rem; flex-wrap:wrap; }
  [data-home-now] .home-front-heading { flex-wrap:nowrap; }
  .home-front-doors,.home-front-reading,.home-front-music,.home-front-account,.home-front-events { grid-template-columns:minmax(0,1fr); gap:1.5rem; }
  .home-front-reading,.home-front-music { padding:1.5rem; }
}
@media(prefers-reduced-motion:reduce) { .home-now-shelf { scroll-behavior:auto; } }
