*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif}
body{background:#161616;color:white}
.home{height:100vh;height:100svh;min-height:360px;position:relative;isolation:isolate;overflow:hidden}
.background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;opacity:.72;z-index:-2}
.shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.2) 45%,rgba(0,0,0,.28));z-index:-1}
.home-brand-lockup{position:absolute;top:max(24px,env(safe-area-inset-top));right:30px;display:flex;align-items:baseline;gap:10px;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.45);white-space:nowrap}
.home-brand-name{display:block;width:138px;aspect-ratio:3524/1512;background:transparent url('/assets/rives-logo-white.png?v=20261015') center/contain no-repeat;font-size:0;line-height:0}
.home-brand-credit{display:none}
.navigation{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;gap:clamp(24px,4.2vw,80px);align-items:center;justify-content:center;width:max-content;max-width:94%}
.navigation a{font-size:clamp(22px,3.05vw,58px);font-weight:700;line-height:1.1;letter-spacing:-.035em;color:#fff;text-decoration:none;text-shadow:0 2px 14px rgba(0,0,0,.4);transition:opacity .2s}
.navigation a:hover{opacity:.7}
a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:8px}
.legal-link{position:absolute;bottom:26px;bottom:max(26px,env(safe-area-inset-bottom));left:30px;font-size:11px;color:#fff;text-decoration:none;text-shadow:0 1px 6px #000}
.legal-link:hover{text-decoration:underline}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
dialog{color:#161616;background:#f6f5f1;border:0;padding:70px 54px 54px;width:min(640px,calc(100% - 32px));max-height:85vh;max-height:85svh;overflow:auto}
dialog::backdrop{background:rgba(0,0,0,.55);backdrop-filter:blur(5px)}
dialog h2{font-size:clamp(32px,6vw,52px);letter-spacing:-.045em;line-height:1;margin:26px 0 30px}
dialog p{font-size:16px;line-height:1.7}
dialog h3{font-size:16px;margin:28px 0 8px}
.eyebrow{font-size:11px!important;font-weight:bold;letter-spacing:.16em}
.close{position:absolute;right:24px;top:18px;border:0;background:transparent;color:#161616;font:32px Arial;cursor:pointer;padding:4px 8px}
.contact-link{display:inline-block;margin-top:18px;color:inherit;font-size:clamp(17px,4.5vw,25px);font-weight:bold;text-underline-offset:6px;overflow-wrap:anywhere}
.pending{color:#666;font-size:14px}
/* Agence — composition éditoriale */
.agency-page{background:#fff;color:#000;min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
.agency-page a{color:#000}
.agency-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 3.2vw;border-bottom:1px solid #e5e5e5}
.site-brand-lockup{display:flex;align-items:baseline;gap:10px;white-space:nowrap}
.agency-brand{display:block;width:138px;aspect-ratio:3523/1512;background:transparent url('/assets/rives-logo-black.png?v=20261015') center/contain no-repeat;font-size:0;line-height:0;text-decoration:none}
.brand-credit{display:none}
.brand-dot{margin-left:2px}
.agency-nav{display:flex;gap:32px}
.agency-nav a{font-size:12px;font-weight:700;text-decoration:none}
.agency-nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px}
.agency-nav a:hover,.agency-brand:hover{opacity:.6}
.agency-editorial{margin:0 3.2vw;flex:1}
.agency-caption{display:flex;justify-content:space-between;gap:20px;padding:26px 0;font-size:10px;letter-spacing:.08em;border-bottom:1px solid #d6d6d6}
.agency-grid{display:grid;grid-template-columns:1.2fr 1fr;min-height:65vh}
.agency-wordmark{display:flex;flex-direction:column;justify-content:flex-end;padding:70px 3vw 38px 0;border-right:1px solid #d6d6d6;overflow:hidden}
.agency-wordmark h1{font-size:clamp(76px,12vw,210px);font-weight:700;line-height:.79;letter-spacing:-.085em;margin:0 0 42px}
.agency-wordmark h1>span{display:block}
.agency-wordmark h1>span+span{margin-top:12px}
.wordmark-period{font-size:.7em}
.agency-wordmark p{font-size:11px;letter-spacing:.09em;margin:0}
.agency-statement{padding:52px 0 40px 4.2vw;display:flex;flex-direction:column;align-items:stretch}
.agency-intro{font-size:clamp(30px,3.7vw,64px);line-height:1.07;letter-spacing:-.045em;margin:0 0 46px}
.agency-copy{max-width:510px}
.agency-copy p{font-size:17px;line-height:1.65;margin:0 0 22px}
.agency-copy strong{font-weight:700}
.agency-cta{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding:26px 0 0;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.06em}
.agency-cta span:last-child{font-size:32px;font-weight:400;line-height:1}
.agency-cta:hover span:first-child{text-decoration:underline;text-underline-offset:5px}
.agency-signature{display:flex;justify-content:space-between;gap:20px;padding:24px 0;border-top:1px solid #d6d6d6;font-size:10px;letter-spacing:.06em}
.agency-signature a{text-decoration:none;letter-spacing:0;font-size:12px}
.agency-footer{padding:24px 3.2vw;display:flex;justify-content:space-between;gap:24px;font-size:10px;border-top:1px solid #e5e5e5}
.agency-footer a{text-decoration:none}
.agency-footer a:hover{text-decoration:underline}
@media(min-width:1600px){.agency-wordmark h1{font-size:12vw}}
@media(max-width:700px){.agency-header{padding:22px 20px;flex-wrap:wrap}.agency-brand{font-size:32px}.agency-nav{gap:18px}.agency-nav a{font-size:10px}.agency-editorial{margin:0 20px}.agency-caption{font-size:9px;padding:24px 0}.agency-caption span:last-child{text-align:right;max-width:140px}.agency-grid{display:block;min-height:0}.agency-wordmark{padding:58px 0 30px;border-right:0;border-bottom:1px solid #d6d6d6}.agency-wordmark h1{font-size:clamp(76px,23vw,160px);margin-bottom:30px}.agency-statement{padding:36px 0}.agency-intro{font-size:38px;margin-bottom:30px}.agency-copy p{font-size:16px}.agency-cta{margin-top:14px}.agency-signature{align-items:center;font-size:9px}.agency-signature a{font-size:11px}.agency-footer{padding:24px 20px}}
@media(max-width:700px){.brand-credit{font-size:9px}}
@media(max-width:600px){.navigation{gap:20px}.navigation a{font-size:clamp(19px,5.4vw,32px)}.background{object-position:52% 50%}.home-brand-lockup{right:20px;top:max(20px,env(safe-area-inset-top));gap:8px}.home-brand-name{font-size:31px}.home-brand-credit{font-size:9px}.legal-link{left:20px;bottom:20px}dialog{padding:60px 26px 36px}}
.talent-content{width:100%;flex:1;padding:68px 24px 72px}
.talent-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.talent-card{margin:0;min-width:0}
.talent-card img{display:block;width:100%;height:auto;aspect-ratio:600/850;object-fit:cover;background:#f0f0ee}
.talent-card figcaption{font-family:Arial,Helvetica,sans-serif;font-size:clamp(15px,1.6vw,25px);font-weight:700;text-align:center;line-height:1.25;padding:18px 6px 0;overflow-wrap:anywhere;text-transform:uppercase}
#talent-name,.profile-location,.profile-brand-list li{text-transform:uppercase}
@media(max-width:700px){.talent-content{padding:38px 20px 52px}.talent-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 14px}.talent-card figcaption{font-size:16px;padding-top:12px}}
@media(max-width:360px){.talent-grid{grid-template-columns:1fr}}
.talent-profile-link{color:inherit;text-decoration:none;display:block}
.talent-profile-link:hover{opacity:.85}
.profile-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:30px;background:#fff;border-bottom:1px solid #ddd;padding:22px 24px}
.profile-header a{color:#000;text-decoration:none;font-size:13px;font-weight:700}
.profile-back{white-space:nowrap}
.profile-social{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.profile-social span{font-size:13px;font-weight:700}
.social-pending{color:#737373;cursor:default}
.profile-header a:hover{text-decoration:underline;text-underline-offset:4px}
.profile-home{display:block;width:118px;aspect-ratio:3523/1512;margin-left:auto;background:transparent url('/assets/rives-logo-black.png?v=20261015') center/contain no-repeat;font-size:0!important;line-height:0}
.profile-brand-lockup{margin-left:auto;display:flex;align-items:baseline;gap:9px;white-space:nowrap}
.profile-brand-lockup .profile-home{margin-left:0}
.profile-introduction{display:grid;grid-template-columns:1fr 1.4fr;gap:6vw;padding:64px 4vw;align-items:center}
.profile-identity h1{font-size:clamp(60px,8vw,130px);line-height:.95;letter-spacing:-.065em;margin:20px 0 24px}
.profile-location{font-size:11px;letter-spacing:.12em}
.profile-biography{font-size:clamp(15px,1.3vw,20px);line-height:1.7;max-width:750px;margin:0}
.profile-front{position:relative;height:90vh;height:90svh;min-height:500px;background:#333;overflow:hidden}
.profile-front>img{width:100%;height:100%;object-fit:cover;object-position:center 36%;display:block}
.profile-photo-name{position:absolute;top:28px;left:3vw;color:#fff;font-size:clamp(60px,8vw,140px);font-weight:700;letter-spacing:-.065em;line-height:1;text-shadow:0 1px 16px #0005}
.profile-book-anchor{position:absolute;bottom:28px;left:3vw;color:#fff!important;text-decoration:none;font-size:11px;letter-spacing:.06em;font-weight:700;background:#0009;padding:14px 18px}
.profile-book{padding:72px 24px 32px;scroll-margin-top:90px}
.book-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:50px}
.book-heading h2{font-size:clamp(60px,7vw,110px);letter-spacing:-.06em;line-height:1;margin:0}
.book-heading p{font-size:10px;letter-spacing:.08em}
.book-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.book-gallery figure{margin:0}
.book-gallery img{display:block;width:100%;height:auto}
.profile-book-footer{display:flex;justify-content:space-between;gap:20px;font-size:11px;margin-top:48px;padding-top:24px;border-top:1px solid #ddd}
.profile-book-footer a{text-decoration:none;font-weight:bold}
@media(max-width:900px){.profile-header{gap:20px;flex-wrap:wrap}.profile-social{order:3;width:100%;gap:22px}.profile-home{margin-left:auto}.profile-introduction{gap:30px;padding:42px 24px}.profile-biography{font-size:15px}.profile-front{height:75svh;min-height:420px}.profile-book{scroll-margin-top:130px}}
@media(max-width:600px){.profile-header{padding:18px 20px;gap:16px}.profile-social{gap:18px}.profile-social span,.profile-social a{font-size:10px}.profile-introduction{grid-template-columns:1fr;padding:38px 20px;gap:16px}.profile-identity h1{font-size:70px}.profile-biography{font-size:14px}.profile-front>img{object-position:50% 40%}.profile-photo-name{left:20px;top:20px}.profile-book-anchor{left:20px;bottom:20px}.profile-book{padding:46px 20px 28px}.book-heading{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:30px}.book-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-book-footer{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.profile-videos{padding:64px 24px 72px;border-top:1px solid #ddd;scroll-margin-top:130px}
.video-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.video-card{margin:0;min-width:0}
.video-card iframe{display:block;width:100%;aspect-ratio:9/16;border:0;background:#111}
.video-card .tiktok-embed iframe{aspect-ratio:auto;background:transparent}
.video-card .tiktok-embed{border:0;padding:0;overflow:hidden}
.video-card figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:18px;font-size:10px;font-weight:700}
.video-card figcaption a{text-decoration:none}
@media(max-width:900px){.video-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.video-gallery{grid-template-columns:1fr}.video-card{max-width:420px}}
.video-pending{padding:40px;background:#f5f5f3}
.video-pending p{font-size:18px;margin:0 0 28px}
.video-platforms{display:flex;flex-wrap:wrap;gap:24px}
.video-platforms a{font-size:11px;font-weight:700;text-decoration:none}
.video-platforms a:hover{text-decoration:underline}
@media(max-width:600px){.profile-videos{padding:46px 20px}.video-pending{padding:28px 20px}}

.video-gallery{align-items:start}
.instagram-card .instagram-media{min-width:0!important;max-width:100%!important;width:100%!important}
.instagram-card iframe{aspect-ratio:auto;background:#fff;min-width:0!important;max-width:100%!important}

.profile-book .book-heading h2{font-size:24px;font-weight:400;letter-spacing:0;line-height:1.2}


.profile-collaborations{padding:64px 24px 72px;border-top:1px solid #ddd}
.profile-page .book-heading h2{font-size:24px;font-weight:400;letter-spacing:0;line-height:1.2}
.section-empty{font-size:16px;line-height:1.6;color:#666}
.profile-brand-list{display:flex;flex-wrap:wrap;gap:12px 30px;margin:36px 0 8px;padding:0;list-style:none}
.profile-brand-list li{font-size:clamp(26px,3.3vw,52px);font-weight:700;line-height:1;letter-spacing:-.045em}
.collaboration-contact{display:inline-block;margin-top:20px;font-size:11px;font-weight:700;text-decoration:none}
.journal{padding:64px 3.2vw 90px;flex:1}
.journal-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;padding-bottom:40px;border-bottom:1px solid #ddd;margin-bottom:48px}
.journal-heading h1{font-size:clamp(52px,7vw,100px);font-weight:400;letter-spacing:-.05em;margin:20px 0 0}
.journal-heading>p{font-size:14px}
.journal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.journal-card>a{display:block;text-decoration:none;color:#000}
.journal-card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center 40%}
.journal-card .eyebrow{margin-top:26px}
.journal-card h2{font-size:clamp(26px,3vw,44px);font-weight:400;letter-spacing:-.035em;line-height:1.1;margin:18px 0}
.journal-card p:not(.eyebrow){font-size:16px;line-height:1.6}
.journal-read,.journal-back{font-size:11px;font-weight:700;text-decoration:none}
.journal-read{display:inline-block;margin-top:18px}
.journal-card a:hover .journal-read{text-decoration:underline}
.journal-article{width:min(100%,1100px);padding:60px 32px 90px;margin:auto}
.journal-article>.eyebrow{margin-top:45px}
.journal-article h1{font-size:clamp(40px,5vw,76px);font-weight:400;line-height:1.07;letter-spacing:-.04em;margin:24px 0 44px;max-width:900px}
.journal-article>img{display:block;max-width:100%;width:700px;max-height:85vh;object-fit:contain;object-position:left}
.article-copy{max-width:720px;margin-top:40px;font-size:20px;line-height:1.7}
@media(max-width:700px){.journal{padding:42px 20px 60px}.journal-heading{display:block}.journal-grid{grid-template-columns:1fr;gap:54px}.journal-article{padding:40px 20px 60px}.article-copy{font-size:17px}.profile-collaborations{padding:46px 20px}.agency-nav{flex-wrap:wrap}.profile-news{margin-left:auto}.profile-home{margin-left:0}.navigation{gap:18px;flex-wrap:wrap;width:94%}.navigation a{font-size:clamp(17px,4.8vw,30px)}}

[hidden]{display:none!important}
.home-legal{position:absolute;left:30px;bottom:max(26px,env(safe-area-inset-bottom));display:flex;flex-wrap:wrap;gap:18px;align-items:center}
.home-legal a,.home-legal button{font:11px Arial;color:#fff;text-shadow:0 1px 6px #000;text-decoration:none;border:0;background:none;padding:0;cursor:pointer}
.agency-footer{flex-wrap:wrap;justify-content:flex-start}
.agency-footer>a:last-of-type{margin-left:auto}
.cookie-footer-button{border:0;background:none;color:inherit;font:inherit;padding:0;cursor:pointer}
.cookie-banner{position:fixed;z-index:20;bottom:24px;left:24px;right:24px;background:#fff;color:#000;border:1px solid #d5d5d5;box-shadow:0 12px 50px #0003;padding:28px 32px;display:flex;gap:36px;align-items:center;justify-content:space-between}
.cookie-banner-copy{max-width:690px}
.cookie-banner-copy .eyebrow{margin:0 0 12px}
.cookie-banner h2{font-size:26px;font-weight:400;letter-spacing:-.035em;margin:0 0 12px}
.cookie-banner-copy>p:last-child{font-size:12px;line-height:1.6;margin:0}
.cookie-banner a,.cookie-dialog a{color:#000;text-underline-offset:3px}
.cookie-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.cookie-button{display:inline-block;border:1px solid #000;color:#000;background:#fff;font:700 10px Arial;padding:15px 18px;cursor:pointer;letter-spacing:.04em;text-align:center}
.cookie-button:hover{background:#000;color:#fff}
.cookie-text-button{border:0;background:none;font:10px Arial;text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:12px;color:#000}
.cookie-dialog{background:#fff;color:#000;padding:64px 32px 32px;width:min(680px,calc(100% - 32px))}
.cookie-dialog h2{font-size:36px;font-weight:400}
.cookie-option{display:flex;align-items:center;gap:24px;justify-content:space-between;border-top:1px solid #ddd;padding:20px 0}
.cookie-option h3{margin:0 0 8px}
.cookie-option p{font-size:13px;line-height:1.5;margin:0}
.cookie-option>span{font-size:9px;white-space:nowrap}
.cookie-option input{width:22px;height:22px;accent-color:#000;flex-shrink:0}
.cookie-current{font-size:12px!important;color:#555}
.cookies-page{width:min(100%,1150px);margin:0 auto;padding:70px 40px 100px}
.cookies-title h1{font-size:clamp(50px,7vw,96px);font-weight:400;letter-spacing:-.06em;line-height:1.03;margin:28px 0}
.cookies-title>p:last-child{font-size:13px;line-height:1.7;color:#555;margin-bottom:60px}
.cookie-row{display:grid;grid-template-columns:100px 1fr;gap:30px;border-top:1px solid #ddd;padding:36px 0}
.cookie-row>span{font-size:12px;padding-top:6px}
.cookie-row h2{font-size:28px;font-weight:400;letter-spacing:-.03em;margin:0 0 20px}
.cookie-row p{font-size:16px;line-height:1.7;max-width:760px}
.cookie-row a{color:#000;text-underline-offset:4px}
.cookie-row code{font-size:13px;overflow-wrap:anywhere}
.embed-consent{min-height:420px;background:#f2f2ef;color:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center}
.embed-consent .embed-play{font-size:48px;font-weight:400}
.embed-consent p{font-size:16px;line-height:1.5}
.embed-consent .embed-info{font-size:12px;max-width:240px;margin:0 0 24px;color:#555}
.cookie-noscript{padding:20px;background:#fff;color:#000;font-size:12px}.cookie-noscript a{color:#000}
@media(max-width:700px){.cookie-banner{left:12px;right:12px;bottom:12px;padding:22px;display:block;max-height:80svh;overflow:auto}.cookie-banner .cookie-actions{margin-top:20px}.cookie-banner h2{font-size:24px}.cookie-button{padding:13px}.cookies-page{padding:44px 20px 60px}.cookie-row{grid-template-columns:28px 1fr;gap:14px}.cookie-row h2{font-size:24px}.cookie-row p{font-size:14px}.cookie-dialog{padding:60px 24px 28px}.home-legal{left:20px;bottom:20px;gap:14px}}

.talent-empty{font-size:clamp(30px,5vw,72px);font-weight:400;letter-spacing:-.045em;max-width:820px;margin:8vh auto;text-align:center}
.video-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.video-link-card{min-height:280px;padding:24px;background:#111;color:#fff!important;text-decoration:none;display:flex;flex-direction:column;transition:background .2s}
.video-link-card:hover{background:#292929}
.video-link-card span{font-size:10px;letter-spacing:.12em}
.video-link-card strong{font-size:clamp(24px,3vw,44px);line-height:1;letter-spacing:-.04em;margin:auto 0}
.video-link-card small{font-size:10px;line-height:1.4;overflow-wrap:anywhere;color:#aaa}
.profile-not-found{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:7vw}
.profile-not-found h1{font-size:clamp(58px,10vw,150px);font-weight:400;letter-spacing:-.07em;margin:12px 0 50px}
.profile-not-found a{font-size:11px;font-weight:700;text-decoration:none}
@media(max-width:800px){.video-link-grid{grid-template-columns:1fr}.video-link-card{min-height:220px}}

/* Trois lecteurs de dimensions identiques, sans dépendre de la hauteur des plateformes. */
.video-gallery{grid-template-columns:repeat(3,minmax(0,320px));gap:24px;align-items:start}
.video-card [data-social-embed]{height:570px;width:100%;overflow:auto;background:#fff}
.video-card [data-social-embed]>.tiktok-embed,.video-card [data-social-embed]>.instagram-media{width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important}
.video-card [data-social-embed] iframe{width:100%!important;max-width:100%!important;min-width:0!important}
.video-card .embed-consent{height:570px;min-height:0}
@media(max-width:1050px){.video-gallery{grid-template-columns:repeat(2,minmax(0,320px))}}
@media(max-width:700px){.video-gallery{grid-template-columns:minmax(0,320px)}.video-card{width:100%}}

.profile-audience{display:flex;justify-content:space-between;gap:40px;padding:34px 4vw;border-top:1px solid #bbb;border-bottom:1px solid #bbb}.profile-audience>p{font-size:10px;font-weight:700;letter-spacing:.12em;margin:0}.profile-audience>div{display:flex;flex-wrap:wrap;gap:36px}.profile-audience span{display:flex;flex-direction:column;font-size:9px;letter-spacing:.09em;color:#666}.profile-audience strong{font-size:28px;font-weight:400;letter-spacing:-.04em;color:#111;margin-bottom:4px}
@media(max-width:700px){.profile-audience{align-items:flex-start;flex-direction:column}.profile-audience>div{gap:22px}}
