@font-face{font-family:Caslon;src:url(fonts/LibreCaslonDisplay-Regular.woff2) format('woff2');font-display:swap}
@font-face{font-family:CaslonText;src:url(fonts/LibreCaslonText.woff2) format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:CaslonText;src:url(fonts/LibreCaslonText-Italic.woff2) format('woff2');font-style:italic;font-display:swap}
@font-face{font-family:Caveat;src:url(fonts/Caveat.woff2) format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:'Courier Prime';src:url(fonts/CourierPrime-Regular.woff2) format('woff2');font-display:swap}
@font-face{font-family:'Courier Prime';src:url(fonts/CourierPrime-Bold.woff2) format('woff2');font-weight:700;font-display:swap}
:root{--paper:#FAF8F3;--ink:#2a231e;--soft:#6d6257;--red:#a8322b;--rule:#d9cfbf}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-variant-ligatures:common-ligatures no-discretionary-ligatures no-historical-ligatures;font-feature-settings:"dlig" 0,"hlig" 0;background:var(--paper);color:var(--ink);font:400 18px/1.62 CaslonText,Georgia,serif;text-rendering:optimizeLegibility}
a{color:inherit}
img{display:block;width:100%;height:auto}
picture{display:block}
figure{margin:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.lab{font:400 .74rem/1.4 'Courier Prime',monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);margin:0 0 .9rem}
h2,h3,.fl{font-family:Caslon,Georgia,serif;font-weight:400;text-transform:uppercase;letter-spacing:.16em;line-height:1.12;margin:0 0 1rem}
h2{font-size:clamp(1.7rem,3.6vw,2.9rem)}
h3{font-size:clamp(1.15rem,2vw,1.55rem)}
.cv{font-family:Caveat,cursive;color:var(--red);font-size:clamp(1.3rem,2.1vw,1.6rem);line-height:1.2;margin:.6rem 0 0;transform:rotate(-1deg);transform-origin:left}
.line{font-style:italic;margin:0;color:#3a3029}
/* nav — discret, fără bară neagră */
.top{position:fixed;top:0;left:0;right:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:.8rem clamp(1rem,3vw,2.4rem);background:rgba(250,248,243,.9);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font:400 .72rem/1 'Courier Prime',monospace;letter-spacing:.18em;text-transform:uppercase}
.top a{text-decoration:none}
.top .links{display:flex;gap:clamp(.9rem,2.4vw,2.2rem)}
.top .links a:hover,.top .brand:hover{color:var(--red)}
.top .lang{color:var(--red)}
/* hero */
.hero{padding-top:2.7rem}
.bleed{width:100%}
.herotxt{max-width:46rem;margin:0 auto;padding:clamp(2.5rem,6vw,5rem) 1.4rem clamp(3rem,7vw,6rem);text-align:center}
.herotxt .cv{transform:rotate(-1.5deg);transform-origin:center}
.intro{font-size:clamp(1.1rem,1.9vw,1.35rem);font-style:italic;line-height:1.55;margin:0}
/* cuvântul regizorului */
.statement{display:grid;grid-template-columns:minmax(0,34rem) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:start;max-width:1500px;margin:0 auto;padding:clamp(2rem,6vw,6rem) clamp(1.2rem,4vw,3.5rem)}
.statement p{margin:0 0 1.15rem;hyphens:auto}
.sttxt>p:first-of-type{display:none}
.statement .sign{font-size:2rem;margin-top:1.4rem}
.parrot{position:sticky;top:5rem}
.parrot img{mix-blend-mode:multiply}
/* cuprins */
.toc{max-width:60rem;margin:0 auto;padding:clamp(3rem,7vw,7rem) 1.4rem}
.toc ol{list-style:none;margin:2rem 0 0;padding:0;border-top:1px solid var(--rule)}
.toc li a{display:grid;grid-template-columns:3.5rem 1fr auto;gap:1rem;align-items:baseline;padding:1.05rem 0;border-bottom:1px solid var(--rule);text-decoration:none}
.toc .rn{font:1.5rem Caslon,serif;color:var(--red)}
.toc .tt{font:clamp(1rem,2vw,1.3rem)/1.3 Caslon,serif;text-transform:uppercase;letter-spacing:.12em}
.toc .rg{font:.72rem 'Courier Prime',monospace;letter-spacing:.12em;color:var(--soft);text-transform:uppercase}
.toc li a:hover .tt{color:var(--red)}
/* capitole */
.chapter{padding-top:clamp(3rem,8vw,8rem)}
.chead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,34%);gap:clamp(1.5rem,4vw,4rem);align-items:center;max-width:1400px;margin:0 auto;padding:clamp(2rem,5vw,4.5rem) clamp(1.2rem,4vw,3.5rem) clamp(1rem,3vw,2rem)}
.chead h2{font-size:clamp(2rem,4.6vw,3.8rem)}
.sketch img{mix-blend-mode:multiply;opacity:.95}
.plate{max-width:1500px;margin:clamp(3rem,7vw,7rem) auto 0;padding:0 clamp(0rem,2.4vw,2.4rem)}
.pcap{max-width:46rem;margin:0 auto;padding:1.6rem 1.3rem 0;text-align:center}
.pcap .cv{transform-origin:center}
.plate.long{display:grid;grid-template-columns:minmax(0,62fr) minmax(0,38fr);gap:clamp(1.5rem,3.5vw,3.5rem);align-items:center}
.plate.long.rev figure{order:2}
.ptxt{padding:0 1.3rem}
.ptxt .line{font-style:normal;hyphens:auto}
.plate figure img{box-shadow:0 1px 2px rgba(60,40,20,.12),0 10px 28px -16px rgba(60,40,20,.35)}
.opener img{box-shadow:none}
/* colofon */
.colophon{max-width:44rem;margin:0 auto;padding:clamp(5rem,10vw,9rem) 1.4rem 4rem;text-align:center}
.colophon .fl{font-size:clamp(1.8rem,4vw,2.8rem);letter-spacing:.22em}
.colophon .cv{transform-origin:center}
.foot{margin-top:3rem;font:.72rem 'Courier Prime',monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--soft)}
.foot a{text-decoration:none}
@media (max-width:900px){
 body{font-size:17px}
 .statement{grid-template-columns:1fr}
 .parrot{position:static;order:-1;max-width:34rem}
 .chead{grid-template-columns:1fr}
 .sketch{max-width:30rem}
 .plate.long{grid-template-columns:1fr}
 .plate.long.rev figure{order:0}
 .ptxt{max-width:40rem;margin:0 auto}
 .top .brand{display:none}
 .top{justify-content:flex-end}
}
@media (max-width:420px){.top .links{gap:.8rem;font-size:.66rem}.toc li a{grid-template-columns:2.4rem 1fr}.toc .rg{display:none}}
.intro,.line,em,i{font-variant-ligatures:none;font-feature-settings:"liga" 0,"dlig" 0}
/* ===== V10.1 · strat de mișcare (hârtie, fără carduri/fundaluri negre) ===== */
.prog{position:fixed;top:0;left:0;right:0;height:2px;z-index:6;pointer-events:none}
.prog i{display:block;height:100%;background:var(--red);transform-origin:0 50%;transform:scaleX(0)}
.top{background:rgba(250,248,243,.95);backdrop-filter:none;-webkit-backdrop-filter:none}
/* hero: Ken Burns lent + zăpadă */
.kb{position:relative;overflow:hidden}
.kbin{will-change:transform}
.snow{position:absolute;inset:-100% 0 0 0;pointer-events:none;opacity:.55;background-image:radial-gradient(1.6px 1.6px at 12% 18%,#fff 60%,transparent 62%),radial-gradient(1.2px 1.2px at 34% 64%,#fff 60%,transparent 62%),radial-gradient(2px 2px at 58% 32%,#fff 60%,transparent 62%),radial-gradient(1.4px 1.4px at 76% 78%,#fff 60%,transparent 62%),radial-gradient(1.8px 1.8px at 90% 12%,#fff 60%,transparent 62%),radial-gradient(1.2px 1.2px at 46% 92%,#fff 60%,transparent 62%);background-size:260px 260px;mix-blend-mode:screen}
.snow.s2{background-size:410px 410px;opacity:.35}
.motion .kbin img{animation:kb 28s ease-in-out infinite alternate;transform-origin:52% 46%}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.075) translate3d(-1%,-.8%,0)}}
.motion .snow{animation:snow 14s linear infinite}
.motion .snow.s2{animation-duration:23s}
@keyframes snow{to{transform:translate3d(-30px,50%,0)}}
/* aburi din ceașca lui Farinelli */
.parrot{position:sticky}
.steam{position:absolute;left:60.6%;bottom:22.5%;width:5.2%;height:auto;overflow:visible;pointer-events:none}
.steam path{fill:none;stroke:#b98a4a;stroke-width:1.1;stroke-linecap:round;opacity:0}
.motion .steam path{stroke-dasharray:40 200;animation:steam 5.5s ease-in-out infinite}
.motion .steam path:nth-child(2){animation-delay:1.8s}.motion .steam path:nth-child(3){animation-delay:3.6s}
@keyframes steam{0%{stroke-dashoffset:0;opacity:0;transform:translateY(8px)}25%{opacity:.75}100%{stroke-dashoffset:-160;opacity:0;transform:translateY(-14px)}}
/* trailer */
.trailer{max-width:1300px;margin:0 auto;padding:clamp(2rem,6vw,6rem) clamp(0rem,3vw,3rem);text-align:center}
.trailer>.lab,.trailer>h2{padding:0 1.2rem}
.player{position:relative;aspect-ratio:16/9;margin-top:1.6rem;overflow:hidden;box-shadow:0 1px 2px rgba(60,40,20,.12),0 18px 40px -22px rgba(60,40,20,.45)}
.player .poster,.player .poster img,.player video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.player video{background:var(--paper)}
.play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;border:0;margin:0;padding:0;background:radial-gradient(ellipse at center,rgba(250,248,243,.5),rgba(250,248,243,0) 55%);cursor:pointer;color:var(--ink)}
.play .ring{width:clamp(64px,9vw,104px);aspect-ratio:1;border-radius:50%;border:1.5px solid var(--red);background:rgba(250,248,243,.92);display:grid;place-items:center;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.play svg{width:42%;fill:var(--red);margin-left:8%}
.play .pl{font:400 .78rem/1 'Courier Prime',monospace;letter-spacing:.22em;text-transform:uppercase;background:rgba(250,248,243,.92);padding:.45rem .8rem}
.play .cv{margin:0;background:none;font-size:1.25rem}
.play:hover .ring,.play:focus-visible .ring{transform:scale(1.08);box-shadow:0 0 0 10px rgba(168,50,43,.12)}
.motion .play .ring{animation:breathe 3.2s ease-in-out infinite}
@keyframes breathe{50%{box-shadow:0 0 0 12px rgba(168,50,43,.1)}}
.player.on .play,.player.on .poster{display:none}
.trailer>.cv{transform-origin:center;padding:0 1.2rem}
/* deschiderile de capitol: imaginea crește până la full-bleed (sticky) */
.chapter{padding-top:0}
.pin{position:relative}
.motion .pin{height:175vh}
.motion .pinin{position:sticky;top:0;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.motion .pin .opener{transform:scale(var(--s,.62));will-change:transform;transform-origin:50% 55%}
.bign{display:none}
.motion .bign{display:block;position:absolute;left:0;right:0;top:calc(50vh - 28vw - 1rem);text-align:center;font:400 clamp(3rem,9vw,8rem)/1 Caslon,serif;color:var(--red);letter-spacing:var(--ls,.6em);padding-left:var(--ls,.6em);opacity:var(--o,0);pointer-events:none}
/* reveal: perdea / pagină de album */
.motion .plate figure,.motion .sketch{clip-path:inset(0 0 100% 0);transition:clip-path 1.5s cubic-bezier(.65,0,.25,1)}
.motion .plate.long figure{clip-path:inset(0 100% 0 0)}
.motion .plate.long.rev figure{clip-path:inset(0 0 0 100%)}
.motion .plate figure picture,.motion .sketch picture{transform:scale(1.12);transition:transform 2.4s cubic-bezier(.2,.7,.2,1)}
.motion .in figure,.motion .sketch.in,.motion .plate.in figure{clip-path:inset(0 0 0 0)}
.motion .plate.in figure picture,.motion .sketch.in picture{transform:none}
.plate figure{overflow:hidden;box-shadow:0 1px 2px rgba(60,40,20,.12),0 10px 28px -16px rgba(60,40,20,.35)}
.plate figure img{box-shadow:none}
.motion .plate figure img{transform:translate3d(0,var(--p,0px),0) scale(1.08);will-change:transform}
/* text: urcă ușor */
.motion .pcap>*,.motion .ptxt>*,.motion .chtxt>*,.motion .sttxt>*,.motion .herotxt>*,.motion .toc li,.motion .trailer>*,.motion .colophon>*{opacity:0;transform:translate3d(0,22px,0);transition:opacity 1s ease,transform 1.1s cubic-bezier(.2,.7,.2,1)}
.motion .rv-in>*,.motion .toc.rv-in li{opacity:1;transform:none}
.motion .rv-in>*:nth-child(2),.motion .toc.rv-in li:nth-child(2){transition-delay:.12s}
.motion .rv-in>*:nth-child(3),.motion .toc.rv-in li:nth-child(3){transition-delay:.24s}
.motion .rv-in>*:nth-child(4),.motion .toc.rv-in li:nth-child(4){transition-delay:.36s}
.motion .rv-in>*:nth-child(5),.motion .toc.rv-in li:nth-child(5){transition-delay:.48s}
.motion .rv-in>*:nth-child(6),.motion .toc.rv-in li:nth-child(6){transition-delay:.6s}
.motion .rv-in>*:nth-child(n+7),.motion .toc.rv-in li:nth-child(7){transition-delay:.72s}
/* tracking pe titluri: litere care se strâng (fără reflow) */
.trk .w{display:inline-block;white-space:nowrap}
.trk .c{display:inline-block}
.motion .trk .c{opacity:0;transform:translate3d(calc(var(--d) * .32em),0,0);transition:transform 1.6s cubic-bezier(.16,.8,.2,1),opacity 1.1s ease}
.motion .rv-in .trk .c,.motion .trk.rv-in .c{opacity:1;transform:none}
.motion .toc .rn{display:inline-block;transition:transform .6s,color .6s}
.toc li a:hover .rn{transform:translateX(4px)}
/* nota Caveat „scrisă" progresiv */
.motion .cv{clip-path:inset(-30% 100% -30% -2%);transition:clip-path 2s cubic-bezier(.55,.1,.35,1) .35s,opacity 1s ease,transform 1.1s cubic-bezier(.2,.7,.2,1)}
.motion .rv-in>.cv,.motion .rv-in .cv,.motion .cv.rv-in{clip-path:inset(-30% -4% -30% -2%)}
.motion .play .cv{clip-path:none}
@media (max-width:900px){
 .motion .pin{height:135vh}
 .motion .bign{top:calc(50vh - 34vw - 1rem)}
 .parrot{position:relative;top:auto}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.motion .cv{transform:rotate(-1deg)!important}
.motion .herotxt .cv,.motion .trailer>.cv,.motion .colophon .cv{transform:rotate(-1.5deg)!important}
.motion .bign{top:max(3.8rem,calc(50vh - 17.5vw - 7.5rem));font-size:clamp(2.6rem,6.5vw,6rem)}
@media (max-width:900px){
 .motion .pin{height:auto}.motion .pinin{position:static;height:auto;display:block;overflow:visible}
 .motion .pin .opener{transform:none;clip-path:inset(0 0 100% 0);transition:clip-path 1.5s cubic-bezier(.65,0,.25,1)}
 .motion .pin.in .opener{clip-path:inset(0)}
 .motion .bign{display:none}
}
.motion .bign{z-index:2;top:max(3.4rem,calc(50vh - 19.5vw - 4.6rem));font-size:clamp(2.4rem,5.5vw,5rem)}
@media (max-width:480px){.top .links a[href='#cuvant'],.top .links a[href='#word']{display:none}}
