:root {
  --psl-accent: #E85241;
  --psl-accent-hover: #BE4335;
  --psl-button-radius: 0;
  --psl-heading-font: "Rubik", sans-serif;
  --psl-body-font: "Rubik", sans-serif;
  --psl-heading-transform: uppercase;
  --psl-text: #1F343F;
  --psl-muted: #1F343F;
  --psl-gap: clamp(1.25rem, 2.5vw, 2rem);
}
.psl-library,.psl-message-player,.psl-latest-message{font-family:var(--psl-body-font);color:var(--psl-text)}
/* Deliberately more specific than Elementor kit heading selectors. */
.psl-library h2.psl-section-heading,.psl-latest-message h2.psl-section-heading{font-family:var(--psl-heading-font)!important;font-size:clamp(1.75rem,1.35rem + 1.5vw,3rem)!important;font-weight:500!important;line-height:1.05!important;text-transform:var(--psl-heading-transform)!important;letter-spacing:.015em!important;color:var(--psl-text)!important}
.psl-card-title{font-family:var(--psl-heading-font);font-weight:500;text-transform:var(--psl-heading-transform);letter-spacing:.015em}
.psl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--psl-gap)}
.psl-card{min-width:0;background:#fff}
.psl-card-link{display:flex;flex-direction:column;height:100%;color:var(--psl-text)!important;text-decoration:none!important}
.psl-card-media{display:block;overflow:hidden;background:#ececec;aspect-ratio:16/9;border-radius:10px}
.psl-card-media img,.psl-placeholder{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease,filter .25s ease}
.psl-card-link:hover .psl-card-media img{transform:scale(1.025);filter:brightness(.92)}
.psl-placeholder{background:linear-gradient(135deg,#e8e8e8,#f6f6f6)}
.psl-card-body{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding-top:.85rem}
.psl-card-title{display:block;font-size:clamp(1.05rem,.95rem + .35vw,1.35rem);line-height:1.18;margin:0;color:inherit}
.psl-card-link:hover .psl-card-title{color:var(--psl-accent)}
.psl-card-subtitle,.psl-message-meta{display:block;color:var(--psl-muted);font-size:.95rem;line-height:1.5;margin:.4rem 0 0}
.psl-card-link:focus-visible,.psl-text-link:focus-visible,.psl-breadcrumbs a:focus-visible,.psl-share-control:focus-visible,.psl-latest-title a:focus-visible{outline:3px solid var(--psl-accent);outline-offset:4px}
.psl-button,a.psl-button{appearance:none;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.75rem 1.1rem;border:2px solid var(--psl-accent)!important;border-radius:var(--psl-button-radius)!important;background:var(--psl-accent)!important;color:#fff!important;font-family:var(--psl-heading-font);font-size:.875rem;font-weight:800;line-height:1;letter-spacing:.03em;text-transform:uppercase;text-decoration:none!important;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}
.psl-button:hover,.psl-button:focus-visible{background:var(--psl-accent-hover)!important;border-color:var(--psl-accent-hover)!important;color:#fff!important}
.psl-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:clamp(2rem,4vw,3.5rem)}
.psl-pagination .page-numbers{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:.65rem .8rem;border:2px solid var(--psl-accent);color:var(--psl-text)!important;text-decoration:none;font-weight:700}
.psl-pagination .current,.psl-pagination a:hover{background:var(--psl-accent);color:#fff!important}
.psl-breadcrumbs{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:0 0 1rem;color:var(--psl-muted);font-size:.9rem}
.psl-breadcrumbs a{color:var(--psl-text)!important;font-weight:700;text-decoration:none}
.psl-breadcrumbs a:hover{color:var(--psl-accent)!important;text-decoration:underline;text-underline-offset:.2em}
.psl-video{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:14px;overflow:hidden}
.psl-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.psl-message-details{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-top:clamp(1.25rem,2.5vw,2rem)}
.psl-message-copy{min-width:0;max-width:72ch}
.psl-message-player h1.psl-message-title{font-family:var(--psl-heading-font)!important;font-size:clamp(1.75rem,1.35rem + 1.5vw,3rem)!important;font-weight:500!important;line-height:1.08!important;text-transform:var(--psl-heading-transform)!important;letter-spacing:.01em!important;color:var(--psl-text)!important;margin:0!important}
.psl-message-player .psl-message-meta{margin:.65rem 0 0}
.psl-message-tools{flex:0 0 auto}
/* Neutral utility-style share control: intentionally not a brand CTA. */
.psl-share-control{appearance:none;box-sizing:border-box;border:1px solid #d9dfe2!important;border-radius:999px!important;background:#f4f6f7!important;color:var(--psl-text)!important;display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:.55rem;min-height:44px;padding:.6rem .9rem;font-family:var(--psl-body-font);font-size:.95rem;font-weight:500;line-height:1;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,transform .2s ease}
.psl-share-icon{display:grid;place-items:center;width:20px;height:20px;flex:0 0 20px;color:#222}
.psl-share-icon svg{width:19px;height:19px;fill:currentColor}
.psl-share-label{display:inline-block;white-space:nowrap}
.psl-share-control:hover{background:#e9edef!important;border-color:#cbd2d6!important;color:var(--psl-text)!important;transform:translateY(-1px)}
.psl-share-control:hover .psl-share-label{text-decoration:none}
.psl-view-switcher{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}.psl-button.is-current{box-shadow:inset 0 0 0 2px #fff}
.psl-text-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--psl-text)!important;font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.25em;transition:color .2s ease}
.psl-text-link:hover{color:var(--psl-accent)!important}
.psl-share-status{min-height:1.5em;margin-top:.5rem}.psl-notice{padding:1rem;border-left:4px solid var(--psl-accent);background:#f6f6f6}
.psl-related-messages{margin-top:clamp(3rem,7vw,6rem)}
.psl-related-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:clamp(1.5rem,3vw,2.5rem)}
.psl-related-header .psl-section-heading{margin:0!important}.psl-related-header .psl-text-link{white-space:nowrap}
.psl-library-return{margin-top:clamp(2rem,4vw,3rem);padding-top:1.25rem;border-top:1px solid #ddd}
/* Latest-message hero for the /messages page. */
.psl-latest-message{margin-bottom:clamp(3rem,7vw,6rem)}
.psl-latest-video,.psl-latest-image{display:block;width:100%;max-width:100%}
.psl-latest-image{overflow:hidden;border-radius:14px;aspect-ratio:16/9;background:#eee}
.psl-latest-image img{width:100%;height:100%;object-fit:cover;display:block}
.psl-latest-copy{margin-top:1rem}
.psl-latest-message h3.psl-latest-title{font-family:var(--psl-heading-font)!important;font-size:clamp(1.5rem,1.2rem + 1vw,2.35rem)!important;font-weight:500!important;line-height:1.1!important;text-transform:var(--psl-heading-transform)!important;margin:0!important}
.psl-latest-title a{color:var(--psl-text)!important;text-decoration:none!important}.psl-latest-title a:hover{color:var(--psl-accent)!important}

/* Standard plugin text/link color. Hover/focus states remain intentionally separate. */
.psl-library,
.psl-message-player,
.psl-latest-message,
.psl-library a:not(:hover):not(:focus-visible),
.psl-message-player a:not(:hover):not(:focus-visible),
.psl-latest-message a:not(:hover):not(:focus-visible),
.psl-breadcrumbs,
.psl-breadcrumbs span,
.psl-card-title,
.psl-message-title,
.psl-section-heading,
.psl-latest-title,
.psl-message-meta,
.psl-card-subtitle {
  color: var(--psl-text) !important;
}

@media(max-width:900px){.psl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.psl-grid{grid-template-columns:1fr;gap:2rem}.psl-library h2.psl-section-heading,.psl-latest-message h2.psl-section-heading{font-size:clamp(1.55rem,7vw,2.1rem)!important}.psl-card-title{font-size:1.1rem}.psl-related-header{display:block}.psl-related-header .psl-text-link{display:inline-flex;margin-top:.75rem}.psl-message-details{display:block;margin-top:1.1rem}.psl-message-tools{margin-top:.9rem}.psl-share-control{width:auto;max-width:100%;min-width:0}.psl-view-switcher{display:grid;grid-template-columns:1fr 1fr}.psl-view-switcher .psl-button{width:100%}}
@media(max-width:390px){.psl-view-switcher{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.psl-card-media img,.psl-button,.psl-share-icon{transition:none}}
