.pn-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:10px 0;color:#c2410c;font-weight:700;text-decoration:underline;text-underline-offset:4px;line-height:1.5}
.pn-link:hover{color:#9a3412}
#stair-tour .pn-link{order:8}
.pn-section{padding:16px 20px 64px;background:#fff;scroll-margin-top:90px}
.pn-banner{max-width:1200px;margin:auto;display:grid;grid-template-columns:1fr;overflow:hidden;border-radius:28px;background:#f8fafc;border:1px solid #e2e8f0}
.pn-preview{position:relative;display:block;background:#e2e8f0;min-width:0}
.pn-preview img{display:block;width:100%;height:260px;object-fit:cover;object-position:50% 45%}
.pn-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(transparent,rgba(15,23,42,.2))}
.pn-play svg{width:64px;height:64px;padding:20px;border-radius:50%;background:#ea580c;fill:white;box-shadow:0 8px 24px #0003}
.pn-duration{position:absolute;bottom:16px;right:16px;background:#0f172a;color:white;padding:5px 10px;border-radius:8px;font-size:13px;font-weight:700}
.pn-copy{padding:28px;align-self:center}
.pn-kicker{font-size:12px;letter-spacing:.08em;font-weight:800;color:#c2410c;text-transform:uppercase;margin:0 0 12px}
.pn-copy h2{font-size:clamp(26px,3vw,38px);font-weight:800;line-height:1.2;color:#0f172a;margin:0 0 16px;letter-spacing:-.025em}
.pn-copy p:not(.pn-kicker){color:#475569;line-height:1.65;margin:0 0 16px;max-width:620px}
.pn-topics{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:0;list-style:none}
.pn-topics li{font-size:13px;padding:6px 12px;border-radius:20px;background:white;border:1px solid #e2e8f0;color:#334155}
.pn-cta{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 22px;background:#c2410c;color:white;border-radius:14px;font-weight:750;text-decoration:none}
.pn-cta:hover{background:#9a3412;color:white}
.pn-link:focus-visible,.pn-preview:focus-visible,.pn-cta:focus-visible,.pn-dialog button:focus-visible{outline:3px solid #f97316;outline-offset:4px}
.pn-dialog{padding:0;border:0;border-radius:20px;background:#0f172a;color:#fff;width:min(94vw,680px);max-height:94vh;max-height:94dvh;overflow:auto;box-shadow:0 24px 80px #0006}
.pn-dialog::backdrop{background:rgba(15,23,42,.8)}
.pn-dialog-head{display:flex;align-items:center;gap:16px;justify-content:space-between;padding:14px 16px}
.pn-dialog h2{margin:0;font-size:16px;font-weight:700;line-height:1.4}
.pn-dialog button{flex-shrink:0;width:44px;height:44px;border:1px solid #64748b;border-radius:12px;color:white;background:#1e293b;font-size:26px;cursor:pointer}
.pn-dialog video{display:block;width:100%;height:min(62vh,calc(94vh - 230px),740px);height:min(62dvh,calc(94dvh - 230px),740px);background:#000;object-fit:contain}
.pn-dialog-foot{margin:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));font-size:13px;line-height:1.6;color:#cbd5e1}
.pn-dialog-foot a{display:inline-block;min-height:44px;padding-top:10px;color:white;text-decoration:underline;text-underline-offset:3px}
.pn-dialog [hidden]{display:none}
.pn-dialog .pn-captions{width:auto;min-height:44px;padding:8px 12px;margin:0 8px 8px 0;font-size:14px;font-weight:700}
.pn-dialog .pn-captions[aria-pressed="true"]{background:#334155;border-color:#cbd5e1}
.pn-dialog video::cue{color:#fff;background-color:rgba(0,0,0,.85);font-family:Arial,sans-serif;font-size:17px}
@media(min-width:768px){.pn-section{padding:0 32px 80px}.pn-banner{grid-template-columns:280px 1fr}.pn-preview img{height:100%;min-height:370px}.pn-copy{padding:40px}}
@media(max-width:420px){.pn-copy{padding:24px 20px}.pn-cta{width:100%}.pn-dialog{width:96vw}}
