/* Teonia — blog : en-tête d'article, corps avec sommaire, composants post-*.
   Chargé seulement sur les pages qui contiennent un bloc post-*. */

/* ---------- En-tête ---------- */
section.b-post-hero { padding: clamp(40px, 6vw, 80px) 0 0; }
.ph-crumbs { display: flex; gap: 10px; align-items: center; font-size: 14px; color: var(--muted); }
.ph-crumbs a { color: var(--black); font-weight: 500; border-bottom: 1px solid var(--stone-200); }
.ph-crumbs a:hover { border-color: var(--black); }
.ph-title { margin-top: 22px; max-width: 19ch; font-size: clamp(40px, 5.6vw, 76px); line-height: 1.02; font-weight: 600; letter-spacing: -0.038em; text-wrap: balance; }
.ph-title em { font-style: normal; color: var(--accent); }
.ph-lead { margin-top: 24px; max-width: 760px; font-size: clamp(20px, 1.9vw, 25px); line-height: 1.38; color: var(--muted); letter-spacing: -0.015em; text-wrap: pretty; }
.ph-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; margin-top: 32px; font-size: 15px; color: var(--muted); }
.ph-meta > * + * { padding-left: 22px; border-left: 1px solid var(--line); }
.ph-author { display: inline-flex; align-items: center; gap: 12px; }
.ph-author img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; background: var(--surface); }
.ph-author b { display: block; color: var(--black); font-weight: 600; }
.ph-author small { display: block; font-size: 13px; }
.ph-cover { width: min(1272px, 100% - 48px); margin: clamp(36px, 5vw, 64px) auto 0; }
.ph-cover img { width: 100%; height: auto; aspect-ratio: 21 / 9; object-fit: cover; border-radius: var(--radius-xl); background: var(--surface); }
.ph-cover figcaption { margin-top: 12px; font-size: 14px; color: var(--muted); }
@media (max-width: 760px) {
  .ph-meta > * + * { padding-left: 0; border-left: 0; }
  .ph-cover img { aspect-ratio: 4 / 3; border-radius: var(--radius-l); }
}

/* ---------- Corps et sommaire ---------- */
section.b-post-body { padding: clamp(48px, 6vw, 88px) 0 clamp(72px, 9vw, 120px); }
.pb { position: relative; --pw: clamp(0px, calc((100vw - 1320px) / 2), 140px); }
.pb-flow {
  display: grid;
  grid-template-columns: [full-start] minmax(24px, 1fr) [wide-start] var(--pw) [content-start] min(720px, 100% - 48px) [content-end] var(--pw) [wide-end] minmax(24px, 1fr) [full-end];
  counter-reset: h2;
}
.pb-flow > * { grid-column: content; min-width: 0; }
.pb-flow > .is-wide { grid-column: wide; }
.pb-flow > .is-full { grid-column: full; position: relative; z-index: 3; }
.pb-flow > .pc + .pc { margin-top: 36px; }

.pb-progress { position: fixed; z-index: 60; inset: 0 0 auto; height: 3px; pointer-events: none; }
.pb-progress span { display: block; height: 100%; background: var(--accent); transform-origin: 0 50%; transform: scaleX(var(--p, 0)); }

.pb-aside { display: none; }
@media (min-width: 1280px) {
  .pb-aside { display: block; position: absolute; z-index: 1; top: 0; bottom: 0; right: 32px; width: 200px; }
  .pb-toc-m { display: none; }
}
.pb-toc { position: sticky; top: 104px; font-size: 14px; }
.pb-toc-t { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.pb-toc ol, .pb-toc-m ol { list-style: none; }
.pb-toc li a { display: grid; grid-template-columns: 26px 1fr; gap: 4px; padding: 9px 0; color: var(--muted); line-height: 1.35; border-bottom: 1px solid var(--stone-100); transition: color .2s; }
.pb-toc li a .n { font-size: 12px; padding-top: 2px; font-variant-numeric: tabular-nums; }
.pb-toc li a:hover { color: var(--black); }
.pb-toc li a.on { color: var(--black); font-weight: 500; }
.pb-toc li a.on .n { color: var(--accent); }
.pb-top { display: inline-block; margin-top: 16px; font-size: 13px; color: var(--muted); border-bottom: 1px solid var(--stone-200); }
.pb-top:hover { color: var(--black); }

.pb-toc-m { width: min(720px, 100% - 48px); margin: 0 auto 40px; border: 1px solid var(--stone-200); border-radius: var(--radius-l); background: var(--stone-50); }
.pb-toc-m summary { list-style: none; cursor: pointer; padding: 18px 52px 18px 20px; font-weight: 600; position: relative; }
.pb-toc-m summary::-webkit-details-marker { display: none; }
.pb-toc-m summary small { font-weight: 400; color: var(--muted); margin-left: 8px; font-size: 14px; }
.pb-toc-m summary::after { content: "+"; position: absolute; right: 20px; top: 12px; font-size: 26px; font-weight: 300; transition: transform .2s; }
.pb-toc-m[open] summary::after { transform: rotate(45deg); }
.pb-toc-m ol { padding: 0 20px 14px; }
.pb-toc-m li a { display: grid; grid-template-columns: 30px 1fr; padding: 10px 0; border-top: 1px solid var(--stone-200); font-size: 16px; }
.pb-toc-m li a .n { color: var(--accent); font-size: 13px; padding-top: 3px; }

/* ---------- Texte ---------- */
.pc-text { font-size: 19px; line-height: 1.66; color: #2b2825; letter-spacing: -0.008em; }
.pc-text p + p, .pc-text p + ul, .pc-text p + ol, .pc-text ul + p, .pc-text ol + p { margin-top: 1em; }
.pc-text h2 { counter-increment: h2; margin: 0 0 18px; padding-top: 40px; font-size: clamp(28px, 3vw, 38px); line-height: 1.1; font-weight: 600; letter-spacing: -0.028em; color: var(--black); scroll-margin-top: 80px; text-wrap: balance; }
.pc-text h2::before { content: counter(h2, decimal-leading-zero); display: block; margin-bottom: 12px; font-size: 13px; font-weight: 500; letter-spacing: .06em; color: var(--accent); }
.pb-flow > .pc-text:has(> h2:first-child) { margin-top: 56px; }
.pc-text h3 { margin: 32px 0 8px; font-size: 22px; line-height: 1.2; font-weight: 600; letter-spacing: -0.018em; color: var(--black); }
.pc-text a { color: var(--black); text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 1.5px; text-underline-offset: 4px; }
.pc-text a:hover { text-decoration-color: var(--black); }
.pc-text b { color: var(--black); font-weight: 600; }
.pc-text ul, .pc-text ol { padding-left: 0; list-style: none; }
.pc-text ul li { position: relative; padding-left: 26px; }
.pc-text ul li::before { content: ""; position: absolute; left: 2px; top: .78em; width: 12px; height: 1.5px; background: var(--accent); }
.pc-text ol { counter-reset: li; }
.pc-text ol li { position: relative; padding-left: 36px; counter-increment: li; }
.pc-text ol li::before { content: counter(li); position: absolute; left: 0; top: .2em; width: 24px; height: 24px; border-radius: 50%; background: var(--stone-100); font-size: 13px; font-weight: 600; text-align: center; line-height: 24px; color: var(--black); }
.pc-text li + li { margin-top: .45em; }
.pc-text.is-intro > p:first-child { font-size: clamp(21px, 2.1vw, 25px); line-height: 1.5; color: var(--black); letter-spacing: -0.015em; }
.pc-text.has-dropcap > p:first-of-type::first-letter { float: left; font-size: 4.1em; line-height: .82; font-weight: 600; margin: .06em .1em 0 0; color: var(--accent); }

/* ---------- Médias ---------- */
.pc-fig img { width: 100%; height: auto; object-fit: cover; border-radius: var(--radius-l); background: var(--surface); }
.pc-fig figcaption { margin-top: 12px; font-size: 14px; line-height: 1.45; color: var(--muted); }
.pc-fig figcaption small { opacity: .7; }
.pc-media.is-full .pc-fig img { border-radius: 0; aspect-ratio: 21 / 9; max-height: 82vh; }
.pc-media.is-full figcaption { width: min(720px, 100% - 48px); margin-inline: auto; }
.pc-media.has-text { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 4vw, 56px); align-items: center; padding: clamp(8px, 2vw, 24px) 0; }
.pc-media.has-text.side-right .pc-fig { order: 2; }
.pc-media-txt { font-size: 18px; line-height: 1.62; color: #2b2825; }
.pc-media-txt p + p, .pc-media-txt p + ul, .pc-media-txt ul + p { margin-top: .9em; }
.pc-media-txt ul { list-style: none; }
.pc-media-txt ul li { position: relative; padding-left: 22px; margin-top: .4em; }
.pc-media-txt ul li::before { content: ""; position: absolute; left: 0; top: .75em; width: 10px; height: 1.5px; background: var(--accent); }
.pc-media-txt h3 { font-size: clamp(24px, 2.4vw, 30px); line-height: 1.12; font-weight: 600; letter-spacing: -0.024em; color: var(--black); margin-bottom: 14px; }
.pc-eyebrow { font-size: 13px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: var(--accent); margin-bottom: 10px; }
@media (max-width: 860px) {
  .pc-media.has-text { grid-template-columns: 1fr; }
  .pc-media.has-text.side-right .pc-fig { order: 0; }
  .pc-media.has-text .pc-fig img { aspect-ratio: 4 / 3 !important; }
}

/* ---------- Citation ---------- */
.pc-quote.is-pull { margin-block: 24px; padding: clamp(36px, 5vw, 64px) 0; text-align: center; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.pc-quote.is-pull blockquote::before { content: "“"; display: block; height: .5em; font-size: clamp(80px, 9vw, 120px); line-height: 1; font-weight: 600; color: var(--accent); }
.pc-quote.is-pull p { max-width: 24ch; margin: 0 auto; font-size: clamp(30px, 3.8vw, 50px); line-height: 1.1; font-weight: 600; letter-spacing: -0.032em; color: var(--black); text-wrap: balance; }
.pc-quote em { font-style: normal; color: var(--accent); }
.pc-quote figcaption { margin-top: 22px; font-size: 15px; color: var(--muted); }
.pc-quote figcaption b { color: var(--black); font-weight: 600; }
.pc-quote figcaption span::before { content: " · "; }
.pc-quote.is-side { padding: 4px 0 4px 26px; border-left: 3px solid var(--accent); }
.pc-quote.is-side p { font-size: clamp(22px, 2.2vw, 27px); line-height: 1.32; font-weight: 500; letter-spacing: -0.02em; color: var(--black); }
.pc-quote.is-side figcaption { text-align: left; margin-top: 12px; }

/* ---------- Encadrés ---------- */
.pc-callout { display: grid; grid-template-columns: 44px 1fr; gap: 18px; padding: clamp(22px, 3vw, 32px); border-radius: var(--radius-l); background: var(--stone-50); border: 1px solid var(--stone-100); font-size: 17px; line-height: 1.58; color: #2b2825; }
.pc-callout-i { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--white); color: var(--accent); }
.pc-callout-i svg { width: 22px; height: 22px; }
.pc-callout-k { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--accent); padding-top: 3px; }
.pc-callout-t { margin-top: 6px; font-size: 21px; line-height: 1.25; font-weight: 600; letter-spacing: -0.018em; color: var(--black); }
.pc-callout p + p, .pc-callout-t + p, .pc-callout-t + ul, .pc-callout-k + p, .pc-callout-k + ul { margin-top: 8px; }
.pc-callout ul { list-style: none; margin-top: 10px; }
.pc-callout li { position: relative; padding-left: 22px; }
.pc-callout li + li { margin-top: 6px; }
.pc-callout li::before { content: ""; position: absolute; left: 0; top: .72em; width: 10px; height: 1.5px; background: currentColor; opacity: .5; }
.pc-callout a { text-decoration: underline; text-underline-offset: 3px; }
.pc-callout.is-key { background: var(--black); border-color: var(--black); color: rgba(255,255,255,.82); }
.pc-callout.is-key .pc-callout-i { background: rgba(255,255,255,.1); color: var(--accent-light); }
.pc-callout.is-key .pc-callout-k { color: var(--accent-light); }
.pc-callout.is-key .pc-callout-t, .pc-callout.is-key b { color: var(--white); }
.pc-callout.is-key li::before { background: var(--accent-light); opacity: 1; }
.pc-callout.is-warning { background: #fbf2ee; border-color: #f2ddd4; }
.pc-callout.is-warning .pc-callout-i, .pc-callout.is-warning .pc-callout-k { color: #b0492c; }
.pc-callout.is-info { background: var(--surface); border-color: var(--surface-2); }
@media (max-width: 560px) { .pc-callout { grid-template-columns: 1fr; gap: 12px; } }

/* ---------- Cartes de liens ---------- */
.pc-links-t { font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-bottom: 14px; }
.pc-links-g { display: grid; gap: 16px; }
.pc-links.is-two .pc-links-g { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pc-links.is-grid .pc-links-g { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pc-links-g > * { min-width: 0; }
.lk { position: relative; display: flex; flex-direction: column; overflow: hidden; border-radius: var(--radius-l); background: var(--stone-50); border: 1px solid var(--stone-100); transition: transform .35s var(--ease), box-shadow .35s var(--ease), background .3s; }
.lk:hover { transform: translateY(-4px); background: var(--white); box-shadow: 0 24px 48px -26px rgba(8,4,0,.35); }
.lk-img { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--white); }
.lk-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.lk-img.is-empty { position: relative; display: grid; place-items: center; background: linear-gradient(135deg, var(--stone-100), var(--surface-2)); color: var(--accent); overflow: hidden; }
.lk-img.is-empty svg { position: relative; z-index: 1; width: 38px; height: 38px; }
.lk-img.is-empty i { position: absolute; left: 18px; right: -40px; bottom: -14px; font-style: normal; font-size: 64px; line-height: .9; font-weight: 600; letter-spacing: -0.05em; color: rgba(8,4,0,.05); white-space: nowrap; overflow: hidden; contain: inline-size; }
.pc-links.is-one .lk-img.is-empty { min-height: 180px; }
.lk-img.contain img { object-fit: contain; padding: 8%; mix-blend-mode: multiply; }
.lk:hover .lk-img img { transform: scale(1.04); }
.lk-body { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 18px 56px 22px 20px; flex: 1; }
.lk-kind { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--muted); }
.lk-kind svg { width: 13px; height: 13px; }
.lk b { font-size: 19px; line-height: 1.22; font-weight: 600; letter-spacing: -0.018em; color: var(--black); }
.lk-text { font-size: 14.5px; line-height: 1.45; color: var(--muted); }
.lk-go { position: absolute; right: 16px; top: 16px; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--white); border: 1px solid var(--stone-200); transition: background .25s, color .25s, border-color .25s; }
.lk-go svg { width: 14px; height: 14px; }
.lk:hover .lk-go { background: var(--black); border-color: var(--black); color: var(--white); }
.pc-links.is-one .lk { flex-direction: row; }
.pc-links.is-one .lk-img { flex: 0 0 38%; aspect-ratio: auto; min-height: 180px; }
.pc-links.is-one .lk-body { justify-content: center; padding: 26px 64px 26px 28px; }
.pc-links.is-one .lk b { font-size: 23px; }
@media (max-width: 860px) { .pc-links.is-grid .pc-links-g { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) {
  .pc-links.is-two .pc-links-g, .pc-links.is-grid .pc-links-g { grid-template-columns: 1fr; }
  .pc-links.is-one .lk { flex-direction: column; }
  .pc-links.is-one .lk-img { aspect-ratio: 16 / 10; min-height: 0; }
}

/* ---------- Chiffres clés ---------- */
.pc-figures-t { font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-bottom: 18px; }
.pc-figures dl { display: grid; grid-template-columns: repeat(var(--n, 3), 1fr); border-top: 2px solid var(--black); }
.pc-figures dl.cols-1 { --n: 1; } .pc-figures dl.cols-2 { --n: 2; } .pc-figures dl.cols-3 { --n: 3; } .pc-figures dl.cols-4 { --n: 4; }
.pc-figures dl > div { padding: 22px 22px 6px 0; }
.pc-figures dl > div + div { padding-left: 22px; border-left: 1px solid var(--line); }
.pc-figures dt { font-size: clamp(48px, 6vw, 84px); line-height: .95; font-weight: 600; letter-spacing: -0.048em; color: var(--black); font-variant-numeric: tabular-nums; }
.pc-figures dt.is-long { font-size: clamp(38px, 4.2vw, 60px); white-space: nowrap; }
.pc-figures dt em { font-style: normal; color: var(--accent); }
.pc-figures dt small { font-size: .3em; letter-spacing: -0.01em; margin-left: 6px; font-weight: 500; }
.pc-figures dd { margin-top: 12px; font-size: 15.5px; line-height: 1.42; color: var(--muted); max-width: 26ch; }
.pc-source { margin-top: 16px; font-size: 13px; color: var(--muted); }
.pc-figures.is-dark { padding: clamp(28px, 4vw, 48px); border-radius: var(--radius-xl); background: var(--black); }
.pc-figures.is-dark dl { border-top-color: rgba(255,255,255,.2); }
.pc-figures.is-dark dl > div + div { border-left-color: rgba(255,255,255,.14); }
.pc-figures.is-dark dt { color: var(--white); }
.pc-figures.is-dark dt em { color: var(--accent-light); }
.pc-figures.is-dark dd, .pc-figures.is-dark .pc-source, .pc-figures.is-dark .pc-figures-t { color: rgba(255,255,255,.66); }
@media (max-width: 760px) {
  .pc-figures dl.cols-3, .pc-figures dl.cols-4 { --n: 2; }
  .pc-figures dl > div:nth-child(odd) { padding-left: 0; border-left: 0; }
  .pc-figures dl > div:nth-child(n+3) { border-top: 1px solid var(--line); }
}
@media (max-width: 420px) {
  .pc-figures dl { --n: 1 !important; }
  .pc-figures dl > div { padding-left: 0 !important; border-left: 0 !important; }
  .pc-figures dl > div + div { border-top: 1px solid var(--line); }
}

/* ---------- Étapes ---------- */
.pc-steps-t { font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-bottom: 8px; }
.pc-steps ol { list-style: none; }
.pc-steps li { position: relative; display: grid; grid-template-columns: 56px 1fr; gap: 18px; padding: 18px 0 22px; }
.pc-steps li:not(:last-child)::after { content: ""; position: absolute; left: 21px; top: 66px; bottom: -8px; width: 1.5px; background: var(--stone-200); }
.pc-steps .n { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--black); color: var(--white); font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; }
.pc-steps b { display: block; padding-top: 9px; font-size: 20px; line-height: 1.25; font-weight: 600; letter-spacing: -0.016em; color: var(--black); }
.pc-steps li p { margin-top: 6px; font-size: 17px; line-height: 1.55; color: #3b3935; }

/* ---------- Illustrations vectorielles ---------- */
.pc-svg-art { padding: clamp(18px, 4vw, 48px); border-radius: var(--radius-xl); color: var(--black); }
.pc-svg.bg-surface .pc-svg-art { background: var(--surface); }
.pc-svg.bg-dark .pc-svg-art { background: var(--black); color: var(--white); }
.pc-svg.bg-none .pc-svg-art { padding: 0; }
.pc-svg-art svg, .pc-svg-art img { display: block; width: 100%; height: auto; overflow: visible; }
@media (max-width: 600px) {
  .pc-svg-art { padding: 14px; border-radius: var(--radius-l); }
  .pc-svg.is-scroll .pc-svg-art { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .pc-svg.is-scroll .pc-svg-art svg { width: 560px; max-width: none; }
  .pc-svg.is-scroll figcaption::before { content: "↔ "; color: var(--accent); }
}
.pc-svg figcaption { margin-top: 12px; font-size: 14px; line-height: 1.45; color: var(--muted); }

/* ---------- Tableaux ---------- */
.pc-table-t { font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-bottom: 14px; }
.pc-table-s { overflow-x: auto; border-radius: var(--radius-l); border: 1px solid var(--stone-200); background: var(--white); -webkit-overflow-scrolling: touch; }
.pc-table table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 15.5px; line-height: 1.42; }
.pc-table th, .pc-table td { padding: 15px 18px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--stone-100); }
.pc-table tbody tr:last-child > * { border-bottom: 0; }
.pc-table thead th { background: var(--stone-50); font-size: 13px; font-weight: 600; letter-spacing: .02em; color: var(--black); border-bottom: 1px solid var(--stone-200); }
.pc-table tbody th { font-weight: 600; color: var(--black); width: 24%; }
.pc-table tbody th, .pc-table thead th:first-child { position: sticky; left: 0; z-index: 1; background: var(--white); }
.pc-table thead th:first-child { background: var(--stone-50); }
@media (max-width: 600px) { .pc-table tbody th { box-shadow: 1px 0 0 var(--stone-200); } .pc-table th, .pc-table td { padding: 13px 14px; } }
.pc-table td { color: #3b3935; }
.pc-table .hl { background: color-mix(in srgb, var(--accent) 7%, #fff); }
.pc-table thead .hl { box-shadow: inset 0 3px 0 var(--accent); color: var(--accent-deep); }
.pc-table figcaption { margin-top: 12px; font-size: 14px; color: var(--muted); }

/* ---------- Liste d'articles ---------- */
.pl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.pl-card { display: flex; flex-direction: column; overflow: hidden; border-radius: var(--radius-l); background: var(--white); border: 1px solid var(--stone-100); transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
.tone-white .pl-card, section:not([class*="tone-"]) .pl-card { background: var(--stone-50); }
.pl-card:hover { transform: translateY(-4px); box-shadow: 0 24px 48px -26px rgba(8,4,0,.35); }
.pl-img { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--surface); }
.pl-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.pl-card:hover .pl-img img { transform: scale(1.04); }
.pl-body { display: flex; flex-direction: column; gap: 8px; padding: 20px 22px 24px; flex: 1; }
.pl-meta { font-size: 13.5px; color: var(--muted); }
.pl-card b em { font-style: normal; color: var(--accent); }
.pl-card b { font-size: 21px; line-height: 1.2; font-weight: 600; letter-spacing: -0.02em; color: var(--black); text-wrap: balance; }
.pl-lead { font-size: 15px; line-height: 1.45; color: var(--muted); }
.pl-card .textlink { margin-top: auto; padding-top: 10px; }
.pl.is-featured .pl-card.is-big { grid-column: 1 / -1; display: grid; grid-template-columns: 1.35fr 1fr; }
.pl-card.is-big .pl-img { aspect-ratio: auto; min-height: 380px; }
.pl-card.is-big .pl-body { justify-content: center; padding: clamp(28px, 4vw, 52px); gap: 14px; }
.pl-card.is-big b { font-size: clamp(28px, 3vw, 40px); line-height: 1.08; letter-spacing: -0.03em; }
.pl-card.is-big .pl-lead { font-size: 17px; }
@media (max-width: 960px) { .pl { grid-template-columns: 1fr 1fr; } .pl.is-featured .pl-card.is-big { grid-template-columns: 1fr; } .pl-card.is-big .pl-img { min-height: 0; aspect-ratio: 16 / 10; } }
@media (max-width: 620px) { .pl { grid-template-columns: 1fr; } }

@media (prefers-reduced-motion: reduce) {
  .lk, .pl-card, .lk-img img, .pl-img img { transition: none; }
}
