/* Homepage extensions use the existing type roles and Elementor-friendly grids. */
.home-extension { padding-block:clamp(64px,7vw,108px); background:var(--white); scroll-margin-top:104px; }
.home-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(32px,5vw,80px); align-items:start; }
.home-extension p { max-width:65ch; color:var(--muted); }
.home-extension h3 { font:400 var(--type-title)/1.12 var(--display); letter-spacing:-.03em; margin:0 0 16px; text-wrap:balance; }
.home-link { display:inline-flex; align-items:center; min-height:44px; color:var(--red-dark); font-weight:700; text-underline-offset:5px; }
.home-link:hover { color:var(--ink); }
.home-actions { display:flex; flex-wrap:wrap; gap:12px 28px; margin-top:24px; }
.home-capabilities { margin:28px 0 0; padding:0; list-style:none; border-top:1px solid var(--rule); }
.home-capabilities li { padding:18px 0; border-bottom:1px solid var(--rule); }
.home-capabilities strong { display:block; margin-bottom:4px; }
.home-capabilities p { margin:0; }
.home-applications { background:var(--paper); }
.home-section-head { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:48px; align-items:end; margin-bottom:44px; }
.home-section-head p { margin:0; }
.home-scenario { border-top:1px solid var(--rule); padding:26px 0; display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) auto; gap:32px; align-items:start; }
.home-scenario h3 { font-family:var(--body); font-size:21px; font-weight:700; letter-spacing:0; margin:0; }
.home-scenario p { margin:0; }
.home-scenario .home-link { padding-top:0; }
.home-custom figure { margin:0; }
.home-custom img { width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; }
.home-custom figcaption { padding-top:12px; font-size:13px; color:var(--muted); }
.home-custom .section-heading { margin-bottom:24px; }
.home-custom details { border-bottom:1px solid var(--rule); }
.home-custom summary { min-height:58px; padding:18px 0; font-weight:700; cursor:pointer; }
.home-custom summary::marker { color:var(--red-dark); }
.home-custom details p { margin:0; padding-bottom:20px; }
.home-note { font-size:13px; }
.home-tools { background:var(--paper); border-block:1px solid var(--rule); }
.home-tools .section-heading,.home-journal .section-heading { font-size:clamp(30px,3vw,42px); }
.home-resource-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:64px; }
.home-resource-links { list-style:none; margin:0; padding:0; border-top:1px solid var(--rule); }
.home-resource-links li { border-bottom:1px solid var(--rule); }
.home-resource-links a { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px 0; text-decoration:none; }
.home-resource-links strong { display:block; font-size:21px; font-weight:700; }
.home-resource-links a > span > span { display:block; color:var(--muted); margin-top:6px; }
.home-resource-links .arrow { color:var(--red-dark); flex-shrink:0; }
.home-resource-links a:hover strong { color:var(--red-dark); text-decoration:underline; }
.home-journal-header { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:36px; }
.home-journal-header p { margin-bottom:0; }
.home-journal-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:56px; }
.home-guide-feature { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1fr); gap:28px; align-items:start; }
.home-guide-feature img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.home-journal h3 { font:700 clamp(20px,1.6vw,24px)/1.35 var(--body); letter-spacing:0; margin:0 0 12px; text-wrap:initial; }
.home-journal h3 a { text-decoration:none; }
.home-journal h3 a:hover { color:var(--red-dark); text-decoration:underline; }
.home-journal article p { margin:0; }
.home-guide-secondary { display:grid; gap:24px; }
.home-guide-secondary article { padding-top:20px; border-top:1px solid var(--rule); }
@media(max-width:1000px) {
  .home-scenario { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:16px 28px; }
  .home-scenario .home-link { grid-column:2; }
}
@media(max-width:760px) {
  .home-split,.home-section-head,.home-scenario,.home-resource-layout,.home-journal-grid { grid-template-columns:1fr; gap:28px; }
  .home-scenario .home-link { grid-column:auto; }
  .home-scenario { gap:12px; }
  .home-custom img { aspect-ratio:4/3; }
  .home-journal-header { align-items:flex-start; flex-direction:column; gap:8px; }
  .home-guide-feature { grid-template-columns:1fr; gap:20px; }
}
