/* A single desktop rhythm; content remains free to grow at zoom and on mobile. */
.mobile-v3{--hero-space:40px;--hero-height:500px;--hero-heading:clamp(50px,4.8vw,68px);--hero-ease:cubic-bezier(.22,.75,.2,1)}
.creative [data-page-hero]{box-sizing:border-box;min-height:var(--hero-height);padding:var(--hero-space) var(--hero-gutter);margin:0;align-items:start}
.creative [data-page-hero="primary"].contact-section{min-height:var(--hero-height)}
.creative [data-page-hero] h1{margin:0;line-height:1.06}
.creative [data-page-hero] [data-hero-kicker]{margin:0 0 24px;font:600 11px/18px var(--font-body);letter-spacing:.055em;text-transform:uppercase}
.creative [data-page-hero] .back-link{display:inline-flex;align-items:center;min-height:44px;margin:20px 0 0;font-size:12px;text-decoration:underline;text-underline-offset:4px}
.creative [data-page-hero] .client-story-visual,.creative [data-page-hero] .offer-editorial-photo{align-self:start;margin:0;width:100%;max-width:440px;justify-self:end;aspect-ratio:auto;background:none}
.creative [data-page-hero] .client-story-visual>img,.creative [data-page-hero] .offer-editorial-photo>img{display:block;width:100%;height:350px;max-height:none;object-fit:cover;border-radius:8px}
.creative [data-page-hero] .client-story-visual>figcaption,.creative [data-page-hero] .offer-editorial-photo>figcaption{position:static;padding:12px 0 0;min-height:0;font-size:11px;background:none;color:inherit;opacity:.75}
.mobile-v3.creative.client-story [data-page-hero="case"] .client-story-visual{aspect-ratio:auto}
.mobile-v3.creative.client-story [data-page-hero="case"] .client-story-visual>img{height:350px;aspect-ratio:auto}
.creative [data-page-hero] .intro-work{align-self:start;max-height:380px}
.creative [data-page-hero] .talent-hero-portrait{max-width:390px;justify-self:end;margin:0}
.creative [data-page-hero] .talent-hero-portrait>img{height:350px;width:100%;object-fit:cover;max-height:none}
.creative [data-page-hero] .talent-duo{max-width:340px;justify-self:end;align-self:start}
.creative [data-page-hero] .talent-duo figure{min-width:0}
.creative [data-page-hero] .talent-duo figure:nth-child(2){margin-top:36px;transform:none}
.creative [data-page-hero].af-reading-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:7%;background:var(--paper);color:var(--ink);max-width:none}
.creative .af-reading-hero h1{font:600 clamp(44px,4.45vw,64px)/1.07 var(--font-display);letter-spacing:-.045em;color:var(--red);max-width:760px;text-wrap:balance}
.creative .af-reading-hero .meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin:24px 0 0;font:400 12px/1.65 var(--font-body);color:var(--text)}
.creative .af-reading-hero .meta a{color:inherit;text-underline-offset:3px}
.creative .af-reading-hero .hero-img{width:100%;max-width:440px;justify-self:end;margin:0}
.creative .af-reading-hero .hero-img img{width:100%;height:350px;max-height:none;object-fit:cover;border-radius:8px}
.creative .af-reading-hero .af-reading-summary{margin:26px 0 0;font:400 16px/1.8 var(--font-body);max-width:610px}
.creative .af-reading-hero .service-actions{margin-top:24px;display:flex;flex-wrap:wrap;gap:16px;font-size:13px}
.creative .af-reading-hero .service-actions a{min-height:44px;display:inline-flex;align-items:center}
.creative .af-reading-hero--legal{grid-template-columns:1fr}
.creative .af-reading-hero--legal h1{max-width:960px}
.creative .article-shell,.creative .legal-shell{padding-top:56px}
.creative [data-page-hero].page-intro{padding:var(--hero-space) var(--hero-gutter)}
/* Keep the form immediately visible; opening optional fields can expand the hero. */
.creative [data-page-hero] .contact-paper{padding:26px;margin:0}
.creative [data-page-hero] .contact-paper>.contact-form-heading{font-size:28px;margin-bottom:8px}
.creative [data-page-hero] .contact-paper>p{font-size:13px;line-height:1.5;margin-bottom:18px}
.creative [data-page-hero] .hform__grid{gap:12px 16px}
.creative [data-page-hero] .form__field input{min-height:44px;padding-block:10px}
.creative [data-page-hero] .form-more{margin:12px 0 16px}
.creative [data-page-hero] .form-more>summary{min-height:44px;padding-block:12px}
.creative [data-page-hero] .hform__foot{font-size:12px;line-height:1.55}
.creative [data-page-hero] .contact-person{margin-block:24px}
.creative [data-page-hero] .contact-small{margin-top:18px}
.af-author{display:flex;align-items:center;gap:24px;border-block:1px solid var(--line);padding:28px 0;margin:48px 0}
.af-author img{width:80px;height:80px;border-radius:50%;object-fit:cover;flex-shrink:0}
.af-author p{margin:6px 0;font-size:14px;line-height:1.75}
.af-author h2{font-size:24px;margin:0}
.af-author-links{display:flex;gap:20px;flex-wrap:wrap;font-size:13px}
.af-author-links a{display:inline-flex;min-height:44px;align-items:center;text-decoration:underline;text-underline-offset:4px}
.af-google-link{display:inline-flex;gap:12px;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.af-reading-hero .meta a,.af-google-link{transition:opacity .2s}
.af-reading-hero .meta a:hover,.af-google-link:hover{opacity:.72}
.af-budget-table{overflow-x:auto;margin:30px 0;border:1px solid var(--line);border-radius:10px}
.af-budget-table table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.6}
.af-budget-table caption{text-align:left;padding:20px;font-weight:600;color:var(--red)}
.af-budget-table th,.af-budget-table td{text-align:left;padding:16px 20px;border-top:1px solid var(--line);vertical-align:top;min-width:160px}
.af-budget-table th{font-weight:600}
.af-article-note{border-left:2px solid var(--red);padding:8px 0 8px 24px;margin:30px 0}
.af-article-note p{margin:0}
.af-related{margin:36px 0;padding:24px;background:var(--paper);border-radius:8px}
.af-related h2{font-size:26px;margin-top:0}
@media(min-width:961px){
 .mobile-v3.creative .cinema-hero{height:calc(100svh - 82px);min-height:740px;max-height:none}
 .creative [data-page-hero] .talent-duo button{max-height:310px}
}
@media(max-width:960px){
 .mobile-v3{--hero-height:460px;--hero-space:36px}
 .creative [data-page-hero] .client-story-visual>img,.creative [data-page-hero] .offer-editorial-photo>img,.creative .af-reading-hero .hero-img img,.creative [data-page-hero] .talent-hero-portrait>img{height:320px}
 .creative .af-reading-hero h1{font-size:clamp(40px,4.8vw,54px)}
 .mobile-v3.creative.client-story [data-page-hero="case"] .client-story-visual>img{height:320px}
}
@media(max-width:700px){
 .mobile-v3{--hero-space:36px;--hero-heading:clamp(39px,11.5vw,60px)}
 .creative [data-page-hero],.creative [data-page-hero="primary"].contact-section{min-height:0;padding:28px var(--gutter) 32px}
 .creative [data-page-hero].af-reading-hero{grid-template-columns:1fr;gap:28px}
 .creative [data-page-hero] [data-hero-kicker]{font-size:10px;margin-bottom:20px}
 .creative .af-reading-hero h1{font-size:clamp(35px,9.4vw,52px)}
 .creative .af-reading-hero .meta{margin-top:22px}
 .creative .af-reading-hero .hero-img,.creative [data-page-hero] .client-story-visual,.creative [data-page-hero] .offer-editorial-photo,.creative [data-page-hero] .talent-hero-portrait{max-width:none;justify-self:stretch}
 .creative .af-reading-hero .hero-img img,.creative [data-page-hero] .client-story-visual>img,.creative [data-page-hero] .offer-editorial-photo>img,.creative [data-page-hero] .talent-hero-portrait>img{height:auto;aspect-ratio:4/3;object-fit:cover;max-height:420px}
 .creative [data-page-hero] .talent-duo{max-width:420px;justify-self:center}
 .creative [data-page-hero] .talent-duo button{max-height:none}
 .creative [data-page-hero] .contact-paper{padding:24px 20px}
 .mobile-v3.creative.client-story [data-page-hero="case"] .client-story-visual>img{height:auto;aspect-ratio:4/3}
 .creative .article-shell,.creative .legal-shell{padding-top:36px}
 .af-author{align-items:flex-start;gap:16px}
 .af-author img{width:56px;height:56px}
}
/* One entrance, under a second. No JS dependency and no scroll interception. */
@media(prefers-reduced-motion:no-preference){
 .creative [data-page-hero] h1[data-title-arrival]{animation:af-arrive-title .72s var(--hero-ease) both}
 .creative [data-page-hero] [data-hero-kicker]{animation:af-arrive-copy .48s var(--hero-ease) both}
 .creative [data-page-hero] [data-hero-follow]{animation:af-arrive-copy .64s .10s var(--hero-ease) both}
 .creative [data-page-hero] [data-hero-visual]{animation:af-arrive-image .85s .08s var(--hero-ease) both}
 @keyframes af-arrive-title{from{opacity:.3;transform:translateY(18px)}to{opacity:1;transform:none}}
 @keyframes af-arrive-copy{from{opacity:.35;transform:translateY(9px)}to{opacity:1;transform:none}}
 @keyframes af-arrive-image{from{clip-path:inset(0 0 5% 0);opacity:.5;translate:0 12px}to{clip-path:inset(0);opacity:1;translate:0 0}}
}
@media(prefers-reduced-motion:reduce){
 .creative [data-page-hero] :is([data-title-arrival],[data-hero-kicker],[data-hero-follow],[data-hero-visual]){animation:none!important;opacity:1;transform:none;translate:none;clip-path:none}
}

/* Compact inner openings, with room for forms and long titles to grow. */
.creative [data-page-hero].af-reading-hero--legal{min-height:300px}
.creative [data-page-hero] .talent-intro{margin-top:22px;font-size:15px;line-height:1.7}
.creative [data-page-hero] .talent-actions{margin-top:22px}
.creative [data-page-hero] .talent-hero-note{margin-top:12px}
/* Two deliberate title lines, rather than the extra line box of a br. */
.mobile-v3.creative .cinema-hero h1{line-height:.98}
.mobile-v3.creative .cinema-hero h1 .cinema-title-main{display:block}
.mobile-v3.creative .cinema-hero h1 em{display:block;line-height:1;margin:-.04em 0 0}
.page-index .media-dialog:has(iframe){width:calc(42.75dvh + 40px)}
.page-index [data-media-content] iframe{aspect-ratio:9/16;height:auto;max-height:76dvh}
.recent-grid[data-reel-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr));max-width:880px;margin-inline:auto}
@media(prefers-reduced-motion:no-preference){.creative [data-page-hero] .intro-work[data-hero-visual]{animation-name:af-arrive-collage}@keyframes af-arrive-collage{from{opacity:.5;translate:0 12px}to{opacity:1;translate:0 0}}}
@media(max-width:960px) and (min-width:701px){.mobile-v3.creative .cinema-hero{height:calc(100svh - 82px);min-height:740px;max-height:none}}
@media(max-width:700px){
 .creative [data-page-hero].af-reading-hero--legal{min-height:0}
 .mobile-v3.creative .cinema-hero{min-height:max(700px,calc(100svh - 82px));max-height:none;height:auto}
 .mobile-v3.creative .cinema-copy{padding-top:90px;padding-bottom:116px}
 .creative [data-page-hero] .talent-duo{max-width:340px}
 .recent-grid[data-reel-count="2"]{grid-template-columns:1fr 1fr}
}

.creative [data-page-hero] .talent-duo figure{animation:none!important}

/* Audit du 9 octobre : liens identifiables et contraste des repères. */
.afc .afc__txt a { text-decoration: underline; text-underline-offset: .18em; text-decoration-thickness: 1px; }
.page-portfolio .work-index a small { color: #62564c; opacity: 1; }
