/* Project Narrate home page. Loaded on the home page only. */
/* Hero */
.pnh{--ink:#1e1e1e;--paper:#f5f4f0;--red:#a8322a;position:relative;overflow:hidden;background:var(--paper);color:var(--ink);padding:clamp(72px,10vw,140px) var(--pad) 0;isolation:isolate}
.pnh canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.pnh-in{position:relative;max-width:1180px}
.pnh-label{display:inline-flex;align-items:center;gap:14px;margin:0 0 32px;font:700 13px/1.4 'Archivo',sans-serif;font-stretch:125%;letter-spacing:.24em;text-transform:uppercase;opacity:0;animation:pnhFade .9s ease .2s forwards}
.pnh-label::before{content:"";width:56px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:0 50%;animation:pnhGrow .9s cubic-bezier(.2,.7,.2,1) .5s forwards}
[dir=rtl] .pnh-label::before{transform-origin:100% 50%}
.pnh-title{margin:0;font-family:'Archivo',sans-serif;font-stretch:112%;font-weight:800;font-size:clamp(52px,9.4vw,138px);line-height:.94;letter-spacing:-.02em}
.pnh-row{display:block}
.pnh-ch,.pnh-w{display:inline-block;opacity:0;transform:translateY(.55em) rotate(7deg);filter:blur(10px);animation:pnhChar .9s cubic-bezier(.2,.75,.2,1) forwards}
.pnh-w{margin-inline-end:.24em}
.pnh-stage{display:grid}
.pnh-stage>*{grid-area:1/1}
.pnh-sizer{visibility:hidden}
.pnh-typed{position:relative}
.pnh-typed .pnh-hl{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400;letter-spacing:0;color:var(--red)}
.pnh-typed::after{content:"";display:inline-block;width:.08em;height:.78em;margin-inline-start:.06em;vertical-align:-.03em;background:currentColor;animation:pnhBlink 1.05s steps(1) infinite}
.pnh.is-typing .pnh-typed::after{animation:none}
.pnh-lead{max-width:560px;margin:40px 0 0;font-size:clamp(18px,1.7vw,22px);line-height:1.55;opacity:0;transform:translateY(16px);animation:pnhUp 1s cubic-bezier(.2,.7,.2,1) 1.9s forwards}
.pnh-places{position:relative;margin:clamp(56px,7vw,96px) calc(-1 * var(--pad)) 0;border-block:1px solid var(--ink);overflow:hidden;background:color-mix(in srgb,var(--paper) 86%,transparent);opacity:0;animation:pnhFade 1s ease 2.3s forwards}
.pnh-track{display:flex;width:max-content;animation:pnhScroll 42s linear infinite}
.pnh-places:hover .pnh-track{animation-play-state:paused}
.pnh-track span{padding:18px 0;white-space:nowrap;font:italic 400 clamp(22px,2.6vw,34px)/1 'Instrument Serif',serif}
.pnh-track span::after{content:"";display:inline-block;width:.34em;height:.8em;margin:0 30px;vertical-align:-.02em;background:var(--red);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 396 928'%3E%3Cpath d='M22 0H192A22 22 0 0 1 214 22V32A22 22 0 0 1 192 54H22A22 22 0 0 1 0 32V22A22 22 0 0 1 22 0ZM78 30H135V898H78ZM22 873H192A22 22 0 0 1 214 895V906A22 22 0 0 1 192 928H22A22 22 0 0 1 0 906V895A22 22 0 0 1 22 873ZM240 849.5A77.5 77.5 0 1 0 395 849.5A77.5 77.5 0 1 0 240 849.5Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 396 928'%3E%3Cpath d='M22 0H192A22 22 0 0 1 214 22V32A22 22 0 0 1 192 54H22A22 22 0 0 1 0 32V22A22 22 0 0 1 22 0ZM78 30H135V898H78ZM22 873H192A22 22 0 0 1 214 895V906A22 22 0 0 1 192 928H22A22 22 0 0 1 0 906V895A22 22 0 0 1 22 873ZM240 849.5A77.5 77.5 0 1 0 395 849.5A77.5 77.5 0 1 0 240 849.5Z'/%3E%3C/svg%3E") center/contain no-repeat}
[dir=rtl] .pnh-track{animation-name:pnhScrollRtl}
@keyframes pnhChar{to{opacity:1;transform:none;filter:none}}
@keyframes pnhFade{to{opacity:1}}
@keyframes pnhUp{to{opacity:1;transform:none}}
@keyframes pnhGrow{to{transform:scaleX(1)}}
@keyframes pnhBlink{50%{opacity:0}}
@keyframes pnhScroll{to{transform:translateX(-50%)}}
@keyframes pnhScrollRtl{to{transform:translateX(50%)}}
@media (prefers-reduced-motion:reduce){
  .pnh *,.pnh *::before,.pnh *::after{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}
}

/* Impact numbers */
.pns{--ink:#1e1e1e;--paper:#f5f4f0;--soft:#cfcbc2;--line:#46443f;--red:#d0503f;background:var(--ink);color:var(--paper);padding:clamp(72px,10vw,128px) var(--pad)}
.pns *{box-sizing:border-box}
.pns-head{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:24px 64px;align-items:end;margin-bottom:clamp(40px,6vw,72px)}
.pns-label{display:inline-flex;align-items:center;gap:14px;margin:0 0 22px;font:700 13px/1.4 'Archivo',sans-serif;font-stretch:125%;letter-spacing:.24em;text-transform:uppercase;color:var(--soft)}
.pns-label::before{content:"";width:40px;height:2px;background:var(--red)}
.pns-title{margin:0;font:800 clamp(36px,5.2vw,72px)/1 'Archivo',sans-serif;font-stretch:112%;letter-spacing:-.015em}
.pns-title em{font:italic 400 1em/1 'Instrument Serif',serif;letter-spacing:0;color:var(--red)}
.pns-intro{margin:0;max-width:460px;font-size:17px;line-height:1.6;color:var(--soft);justify-self:end}
.pns-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-inline-start:1px solid var(--line)}
.pns-card{position:relative;padding:clamp(22px,2.4vw,34px);border-bottom:1px solid var(--line);border-inline-end:1px solid var(--line);display:flex;flex-direction:column;gap:14px;min-height:260px;transition:background .35s ease}
.pns-card:hover{background:#262522}
.pns-big{grid-column:span 2;grid-row:span 2}
.pns-wide{grid-column:1/-1;min-height:0}
.pns-num{font:800 clamp(56px,6.4vw,92px)/.9 'Archivo',sans-serif;font-stretch:112%;letter-spacing:-.02em;direction:ltr;unicode-bidi:isolate;text-align:start;font-variant-numeric:tabular-nums;transition:color .3s}
.pns-big .pns-num{font-size:clamp(88px,12vw,184px)}
.pns-card:hover .pns-num{color:var(--red)}
.pns-cap{margin:0;max-width:280px;font:600 13px/1.5 'Archivo',sans-serif;font-stretch:125%;letter-spacing:.14em;text-transform:uppercase;color:var(--soft)}
.pns-viz{margin-top:auto;display:grid;gap:6px;grid-template-columns:repeat(auto-fill,minmax(12px,1fr))}
.pns-big .pns-viz{grid-template-columns:repeat(auto-fill,minmax(15px,1fr));gap:7px}
.pns-x{position:relative;aspect-ratio:1;opacity:0;transform:translateY(8px) scale(.3);transition:opacity .35s ease,transform .45s cubic-bezier(.2,.8,.2,1.3)}
.pns-x::before{content:"";position:absolute;inset:0;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 396 928'%3E%3Cpath d='M40 0H174A40 40 0 0 1 214 40V60A40 40 0 0 1 174 100H40A40 40 0 0 1 0 60V40A40 40 0 0 1 40 0ZM50 60H164V868H50ZM40 828H174A40 40 0 0 1 214 868V888A40 40 0 0 1 174 928H40A40 40 0 0 1 0 888V868A40 40 0 0 1 40 828ZM218 838A89 89 0 1 0 396 838A89 89 0 1 0 218 838Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 396 928'%3E%3Cpath d='M40 0H174A40 40 0 0 1 214 40V60A40 40 0 0 1 174 100H40A40 40 0 0 1 0 60V40A40 40 0 0 1 40 0ZM50 60H164V868H50ZM40 828H174A40 40 0 0 1 214 868V888A40 40 0 0 1 174 928H40A40 40 0 0 1 0 888V868A40 40 0 0 1 40 828ZM218 838A89 89 0 1 0 396 838A89 89 0 1 0 218 838Z'/%3E%3C/svg%3E") center/contain no-repeat}
.pns-x.r{color:var(--red)}
.pns-x:not(.r){color:#8d8a83}
.pns.in .pns-x{opacity:1;transform:none}
.pns-card:hover .pns-x:not(.r){color:var(--paper)}
.pns-bar{margin-top:auto;height:10px;display:flex;gap:4px}
.pns-bar i{flex:1;background:var(--line);border-radius:1px;position:relative;overflow:hidden}
.pns-bar i::after{content:"";position:absolute;inset:0;background:var(--paper);transform:scaleX(0);transform-origin:left;transition:transform .5s ease}
[dir=rtl] .pns-bar i::after{transform-origin:right}
.pns.in .pns-bar i.on::after{transform:scaleX(1)}
.pns-dia{margin-top:auto;display:flex;gap:14px;flex-wrap:wrap}
.pns-dia span{width:34px;height:34px;border:2px solid var(--paper);transform:rotate(45deg) scale(0);transition:transform .6s cubic-bezier(.2,.8,.2,1.3),background .3s;display:grid;place-items:center}
.pns-dia span::after{content:"";width:8px;height:8px;background:var(--red)}
.pns.in .pns-dia span{transform:rotate(45deg) scale(1)}
.pns-card:hover .pns-dia span{background:#2f2d2a}
.pns-time{display:grid;grid-template-columns:auto 1fr;gap:28px 48px;align-items:center}
.pns-steps{position:relative;display:flex;justify-content:space-between;gap:16px;padding-top:28px}
.pns-steps::before{content:"";position:absolute;top:6px;inset-inline:0;height:2px;background:repeating-linear-gradient(90deg,var(--soft) 0 8px,transparent 8px 14px);transform:scaleX(0);transform-origin:left;transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
[dir=rtl] .pns-steps::before{transform-origin:right}
.pns.in .pns-steps::before{transform:scaleX(1)}
.pns-step{position:relative;font-size:15px;line-height:1.45;color:var(--soft);max-width:240px}
.pns-step::before{content:"";position:absolute;top:-28px;inset-inline-start:0;width:14px;height:14px;border-radius:50%;background:var(--ink);border:2px solid var(--paper)}
.pns-step:last-child::before{background:var(--red);border-color:var(--red)}
.pns-step b{display:block;font:800 22px/1.2 'Archivo',sans-serif;color:var(--paper);margin-bottom:4px}
@media (max-width:980px){.pns-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pns-big{grid-row:span 1}.pns-intro{justify-self:start}}
@media (max-width:620px){.pns-grid{grid-template-columns:1fr}.pns-big{grid-column:auto}.pns-card{min-height:0}.pns-time{grid-template-columns:1fr}.pns-steps{flex-direction:column;padding-top:0;padding-inline-start:30px;gap:22px}.pns-steps::before{top:0;bottom:0;inset-inline:7px auto;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--soft) 0 8px,transparent 8px 14px);transform:scaleY(0);transform-origin:top}.pns.in .pns-steps::before{transform:scaleY(1)}.pns-step::before{top:3px;inset-inline-start:-30px}}
@media (prefers-reduced-motion:reduce){.pns *,.pns *::before,.pns *::after{transition:none!important}}

/* Shared headings on the home page */
.pn-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px 40px;margin-bottom:clamp(28px,4vw,56px)}
.pn-head-side{display:flex;flex-direction:column;align-items:flex-start;gap:18px;max-width:420px;color:var(--body)}
.pn-head-side p{font-size:16px;line-height:1.6}

/* Hero buttons */
.pnh-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:36px;opacity:0;transform:translateY(16px);animation:pnhUp 1s cubic-bezier(.2,.7,.2,1) 2.1s forwards}

/* Where we work */
.pnm{position:relative;padding:var(--sec) var(--pad);background:var(--ink);color:var(--bg);overflow:hidden;isolation:isolate}
.pnm::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 70% at 85% 40%,rgba(168,50,42,.18),transparent 70%)}
.pnm .pn-label{color:var(--soft)}
.pnm-head{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:24px 64px;align-items:end;margin-bottom:clamp(20px,3vw,40px)}
.pnm-intro{max-width:440px;justify-self:end;color:var(--soft);font-size:17px;line-height:1.6}
.pnm .places{margin-top:24px}

/* Shop */
.pnp{padding:var(--sec) var(--pad);background:#ECE9E2}
.pnp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.pnp-item a{display:flex;flex-direction:column;gap:12px;color:var(--ink)}
.pnp-img{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;border-radius:6px;background:var(--ph) var(--mark) center/16px 38px no-repeat}
.pnp-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.pnp-img::after{content:"";position:absolute;inset:auto 14px 14px auto;width:44px;height:44px;border-radius:50%;background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/18px no-repeat;transform:scale(0) rotate(-45deg);transition:transform .45s cubic-bezier(.2,.7,.2,1.3),background-color .3s}
[dir=rtl] .pnp-img::after{inset:auto auto 14px 14px;transform:scale(0) rotate(-45deg) scaleX(-1)}
.pnp-item a:hover .pnp-img img{transform:scale(1.07)}
.pnp-item a:hover .pnp-img::after{transform:none;background-color:var(--red)}
[dir=rtl] .pnp-item a:hover .pnp-img::after{transform:scaleX(-1)}
.pnp-name{font:700 18px/1.3 var(--head)}
.pnp-price{font-size:14px;color:var(--muted)}
@media (max-width:980px){.pnp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* News list */
.pnl .pnl-meta{font-size:14px;color:var(--muted);white-space:nowrap}
.pnl-row:hover .pnl-meta{color:#cfcbc2}
.pnl-name{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.pnl-row:hover .pnl-name{transform:translateX(14px)}
[dir=rtl] .pnl-row:hover .pnl-name{transform:translateX(-14px)}
.pnl-name{font-size:clamp(24px,3vw,44px)}

/* Reveal on scroll */
.js-reveal [data-rv]{opacity:0;transform:translateY(34px);transition:opacity .9s ease,transform 1s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0) * 90ms)}
.js-reveal [data-rv].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js-reveal [data-rv]{opacity:1;transform:none;transition:none}}

/* ===== Latest programs: editorial list + floating photo ===== */
.pnl{--red:#a8322a;position:relative;padding:var(--sec) var(--pad);color:var(--ink)}
.pnl-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px 40px;margin-bottom:clamp(28px,4vw,56px)}
.pnl-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.pnl-item{border-bottom:1px solid var(--ink)}
.pnl-row{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) auto 48px;gap:24px;align-items:center;padding:clamp(22px,2.6vw,36px) 0;text-decoration:none;color:var(--ink);isolation:isolate;overflow:hidden}
.pnl-row::before{content:"";position:absolute;inset:0 calc(-1 * var(--pad));z-index:-1;background:var(--ink);transform:scaleY(0);transform-origin:bottom;transition:transform .55s cubic-bezier(.7,0,.2,1)}
.pnl-row:hover::before,.pnl-row:focus-visible::before{transform:scaleY(1)}
.pnl-row:hover,.pnl-row:focus-visible{color:var(--bg)}
.pnl-row,.pnl-row *{transition:color .4s ease}
.pnl-idx{font:italic 400 clamp(22px,2vw,30px)/1 'Instrument Serif',serif;color:var(--muted)}
.pnl-row:hover .pnl-idx{color:var(--red)}
.pnl-thumb{display:none}
.pnl-main{display:flex;flex-direction:column;gap:8px;min-width:0}
.pnl-name{display:block;overflow:hidden;font:800 clamp(28px,4.2vw,62px)/1.02 'Archivo',sans-serif;font-stretch:108%;letter-spacing:-.015em}
.pnl-mask{display:inline-block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.pnl-row:hover .pnl-mask{transform:translateX(14px)}
.pnl-ex{font-size:15px;line-height:1.5;color:var(--muted);max-width:62ch;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.pnl-row:hover .pnl-ex{color:#cfcbc2}
.pnl-meta{display:flex;flex-direction:column;align-items:flex-end;gap:8px;text-align:end}
.pnl-year{font:700 13px/1 'Archivo',sans-serif;font-stretch:125%;letter-spacing:.16em}
.pnl-status{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--muted)}
.pnl-status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.pnl-status.is-live{color:var(--red)}
.pnl-status.is-live::before{animation:pnlPulse 1.8s infinite;box-shadow:0 0 0 0 rgba(168,50,42,.6)}
.pnl-row:hover .pnl-status{color:#cfcbc2}
.pnl-row:hover .pnl-status.is-live{color:#ff7a6b}
@keyframes pnlPulse{70%{box-shadow:0 0 0 8px rgba(168,50,42,0)}100%{box-shadow:0 0 0 0 rgba(168,50,42,0)}}
.pnl-go{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1.5px solid currentColor;font-size:18px;transform:rotate(-45deg);transition:transform .45s cubic-bezier(.2,.7,.2,1),background .3s,border-color .3s}
.pnl-row:hover .pnl-go{transform:rotate(0);background:var(--red);border-color:var(--red);color:#fff}
[dir=rtl] .pnl-go,[dir=rtl] .pn-all .arr{transform:scaleX(-1) rotate(-45deg)}
[dir=rtl] .pn-all .arr{transform:scaleX(-1)}
[dir=rtl] .pnl-row:hover .pnl-go{transform:scaleX(-1)}
[dir=rtl] .pnl-row:hover .pnl-mask{transform:translateX(-14px)}
.pnl-float{position:fixed;left:0;top:0;z-index:50;pointer-events:none;width:clamp(240px,22vw,340px);aspect-ratio:4/5;opacity:0;transform:translate3d(-999px,-999px,0);transition:opacity .35s ease}
.pnl-float.on{opacity:1}
.pnl-float-in{position:relative;width:100%;height:100%;overflow:hidden;border-radius:4px;box-shadow:0 30px 60px -20px rgba(0,0,0,.45);transform:translate(-50%,-50%) scale(.85);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.pnl-float.on .pnl-float-in{transform:translate(-50%,-50%) scale(1)}
.pnl-float-in img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:pnlImg .45s ease both}
@keyframes pnlImg{from{opacity:0;transform:scale(1.12)}to{opacity:1;transform:none}}
.pnl.js .pnl-item{opacity:0;transform:translateY(30px)}
.pnl.js.is-in .pnl-item{opacity:1;transform:none;transition:opacity .8s ease,transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i) * 110ms)}
.pnl-empty{color:var(--muted)}
.pnl-bare{padding:0}
.pnl-bare .pnl-row::before{inset:0 calc(-1 * var(--pad))}
@media (max-width:860px){
  .pnl-row{grid-template-columns:88px minmax(0,1fr);gap:8px 18px;align-items:start}
  .pnl-idx{display:none}
  .pnl-thumb{display:block;grid-row:span 2;aspect-ratio:1;overflow:hidden;background:var(--ph);border-radius:3px}
  .pnl-thumb img{width:100%;height:100%;object-fit:cover}
  .pnl-meta{flex-direction:row;align-items:center;justify-content:flex-start;gap:14px;text-align:start}
  .pnl-go{display:none}
  .pnl-name{font-size:clamp(22px,6vw,30px)}
  .pnl-ex{-webkit-line-clamp:2}
  .pnl-float{display:none}
}
/* ===== Partners: two logo rivers ===== */
.pnq{--red:#a8322a;padding:var(--sec) 0;color:var(--ink);overflow:hidden;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.pnq-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:18px 40px;padding:0 var(--pad);margin-bottom:clamp(36px,5vw,64px)}
.pnq-head .pn-label{grid-column:1/-1;margin:0}
.pnq-count{margin:0;font-size:15px;color:var(--muted)}
.pnq-count span{font:800 clamp(40px,5vw,72px)/1 'Archivo',sans-serif;font-stretch:112%;color:var(--ink);margin-inline-end:6px;vertical-align:-.12em}
.pnq-rivers{display:flex;flex-direction:column;gap:clamp(14px,2vw,22px);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.pnq-river{overflow:hidden}
.pnq-track{display:flex;width:max-content;gap:clamp(14px,2vw,22px);animation:pnqFlow 48s linear infinite}
.pnq-rev .pnq-track{animation-direction:reverse;animation-duration:56s}
.pnq-rivers:hover .pnq-track{animation-play-state:paused}
@keyframes pnqFlow{to{transform:translateX(calc(-50% - clamp(7px,1vw,11px)))}}
.pnq-logo{position:relative;flex:0 0 auto;display:grid;place-items:center;width:clamp(170px,17vw,240px);height:clamp(100px,9vw,130px);padding:18px 26px;border:1px solid rgba(30,30,30,.16);border-radius:6px;background:var(--bg);text-decoration:none;color:var(--ink);transition:border-color .35s,transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.pnq-logo img{display:block;width:100%;height:100%;min-height:0;object-fit:contain;filter:grayscale(1) contrast(1.1);mix-blend-mode:multiply;opacity:.7;transition:filter .4s,opacity .4s,transform .4s}
.pnq-word{font:800 17px/1.2 'Archivo',sans-serif;text-align:center;opacity:.7}
.pnq-logo::after{content:attr(data-name);position:absolute;left:50%;bottom:-12px;transform:translate(-50%,6px);white-space:nowrap;padding:5px 10px;border-radius:999px;background:var(--ink);color:var(--bg);font-size:12px;font-weight:600;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
.pnq-logo:hover{border-color:var(--ink);transform:translateY(-4px);box-shadow:0 18px 30px -18px rgba(0,0,0,.35)}
.pnq-logo:hover img{filter:none;opacity:1;transform:scale(1.04)}
.pnq-logo:hover::after{opacity:1;transform:translate(-50%,0)}
.pnq-river{padding-bottom:14px}
[dir=rtl] .pnq-track{animation-name:pnqFlowRtl}
@keyframes pnqFlowRtl{to{transform:translateX(calc(50% + clamp(7px,1vw,11px)))}}
.pnq.js .pnq-head,.pnq.js .pnq-rivers{opacity:0;transform:translateY(24px)}
.pnq.js.is-in .pnq-head,.pnq.js.is-in .pnq-rivers{opacity:1;transform:none;transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.pnq.js.is-in .pnq-rivers{transition-delay:.2s}
@media (max-width:620px){.pnq-head{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){
  .pnl *,.pnq *{animation:none!important;transition:none!important}
  .pnl.js .pnl-item,.pnq.js .pnq-head,.pnq.js .pnq-rivers{opacity:1;transform:none}
  .pnq-track{flex-wrap:wrap;width:auto;justify-content:center}
  .pnq-river .pnq-logo:nth-child(n+9){display:none}
}
/* ===== Latest programs: pinned horizontal gallery ===== */
.png{--red:#a8322a;--hdr:0px;position:relative;color:var(--ink);background:var(--bg)}
.png-sticky{display:flex;flex-direction:column;padding:clamp(40px,5vw,72px) 0 clamp(28px,3vw,40px);overflow:hidden}
.png.is-pinned .png-sticky{position:sticky;top:var(--hdr);height:calc(100vh - var(--hdr));min-height:620px;padding-block:clamp(28px,4vh,56px) clamp(20px,3vh,36px)}
.png-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 40px;padding:0 var(--pad);margin-bottom:clamp(22px,3.5vh,44px)}
.png-side{display:flex;align-items:center;gap:28px}
.png-counter{margin:0;font:italic 400 clamp(28px,2.6vw,40px)/1 'Instrument Serif',serif;display:flex;gap:6px;align-items:baseline;direction:ltr}
.png-cur{font:800 clamp(40px,3.8vw,58px)/1 'Archivo',sans-serif;font-style:normal;font-stretch:112%;color:var(--red);min-width:2ch;display:inline-block;text-align:end}
.png-sep{opacity:.35}
.png-viewport{flex:1;min-height:0;overflow:hidden;padding:0 var(--pad)}
.png:not(.is-pinned) .png-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.png:not(.is-pinned) .png-viewport::-webkit-scrollbar{display:none}
.png-track{list-style:none;margin:0;padding:0 0 26px;display:flex;gap:clamp(16px,1.8vw,28px);height:100%;width:max-content;will-change:transform}
.png-card{flex:0 0 auto;width:clamp(280px,28vw,430px);height:100%;min-height:440px;scroll-snap-align:start}
.png-card:nth-child(even){padding-top:clamp(0px,4vh,48px)}
.png-link{position:relative;display:block;height:100%;border-radius:6px;overflow:hidden;background:var(--ink);color:#fff;text-decoration:none;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s;box-shadow:0 20px 40px -28px rgba(0,0,0,.5)}
.png-link:hover{box-shadow:0 40px 70px -30px rgba(0,0,0,.6)}
.png-link::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(380px circle at var(--mx,50%) var(--my,30%),rgba(255,255,255,.09),transparent 60%);opacity:0;transition:opacity .4s;mix-blend-mode:screen}
.png-link:hover::after{opacity:1}
.png-media{position:absolute;inset:0;overflow:hidden}
.png-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.18);transition:filter .6s;filter:saturate(.9) brightness(.92)}
.png-link:hover .png-media img{filter:saturate(1.05) brightness(1)}
.png-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,0) 45%,rgba(0,0,0,.82) 100%)}
.png-card.no-img .png-media{background:var(--ink) repeating-linear-gradient(45deg,transparent 0 17px,rgba(255,255,255,.06) 17px 18px),repeating-linear-gradient(-45deg,transparent 0 17px,rgba(255,255,255,.06) 17px 18px)}
.png-card.no-img .png-media::before{content:"";position:absolute;top:22%;left:50%;width:34%;aspect-ratio:1;border:2px solid rgba(208,80,63,.8);transform:translateX(-50%) rotate(45deg);box-shadow:0 0 0 14px rgba(245,244,240,.05),inset 0 0 0 14px rgba(245,244,240,.05)}
.png-idx{position:absolute;top:18px;inset-inline-start:22px;font:800 clamp(56px,5.4vw,84px)/1 'Archivo',sans-serif;font-stretch:112%;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.85);transition:color .4s,-webkit-text-stroke-color .4s}
.png-link:hover .png-idx{color:var(--red);-webkit-text-stroke-color:var(--red)}
.png-status{position:absolute;top:22px;inset-inline-end:20px;display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:rgba(20,20,20,.45);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.22);font:600 12px/1 'Instrument Sans',sans-serif;letter-spacing:.03em}
.png-status::before{content:"";width:7px;height:7px;border-radius:50%;background:#b9b5ad}
.png-status.is-live::before{background:#ff6a58;box-shadow:0 0 0 0 rgba(255,106,88,.7);animation:pnlPulse 1.8s infinite}
.png-body{position:absolute;inset-inline:0;bottom:0;display:flex;flex-direction:column;gap:10px;padding:26px 24px 24px;transform:translateZ(40px)}
.png-year{font:700 12px/1 'Archivo',sans-serif;font-stretch:125%;letter-spacing:.18em;color:rgba(255,255,255,.75)}
.png-name{font:800 clamp(24px,2.1vw,34px)/1.06 'Archivo',sans-serif;font-stretch:106%;letter-spacing:-.01em;text-wrap:balance}
.png-ex{font-size:15px;line-height:1.5;color:rgba(255,255,255,.82);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-height:0;opacity:0;transition:max-height .5s ease,opacity .5s ease}
.png-link:hover .png-ex,.png-link:focus-visible .png-ex{max-height:4.6em;opacity:1}
.png-more{display:inline-flex;align-items:center;gap:12px;margin-top:6px;font-size:14px;font-weight:600}
.png-go{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(255,255,255,.7);transform:rotate(-45deg);transition:transform .45s cubic-bezier(.2,.7,.2,1),background .3s,border-color .3s}
.png-link:hover .png-go{transform:rotate(0);background:var(--red);border-color:var(--red)}
[dir=rtl] .png-go{transform:scaleX(-1) rotate(-45deg)}
[dir=rtl] .png-link:hover .png-go{transform:scaleX(-1)}
.png-end .png-link{background:transparent;color:var(--ink);border:1.5px solid var(--ink);display:flex;flex-direction:column;justify-content:flex-end;gap:12px;padding:28px;box-shadow:none}
.png-end .png-link:hover{background:var(--ink);color:var(--bg)}
.png-end-n{font:800 clamp(96px,9vw,150px)/.9 'Archivo',sans-serif;font-stretch:112%;color:var(--red);direction:ltr;text-align:start}
.png-end-t{font:italic 400 clamp(24px,2.2vw,32px)/1.15 'Instrument Serif',serif;max-width:10em}
.png-end .png-go{border-color:currentColor}
.png-bar{position:relative;height:2px;margin:clamp(16px,2.4vh,28px) var(--pad) 0;background:rgba(30,30,30,.14)}
.png-bar span{position:absolute;inset:0;background:var(--ink);transform:scaleX(.04);transform-origin:left;transition:transform .1s linear}
[dir=rtl] .png-bar span{transform-origin:right}
.png-link:focus-visible{outline:3px solid var(--red);outline-offset:4px}
.png.js .png-card{opacity:0;transform:translateX(60px)}
[dir=rtl] .png.js .png-card{transform:translateX(-60px)}
.png.js.is-in .png-card{opacity:1;transform:none;transition:opacity .9s ease,transform 1s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,1) * 90ms)}
@media (max-width:899px){
  .png-card{width:78vw;height:auto;min-height:0;aspect-ratio:3/4}
  .png-card:nth-child(even){padding-top:0}
  .png-ex{max-height:4.6em;opacity:1}
  .png-counter{display:none}
  .png-end{aspect-ratio:3/4}
}
@media (prefers-reduced-motion:reduce){.png *{transition:none!important;animation:none!important}.png.js .png-card{opacity:1;transform:none}}.pnm .places{align-items:start}.pnm .places-map{max-width:440px}
@media (max-width:620px){.pns-big .pns-x:nth-child(n+97){display:none}.pnm .places-map{max-width:240px}}
