.pnen{--pnen-accent:var(--accent,currentColor);font:inherit;color:inherit;container-type:inline-size;margin-block:2rem}
.pnen *{box-sizing:border-box}
.pnen .pnen-title{margin:0 0 1.5rem}
.pnen-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:clamp(1rem,3vw,2rem)}
.pnen-card{display:flex;flex-direction:column;min-width:0;border-bottom:1px solid color-mix(in srgb,currentColor 20%,transparent);padding-bottom:1.5rem}
.pnen-image{display:block;overflow:hidden;aspect-ratio:3/2}
.pnen-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
@media(hover:hover){.pnen-image:hover img{transform:scale(1.025)}}
.pnen-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding-top:1rem;gap:.65rem}
.pnen .pnen-name{font-size:clamp(1.3rem,3cqi,1.8rem);line-height:1.2;margin:0;overflow-wrap:anywhere}
.pnen .pnen-name a{color:inherit;text-decoration:none}
.pnen .pnen-category,.pnen .pnen-summary,.pnen .pnen-duration,.pnen .pnen-price{margin:0;line-height:1.55}
.pnen-category,.pnen-duration,.pnen-price,.pnen-credit{font-size:.9em}
.pnen .pnen-link{display:inline-flex;align-items:center;gap:.6rem;min-height:44px;margin-top:auto;color:var(--pnen-accent);text-underline-offset:.25em}
.pnen .pnen-link:hover{text-decoration-thickness:2px}
.pnen a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.pnen .pnen-credit{margin:1.5rem 0 0;line-height:1.6}
.pnen-list-details{grid-template-columns:1fr}
.pnen-list-details .pnen-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:clamp(1rem,4vw,3rem)}
.pnen-content{width:100%;overflow-wrap:anywhere}
.pnen-content table{display:block;max-width:100%;overflow-x:auto}
.pnen-content p:first-child{margin-top:0}
.pnen-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;width:100%}
.pnen-gallery img{display:block;object-fit:cover;width:100%;height:auto;aspect-ratio:3/2}
@container(max-width:600px){.pnen-list-details .pnen-card{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.pnen-image img{transition:none}.pnen-image:hover img{transform:none}}
