/**
 * IJAR — homepage-only styles (front-page.php).
 *
 * Loaded ONLY on the front page (see ijar_child_enqueue_assets() in
 * functions.php), after ijar-design-system, so every rule here can
 * freely use the same design tokens (--navy, --emerald, --gold,
 * --sand, --line, --ink*, --font-ui, --font-serif, --radius,
 * --shadow-*, --header-h) ijar.css already defines, and reuses
 * .container / .icon / .btn / .btn-solid / .btn-ghost as-is rather
 * than redefining them.
 *
 * Every class below is prefixed "home-" specifically so nothing here
 * can collide with or accidentally override a same-named rule
 * elsewhere in ijar.css (a few short names like .toc-num are already
 * used, with different styling, by the article/on-page-nav templates).
 */

/* ---------- hero ---------- */
.home-hero{ padding:64px 0 84px; border-bottom:1px solid var(--line); overflow:hidden; }
.home-hero-grid{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center; }
.home-hero .home-kicker{ display:inline-flex; align-items:center; gap:9px; font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--emerald); margin-bottom:22px; }
.home-hero .home-kicker .home-rule{ width:26px; height:1px; background:var(--emerald); display:inline-block; }
.home-hero h1{ font-family:var(--font-serif); font-size:clamp(32px,3.6vw,46px); font-weight:500; line-height:1.16; letter-spacing:-.01em; text-wrap:balance; color:var(--navy); margin:0; }
.home-hero .home-lede{ font-size:17px; color:var(--ink-soft); line-height:1.7; margin:22px 0 0; max-width:52ch; }

.home-hero-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:26px; margin-top:34px; }
.home-text-link{ display:inline-flex; align-items:center; gap:6px; font-size:14px; font-weight:600; color:var(--navy); text-decoration:none; background-image:linear-gradient(var(--emerald),var(--emerald)); background-repeat:no-repeat; background-size:0% 1.5px; background-position:0 100%; transition:background-size .2s ease; padding-bottom:2px; }
.home-text-link:hover{ background-size:100% 1.5px; color:var(--emerald); }
[data-theme="dark"] .home-text-link{ color:#EAF1F7; }

.home-plate{ position:relative; max-width:300px; margin-left:auto; }
/* Once a real cover image replaces .home-cover-placeholder (see the
   comment above that markup in front-page.php), this frames it to
   match the rest of the page — no extra class needed on the <img>. */
.home-plate img{ width:100%; height:auto; display:block; border:1px solid var(--line); box-shadow:var(--shadow-md); background:var(--sand); }
.home-cover-placeholder{
  aspect-ratio:210/297; border:1.5px dashed var(--line); background:var(--sand);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:14px; text-align:center; padding:28px;
}
.home-cover-placeholder svg{ width:32px; height:32px; color:var(--ink-faint); }
.home-cover-placeholder strong{ font-family:var(--font-serif); font-size:15.5px; font-weight:500; color:var(--ink-soft); display:block; }
.home-cover-placeholder span{ display:block; margin-top:7px; font-size:11.5px; color:var(--ink-faint); letter-spacing:.02em; }
.home-plate-caption{ margin-top:14px; font-size:12.5px; color:var(--ink-faint); line-height:1.55; }
.home-plate-caption b{ color:var(--ink-soft); font-weight:600; font-style:normal; }
.home-plate-caption i{ font-style:italic; }

@media (max-width:920px){
  .home-hero-grid{ grid-template-columns:1fr; }
  .home-plate{ max-width:260px; margin:0 auto; }
}

/* ---------- section shell ---------- */
.home-section-band{ padding:72px 0; border-bottom:1px solid var(--line); }
.home-section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:8px; flex-wrap:wrap; }
.home-eyebrow{ display:flex; align-items:center; gap:9px; font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--emerald); margin:0 0 12px; }
.home-eyebrow .home-rule{ width:26px; height:1px; background:var(--emerald); display:inline-block; }
.home-section-head h2{ font-family:var(--font-serif); font-size:clamp(24px,2.4vw,30px); font-weight:500; color:var(--navy); margin:0; text-wrap:balance; }

/* ---------- current issue / table of contents ---------- */
.home-issue-meta-row{ display:flex; flex-wrap:wrap; gap:8px 20px; align-items:baseline; margin-top:6px; font-size:14px; color:var(--ink-faint); }

.home-toc-list{ list-style:none; margin:40px 0 0; padding:0; border-top:1px solid var(--line); }
.home-toc-row{ display:grid; grid-template-columns:56px 104px 1fr auto; gap:26px; align-items:start; padding:30px 0; border-bottom:1px solid var(--line); }
.home-toc-num{ font-family:var(--font-serif); font-size:26px; color:var(--line); font-weight:500; padding-top:2px; line-height:1; }
.home-toc-thumb{ width:104px; height:104px; border:1px solid var(--line); background:var(--sand); display:flex; align-items:center; justify-content:center; color:var(--ink-faint); flex-shrink:0; overflow:hidden; }
.home-toc-thumb svg{ width:24px; height:24px; }
.home-toc-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.home-toc-main .home-kind{ font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:9px; }
.home-toc-main h3{ font-family:var(--font-serif); font-size:19.5px; font-weight:500; line-height:1.4; margin:0 0 9px; color:var(--navy); }
.home-toc-main h3 a{ text-decoration:none; color:var(--navy); }
.home-toc-main h3 a:hover{ color:var(--emerald); }
[data-theme="dark"] .home-toc-main h3 a{ color:#EAF1F7; }
.home-toc-authors{ font-size:13.5px; color:var(--ink-soft); margin:0 0 10px; }
.home-toc-cite{ font-size:12.5px; color:var(--ink-faint); margin:0; }
.home-toc-cite a{ color:var(--ink-faint); text-decoration:underline; text-decoration-color:var(--line); text-underline-offset:2px; }
.home-toc-cite a:hover{ color:var(--emerald); text-decoration-color:var(--emerald); }
.home-toc-actions{ display:flex; align-items:flex-start; padding-top:2px; }
.home-toc-actions .btn{ padding:9px 16px; font-size:12.5px; white-space:nowrap; }

.home-toc-foot{ display:flex; justify-content:space-between; align-items:center; margin-top:8px; padding-top:20px; flex-wrap:wrap; gap:12px; }
.home-toc-pagestat{ font-size:12.5px; color:var(--ink-faint); }

.home-issue-empty{ margin-top:32px; padding:32px; border:1px dashed var(--line); background:var(--sand); text-align:center; color:var(--ink-soft); font-size:14.5px; }

@media (max-width:720px){
  .home-toc-row{ grid-template-columns:1fr; gap:12px; }
  .home-toc-num{ font-size:20px; }
  .home-toc-thumb{ width:88px; height:88px; }
  .home-toc-actions{ padding-top:4px; }
}

/* ---------- latest issues — shown as a shelf of spines ---------- */
.home-issue-shelf{ display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); margin-top:38px; }
.home-issue-spine{ padding:30px 24px; border-left:3px solid var(--line); position:relative; }
.home-issue-spine + .home-issue-spine{ border-top:1px solid var(--line); }
.home-issue-spine.is-current{ border-left-color:var(--emerald); background:var(--sand); }
.home-issue-spine.is-call{ border-left-color:var(--gold); }
.home-spine-status{ font-size:10.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:14px; }
.home-issue-spine.is-current .home-spine-status{ color:var(--emerald); }
.home-issue-spine.is-call .home-spine-status{ color:var(--gold); }
.home-issue-spine h3{ font-family:var(--font-serif); font-size:21px; font-weight:500; color:var(--navy); margin:0; }
.home-issue-spine .home-spine-period{ font-size:12.5px; color:var(--ink-faint); margin-top:5px; }
.home-issue-spine .home-spine-detail{ font-size:13px; color:var(--ink-soft); margin-top:16px; line-height:1.55; }
.home-issue-spine .home-text-link{ margin-top:16px; font-size:13px; }

@media (max-width:980px){
  .home-issue-shelf{ grid-template-columns:repeat(2,1fr); }
  .home-issue-spine:nth-child(2){ border-top:1px solid var(--line); }
}
@media (max-width:560px){
  .home-issue-shelf{ grid-template-columns:1fr; }
  .home-issue-spine{ border-top:1px solid var(--line); }
  .home-issue-spine:first-child{ border-top:0; }
}

/* ---------- editorial standards band ---------- */
.home-standards{ display:grid; grid-template-columns:1.3fr 1fr; gap:64px; align-items:start; }
.home-standards p{ font-size:15px; color:var(--ink-soft); line-height:1.75; max-width:56ch; margin:0; }
.home-standards p a{ color:var(--navy); text-decoration-color:var(--line); }
[data-theme="dark"] .home-standards p a{ color:#EAF1F7; }
.home-fact-list{ list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
.home-fact-list li{ display:flex; justify-content:space-between; gap:16px; padding:14px 0; border-bottom:1px solid var(--line); font-size:13.5px; }
.home-fact-term{ color:var(--ink-faint); }
.home-fact-value{ color:var(--ink); font-weight:500; text-align:right; }

@media (max-width:820px){ .home-standards{ grid-template-columns:1fr; gap:32px; } }
