/* Film d'ouverture et composition au défilement. */
:root{--night:#191418;--champagne:#eac9a1;--ease-out:cubic-bezier(.16,1,.3,1)}
.site-header{position:absolute;inset:0 0 auto;z-index:20;background:transparent;color:#fff4e8;border-bottom:1px solid #ffffff20;height:100px;max-width:none}
.site-header .brand-name small{color:#dec7b8}.site-header .nav-contact{border-color:#ffffff60}.site-header .nav-contact:hover{background:#fff4e8;color:var(--night)}
.cinema-hero{position:relative;isolation:isolate;overflow:hidden;min-height:800px;height:100svh;max-height:1150px;background:var(--night);color:#fff4e8;--hero-shift:0px}
.hero-aura{position:absolute;inset:-30%;z-index:-1;background:radial-gradient(ellipse at 60% 45%,#814d405c,transparent 43%),radial-gradient(ellipse at 10% 70%,#57324066,transparent 46%);animation:aura-drift 12s ease-in-out infinite alternate}
.hero-wordmark{position:absolute;bottom:-.24em;left:-.02em;font:25vw/.9 Georgia,serif;letter-spacing:-.09em;color:transparent;-webkit-text-stroke:1px #eac9a12b;white-space:nowrap;pointer-events:none;transform:translateX(var(--hero-shift))}
.cinema-art{position:absolute;right:6%;top:16%;height:70%;width:43%;max-width:690px;perspective:1200px;transform:translateY(var(--hero-shift))}
.cinema-frame{position:absolute;inset:0 0 0 18%;overflow:hidden;border-radius:48% 48% 3px 3px;background:#443339;box-shadow:0 30px 90px #0005;animation:frame-unveil 1.7s var(--ease-out) both}
.cinema-poster,.cinema-frame video{width:100%;height:100%;object-fit:cover;object-position:50% 32%}.cinema-poster{animation:portrait-breathe 12s ease-in-out infinite alternate}.cinema-frame video{position:absolute;inset:0;opacity:0;transition:opacity 1.8s;object-position:center 38%}.cinema-frame video.is-playing{opacity:1}.cinema-frame:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 70%,#171014a1);pointer-events:none}
.film-label{position:absolute;bottom:24px;left:25px;z-index:2;font-size:.58rem;letter-spacing:.19em;display:flex;align-items:center;gap:9px}.film-label i{width:5px;height:5px;background:#ffe2b9;border-radius:50%;box-shadow:0 0 12px #fff}
.portrait-inset{position:absolute;width:32%;height:43%;left:0;bottom:-2%;z-index:3;transform:rotate(-9deg);border:6px solid #eee0d0;box-shadow:0 20px 55px #0005;animation:inset-unveil 1.8s var(--ease-out) both}.portrait-inset img{width:100%;height:100%}.portrait-inset span{position:absolute;bottom:-1px;left:0;right:0;background:#eee0d0;color:#302029;font-size:.52rem;letter-spacing:.12em;text-align:center;padding:7px 0 1px}
.portrait-orbit{position:absolute;inset:-5% -8% -5% 4%;border:1px solid #eccaaa35;border-radius:50%;transform:rotate(18deg);animation:orbit-turn 25s linear infinite}.portrait-orbit:before{content:'✦';position:absolute;left:25%;top:2%;font-size:36px;color:var(--champagne)}.art-coordinate{position:absolute;right:-32px;top:38%;writing-mode:vertical-rl;font-size:.55rem;letter-spacing:.18em;color:#d2bdaa}
.cinema-copy{position:relative;z-index:5;padding:0 6.5%;top:26%;width:72%;pointer-events:none}.cinema-copy a{pointer-events:auto}.cinema-copy .eyebrow{font-size:.67rem;letter-spacing:.2em;color:var(--champagne);margin-bottom:34px;animation:copy-unveil 1s var(--ease-out) both}.cinema-copy .eyebrow>span{margin-right:8px}
.cinema-copy h1{font-size:clamp(5rem,8.5vw,10rem);line-height:.94;letter-spacing:-.065em;max-width:900px;text-shadow:0 3px 40px #0002}.title-mask{display:block;overflow:hidden;padding-bottom:.15em;margin-bottom:-.08em}.title-mask>span,.title-mask>em{display:block;animation:type-unveil 1.35s var(--ease-out) .13s both}.title-mask>em{animation-delay:.3s;color:var(--champagne)}
.cinema-description{font-size:.96rem;line-height:1.8;margin-top:28px;color:#e0cfc7;animation:copy-unveil 1.1s var(--ease-out) .45s both}.cinema-actions{display:flex;align-items:center;gap:28px;margin-top:30px;animation:copy-unveil 1.1s var(--ease-out) .6s both}.cinema-cta{background:var(--champagne);color:var(--night);border-radius:2px;gap:28px;padding:17px 23px;font-size:.88rem}.cinema-cta span{font-size:1.35rem;transition:transform .35s}.cinema-cta:hover{background:#fff0db;box-shadow:0 8px 35px #eac9a11f}.cinema-cta:hover span{transform:rotate(45deg)}.cinema-contact{font-size:.85rem;border-bottom:1px solid #eac9a163;padding:9px 0}.cinema-contact span{margin-left:10px}
.cinema-bottom{position:absolute;bottom:26px;left:6.5%;right:6.5%;display:flex;gap:24px;align-items:center;justify-content:space-between;font-size:.55rem;letter-spacing:.14em;color:#dec8bb;z-index:6}.scroll-invitation{display:flex;align-items:center;gap:12px}.scroll-line{width:1px;height:32px;background:#ffffff30;position:relative;overflow:hidden}.scroll-line:after{content:'';position:absolute;inset:0;background:var(--champagne);animation:scroll-tick 1.8s ease-in-out infinite}.motion-toggle{color:#e7d9cb;border:1px solid #ffffff40;border-radius:30px;background:#19141860;font-size:.68rem;padding:8px 13px;letter-spacing:0}.motion-toggle:hover{background:#ffffff15}
.motion-marquee{overflow:hidden;background:var(--champagne);color:var(--night);padding:18px 0}.marquee-track{display:flex;width:max-content;animation:marquee-travel 30s linear infinite}.marquee-track span{flex-shrink:0;font:clamp(1.3rem,2.8vw,3rem)/1.3 Georgia,serif;letter-spacing:.04em;white-space:nowrap}.marquee-track i{font-style:normal;margin:0 30px;font-size:.7em}
.signature-story{height:180vh;position:relative;background:#eee5da}.signature-stage{position:sticky;top:0;height:100svh;min-height:650px;overflow:hidden;display:flex;align-items:center;justify-content:center;isolation:isolate;--story-progress:0}
.signature-heading{position:absolute;top:10%;text-align:center;z-index:3;transform:translateY(calc(var(--story-progress) * -40px));pointer-events:none}.signature-heading .eyebrow{font-size:.61rem;letter-spacing:.2em;margin-bottom:20px}.signature-heading h2{font-size:clamp(3.5rem,6vw,7rem);line-height:.95}.signature-heading em{color:#885b42}
.signature-collage{position:absolute;inset:27% 0 9%;display:flex;justify-content:center;align-items:center;perspective:1200px}.signature-photo{position:absolute;margin:0;width:24%;max-width:355px;height:94%;background:#f9f4ed;border:8px solid #f9f4ed;box-shadow:0 15px 55px #402c2525;will-change:transform}.signature-photo img{width:100%;height:calc(100% - 28px);object-position:center 32%}.signature-photo figcaption{font-size:.55rem;letter-spacing:.17em;padding:8px 2px}.signature-left{transform:translateX(calc(-58% - var(--story-progress) * 68%)) translateY(calc(35px - var(--story-progress) * 48px)) rotate(calc(-13deg + var(--story-progress) * 5deg));z-index:1}.signature-center{transform:translateY(calc(75px - var(--story-progress) * 35px)) scale(calc(.9 + var(--story-progress) * .16));z-index:2}.signature-right{transform:translateX(calc(58% + var(--story-progress) * 68%)) translateY(calc(15px - var(--story-progress) * 35px)) rotate(calc(13deg - var(--story-progress) * 5deg));z-index:1}.signature-footnote{position:absolute;bottom:3%;font-size:.58rem;letter-spacing:.17em;z-index:5}
.motion-ready .reveal{transform:translateY(65px);transition-duration:1.1s}.motion-ready .reveal.is-visible{transform:none}.motion-ready .universe-image.reveal{clip-path:inset(12% 12% 12% 12%);transition:clip-path 1.3s var(--ease-out),transform 1.3s var(--ease-out),opacity .8s}.motion-ready .universe-image.is-visible{clip-path:inset(0)}.video-open{border-radius:3px}.video-open img{transition:transform .9s var(--ease-out)}.video-open:hover img{transform:scale(1.085)}.service-grid article{transition:background .4s}.service-grid article:hover{background:#ecd9c72c}.section-heading h2{overflow-wrap:break-word}
@keyframes type-unveil{from{transform:translateY(115%) rotate(4deg)}to{transform:none}}@keyframes copy-unveil{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}@keyframes frame-unveil{from{clip-path:inset(100% 0 0);transform:scale(1.18) rotate(6deg)}to{clip-path:inset(0);transform:none}}@keyframes inset-unveil{from{opacity:0;transform:translate(-70px,100px) rotate(-24deg)}to{opacity:1;transform:rotate(-9deg)}}@keyframes portrait-breathe{from{transform:scale(1)}to{transform:scale(1.08)}}@keyframes aura-drift{to{transform:translate(8%,-5%) rotate(15deg)}}@keyframes orbit-turn{to{transform:rotate(378deg)}}@keyframes marquee-travel{to{transform:translateX(-50%)}}@keyframes scroll-tick{0%{transform:translateY(-100%)}80%,100%{transform:translateY(100%)}}
.motion-paused *, .motion-paused *:before, .motion-paused *:after{animation-play-state:paused!important}.motion-paused .cinema-frame video{opacity:0}.motion-paused .reveal{opacity:1;transform:none}.motion-paused .universe-image{clip-path:inset(0)!important}
@media(min-width:1700px){.cinema-copy{top:29%}}
@media(max-width:1050px){.cinema-hero{min-height:750px}.cinema-copy{top:29%;padding-left:5%;width:82%}.cinema-copy h1{font-size:9.5vw}.cinema-art{right:5%;width:48%;height:65%;top:20%}.cinema-description{max-width:380px;text-shadow:0 2px 8px #191418}.cinema-contact{background:#19141870}.hero-place{display:none}}
@media(max-width:760px){.site-header{height:90px;min-height:0;padding-top:16px;padding-bottom:16px;align-items:center;flex-wrap:nowrap}.site-header .brand-name{font-size:.58rem}.site-header .brand-name small{font-size:.52rem}.site-header .monogram{font-size:2.3rem}.site-header nav{width:auto}.site-header nav>a:not(.nav-contact){display:none}.site-header nav .nav-contact{font-size:.66rem;padding:9px}.cinema-hero{height:940px;min-height:940px;max-height:none}.cinema-art{top:118px;right:10%;width:78%;height:465px}.cinema-frame{inset:0 0 0 14%;border-radius:46% 46% 2px 2px}.portrait-inset{width:29%;height:40%;bottom:3%;left:-3%;border-width:4px}.portrait-inset span{font-size:.4rem}.art-coordinate{right:-23px}.cinema-copy{top:514px;padding:0 6%;width:100%;text-align:left}.cinema-copy .eyebrow{font-size:.53rem;margin-bottom:21px;text-shadow:0 1px 5px #000}.cinema-copy h1{font-size:clamp(3.8rem,13.3vw,6.2rem)}.cinema-copy h1 .title-mask:first-child{white-space:nowrap}.cinema-description{font-size:.87rem;line-height:1.7;margin-top:22px;max-width:none}.cinema-actions{margin-top:23px;gap:19px}.cinema-cta{padding:14px 17px;font-size:.78rem;gap:17px}.cinema-contact{font-size:.75rem}.cinema-bottom{left:6%;right:6%;bottom:21px;gap:10px}.scroll-invitation{font-size:.44rem;letter-spacing:.06em;gap:8px}.motion-toggle{font-size:.61rem;padding:8px 10px}.hero-wordmark{font-size:27vw;bottom:7%;opacity:.7}.signature-story{height:135vh}.signature-stage{min-height:600px}.signature-heading{top:9%}.signature-heading h2{font-size:3.9rem}.signature-heading .eyebrow{font-size:.5rem}.signature-photo{width:43%;height:80%;border-width:5px}.signature-collage{inset:30% 0 13%}.signature-left{transform:translateX(calc(-30% - var(--story-progress) * 38%)) translateY(12px) rotate(-12deg)}.signature-right{transform:translateX(calc(30% + var(--story-progress) * 38%)) translateY(-10px) rotate(12deg)}.signature-center{transform:translateY(calc(48px - var(--story-progress) * 20px)) scale(calc(.95 + var(--story-progress) * .1))}.signature-footnote{font-size:.48rem;bottom:6%}.film-label{bottom:18px;left:18px;font-size:.48rem}.marquee-track i{margin:0 20px}.motion-marquee{padding:14px 0}}
@media(max-width:760px){.cinema-hero{height:920px;min-height:920px}.cinema-art{top:112px;height:365px}.cinema-copy{top:502px}}
@media(max-width:360px){.cinema-hero{height:910px;min-height:910px}.cinema-art{height:350px}.cinema-copy{top:487px}.cinema-copy h1{font-size:13vw}.cinema-actions{gap:12px}.cinema-contact{font-size:.69rem}.brand-name{display:none}}
.motion-paused .title-mask>*,.motion-paused .cinema-copy>.eyebrow,.motion-paused .cinema-description,.motion-paused .cinema-actions,.motion-paused .cinema-frame{animation:none!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.cinema-frame video{display:none}.cinema-art,.hero-wordmark{transform:none}.signature-story{height:auto}.signature-stage{height:750px}.signature-stage{--story-progress:.5!important}.motion-ready .reveal{opacity:1;transform:none}.universe-image{clip-path:inset(0)!important}}
