*{box-sizing:border-box}html,body,main{margin:0;width:100%;height:100%;overflow:hidden}body{font:16px Arial,Helvetica,sans-serif;background:#101010;color:#fff}button,input,textarea{font:inherit}button,a{color:inherit}button{background:none;border:0;cursor:pointer}a{text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #289cff;outline-offset:3px}[hidden]{display:none!important}main{position:fixed;inset:0;background:#101010}#media,.shade{position:absolute;inset:0;overflow:hidden}#media iframe{border:0;pointer-events:none;position:absolute;left:50%;top:50%;width:max(100vw,177.78dvh);height:max(100dvh,56.25vw);transform:translate(-50%,-50%)}#media img,#stage img{width:100%;height:100%;object-fit:cover}.shade{background:linear-gradient(transparent 60%,#0004),#0003}.brand{position:absolute;top:4.1%;left:50%;transform:translateX(-50%)}.brand img{width:clamp(120px,10vw,200px)}.burger{position:absolute;right:2.2%;top:2.9%;width:clamp(52px,4.75vw,92px);aspect-ratio:1;background:#ef4137;display:grid;align-content:center;justify-items:center;gap:6px}.burger i{width:36%;height:2px;background:#fff}.arrow,.play{position:absolute;top:50%;transform:translateY(-50%);padding:0;display:grid;place-items:center}.arrow img,.play img{width:100%}.arrow{width:clamp(48px,6vw,116px)}.prev{left:2.2%}.next{right:1.6%}.play{width:clamp(64px,6.9vw,132px);left:50%;transform:translate(-50%,-50%)}h1{position:absolute;left:15%;top:36%;margin:0;font-size:clamp(44px,5.4vw,118px);line-height:.85;letter-spacing:-.065em;color:#ff513f;white-space:pre-line}.strip{position:absolute;top:62%;width:100%;overflow:hidden;white-space:nowrap;color:#fff9;font-size:clamp(26px,3.35vw,68px);font-style:italic;pointer-events:none}.strip span{display:inline-block;animation:move 28s linear infinite}@keyframes move{to{transform:translateX(-50%)}}footer.signature{position:absolute;bottom:5.4%;left:50%;transform:translateX(-50%);white-space:nowrap}.signature{font-size:clamp(17px,1.47vw,30px);font-weight:750;letter-spacing:-.06em}.signature b{color:#208cff;border-bottom:.1em solid currentColor}/* Same scale per SVG design unit in both languages. */
footer.signature{font-size:clamp(.6462px,.04628vw,.895px)}
footer.signature img{display:block;width:auto;height:28.84em}
footer.signature img[src*="PT-"]{height:28.49em}
#panel{position:fixed;inset:2.9% 2.2%;color:#171919;background:#c3c8cb;overflow:hidden}#panel:before{content:"";position:absolute;inset:0;background:url(assets/noise-about.webp) center/cover;mix-blend-mode:overlay;opacity:.0902;pointer-events:none}#panel.menuopen{background:#ef4137}#panel{isolation:isolate}#panel.menuopen:before{background-image:url(assets/noise-menu.webp);opacity:.2706}#menu{position:relative}header{position:absolute;right:1.4%;top:2.5%;z-index:2;display:flex;align-items:center;gap:12px}header button,nav a{font-weight:550}header .active,nav .active{font-style:italic;color:#c62c26;text-decoration:underline}.menuopen header .active,.menuopen nav .active{color:white}.close,.x{font-size:34px;line-height:1;font-weight:300}.menu{height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 18% 0 10%}.biglogo{width:37%}.menu nav{display:grid;gap:17px;font-size:clamp(25px,2.3vw,48px)}#info{position:absolute;inset:8% 5% 8% 4%;display:grid;grid-template-columns:49% 1fr;gap:6%}.portrait{position:relative;background:url(assets/portrait.webp) center/cover;max-height:100%;aspect-ratio:1;align-self:center;width:min(100%,76dvh)}.mark{position:absolute;width:4.3%;left:3%;top:3%}.portrait .signature{position:absolute;top:44%;left:0;width:100%;text-align:center;color:white;font-size:clamp(28px,4.7vw,96px)}.portrait .signature b{color:#ef4137}.copy{padding-top:4%;min-height:0;display:flex;flex-direction:column}.copy nav{display:flex;gap:clamp(12px,2vw,36px);margin-bottom:3.5vh}.copy p{line-height:1.27;margin:0;max-width:46ch;font-size:clamp(15px,1.12vw,22px)}#about{flex:1;display:flex;flex-direction:column;justify-content:space-between;padding-bottom:3%}h3{font-size:clamp(16px,1.35vw,27px);font-style:italic;margin:1em 0 .45em}form{display:grid;gap:10px;max-width:540px}h2{margin:0;font-size:clamp(25px,3vw,56px)}label{display:grid;gap:2px;font-size:14px}input,textarea{border:0;border-bottom:1px solid #666;background:transparent;padding:7px;color:#111;min-width:0}textarea{height:65px;resize:none}.submit{background:#151515;color:white;padding:10px;text-align:left}small{font-size:12px}dialog{margin:auto;background:#090909;color:white;border:0;width:min(96vw,1500px);padding:44px 12px 12px}dialog::backdrop{background:#000d}.x{position:absolute;right:10px;top:4px}#stage{aspect-ratio:16/9;max-height:76dvh}#stage iframe{width:100%;height:100%;border:0}#external{text-decoration:underline;font-size:14px;display:inline-block;margin:8px}
@media(max-width:700px),(max-height:500px){#panel{inset:10px}.copy nav,header{font-size:14px}.burger{top:15px;right:14px}.brand{top:22px}h1{left:8%;top:24%;font-size:clamp(44px,10.5vw,66px)}.strip{top:68%}.menu{flex-direction:column;align-items:flex-start;justify-content:center;gap:7vh;padding:0 10%}.biglogo{width:min(75%,280px)}#info{inset:58px 6% 15px;display:flex;flex-direction:column;gap:12px}.portrait{align-self:stretch;width:100%;height:23dvh;aspect-ratio:auto;background-position:center 56%}.portrait .signature{font-size:28px}.mark{width:14px}.copy{padding:0;flex:1;overflow:auto}.copy nav{margin:0 0 12px}.copy p{font-size:14px}.bios h3{margin:.7em 0 .2em}#about{display:block;padding:0}header{top:10px;right:12px}form{gap:8px}}@media(max-height:520px){#info{inset:42px 4% 10px;flex-direction:row}.portrait{width:36%;height:100%}.copy p{font-size:13px}.copy nav{margin-bottom:5px}.bios h3{margin:.4em 0}.contactopen h2{display:none}h1{top:20%}}@media(prefers-reduced-motion:reduce){.strip span{animation:none}}

.preview-slot{position:absolute;inset:0;overflow:hidden;opacity:0;pointer-events:none}
#media{isolation:isolate}
.arrow img,.play img{transition:transform .24s cubic-bezier(.2,.75,.2,1),opacity .15s;pointer-events:none}
@media(hover:hover){.arrow:hover img,.play:hover img{transform:scale(.94)}}
.arrow:active img,.play:active img{transform:scale(.86);opacity:.78;transition-duration:70ms}
@media(prefers-reduced-motion:reduce){.preview-slot,.arrow img,.play img{transition:none}}


.preview-slot video{width:100%;height:100%;object-fit:cover;display:block}
.portrait .signature img{display:block;margin-inline:auto;width:70%;height:auto}.portrait .signature img[src*="PT-"]{width:85.79%}

form .submit{justify-self:start;background:#ef4137;color:#fff;font-weight:650;padding:12px 26px;border:0;transition:transform .2s ease}form .submit:hover{transform:scale(.96)}form .submit:active{transform:scale(.9)}

/* About: split editorial panel */
#panel #info{inset:0;display:grid;grid-template-columns:50.9% 1fr;gap:0}
#panel #info .portrait{width:100%;height:100%;aspect-ratio:auto;max-height:none;align-self:stretch;background-position:center}
#panel #info .mark{left:4.5%;top:auto;bottom:2.8%;width:3.75%}
#panel #info .signature{top:50%;transform:translateY(-50%)}
#panel #info .signature img{width:79%;margin-left:14%}
#panel #info .signature img[src*="PT-"]{width:96.8%;margin-inline:auto}
#panel #info .copy{padding:0;overflow:visible}
#panel #info nav{position:absolute;top:2.9%;left:2.3%;margin:0;align-items:center;min-height:36px;gap:clamp(14px,1.8vw,38px);font-size:clamp(15px,1.05vw,23px)}
#panel:not(.contactopen) #about{padding:0;margin:0;position:absolute;left:56.9%;right:6.6%;top:15%;bottom:14%;justify-content:space-between}
#about p{max-width:none}#intro{white-space:pre-line}
#about .bios h3{margin:0 0 .85em}#about .bios p+h3{margin-top:2.2em}
@media(min-width:701px) and (max-height:600px){#panel:not(.contactopen) #about{top:16%;bottom:5%;overflow:auto}#about .bios p+h3{margin-top:.8em}}
@media(max-width:700px){#panel #info{display:grid;grid-template-columns:1fr;grid-template-rows:42% 1fr}#panel #info .portrait{background-position:center 59%}#panel #info .signature{top:61%}#panel #info .signature img{width:64%;margin-inline:auto}#panel #info .signature img[src*="PT-"]{width:78.4%}#panel #info nav{top:53px;left:5%;font-size:14px}#panel:not(.contactopen) #about{position:static;display:block;padding:16px 5%;overflow:auto}#panel #info .copy{overflow:hidden}#about .bios h3{margin:1em 0 .25em}#about .bios p+h3{margin-top:.9em}}
#panel #info .portrait{background-image:url(assets/about-portrait.webp)}

#panel.contactopen #contact{position:absolute;left:56.9%;right:6.6%;top:15%;bottom:8%;max-width:none;align-content:start;gap:clamp(10px,2vh,22px);overflow:auto}#contact .submit{justify-self:start}@media(max-width:700px){#panel.contactopen #contact{position:static;padding:16px 5%;overflow:auto}}
#contact :is(input,textarea):focus{outline:none;box-shadow:none;border-bottom-color:#ef4137}
#viewer{padding:0;width:min(94vw,1440px);max-height:96dvh;border:0;background:#101010;color:#fff}#viewer::backdrop{background:#000e}.cinema{padding:10px 18px}.cinema header{position:static;display:flex;justify-content:space-between;align-items:center;padding:0 0 6px}.cinema header strong{font-size:15px}.cinema #dismiss{font-size:30px;color:#fff}.cinema video{display:block;width:100%;height:min(68dvh,52vw);object-fit:contain;background:black}.transport{display:flex;align-items:center;gap:12px;min-height:46px}.transport button{min-width:32px;padding:6px}.transport input{flex:1;min-width:40px;accent-color:#ef4137;border:0;padding:0}.transport output{font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}#filmError:empty{display:none}#viewer:fullscreen{width:100vw;height:100dvh;max-height:none}#viewer:fullscreen video{height:calc(100dvh - 115px)}@media(max-width:600px){.transport{gap:3px}.cinema{padding:6px}.transport button{font-size:13px}}
#media{background-position:center;background-size:cover}
#viewer{width:min(86vw,149dvh);max-width:none;height:auto;max-height:none;overflow:visible;background:transparent;padding:0}
#viewer::backdrop{background:rgba(0,0,0,.84)}
#viewer .cinema{padding:0;position:relative;background:#080808}
#viewer .cinema header{position:absolute;inset:0 0 auto;z-index:1;display:block;padding:0;pointer-events:none}
#viewer #filmName{position:absolute;top:-.58em;left:4%;max-width:85%;color:#ff513f;font-size:clamp(32px,5.5vw,160px);line-height:.84;letter-spacing:-.065em;white-space:pre-line;font-weight:700}
#viewer #dismiss{pointer-events:auto;position:absolute;right:1%;top:6px;width:44px;height:44px;color:transparent;background:transparent}
#dismiss::before,#dismiss::after{content:"";position:absolute;top:50%;left:20%;width:60%;height:1px;background:white;transform:rotate(45deg)}#dismiss::after{transform:rotate(-45deg)}
#viewer .cinema video{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
#viewer .transport{position:absolute;bottom:0;left:0;right:0;padding:4% 2% 1.5%;gap:clamp(5px,1vw,24px);background:linear-gradient(transparent,#0009);color:white}
#viewer #seek{appearance:none;height:5px;padding:0;border:0;background:linear-gradient(to right,#ef4137 var(--progress,0%),#fff var(--progress,0%));border-radius:8px;cursor:pointer}
#seek::-webkit-slider-thumb{appearance:none;background:#ef4137;width:11px;height:11px;border-radius:50%}
#filmError:not(:empty){position:absolute;bottom:12%;left:4%;background:#111;color:white;padding:6px}
#viewer:fullscreen{width:100%;height:100%;display:grid;place-items:center;background:#080808}#viewer:fullscreen .cinema{width:min(100vw,177.77dvh)}#viewer:fullscreen #filmName{top:3%}
@media(max-width:600px){#viewer{width:95vw}#viewer .transport{padding:20px 2% 3px;gap:3px}#viewer .transport button{min-width:28px;padding:3px}#viewer #dismiss{width:34px;height:34px;top:0}}
/* Center the film against the viewport; keep title overhang inside the dialog. */
#viewer[open]{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;display:grid;place-items:center;box-sizing:border-box;padding:0}
#viewer[open] .cinema{width:min(86vw,145dvh);min-width:0}
#viewer #filmName{font-size:clamp(30px,min(5.5vw,10dvh),160px)}
@media(max-width:600px){#viewer[open] .cinema{width:min(95vw,145dvh)}}
#viewer[open]:fullscreen .cinema{width:min(100vw,177.77dvh)}
#viewer :is(button,input):focus{outline:none;box-shadow:none}
#viewer button:focus-visible{color:#ff624d}
#viewer #seek:focus-visible{box-shadow:0 2px 0 #ff624d}
#viewer #dismiss:focus-visible::before,#viewer #dismiss:focus-visible::after{background:#ff624d}
#viewer #toggle.playing::before{content:"";display:inline-block;width:3px;height:14px;border-inline:3px solid currentColor;box-sizing:content-box;vertical-align:middle}
#viewer .cinema .arrow{z-index:2;top:50%;width:clamp(42px,5.9vw,116px)}
#viewer .cinema .prev{left:0;transform:translate(-32%,-50%)}
#viewer .cinema .next{right:0;transform:translate(32%,-50%)}
@media(max-width:600px){#viewer .cinema .prev{transform:translate(-18%,-50%)}#viewer .cinema .next{transform:translate(18%,-50%)}}
#viewer:fullscreen .cinema .prev{transform:translateY(-50%)}#viewer:fullscreen .cinema .next{transform:translateY(-50%)}
@media(prefers-reduced-motion:no-preference){
 #viewer .cinema video,#viewer .cinema header,#viewer .transport{transition:opacity .34s ease,scale .34s cubic-bezier(.4,0,.22,1)}
 #viewer[data-phase="opening"] :is(#screen,.transport,.cinema header){animation:cinema-arrives .48s cubic-bezier(.22,.72,.2,1) both}
 #viewer[data-phase="opening"]::backdrop{animation:veil-arrives .48s ease both}
 #viewer[data-phase="closing"] :is(#screen,.transport,.cinema header){opacity:0;scale:.978}
 #viewer[data-phase="closing"] .cinema{background:transparent}
 #viewer[data-phase="closing"]::backdrop{animation:veil-leaves .34s ease both}
 @keyframes cinema-arrives{from{opacity:0;scale:.978}to{opacity:1;scale:1}}
 @keyframes veil-arrives{from{background-color:transparent}to{background-color:rgba(0,0,0,.84)}}
 @keyframes veil-leaves{from{background-color:rgba(0,0,0,.84)}to{background-color:transparent}}
}
#panel:not(.menuopen) > header [data-lang]{display:none}
@media(max-width:700px){#panel:not(.contactopen) #about{padding-inline:20%}}
.home-langs{position:absolute;right:calc(2.2% + clamp(52px,4.75vw,92px) + clamp(12px,2.6vw,48px));top:2.9%;height:clamp(52px,4.75vw,92px);display:flex;align-items:center}
.home-langs button,#panel.menuopen header [data-lang]{color:white;font-size:clamp(14px,1.05vw,22px);font-style:normal;font-weight:500;padding:8px 5px}
.home-langs .active,#panel.menuopen header [data-lang].active{color:white;text-decoration:underline;text-underline-offset:.24em}
#panel.menuopen header{gap:0}#panel.menuopen header .close{margin-left:clamp(14px,3vw,60px);color:white}
@media(max-width:700px),(max-height:500px){.home-langs{top:15px;right:calc(14px + clamp(52px,4.75vw,92px) + 6px)}}
@media(max-width:430px){.brand img{width:clamp(72px,22vw,96px)}.home-langs button{padding-inline:3px}}


@media(max-width:700px){
  #panel:not(.menuopen) header,#panel #info nav{top:8px;height:44px;display:flex;align-items:center}
  #panel #info nav{right:58px}
  #panel:not(.menuopen) header .close{display:grid;place-items:center;width:44px;height:44px}
  #viewer #dismiss{width:44px;height:44px;top:0;font-size:0;-webkit-tap-highlight-color:transparent}
  #viewer #dismiss::before,#viewer #dismiss::after,#viewer #dismiss:focus-visible::before,#viewer #dismiss:focus-visible::after{width:16px;left:calc(50% - 8px);height:1.5px;background:#fff}
}
