.plv2-library,.plv2-kits,.plv2-more{position:relative}
.plv2-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px}
.plv2-card,.plv2-kit,.plv2-more-grid article,.plv2-kit-item,.plv2-related{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 8px 24px rgba(7,29,56,.05)}
.plv2-card h3,.plv2-kit h3,.plv2-kit-item h3{font-size:22px;line-height:1.15;margin:8px 0 10px}
.plv2-card p,.plv2-kit p,.plv2-more-grid p{color:var(--muted);margin:0 0 16px}
.plv2-card a,.plv2-kit a,.plv2-kit-item a{font-size:12px;font-weight:850;letter-spacing:.05em;color:var(--navy)}
.plv2-card a:hover,.plv2-kit a:hover,.plv2-kit-item a:hover{color:var(--teal2)}
.plv2-type{font-size:11px;font-weight:850;letter-spacing:.16em;text-transform:uppercase;color:var(--teal2)}
.plv2-kit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px}
.plv2-kit{border-top:3px solid var(--teal)}
.plv2-kit-line{font-size:13px;line-height:1.55;color:#425164;margin:14px 0 18px}
.plv2-more-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:28px}
.plv2-more-grid article{padding:20px}
.plv2-more-grid h3{font-size:17px;margin:0 0 8px}
.plv2-more-grid p{font-size:13px;margin:0}
.plv2-note{margin-top:24px;padding:18px 20px;background:var(--mist);border-radius:12px;color:#425164}
.plv2-detail-hero{padding:82px 0 72px;background:linear-gradient(135deg,#eef7fa 0%,#fff 62%)}
.plv2-detail-hero .container{max-width:940px}
.plv2-detail-hero h1{font-size:clamp(42px,6vw,70px);line-height:.98;letter-spacing:-.04em;margin:0 0 20px}
.plv2-detail-hero p{font-size:20px;color:#536274;max-width:760px}
.plv2-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.plv2-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}
.plv2-detail-grid>article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px}
.plv2-list{list-style:none;padding:0;margin:20px 0 0}
.plv2-list li{position:relative;padding:12px 0 12px 28px;border-top:1px solid var(--line);color:#425164}
.plv2-list li:first-child{border-top:0}
.plv2-list li:before{content:'✓';position:absolute;left:0;top:12px;color:var(--teal2);font-weight:900}
.plv2-related-grid,.plv2-kit-item-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}
.plv2-related{display:flex;flex-direction:column;gap:6px}
.plv2-related span,.plv2-kit-item span{font-size:11px;font-weight:850;letter-spacing:.14em;text-transform:uppercase;color:var(--teal2)}
.plv2-related strong{font-size:18px}
.plv2-kit-hero{background:linear-gradient(135deg,#071d38 0%,#0b2d5b 68%,#0c6670 100%);color:#fff}
.plv2-kit-hero p{color:#dbe8eb}
.plv2-kit-hero .eyebrow{color:#b7f0e7}
.plv2-kit-hero .btn.dark-outline{border-color:#fff;color:#fff}
.plv2-kit-item{min-height:190px}
.plv2-kit-item h3{margin-top:12px}
.plv2-kit-item a{display:inline-block;margin-top:18px}
@media(max-width:980px){.plv2-grid,.plv2-kit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plv2-more-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.plv2-grid,.plv2-kit-grid,.plv2-more-grid,.plv2-detail-grid,.plv2-related-grid,.plv2-kit-item-grid{grid-template-columns:1fr}.plv2-detail-hero{padding:58px 0 50px}.plv2-detail-hero h1{font-size:44px}.plv2-detail-hero p{font-size:17px}}

.plv2-card{padding:0;overflow:hidden}
.plv2-card-body{padding:24px}
.plv2-card-media{display:block;aspect-ratio:1/1;background:#f5f7f8;overflow:hidden}
.plv2-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .28s ease}
.plv2-card:hover .plv2-card-media img{transform:scale(1.025)}
.plv2-detail-hero.has-media .container{max-width:1180px;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,520px);gap:54px;align-items:center}
.plv2-detail-copy{min-width:0}
.plv2-detail-media{border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 18px 50px rgba(7,29,56,.10);border:1px solid var(--line)}
.plv2-detail-media img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}
@media(max-width:900px){.plv2-detail-hero.has-media .container{grid-template-columns:1fr}.plv2-detail-media{max-width:620px}}
