html,body{overflow-x:clip}
body{margin:0;background:#000}
.pv-theme-root,.pv-theme-root *{transition:background-color .5s,border-color .5s,color .5s}
a{color:inherit}
@keyframes pv-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes pv-spin{to{transform:rotate(360deg)}}
@keyframes pv-rise{from{transform:translateY(40%);opacity:0}to{transform:none;opacity:1}}
@keyframes pv-reveal{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes pv-zoom{from{transform:scale(1.15)}to{transform:scale(1)}}
@keyframes pv-fade{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes pv-pulse{0%{box-shadow:0 0 0 0 rgba(var(--pv-rgb),.65)}100%{box-shadow:0 0 0 34px rgba(var(--pv-rgb),0)}}
@keyframes pv-blink{50%{opacity:.15}}
@keyframes pv-glow{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes pv-clap{0%,70%,100%{transform:rotate(0)}78%{transform:rotate(-14deg)}86%{transform:rotate(0)}}
@keyframes pv-sprocket{to{background-position:-30px 0}}
.pv-track{animation:pv-marquee 40s linear infinite}
.pv-spin{animation:pv-spin 20s linear infinite}
.pv-rise{animation:pv-rise 1.1s cubic-bezier(.2,.8,.2,1) .1s both}
.pv-reveal{animation:pv-reveal 1.3s cubic-bezier(.7,0,.2,1) .3s both}
.pv-zoom{animation:pv-zoom 2s cubic-bezier(.2,.8,.2,1) .3s both}
.pv-load{animation:pv-fade .9s cubic-bezier(.2,.8,.2,1) both}
.pv-pulse{animation:pv-pulse 1.8s ease-out infinite}
.pv-blink{animation:pv-blink 1.2s steps(1) infinite}
.pv-glow{animation:pv-glow 6s ease-in-out infinite}
.pv-clap{transform-origin:6% 100%;animation:pv-clap 4s ease-in-out 2s infinite}
.pv-sprocket{animation:pv-sprocket 1.2s linear infinite}
.pv-filmtrack{animation:pv-marquee 60s linear infinite}
.pv-filmwrap:hover .pv-filmtrack{animation-play-state:paused}
.pv-card{transform:rotate(var(--tilt));transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s}
.pv-card:hover{transform:rotate(0) translateY(-14px) scale(1.03);box-shadow:0 24px 40px rgba(0,0,0,.6),0 0 0 2px var(--pv-solid)}
.pv-btn{transition:transform .2s,box-shadow .2s,background .2s}
.pv-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(var(--pv-rgb),.35)}
.pv-zoomh img{transition:transform .7s ease,filter .5s}
.pv-zoomh:hover img{transform:scale(1.08)}
.pv-link{background-image:linear-gradient(var(--pv-solid),var(--pv-solid));background-size:0 2px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .3s}
.pv-link:hover{background-size:100% 2px}
.pv-hname{perspective:900px}
@keyframes pv-letter{0%{opacity:0;transform:translateY(45%) rotateX(-80deg) scale(.9);filter:blur(10px)}100%{opacity:1;transform:none;filter:blur(0)}}
@keyframes pv-shine{from{background-position:100% 0}to{background-position:0% 0}}
@keyframes pv-flick{0%,90%,100%{-webkit-text-stroke-color:var(--pv-ink);text-shadow:none}91%,94%{-webkit-text-stroke-color:var(--pv-solid);text-shadow:0 0 24px rgba(var(--pv-rgb),.7)}92.5%{-webkit-text-stroke-color:var(--pv-ink);text-shadow:none}}
.pv-l{display:inline-block;transform-origin:50% 100%;transition:transform .4s cubic-bezier(.2,.8,.2,1),color .4s;cursor:default}
.pv-l:hover{transform:translateY(-14px) rotate(-2deg)}
.pv-fill{background:linear-gradient(110deg,var(--pv-deep) 0%,var(--pv-solid) 28%,var(--pv-pale) 42%,var(--pv-solid) 56%,var(--pv-deep) 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:pv-letter 1.1s cubic-bezier(.2,.8,.2,1) backwards,pv-shine 4.5s ease-in-out infinite alternate;animation-delay:calc(var(--i) * 90ms + 150ms),1.8s}
.pv-out{color:transparent;-webkit-text-stroke:2px var(--pv-ink);animation:pv-letter 1.1s cubic-bezier(.2,.8,.2,1) backwards,pv-flick 7s linear infinite;animation-delay:calc(var(--i) * 90ms + 150ms),calc(var(--i) * 900ms + 2s)}
.pv-out:hover{color:rgba(var(--pv-rgb),.22)}
.pv-frame{width:clamp(210px,22vw,280px);flex:none;margin-right:16px;padding:0 0 6px}
.pv-frame-img{position:relative;height:clamp(130px,14vw,180px);overflow:hidden;border:3px solid var(--pv-panel2);background:var(--pv-panel2)}
.pv-frame-img img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.85)}
.pv-coming{position:absolute;top:10px;left:10px;padding:4px 9px;background:linear-gradient(135deg,var(--pv-a1) 0%,var(--pv-a2) 100%);color:var(--pv-on);font-size:10px;font-weight:800;letter-spacing:.14em}
.pv-fy{margin:10px 0 0;font-size:12px;color:var(--pv-muted)}
.pv-ft{margin:0;font-size:18px;font-weight:800}
.pv-fr{margin:0;font-size:13px;color:var(--pv-muted)}
.pv-gal{position:relative;margin:0;height:clamp(170px,18vw,240px);overflow:hidden;background:var(--pv-panel2)}
.pv-gal img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.85)}
.pv-gal figcaption{position:absolute;left:10px;bottom:10px;padding:4px 9px;background:var(--pv-ink);color:#141210;font-size:12px;font-weight:700}
.pv-bnav{display:none;position:fixed;left:0;right:0;bottom:0;z-index:50;justify-content:space-around;padding:8px 8px calc(10px + env(safe-area-inset-bottom));background:rgba(var(--pv-bgrgb),0.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--pv-line);font-family:'Manrope',system-ui,sans-serif}
.pv-bnav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;min-height:60px;justify-content:center;color:var(--pv-ink);text-decoration:none;font-size:13.5px;font-weight:700;letter-spacing:.02em;opacity:.8;-webkit-tap-highlight-color:transparent;transition:opacity .2s,color .2s}
.pv-bnav a:hover,.pv-bnav a:focus-visible,.pv-bnav a:active,.pv-bnav a[aria-current]{opacity:1;color:var(--pv-solid)}
.pv-bnav svg{padding:4px 16px;border-radius:999px;transition:background-color .3s}
.pv-bnav a[aria-current] svg{background:rgba(var(--pv-rgb),.18)}
@media (max-width: 900px){
.pv-hero{min-height:0!important}
.pv-hname{top:28px!important;font-size:24vw!important}
.pv-hglow{left:0!important;width:100%!important;height:70%!important;transform:none!important}
.pv-hport{position:relative!important;left:auto!important;bottom:auto!important;transform:none!important;width:min(460px,100%)!important;margin:calc(28px + 13vw) auto 0}
.pv-hcontent{min-height:0!important;margin-top:-70px;flex-direction:column!important;align-items:stretch!important;gap:8px!important}
.pv-htext{padding-bottom:0!important;max-width:none!important}
.pv-hside{flex-direction:row!important;justify-content:space-between!important;align-items:center!important;padding:20px 0 44px!important;gap:16px!important}
.pv-hroles{display:none!important}
.pv-badge,.pv-badge svg{width:112px!important;height:112px!important}
.pv-badge-year{font-size:26px!important}
.pv-slate{width:180px!important;font-size:20px!important}
.pv-about-bio{border-left:0!important;padding-left:0!important}
header .pv-navlink{display:none!important}
.pv-bnav{display:flex}
.pv-fbar{padding-bottom:140px!important}
}
@media (max-width: 640px){
.pv-navbtn{padding:0 14px!important;font-size:13px!important}
.pv-film-strip{margin:0 -20px!important}
.pv-fmain{flex-direction:column!important;text-align:center!important;gap:28px!important;padding-top:48px!important}
.pv-ftag{flex:none!important;font-size:12px!important;font-weight:700;letter-spacing:.24em;text-transform:uppercase;line-height:1.9!important}
.pv-fname{flex:none!important;font-size:25vw!important;max-width:100%}
.pv-fnav{flex:none!important;flex-direction:row!important;flex-wrap:wrap;justify-content:center!important;align-items:center!important;gap:6px 22px!important;font-size:15px!important}
.pv-fsoc{flex-basis:100%;justify-content:center;margin-top:4px!important}
.pv-fbar{flex-direction:column!important;align-items:center!important;text-align:center;gap:6px!important;padding-top:20px!important;padding-bottom:96px!important;border-top:1px solid var(--pv-line)}
}
/* Cinematic scroll: camera moves + lighting */
.pv-theme-root::after{content:"";position:fixed;inset:-50%;z-index:25;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:pv-grain .9s steps(5) infinite}
.pv-theme-root::before{content:"";position:fixed;inset:0;z-index:24;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,transparent 55%,rgba(0,0,0,.45) 100%)}
@keyframes pv-grain{0%{transform:translate(0,0)}20%{transform:translate(-6%,4%)}40%{transform:translate(5%,-7%)}60%{transform:translate(-3%,8%)}80%{transform:translate(7%,2%)}100%{transform:translate(0,0)}}
html{scroll-behavior:smooth}
section[id]:not(#top){scroll-margin-top:72px}
/* Scroll engine states (html.pv-js is set by the scroll script) */
html.pv-js [data-pv]{transition:opacity 1s cubic-bezier(.2,.8,.2,1),translate 1.2s cubic-bezier(.2,.8,.2,1),scale 1.2s cubic-bezier(.2,.8,.2,1),rotate 1.2s cubic-bezier(.2,.8,.2,1),filter 1.2s ease,transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s,background-color .5s,border-color .5s,color .5s}
html.pv-js [data-pv="up"]:not([data-pv-on]){opacity:0;translate:0 56px}
html.pv-js [data-pv="title"]:not([data-pv-on]){opacity:0;translate:0 70px;scale:1.06;filter:blur(16px)}
html.pv-js [data-pv="title"][data-pv-on]{animation:pv-lightup 2s ease .45s}
@keyframes pv-lightup{0%{text-shadow:0 0 0 rgba(var(--pv-rgb),0)}35%{text-shadow:0 0 30px rgba(var(--pv-rgb),.95),0 0 90px rgba(var(--pv-rgb),.6)}100%{text-shadow:0 0 0 rgba(var(--pv-rgb),0)}}
html.pv-js [data-pv="card"]:not([data-pv-on]){opacity:0;translate:0 140px;rotate:-9deg;scale:.88}
html.pv-js [data-pv="card"][data-pv-alt]:not([data-pv-on]){rotate:9deg}
html.pv-js [data-pv="strip"]{transition:opacity 1.2s ease,translate 1.6s cubic-bezier(.2,.8,.2,1)}
html.pv-js [data-pv="strip"]:not([data-pv-on]){opacity:0;translate:-40% 0}
html.pv-js img[data-pv-lens]{transition:filter 1.6s ease,scale 2.4s cubic-bezier(.2,.8,.2,1),transform .7s ease}
html.pv-js img[data-pv-lens]:not([data-pv-lens="on"]){filter:blur(14px) brightness(.25) saturate(.2)!important;scale:1.28}
/* Scroll-linked camera moves (vars set on :root by the scroll script) */
.pv-hport{scale:calc(1 + var(--pv-hp,0) * .22);filter:brightness(calc(1 - var(--pv-hp,0) * .65)) blur(calc(var(--pv-hp,0) * 4px))}
.pv-hname{translate:0 calc(var(--pv-hp,0) * -160px);opacity:calc(1 - var(--pv-hp,0) * .9)}
.pv-film-strip{rotate:calc(var(--pv-pf,0) * 3.5deg)}
#about .pv-in img{translate:0 calc(var(--pv-pa,0) * -48px)}
#pv-light{position:fixed;inset:0;z-index:23;pointer-events:none;mix-blend-mode:screen;opacity:calc(.6 + var(--pv-lv,0) * .4);background:radial-gradient(42vw 55vh at var(--pv-lx,50%) var(--pv-ly,35%),rgba(var(--pv-glowr,124,196,240),.24) 0%,rgba(var(--pv-glowr,124,196,240),0) 70%)}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
/* Backend-driven pieces */
[hidden]{display:none!important}
.pv-reeltab{min-height:44px;padding:0 16px;margin:0 -1px 0 0;border:1px solid var(--pv-line3);background:transparent;color:var(--pv-ink);font-family:Manrope,sans-serif;font-size:13px;font-weight:700;cursor:pointer;transition:background .2s}
.pv-reeltab[aria-pressed="true"]{border-color:var(--pv-solid);background:var(--pv-solid);color:var(--pv-on)}
.pv-reelplayer{position:absolute;inset:0;z-index:2;background:#000}
.pv-reelplayer iframe,.pv-reelplayer video{display:block;width:100%;height:100%;border:0}
.pv-flash{margin:0;padding:12px 14px;font-size:14px;font-weight:700;border:1px solid var(--pv-solid);color:var(--pv-ink);background:rgba(var(--pv-rgb),.12)}
.pv-flash[data-level="error"]{border-color:#E0584A;background:rgba(224,88,74,.14)}
.pv-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pv-press a{text-decoration:none}
/* Language switcher */
.pv-lang{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--pv-line2);border-radius:999px;font-size:12px;font-weight:800;line-height:1}
.pv-lang a{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:30px;padding:0 9px;border-radius:999px;color:var(--pv-muted);text-decoration:none;transition:background .2s,color .2s}
.pv-lang a:hover{color:var(--pv-ink)}
.pv-lang a[aria-current]{background:var(--pv-solid);color:var(--pv-on)}
@media (max-width:640px){.pv-lang a{min-width:30px;padding:0 7px}}

/* Malayalam + Tamil: the display fonts have no glyphs for these scripts, so swap in Noto and tame the sizes. */
html:lang(ml) body,html:lang(ml) .pv-theme-root{--pv-sans:'Manrope','Noto Sans Malayalam',system-ui,sans-serif;--pv-serif:'Playfair Display','Noto Serif Malayalam',serif;--pv-display:'Anton','Noto Sans Malayalam',sans-serif}
html:lang(ta) body,html:lang(ta) .pv-theme-root{--pv-sans:'Manrope','Noto Sans Tamil',system-ui,sans-serif;--pv-serif:'Playfair Display','Noto Serif Tamil',serif;--pv-display:'Anton','Noto Sans Tamil',sans-serif}
html:not(:lang(en)) .pv-theme-root,html:not(:lang(en)) .pv-bnav,html:not(:lang(en)) [style*="Manrope"]{font-family:var(--pv-sans)!important}
html:not(:lang(en)) [style*="'Anton'"]:not(.pv-hname):not(.pv-fname),html:not(:lang(en)) .pv-ft{font-family:var(--pv-display)!important;font-weight:800!important;letter-spacing:0!important}
html:not(:lang(en)) [style*="Playfair"],html:not(:lang(en)) #about [style*="Caveat"]{font-family:var(--pv-serif)!important;font-style:normal!important}
html:not(:lang(en)) section h2[style*="'Anton'"]{font-size:clamp(36px,4.6vw,64px)!important;line-height:1.15!important}
html:not(:lang(en)) section h2+p[style*="Playfair"]{font-size:clamp(30px,3.8vw,54px)!important;line-height:1.25!important}
html:not(:lang(en)) .pv-htext p[style*="Playfair"]{font-size:clamp(28px,3vw,42px)!important;line-height:1.3!important}
html:not(:lang(en)) #contact h2+p[style*="Playfair"]{font-size:clamp(30px,3.8vw,54px)!important}
html:not(:lang(en)) .pv-track{font-size:17px!important}
html:not(:lang(en)) #about [style*="Caveat"]{font-size:24px!important;line-height:1.4!important}
html:not(:lang(en)) .pv-hroles{letter-spacing:.06em!important;line-height:2.2!important}
html:not(:lang(en)) section h2,html:not(:lang(en)) section p{overflow-wrap:anywhere}
.pv-book-short{display:none}
@media (max-width:640px){
html:not(:lang(en)) .pv-book-long{display:none}
html:not(:lang(en)) .pv-book-short{display:inline}
.pv-lang a{min-width:28px;min-height:28px;padding:0 6px}
html:not(:lang(en)) .pv-bnav a{font-size:11px;letter-spacing:0;gap:4px;min-width:0;text-align:center;line-height:1.25}
html:not(:lang(en)) .pv-bnav svg{padding:4px 10px}
}
.pv-kind{font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--pv-solid)}
/* Gallery lightbox */
.pv-gal-open{display:block;width:100%;height:100%;cursor:zoom-in}
.pv-gal-open:focus-visible{outline:3px solid var(--pv-solid);outline-offset:-3px}
.pv-lightbox{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(5,6,10,.97);color:#fff;overflow:hidden}
.pv-lightbox[open]{display:flex;align-items:center;justify-content:center;animation:pv-lb-in .25s ease}
.pv-lightbox::backdrop{background:rgba(0,0,0,.6)}
@keyframes pv-lb-in{from{opacity:0}to{opacity:1}}
.pv-lb-fig{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px;max-width:min(1200px,calc(100vw - 160px))}
.pv-lb-fig img{display:block;max-width:100%;max-height:calc(100dvh - 120px);object-fit:contain;box-shadow:0 30px 80px rgba(0,0,0,.6);touch-action:pan-y}
.pv-lb-fig figcaption{display:flex;gap:16px;align-items:baseline;font-size:14px;font-weight:700}
.pv-lb-count{font-size:12px;color:rgba(255,255,255,.55);letter-spacing:.08em}
.pv-lb-btn{position:absolute;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;transition:background .2s}
.pv-lb-btn:hover,.pv-lb-btn:focus-visible{background:var(--pv-solid);color:var(--pv-on);outline:none}
.pv-lb-close{top:18px;right:18px}
.pv-lb-prev{left:22px;top:50%;transform:translateY(-50%)}
.pv-lb-next{right:22px;top:50%;transform:translateY(-50%)}
.pv-lb-btn[hidden]{display:none!important}
@media (max-width:640px){
.pv-lb-fig{max-width:100vw}
.pv-lb-fig img{max-height:calc(100dvh - 170px)}
.pv-lb-fig figcaption{padding:0 16px}
.pv-lb-prev,.pv-lb-next{top:auto;bottom:calc(22px + env(safe-area-inset-bottom));transform:none;width:48px;height:48px}
.pv-lb-prev{left:calc(50% - 64px)}
.pv-lb-next{right:calc(50% - 64px)}
}
/* About portrait: black & white, full colour on hover */
.pv-about-img{filter:grayscale(1) contrast(1.1);transition:filter .6s ease}
.pv-about-photo:hover .pv-about-img,.pv-about-photo:active .pv-about-img{filter:grayscale(0) contrast(1.02)}
@media (prefers-reduced-motion:reduce){.pv-about-img{transition:none}}
/* Hero portrait: cap the height so tall photos leave room above the head */
.pv-hport img{width:auto!important;max-width:100%;max-height:min(720px,84vh);margin:0 auto}
@media (max-width:900px){.pv-hport img{max-height:68vh}}
/* Faces: polaroid cards */
.pv-faces{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:clamp(22px,2.4vw,34px);padding-top:14px}
.pv-face{position:relative;display:flex;flex-direction:column;padding:12px 12px 0;background:linear-gradient(180deg,#F4EDE0 0%,#EADFCB 100%);color:#141210;box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 18px 34px rgba(0,0,0,.5)}
.pv-face-tape{position:absolute;top:-11px;left:50%;width:72px;height:22px;transform:translateX(-50%) rotate(-3deg);background:rgba(var(--pv-rgb),.42);box-shadow:0 1px 3px rgba(0,0,0,.25);backdrop-filter:blur(1px)}
.pv-face:nth-child(even) .pv-face-tape{transform:translateX(-50%) rotate(4deg)}
.pv-face-img{position:relative;aspect-ratio:4/5;overflow:hidden;background:#1a1a1a}
.pv-face-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 20%;transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .5s}
.pv-face:hover .pv-face-img img{transform:scale(1.06);filter:none!important}
.pv-face-no{position:absolute;left:8px;bottom:8px;padding:2px 8px 1px;background:#141210;color:#F4EDE0;font-family:'Anton',sans-serif;font-size:14px;letter-spacing:.06em;line-height:1.4}
.pv-face-cap{min-height:74px;display:flex;flex-direction:column;justify-content:center;padding:10px 4px 12px}
.pv-face-role{margin:0;font-family:'Playfair Display',serif;font-style:italic;font-weight:600;font-size:clamp(18px,1.6vw,22px);line-height:1.15;text-wrap:balance}
.pv-face-film{margin:4px 0 0;font-family:'Caveat',cursive;font-size:19px;line-height:1.1;color:#5C564C}
html:not(:lang(en)) .pv-face-role{font-family:var(--pv-serif);font-style:normal;font-size:17px}
html:not(:lang(en)) .pv-face-film{font-family:var(--pv-sans);font-size:13px}
@media (max-width:640px){.pv-faces{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}.pv-face{padding:8px 8px 0}.pv-face-cap{min-height:60px}}
.pv-face:hover{transform:rotate(0) translateY(-12px);box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 30px 50px rgba(0,0,0,.6),0 0 40px rgba(var(--pv-rgb),.18)}
/* Now showing: stats + film strip */
.pv-fstats{display:flex;flex-wrap:wrap;margin:0}
.pv-fstats div{display:flex;flex-direction:column-reverse;align-items:center;padding:0 clamp(16px,2.6vw,36px);text-align:center}
.pv-fstats div+div{border-left:1px solid var(--pv-line2)}
.pv-fstats dd{margin:0;font-family:'Anton',sans-serif;font-size:clamp(40px,4.2vw,56px);line-height:1;background:linear-gradient(135deg,var(--pv-a1) 0%,var(--pv-a2) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.pv-fstats dt{margin-top:8px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pv-text)}
html:not(:lang(en)) .pv-fstats dt{letter-spacing:0;text-transform:none;font-size:14px}
.pv-filmwrap:hover .pv-filmtrack{animation-play-state:paused}
.pv-frame{width:clamp(250px,26vw,340px);margin-right:18px;padding:0;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.pv-frame-img{height:auto;aspect-ratio:16/10;border:0;outline:1px solid var(--pv-line2);outline-offset:-1px}
.pv-frame-img img{filter:saturate(.75) brightness(.9);transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s}
.pv-frame-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.55) 100%);pointer-events:none}
.pv-frame:hover{transform:translateY(-6px)}
.pv-frame:hover .pv-frame-img img{transform:scale(1.05);filter:saturate(1.05) brightness(1)}
.pv-frame-no{position:absolute;right:10px;bottom:8px;z-index:1;font-family:'Anton',sans-serif;font-size:28px;line-height:1;color:rgba(255,255,255,.85);text-shadow:0 2px 10px rgba(0,0,0,.5)}
.pv-frame-cap{padding:12px 2px 4px}
.pv-fy{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:11px}
.pv-kind{padding:3px 8px;border:1px solid rgba(var(--pv-rgb),.45);border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.12em;line-height:1.2}
.pv-year{font-weight:700;letter-spacing:.08em;color:var(--pv-muted)}
.pv-ft{font-size:19px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-fr{margin-top:2px}
html:not(:lang(en)) .pv-kind{letter-spacing:0;text-transform:none;font-size:11px}
@media (prefers-reduced-motion:reduce){.pv-frame,.pv-frame-img img{transition:none}}
/* The journey so far — timeline */
.pv-journey{position:relative;overflow:hidden;border-bottom:1px solid var(--pv-line);background:radial-gradient(ellipse at 85% 0%,rgba(var(--pv-rgb),.14),transparent 55%),var(--pv-bg)}
.pv-journey-in{max-width:1360px;margin:0 auto;padding:clamp(64px,8vw,100px) 24px;box-sizing:border-box}
.pv-journey-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 40px;margin-bottom:clamp(40px,5vw,64px)}
.pv-journey-title{margin:0;font-family:'Anton',sans-serif;font-weight:400;font-size:clamp(52px,7vw,96px);line-height:.92}
.pv-journey-title em{display:block;font-family:'Playfair Display',serif;font-style:italic;color:var(--pv-solid)}
.pv-journey-text{max-width:360px;margin:0;color:var(--pv-muted)}
.pv-tl{position:relative;display:grid;grid-template-columns:repeat(var(--n),minmax(210px,1fr));gap:28px;margin:0;padding:0 0 8px;list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}
.pv-tl-item{position:relative;padding-top:34px;scroll-snap-align:start}
.pv-tl-item::before{content:"";position:absolute;top:8px;left:0;right:-28px;height:2px;background:linear-gradient(90deg,var(--pv-a1),var(--pv-a2))}
.pv-tl-item:last-child::before{right:0}
.pv-tl-item.goal::before{background:repeating-linear-gradient(90deg,var(--pv-line3) 0 8px,transparent 8px 14px)}
.pv-tl-dot{position:absolute;top:0;left:0;width:18px;height:18px;border-radius:50%;background:var(--pv-solid);box-shadow:0 0 0 5px var(--pv-bg),0 0 0 6px rgba(var(--pv-rgb),.4)}
.pv-tl-item.goal .pv-tl-dot{background:var(--pv-bg);border:2px dashed var(--pv-solid);box-sizing:border-box;animation:pv-tl-glow 2.4s ease-in-out infinite}
@keyframes pv-tl-glow{0%,100%{box-shadow:0 0 0 5px var(--pv-bg),0 0 0 6px rgba(var(--pv-rgb),.25)}50%{box-shadow:0 0 0 5px var(--pv-bg),0 0 22px 8px rgba(var(--pv-rgb),.45)}}
.pv-tl-year{margin:0;font-family:'Anton',sans-serif;font-size:clamp(34px,3.4vw,46px);line-height:1;background:linear-gradient(135deg,var(--pv-a1),var(--pv-a2));-webkit-background-clip:text;background-clip:text;color:transparent}
.pv-tl-item.goal .pv-tl-year{background:none;color:transparent;-webkit-text-stroke:1.2px var(--pv-solid)}
.pv-tl-img{display:block;width:100%;max-width:240px;aspect-ratio:16/10;object-fit:cover;margin-top:14px;filter:saturate(.8);border:1px solid var(--pv-line2)}
.pv-tl-title{margin:12px 0 0;font-size:19px;font-weight:800;line-height:1.25}
.pv-tl-text{margin:6px 0 0;font-size:14px;line-height:1.55;color:var(--pv-muted);max-width:280px}
html:not(:lang(en)) .pv-journey-title em{font-family:var(--pv-serif);font-style:normal}
@media (max-width:760px){
  .pv-tl{grid-template-columns:1fr;gap:0;overflow:visible}
  .pv-tl-item{padding:0 0 34px 38px}
  .pv-tl-item::before{top:9px;bottom:-9px;left:8px;right:auto;width:2px;height:auto;background:linear-gradient(180deg,var(--pv-a1),var(--pv-a2))}
  .pv-tl-item:last-child::before{display:none}
  .pv-tl-item.goal::before{background:repeating-linear-gradient(180deg,var(--pv-line3) 0 8px,transparent 8px 14px)}
}
@media (prefers-reduced-motion:reduce){.pv-tl-item.goal .pv-tl-dot{animation:none}}
html:not(:lang(en)) .pv-journey-title{font-size:clamp(34px,8.5vw,72px);line-height:1.15;overflow-wrap:normal;word-break:keep-all}
.pv-legal{display:flex;flex-wrap:wrap;gap:6px 18px}
.pv-legal a{color:var(--pv-dim);text-decoration:none}
.pv-legal a:hover{color:var(--pv-ink)}
@media (max-width:640px){.pv-legal{justify-content:center}}
/* Contact: call sheet + clapperboard form */
.pv-callwrap{flex:2 1 640px;min-width:0;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr);align-items:stretch;gap:0;filter:drop-shadow(0 26px 44px rgba(0,0,0,.55))}
.pv-call{position:relative;display:flex;flex-direction:column;padding:0 28px 26px;background:linear-gradient(180deg,#F5EEE1,#E9DFCC);color:#15130F;border-radius:12px 0 0 12px;overflow:hidden;transform:rotate(-1.2deg) translateX(10px);transform-origin:right center}
.pv-call::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(180deg,transparent 0 31px,rgba(21,19,15,.06) 31px 32px)}
.pv-call-stripe{height:14px;margin:0 -28px;background:repeating-linear-gradient(135deg,#15130F 0 16px,#F5EEE1 16px 32px)}
.pv-call-head{position:relative;z-index:1;display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:20px 0 14px;border-bottom:2px solid #15130F}
.pv-call-title{margin:0;font-family:'Anton',sans-serif;font-weight:400;font-size:30px;letter-spacing:.06em;line-height:1;text-transform:uppercase}
.pv-call-no{margin:0;font-family:ui-monospace,Menlo,monospace;font-size:12px;color:#6A6253}
.pv-call-rows{position:relative;z-index:1;margin:0;flex:1}
.pv-call-rows div{display:grid;grid-template-columns:104px 1fr;gap:10px;padding:11px 0;border-bottom:1px dashed rgba(21,19,15,.28)}
.pv-call-rows dt{padding-top:2px;font-family:ui-monospace,Menlo,monospace;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6A6253}
.pv-call-rows dd{margin:0;font-size:14px;font-weight:600;line-height:1.45}
.pv-call-name{font-family:'Anton',sans-serif;font-weight:400!important;font-size:24px!important;letter-spacing:.04em;line-height:1!important}
.pv-call-link{display:flex;align-items:center;gap:8px}
.pv-call-link svg{flex:none;color:#6A6253}
.pv-call-link a{color:inherit;text-decoration:none;border-bottom:1.5px solid rgba(var(--pv-rgb),.8)}
.pv-call-stamp{position:absolute;z-index:1;right:18px;bottom:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:104px;height:104px;border:3px double var(--pv-deep,#3A73C9);border-radius:50%;color:var(--pv-deep,#3A73C9);transform:rotate(-14deg);opacity:.85;text-align:center;mix-blend-mode:multiply}
.pv-call-stamp span{max-width:80px;font-size:8.5px;font-weight:800;letter-spacing:.12em;line-height:1.25;text-transform:uppercase}
.pv-call-stamp b{font-family:'Anton',sans-serif;font-weight:400;font-size:26px;line-height:1.1}
.pv-cform{position:relative;z-index:2;display:flex;flex-direction:column;margin:0;background:var(--pv-panel);border:1.5px solid var(--pv-line2);border-radius:12px;overflow:hidden}
.pv-cform-sticks{height:34px;border-bottom:2px solid #141210;background:repeating-linear-gradient(-55deg,#141210 0 18px,#F2E9D8 18px 36px);transform-origin:4% 100%;transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.pv-cform:focus-within .pv-cform-sticks,.pv-cform:hover .pv-cform-sticks{transform:rotate(-5deg)}
.pv-cform-head{display:grid;grid-template-columns:1fr auto;background:#F2E9D8;color:#141210;border-bottom:2px solid #141210}
.pv-cform-head span{display:flex;flex-direction:column;padding:8px 18px 10px;font-family:'Caveat',cursive;font-size:28px;line-height:1;color:#141210;text-transform:uppercase}
.pv-cform-head span+span{border-left:2px solid #141210;min-width:90px}
.pv-cform-head small{font-family:'Caveat',cursive;font-size:17px;font-weight:700;color:#6A6253}
.pv-cform-body{display:flex;flex-direction:column;gap:14px;padding:22px 24px 24px}
.pv-cform-title{margin:0;font-size:12px;font-weight:800;letter-spacing:.18em;color:var(--pv-solid)}
.pv-cform-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pv-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.pv-field label{font-size:12px;font-weight:700;color:var(--pv-text)}
.pv-field input,.pv-field select,.pv-field textarea{width:100%;box-sizing:border-box;min-height:46px;padding:0 14px;background:var(--pv-bg);border:1px solid var(--pv-line2);border-radius:8px;color:var(--pv-ink);font:inherit;transition:border-color .2s,box-shadow .2s}
.pv-field textarea{padding:12px 14px;resize:vertical;min-height:110px}
.pv-field input:focus,.pv-field select:focus,.pv-field textarea:focus{outline:none;border-color:var(--pv-solid);box-shadow:0 0 0 3px rgba(var(--pv-rgb),.25)}
.pv-field textarea::placeholder{color:var(--pv-dim)}
.pv-cform-send{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;margin-top:4px;border:0;border-radius:8px;background:linear-gradient(135deg,var(--pv-a1) 0%,var(--pv-a2) 100%);color:var(--pv-on);font:inherit;font-weight:800;font-size:16px;letter-spacing:.04em;cursor:pointer;transition:transform .2s,box-shadow .2s}
.pv-cform-send:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(var(--pv-rgb),.35)}
.pv-cform-send:focus-visible{outline:3px solid var(--pv-ink);outline-offset:3px}
html:not(:lang(en)) .pv-call-title{font-family:var(--pv-sans);font-weight:800;letter-spacing:0;font-size:26px}
html:not(:lang(en)) .pv-call-rows dt,html:not(:lang(en)) .pv-cform-head small,html:not(:lang(en)) .pv-cform-title{letter-spacing:0;text-transform:none;font-size:12px}
html:not(:lang(en)) .pv-cform-head span{font-family:var(--pv-sans);font-size:17px;font-weight:700;text-transform:none}
@media (max-width:820px){
  .pv-callwrap{grid-template-columns:1fr}
  .pv-call{border-radius:12px 12px 0 0;transform:none;padding-bottom:22px}
  .pv-call-stamp{width:86px;height:86px;right:12px;top:58px;bottom:auto}
  .pv-call-stamp b{font-size:21px}
  .pv-cform{border-radius:0 0 12px 12px}
}
@media (max-width:520px){
  .pv-cform-row{grid-template-columns:1fr}
  .pv-call-rows div{grid-template-columns:1fr;gap:2px}
  .pv-cform-body{padding:18px}
}
@media (prefers-reduced-motion:reduce){.pv-cform-sticks,.pv-cform-send{transition:none}}
/* Footer credit tooltip */
.pv-credit{position:relative;display:inline-block}
.pv-credit-btn{padding:0;border:0;background:none;color:var(--pv-solid);font:inherit;cursor:pointer}
.pv-credit-btn:hover,.pv-credit-btn[aria-expanded=true]{text-decoration:underline;text-underline-offset:3px}
.pv-credit-tip{position:absolute;right:0;bottom:calc(100% + 12px);z-index:40;display:flex;flex-direction:column;gap:4px;min-width:210px;padding:12px 14px;background:var(--pv-panel);border:1px solid var(--pv-line2);border-radius:10px;box-shadow:0 14px 34px rgba(0,0,0,.5);color:var(--pv-text);font-size:13px;line-height:1.4;white-space:nowrap}
.pv-credit-tip::after{content:"";position:absolute;right:22px;top:100%;border:7px solid transparent;border-top-color:var(--pv-line2)}
.pv-credit-tip b{color:var(--pv-ink);font-size:13px}
.pv-credit-tip a{color:var(--pv-solid);text-decoration:none;font-weight:700}
.pv-credit-tip a:hover{text-decoration:underline}
@media (max-width:600px){.pv-credit-tip{right:auto;left:0}.pv-credit-tip::after{right:auto;left:22px}}
/* Faces: one sliding row */
.pv-faces{display:flex;gap:clamp(22px,2.4vw,34px);grid-template-columns:none;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:6px;padding:26px 6px 40px;margin:-26px -6px -40px;scrollbar-width:none;cursor:grab;-webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 70px),transparent);mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 70px),transparent)}
.pv-faces::-webkit-scrollbar{display:none}
.pv-faces.is-end{-webkit-mask-image:none;mask-image:none}
.pv-faces.is-drag{cursor:grabbing;scroll-snap-type:none;user-select:none}
.pv-faces.is-drag .pv-face{pointer-events:none}
.pv-faces:focus-visible{outline:2px solid var(--pv-solid);outline-offset:4px}
.pv-faces .pv-face{flex:0 0 clamp(200px,19vw,250px);scroll-snap-align:start}
.pv-faces img{-webkit-user-drag:none}
.pv-faces-nav{display:flex;align-items:center;gap:16px;margin-top:22px}
.pv-faces-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:48px;height:48px;border-radius:50%;border:1.5px solid var(--pv-line2);background:transparent;color:var(--pv-ink);cursor:pointer;transition:background .2s,color .2s,border-color .2s,opacity .2s}
.pv-faces-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--pv-a1) 0%,var(--pv-a2) 100%);border-color:transparent;color:var(--pv-on)}
.pv-faces-btn:disabled{opacity:.3;cursor:default}
.pv-faces-btn:focus-visible{outline:2px solid var(--pv-solid);outline-offset:3px}
.pv-faces-bar{flex:1;height:2px;background:var(--pv-line2);border-radius:2px;overflow:hidden}
.pv-faces-bar span{display:block;height:100%;width:30%;background:var(--pv-solid);border-radius:2px;transition:transform .2s,width .2s}
@media (max-width:640px){.pv-faces{gap:18px}.pv-faces .pv-face{flex-basis:62vw}}
.pv-turnstile{min-height:65px}
.pv-turnstile:empty{min-height:0}
/* Image placeholder shimmer while photos load */
@keyframes pv-shim{from{background-position:150% 0}to{background-position:-50% 0}}
img.pv-shimmer{color:transparent;background-color:var(--pv-bg2);background-image:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.09) 50%,transparent 70%);background-size:200% 100%;animation:pv-shim 1.4s linear infinite}
.pv-face-img img.pv-shimmer,.pv-tl-img.pv-shimmer{background-color:#d9cfbd;background-image:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%)}
img.pv-loaded{animation:pv-imgin .45s ease-out}
@keyframes pv-imgin{from{opacity:.25}to{opacity:1}}
.a11y-motion img.pv-shimmer,.a11y-motion img.pv-loaded{animation:none}
@media (prefers-reduced-motion:reduce){img.pv-shimmer,img.pv-loaded{animation:none}}
/* Phones: one-row header with the contact button, hero sized to the visible screen */
@keyframes pv-fadein{from{opacity:0}to{opacity:1}}
@media (max-width:900px){
  header > nav{flex-wrap:nowrap!important;padding:10px 16px!important;gap:10px!important}
  .pv-navright{flex-wrap:nowrap!important;gap:8px!important;min-width:0}
  .pv-navbtn{min-height:42px!important;white-space:nowrap;flex:none}
  .pv-lang{flex:none}
  section[id]:not(#top){scroll-margin-top:64px}
  /* fade instead of zoom so the head never starts out of frame */
  .pv-hport .pv-zoom{animation:pv-fadein 1s ease .2s both}
  .pv-hport img{max-height:68vh;max-height:max(300px,min(68vh,calc(100svh - 240px)))}
}
@media (max-width:520px){
  .pv-logo-text{display:none}
  .pv-logo-mark{width:40px!important;height:40px!important}
  .pv-navbtn{padding:0 13px!important;font-size:13px!important;gap:6px!important}
  .pv-navbtn svg{width:14px;height:14px}
}
@media (max-width:359px){
  header > nav{padding:10px 12px!important;gap:8px!important}
  .pv-book-long{display:none}
  .pv-book-short{display:inline}
  .pv-lang a{min-width:26px;padding:0 5px}
}
@media (max-width:440px){
  .pv-navbtn svg{display:none}
  .pv-navbtn{padding:0 12px!important}
  .pv-lang a{min-width:26px;padding:0 5px}
  .pv-navright{gap:6px!important}
}
@media (max-width:374px){.pv-book-long{display:none}.pv-book-short{display:inline}}
@media (min-width:901px) and (max-width:1200px){
  .pv-navright{gap:6px 18px!important}
  html:not(:lang(en)) .pv-navright{gap:6px 14px!important;font-size:13px!important}
  html:not(:lang(en)) .pv-book-long{display:none}
  html:not(:lang(en)) .pv-book-short{display:inline}
}
@media (max-width:374px){
  .pv-bnav{padding-left:2px;padding-right:2px}
  html:not(:lang(en)) .pv-bnav a{font-size:9.5px;padding:0;white-space:nowrap}
  html:not(:lang(en)) .pv-bnav svg{padding:3px 8px}
}
@media (min-width:761px) and (max-width:1000px){
  .pv-tl{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 28px;overflow:visible}
  .pv-tl-item:nth-child(2n)::before{right:0}
}
@media (max-width:374px){
  .pv-badge,.pv-badge svg{width:92px!important;height:92px!important}
  .pv-badge-year{font-size:21px!important}
  .pv-slate{width:148px!important;font-size:17px!important}
  .pv-hside{gap:10px!important}
}
