/* Scoped release: home, coaching and directory hubs only. No global overrides. */
.lp-section { width:min(1120px,calc(100% - 48px)); margin:40px auto; padding:clamp(22px,4vw,40px); border:1px solid #d2dfcd; border-radius:22px; background:#f0f5eb; color:#173b32; }
.lp-section :where(h2,h3,p,figure,dl,dd) { margin:0; }
.lp-section h2 { max-width:850px; font-size:clamp(25px,3vw,36px); line-height:1.4; text-wrap:balance; }
.lp-section h3 { font-size:20px; line-height:1.5; }
.lp-section .lp-kicker { margin-bottom:10px; color:#316249; font-size:14px; font-weight:800; letter-spacing:.02em; }
.lp-section .lp-intro { max-width:850px; margin-top:16px; color:#425d50; }
.lp-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:24px; }
.lp-card { min-width:0; padding:22px; border:1px solid #dce5d6; border-radius:16px; background:#fffefa; }
.lp-card p { margin-top:12px; color:#425d50; }
.lp-card a { margin-top:15px; }
.lp-section .lp-link,.lp-links .lp-link { display:inline-flex; align-items:center; min-height:46px; gap:8px; padding:8px 0; font-size:16px; font-weight:750; color:#175a43; text-decoration:underline; text-underline-offset:4px; }
.lp-section a:focus-visible,.lp-links a:focus-visible,.lp-search :is(input,button):focus-visible { outline:3px solid #196fce; outline-offset:4px; }
.lp-links { display:flex; flex-wrap:wrap; gap:10px 24px; margin-top:18px; }
.lp-media { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); align-items:center; gap:28px; margin-top:24px; }
.lp-media img { display:block; max-width:100%; width:100%; height:auto; border-radius:12px; }
.lp-media figure { padding:14px; background:#fff; border:1px solid #dce5d6; border-radius:16px; }
.lp-media figcaption { margin-top:10px; color:#52645d; font-size:14px; }
.lp-section .lp-example { padding:20px; border-left:3px solid #376951; background:#fffefa; border-radius:0 12px 12px 0; }
.lp-section .lp-example p { margin-top:10px; }
.lp-section .lp-note { margin-top:18px; font-size:15px; color:#52645d; }
.lp-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; list-style:none; counter-reset:learning; padding:0; margin:24px 0 0; }
.lp-steps li { padding:18px; border-radius:14px; background:#fffefa; border:1px solid #dce5d6; }
.lp-steps li::before { counter-increment:learning; content:"0" counter(learning); display:block; font-size:14px; font-weight:800; color:#316249; margin-bottom:8px; }
.lp-steps strong { display:block; margin-bottom:8px; }
.lp-search { display:none; border:1px solid #c2d3be; border-radius:14px; padding:20px; background:#edf3e9; margin-block:20px; }
.lp-search[data-ready] { display:block; }
.lp-search label { display:block; margin-bottom:8px; font-weight:750; }
.lp-search-row { display:flex; gap:10px; }
.lp-search input { flex:1; min-width:0; width:100%; border:1px solid #799880; border-radius:9px; padding:12px; font-size:16px; background:#fff; color:#173b32; }
.lp-search button { flex:0 0 auto; min-height:46px; border:1px solid #315f47; border-radius:9px; padding:10px 16px; background:#fff; color:#173b32; font-size:16px; cursor:pointer; }
.lp-search p { margin:10px 0 0; color:#425d50; }
body.unified-ui .lp-article-list .ui-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
body.unified-ui .lp-article-list .ui-card { padding:18px 22px; }
body.unified-ui .lp-article-list .ui-card h3 { font-size:20px; }
.lp-updated { width:min(1120px,calc(100% - 48px)); margin:24px auto; font-size:14px; color:#52645d; }
@media(max-width:760px) {
  .lp-section { width:calc(100% - 32px); margin-block:28px; padding:22px 18px; border-radius:18px; }
  .lp-grid,.lp-media { grid-template-columns:1fr; gap:14px; }
  .lp-steps { grid-template-columns:1fr; }
  .lp-card { padding:18px; }
  .lp-links { flex-direction:column; gap:4px; }
  .lp-section h3 { font-size:20px; }
  body.unified-ui .lp-article-list .ui-grid { grid-template-columns:1fr; }
  .lp-search { padding:16px; }
  .lp-search-row { flex-wrap:wrap; }
  .lp-updated { width:calc(100% - 32px); }
}
@media(max-width:370px) {
  .lp-steps { grid-template-columns:1fr; }
  .lp-search input { flex-basis:100%; }
}
