/* Blog pages. Every rule is scoped to .lpb so the site's own styles stay untouched; colors and fonts come from
   the custom properties set per site (see the plugin's config). */
.lpb{
  --lpb-bg:#F6F7F9;--lpb-surface:#fff;--lpb-ink:#141821;--lpb-muted:#5A6372;--lpb-line:#DDE2E8;
  --lpb-accent:#0E6B63;--lpb-accent-2:#22C7B6;--lpb-link:#0E6B63;
  --lpb-hero-bg:#0F1C2B;--lpb-hero-ink:#fff;--lpb-hero-muted:#B5C2CF;--lpb-hero-line:rgba(255,255,255,.14);
  --lpb-btn-bg:#22C7B6;--lpb-btn-ink:#0F1C2B;--lpb-btn-radius:999px;--lpb-btn-shadow:none;--lpb-btn-transform:none;--lpb-btn-weight:600;--lpb-btn-spacing:0;
  --lpb-chip-bg:rgba(14,107,99,.1);--lpb-chip-ink:#0E6B63;
  --lpb-display:inherit;--lpb-body:inherit;--lpb-h-weight:800;--lpb-h-transform:none;--lpb-h-style:normal;--lpb-h-spacing:-.02em;--lpb-h-lh:1.08;
  --lpb-radius:18px;--lpb-top:0px;--lpb-max:1200px;--lpb-band-bg:var(--lpb-hero-bg);--lpb-band-ink:var(--lpb-hero-ink);
  --lpb-take-bg:#fff;--lpb-take-edge:var(--lpb-accent-2);
  display:block;background:var(--lpb-bg);color:var(--lpb-ink);font-family:var(--lpb-body);font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:clip
}
.lpb *,.lpb *::before,.lpb *::after{box-sizing:border-box}
.lpb img{max-width:100%;height:auto;display:block}
.lpb a{color:inherit;text-decoration:none}
.lpb p,.lpb ul,.lpb ol,.lpb figure,.lpb blockquote,.lpb h1,.lpb h2,.lpb h3{margin:0;padding:0}
.lpb h1,.lpb h2,.lpb h3{font-family:var(--lpb-display);font-weight:var(--lpb-h-weight);text-transform:var(--lpb-h-transform);font-style:var(--lpb-h-style);letter-spacing:var(--lpb-h-spacing);line-height:var(--lpb-h-lh);color:inherit;background:none;-webkit-text-fill-color:currentColor}
.lpb .lpb-i{width:18px;height:18px;flex:none;display:inline-block;vertical-align:middle}
.lpb-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lpb-wrap{max-width:var(--lpb-max);margin:0 auto;padding:0 clamp(16px,4vw,40px)}
.lpb-wrap--post{max-width:900px}

/* hero */
.lpb-hero{background:var(--lpb-hero-bg);color:var(--lpb-hero-ink);padding:calc(var(--lpb-top) + clamp(40px,6vw,72px)) 0 clamp(40px,5vw,64px);position:relative;overflow:hidden}
.lpb-hero::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:var(--lpb-hero-line)}
.lpb-crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--lpb-hero-muted);margin-bottom:22px}
.lpb-crumbs a{color:var(--lpb-hero-muted);border-bottom:1px solid transparent}
.lpb-crumbs a:hover{color:var(--lpb-hero-ink);border-color:currentColor}
.lpb-crumbs [aria-current]{color:var(--lpb-hero-ink)}
.lpb-eyebrow{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--lpb-accent-2);margin-bottom:14px}
.lpb .lpb-h1{font-size:clamp(38px,5.6vw,72px);max-width:15em;color:var(--lpb-hero-ink)}
.lpb .lpb-h1--post{font-size:clamp(32px,4.4vw,54px);max-width:none}
.lpb-lede{font-size:clamp(17px,1.5vw,20px);line-height:1.55;color:var(--lpb-hero-muted);max-width:40em;margin-top:18px!important}
.lpb-cats{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.lpb-cats a{display:inline-flex;align-items:center;gap:8px;padding:8px 15px;border:1px solid var(--lpb-hero-line);border-radius:999px;font-size:14px;font-weight:600;color:var(--lpb-hero-ink);transition:background .2s,border-color .2s}
.lpb-cats a small{font-size:12px;opacity:.6;font-weight:500}
.lpb-cats a:hover{border-color:var(--lpb-accent-2)}
.lpb-cats a.is-on{background:var(--lpb-hero-ink);color:var(--lpb-hero-bg-solid,#111);border-color:var(--lpb-hero-ink)}
.lpb-byline{display:flex;align-items:center;gap:12px;margin-top:26px!important;font-size:14px;color:var(--lpb-hero-muted);line-height:1.45}
.lpb-byline b{color:var(--lpb-hero-ink);font-weight:600}
.lpb-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--lpb-btn-bg);color:var(--lpb-btn-ink);font-family:var(--lpb-display);font-weight:800;font-size:18px;flex:none}

/* buttons, chips */
.lpb .lpb-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:var(--lpb-btn-radius);background:var(--lpb-btn-bg);color:var(--lpb-btn-ink);font-weight:var(--lpb-btn-weight);font-size:16px;line-height:1.2;text-transform:var(--lpb-btn-transform);letter-spacing:var(--lpb-btn-spacing);box-shadow:var(--lpb-btn-shadow);transition:transform .2s,filter .2s;white-space:nowrap;border:0}
.lpb .lpb-btn:hover{transform:translateY(-1px);filter:brightness(1.06)}
.lpb .lpb-btn--sm{padding:11px 16px;font-size:14px;margin-top:14px}
.lpb-chip{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--lpb-chip-bg);color:var(--lpb-chip-ink)!important;font-size:12.5px;font-weight:700;letter-spacing:.02em}
.lpb-badge{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--lpb-btn-bg);color:var(--lpb-btn-ink);font-size:12.5px;font-weight:700}
.lpb .lpb-more{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:15px;color:var(--lpb-link)}
.lpb .lpb-more .lpb-i{transition:transform .2s}
.lpb .lpb-more:hover .lpb-i{transform:translateX(3px)}

/* index */
.lpb-list{padding:clamp(40px,5vw,64px) 0 clamp(56px,7vw,96px)}
.lpb-feature{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(20px,3vw,44px);align-items:center;background:var(--lpb-surface);border:1px solid var(--lpb-line);border-radius:var(--lpb-radius);overflow:hidden;margin-bottom:clamp(32px,4vw,48px)}
.lpb-feature-img{display:block;align-self:stretch;background:var(--lpb-hero-bg-solid,#111);display:flex;align-items:center}
.lpb-feature-img img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.lpb-feature-body{padding:clamp(22px,3vw,40px) clamp(22px,3vw,40px) clamp(22px,3vw,40px) 0}
.lpb .lpb-feature-title{font-size:clamp(24px,2.3vw,32px);margin:14px 0 12px}
.lpb-feature-title a:hover{color:var(--lpb-link)}
.lpb-feature .lpb-card-ex{margin-bottom:24px}
.lpb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.2vw,28px)}
.lpb-card{display:flex;flex-direction:column;background:var(--lpb-surface);border:1px solid var(--lpb-line);border-radius:var(--lpb-radius);overflow:hidden;transition:transform .25s,box-shadow .25s}
.lpb-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px -24px rgba(10,20,40,.45)}
.lpb-card-img{display:block;background:var(--lpb-hero-bg)}
.lpb-card-img img{width:100%;aspect-ratio:16/9;object-fit:cover}
.lpb-card-body{display:flex;flex-direction:column;flex:1;padding:20px 22px 22px}
.lpb-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;color:var(--lpb-muted)}
.lpb .lpb-card-title{font-size:21px;line-height:1.22;margin:12px 0 8px}
.lpb-card-title a:hover{color:var(--lpb-link)}
.lpb-card-ex{color:var(--lpb-muted);font-size:15.5px;line-height:1.55;margin-bottom:16px!important}
.lpb-card .lpb-more{margin-top:auto}
.lpb-pages{margin-top:44px}
.lpb-pages ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.lpb-pages a,.lpb-pages span{display:inline-grid;place-items:center;min-width:44px;height:44px;padding:0 14px;border:1px solid var(--lpb-line);border-radius:12px;background:var(--lpb-surface);font-weight:600}
.lpb-pages .current{background:var(--lpb-ink);color:var(--lpb-bg);border-color:var(--lpb-ink)}
.lpb-empty{padding:40px 0;color:var(--lpb-muted)}

/* article */
.lpb-cover{max-width:1100px}
.lpb-cover img{width:100%;border-radius:var(--lpb-radius);aspect-ratio:16/9;object-fit:cover;margin-top:clamp(24px,3vw,40px);box-shadow:0 30px 60px -40px rgba(10,20,40,.6)}
.lpb-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:start;padding-top:clamp(32px,4vw,56px);padding-bottom:clamp(48px,6vw,80px)}
.lpb-article{max-width:740px;min-width:0}
.lpb-side{position:sticky;top:calc(var(--lpb-top) + 24px);display:grid;gap:18px;font-size:14.5px}
.lpb-side-h{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--lpb-muted);margin-bottom:12px!important}
.lpb-toc ol{list-style:none;border-left:2px solid var(--lpb-line)}
.lpb-toc li{margin:0}
.lpb-toc a{display:block;padding:6px 0 6px 14px;margin-left:-2px;border-left:2px solid transparent;color:var(--lpb-muted);line-height:1.35;transition:color .2s,border-color .2s}
.lpb-toc a:hover{color:var(--lpb-ink)}
.lpb-toc a.is-on{color:var(--lpb-ink);border-left-color:var(--lpb-accent-2);font-weight:600}
.lpb-sidecta{background:var(--lpb-surface);border:1px solid var(--lpb-line);border-radius:var(--lpb-radius);padding:20px}
.lpb-sidecta .lpb-side-h{margin-bottom:6px!important}
.lpb-sidecta-h{font-family:var(--lpb-display);font-weight:700;font-size:18px;line-height:1.25}
.lpb-toc-m{display:none}

.lpb-takeaways{background:var(--lpb-take-bg);border:1px solid var(--lpb-line);border-left:4px solid var(--lpb-take-edge);border-radius:calc(var(--lpb-radius) * .7);padding:22px 26px;margin-bottom:36px}
.lpb-takeaways-h{font-family:var(--lpb-display);font-weight:800;font-size:18px;margin-bottom:10px!important;text-transform:var(--lpb-h-transform);font-style:var(--lpb-h-style)}
.lpb .lpb-takeaways ul{list-style:none}
.lpb .lpb-takeaways li{position:relative;padding:5px 0 5px 28px;font-size:16.5px;line-height:1.5}
.lpb .lpb-takeaways li::before{content:"";position:absolute;left:3px;top:13px;width:11px;height:6px;border-left:2.5px solid var(--lpb-accent);border-bottom:2.5px solid var(--lpb-accent);transform:rotate(-45deg)}

.lpb-body{font-size:18px;line-height:1.75;color:var(--lpb-ink)}
.lpb .lpb-body > * + *{margin-top:1.15em}
.lpb .lpb-body > h2{margin-top:1.9em}.lpb .lpb-body h2{font-size:clamp(26px,2.6vw,34px);scroll-margin-top:calc(var(--lpb-top) + 90px)}
.lpb .lpb-body > h3{margin-top:1.6em}.lpb .lpb-body h3{font-size:clamp(20px,1.9vw,24px);letter-spacing:-.01em}
.lpb .lpb-body > h2 + *,.lpb .lpb-body > h3 + *{margin-top:.65em}
.lpb-body p{color:var(--lpb-ink)}
.lpb-body a{color:var(--lpb-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.lpb-body a:hover{text-decoration-thickness:2px}
.lpb .lpb-body ul,.lpb .lpb-body ol{padding-left:1.4em}
.lpb .lpb-body li{margin:.45em 0;padding-left:.2em}.lpb .lpb-body li p{margin:0}
.lpb .lpb-body ul li::marker{color:var(--lpb-accent)}
.lpb .lpb-body ol li::marker{color:var(--lpb-accent);font-weight:700}
.lpb-body strong{font-weight:700}
.lpb .lpb-body blockquote{border-left:4px solid var(--lpb-accent-2);padding:6px 0 6px 22px;font-size:20px;line-height:1.55;color:var(--lpb-ink);font-style:italic}
.lpb-body .lpb-note{display:block;background:var(--lpb-chip-bg);border-radius:calc(var(--lpb-radius) * .6);padding:18px 22px;font-size:16.5px;line-height:1.6}
.lpb-table{overflow-x:auto;border:1px solid var(--lpb-line);border-radius:calc(var(--lpb-radius) * .6);background:var(--lpb-surface);-webkit-overflow-scrolling:touch}
.lpb-table table{width:100%;border-collapse:collapse;font-size:15.5px;line-height:1.45;min-width:520px}
.lpb-table th,.lpb-table td{padding:12px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--lpb-line);color:var(--lpb-ink);background:none}
.lpb-table th{font-weight:700;background:var(--lpb-chip-bg);font-size:14px;letter-spacing:.02em}
.lpb-table tr:last-child td{border-bottom:0}

.lpb-faq{margin-top:56px}
.lpb .lpb-faq h2{font-size:clamp(26px,2.6vw,34px);margin-bottom:18px;scroll-margin-top:calc(var(--lpb-top) + 90px)}
.lpb-faq details{border-top:1px solid var(--lpb-line)}
.lpb-faq details:last-child{border-bottom:1px solid var(--lpb-line)}
.lpb-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 0;font-weight:700;font-size:17.5px;line-height:1.4}
.lpb-faq summary::-webkit-details-marker{display:none}
.lpb-faq summary .lpb-i{transition:transform .25s;color:var(--lpb-accent)}
.lpb-faq details[open] summary .lpb-i{transform:rotate(45deg)}
.lpb-faq details div{padding:0 0 20px;color:var(--lpb-muted);font-size:16.5px;line-height:1.65}
.lpb-sources{margin-top:40px;padding-top:22px;border-top:1px solid var(--lpb-line)}
.lpb-sources-h{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--lpb-muted);margin-bottom:10px!important}
.lpb .lpb-sources ol{padding-left:1.3em;font-size:14.5px;color:var(--lpb-muted)}
.lpb-sources li{margin:.3em 0}
.lpb-sources a{color:var(--lpb-muted);text-decoration:underline;text-underline-offset:2px;word-break:break-word}
.lpb-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px;align-items:center;margin-top:36px;padding-top:22px;border-top:1px solid var(--lpb-line)}
.lpb-tags{display:flex;flex-wrap:wrap;gap:8px;font-size:13.5px;color:var(--lpb-muted)}
.lpb-tags span{padding:4px 10px;border:1px solid var(--lpb-line);border-radius:999px}
.lpb-share{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--lpb-muted)}
.lpb .lpb-share a,.lpb .lpb-share button{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--lpb-line);border-radius:50%;color:var(--lpb-ink);background:var(--lpb-surface);cursor:pointer;position:relative;padding:0;transition:border-color .2s,color .2s}
.lpb .lpb-share a:hover,.lpb .lpb-share button:hover{border-color:var(--lpb-accent);color:var(--lpb-accent)}
.lpb-share .lpb-i{width:16px;height:16px}
.lpb-copy em{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--lpb-ink);color:var(--lpb-bg);font-style:normal;font-size:12px;letter-spacing:0;text-transform:none;padding:3px 8px;border-radius:6px;opacity:0;pointer-events:none;transition:opacity .2s;white-space:nowrap}
.lpb-copy.is-done em{opacity:1}

/* call-to-action band and related */
.lpb-band{background:var(--lpb-band-bg);color:var(--lpb-band-ink);padding:clamp(40px,5vw,64px) 0}
.lpb-band-in{display:flex;justify-content:space-between;align-items:center;gap:28px}
.lpb .lpb-band h2{font-size:clamp(26px,3vw,40px);color:var(--lpb-band-ink);max-width:22em}
.lpb-band p{color:var(--lpb-hero-muted);margin-top:10px!important;max-width:40em}
.lpb-related{padding:clamp(48px,6vw,80px) 0}
.lpb-related-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:24px}
.lpb .lpb-related h2{font-size:clamp(26px,3vw,38px)}

@media (max-width:1000px){
  .lpb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lpb-feature{grid-template-columns:1fr}
  .lpb-feature-body{padding:0 24px 28px}
  .lpb-layout{grid-template-columns:1fr}
  .lpb-side{display:none}
  .lpb-article{max-width:none}
  .lpb-toc-m{display:block;border:1px solid var(--lpb-line);border-radius:calc(var(--lpb-radius) * .6);background:var(--lpb-surface);margin-bottom:24px}
  .lpb-toc-m summary{cursor:pointer;padding:14px 18px;font-weight:700;display:flex;gap:8px;align-items:center;list-style:none}
  .lpb-toc-m summary::-webkit-details-marker{display:none}
  .lpb .lpb-toc-m ol{padding:0 18px 14px 38px;font-size:15px}
  .lpb-toc-m li{margin:.35em 0}
  .lpb-toc-m a{color:var(--lpb-link)}
}
@media (max-width:680px){
  .lpb{font-size:16px}
  .lpb-grid{grid-template-columns:1fr}
  .lpb-band-in{flex-direction:column;align-items:flex-start}
  .lpb-body{font-size:17px}
  .lpb-takeaways{padding:18px 18px}
  .lpb-cover{padding:0}
  .lpb-cover img{border-radius:0;margin-top:0}
  .lpb-related-head{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){.lpb *{transition:none!important}}
