.osp-public-hero{padding:34px 0 30px;border-bottom:1px solid #e9edf2;background:linear-gradient(180deg,#fff 0%,#f8fafc 100%)}
.osp-public-breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:14px;color:#7a8493;font-size:13px}
.osp-public-breadcrumb a{color:#5c6675;text-decoration:none}
.osp-public-breadcrumb a:hover{text-decoration:underline}
.osp-public-hero h1{margin:0;color:#111827;font-size:clamp(30px,4vw,48px);font-weight:900;letter-spacing:-.035em;line-height:1.08}
.osp-public-intro{max-width:980px;margin-top:17px;color:#4b5563;font-size:15px;line-height:1.85}
.osp-public-content{padding-top:34px;padding-bottom:48px}
.osp-public-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px;padding-bottom:14px;border-bottom:2px solid #111827}
.osp-public-kicker{display:block;margin-bottom:5px;color:#e11d48;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.osp-public-heading-row h2{margin:0;color:#111827;font-size:26px;font-weight:900;letter-spacing:-.025em}
.osp-public-count{flex:0 0 auto;color:#6b7280;font-size:13px;font-weight:800}
.osp-public-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.osp-public-card{overflow:hidden;border:1px solid #e5e7eb;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.055);transition:transform .18s ease,box-shadow .18s ease}
.osp-public-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(15,23,42,.09)}
.osp-public-card-media{display:block;aspect-ratio:16/9;overflow:hidden;background:#eef2f7}
.osp-public-card-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.osp-public-card:hover .osp-public-card-media img{transform:scale(1.035)}
.osp-public-card-body{padding:17px}
.osp-public-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;color:#8a94a3;font-size:11px;font-weight:800}
.osp-public-card-meta a{color:#e11d48;text-decoration:none}
.osp-public-card h3{margin:0;font-size:18px;line-height:1.42;font-weight:900;letter-spacing:-.015em}
.osp-public-card h3 a{color:#111827;text-decoration:none}
.osp-public-card h3 a:hover{color:#e11d48}
.osp-public-card p{margin:11px 0 0;color:#5f6977;font-size:13px;line-height:1.7}
.osp-public-empty{padding:64px 24px;border:1px dashed #cfd6df;border-radius:18px;background:#fafbfc;text-align:center}
.osp-public-empty-icon{font-size:48px;line-height:1}
.osp-public-empty h2{margin:14px 0 8px;color:#111827;font-size:23px;font-weight:900}
.osp-public-empty p{max-width:660px;margin:0 auto;color:#697386;font-size:14px;line-height:1.75}
.osp-public-pagination{margin-top:30px}
.osp-public-bottom-copy{margin-top:34px;padding:24px;border:1px solid #e5e7eb;border-radius:16px;background:#fafafa;color:#4b5563;font-size:14px;line-height:1.85}
@media(max-width:991px){.osp-public-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.osp-public-hero{padding:26px 0 24px}.osp-public-content{padding-top:26px}.osp-public-heading-row{align-items:flex-start;flex-direction:column;gap:8px}.osp-public-grid{grid-template-columns:1fr;gap:18px}.osp-public-card h3{font-size:17px}}
