
:root{--paper:#f3f6fa;--ink:#182b42;--muted:#586c83;--line:#ccd7e4;--accent:#38669c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Avenir Next",Avenir,"Segoe UI",Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}header,main,footer{max-width:1440px;margin:auto}header{padding:30px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:18px;font-weight:700;letter-spacing:-.5px}.brand span{display:block;font-size:9px;letter-spacing:2px;margin-top:7px;font-weight:400}nav{display:flex;gap:32px;font-size:13px}nav a:hover,.textlink:hover{text-decoration:underline}section{margin:0 5%;padding:80px 0;scroll-margin-top:15px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;padding-top:44px;padding-bottom:64px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;margin:0 0 30px}h1{font-family:inherit;font-weight:600;font-size:clamp(65px,8.2vw,122px);line-height:.94;letter-spacing:-6px;margin:38px 0}em{font-style:normal;font-weight:600;color:var(--accent)}.lead{font-size:21px;line-height:1.5;color:var(--muted);margin-bottom:35px}.actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;background:var(--ink);color:white;padding:18px 23px;gap:32px;align-items:center;font-size:12px}.button:hover{background:var(--accent)}.textlink{font-size:12px}.hero-meta{display:flex;gap:25px;font-size:9px;letter-spacing:1.4px;margin-top:65px}.hero-photo{margin:0;position:relative}.hero-photo img{width:100%;height:615px;object-fit:cover;object-position:center 33%;display:block}.hero-photo figcaption{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;margin-top:12px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.section-heading .eyebrow{margin-bottom:16px}h2{font:600 clamp(39px,5vw,67px)/1.08 "Avenir Next",Avenir,"Segoe UI",Arial,sans-serif;letter-spacing:-2px;margin:0}.section-heading>p{font-size:12px;line-height:1.8;color:var(--muted)}.section-heading>p span{font-size:10px}#photos,#parcours,#profil{border-top:1px solid var(--line)}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.photo{background:none;border:0;padding:0;text-align:left;cursor:zoom-in;color:var(--ink);min-width:0}.photo-0{grid-row:span 2}.photo img{width:100%;aspect-ratio:2/3;object-fit:cover;display:block;transition:filter .25s}.photo:hover img{filter:brightness(1.06)}.photo-0 img{height:calc(100% - 27px);aspect-ratio:auto}.photo>span{font-size:10px;display:flex;justify-content:space-between;padding-top:10px}h3{font-weight:400;font-size:22px;margin:45px 0 15px}.credit{display:grid;grid-template-columns:90px 1fr 250px;align-items:center;gap:24px;padding:21px 0;border-top:1px solid var(--line)}.credit>span{font-size:13px;color:var(--muted)}.credit small{font-size:9px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted)}.credit h4{font-size:17px;font-weight:400;margin:7px 0 0}.credit p{font-size:12px;color:var(--muted)}.facts{display:grid;grid-template-columns:repeat(4,1fr);margin:40px 0;gap:30px}.facts>div{border-top:1px solid var(--line);padding-top:20px}dt{font-size:10px;color:var(--muted);margin-bottom:12px}dd{font-size:18px;margin:0;line-height:1.4}details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0}summary{cursor:pointer;font-size:13px}summary span{float:right}#contact{background:var(--ink);color:var(--paper);margin:0;padding:65px 5%}#contact h2{font-size:clamp(56px,7vw,98px)}#contact em{color:#9ec4f1}.contact-line{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:40px}.contact-line>a:first-child{font-size:clamp(20px,3vw,36px)}.light{background:var(--paper);color:var(--ink)}.contact-note{font-size:11px;color:#b7cbe1;margin-top:48px}footer{padding:27px 5%;display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}dialog{padding:0;border:none;background:transparent;max-width:94vw;max-height:96vh;overflow:auto}dialog::backdrop{background:#111e}dialog img{display:block;max-height:85vh;max-width:90vw;object-fit:contain;margin:auto}.close{display:block;margin:0 0 10px auto;background:var(--paper);border:0;padding:12px 20px;cursor:pointer}.skip{position:fixed;top:-100px;background:white;padding:15px;z-index:10}.skip:focus{top:10px}:focus-visible{outline:3px solid #38669c;outline-offset:5px}@media(min-width:1500px){.hero-photo img{height:680px}}@media(max-width:760px){header{padding:22px 5%;gap:20px;align-items:start}nav{gap:15px;flex-wrap:wrap;justify-content:end;max-width:200px;font-size:11px}.brand{font-size:14px;min-width:138px}.brand span{font-size:8px}.hero{grid-template-columns:1fr;gap:30px;padding-top:34px}h1{font-size:78px;letter-spacing:-4px;margin:25px 0}.hero-photo img{height:auto;max-height:650px;object-fit:cover}.hero-meta{margin-top:30px}.lead{font-size:18px}section{padding:50px 0}.gallery{grid-template-columns:repeat(2,1fr);gap:16px}.section-heading{align-items:start;gap:20px}.section-heading>p{font-size:10px}.credit{grid-template-columns:42px 1fr;gap:12px}.credit p{grid-column:2;margin:0}.credit h4{font-size:15px}.facts{grid-template-columns:repeat(2,1fr);gap:24px}dd{font-size:16px}.contact-line{align-items:start;flex-direction:column}h2{letter-spacing:-1px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Navigation et mise en page adaptative */
.menu-toggle{display:none}h1{letter-spacing:-.065em;font-size:clamp(58px,7.8vw,112px)}.hero>*{min-width:0}.hero-meta{flex-wrap:wrap}.credit>*{min-width:0;overflow-wrap:anywhere}.facts dd{overflow-wrap:anywhere}.button{min-height:46px}nav a{padding:12px 0}footer a{padding:10px 0}body{overflow-wrap:break-word}
@media(min-width:761px) and (max-width:1050px){.hero{gap:25px;grid-template-columns:1fr 1fr}.hero-photo img{height:530px}.actions{gap:18px}.credit{grid-template-columns:60px 1fr 180px;gap:18px}.facts{gap:20px}}
@media(max-width:760px){header{position:relative;align-items:center;flex-wrap:wrap;gap:0}.menu-toggle{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 0 10px 14px;border:0;background:transparent;color:var(--ink);cursor:pointer;font-size:12px}.menu-icon{display:grid;gap:5px;width:22px}.menu-icon i{height:2px;width:22px;background:currentColor;transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded="true"] i:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded="true"] i:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] i:last-child{transform:translateY(-7px) rotate(-45deg)}header nav{display:none;max-width:none;width:100%;flex-direction:column;gap:0;margin-top:18px;border-top:1px solid var(--line);font-size:16px}header nav.is-open{display:flex}header nav a{padding:17px 0;border-bottom:1px solid var(--line)}h1{font-size:clamp(52px,12vw,88px);letter-spacing:-.06em}.section-heading{flex-wrap:wrap}.section-heading>p{margin:0}.hero-photo img{width:100%;max-height:none}.hero-meta{gap:15px}.hero-photo figcaption{gap:12px}#contact{padding-top:50px;padding-bottom:50px}.contact-line>a:first-child{font-size:clamp(20px,6.4vw,36px)}}
@media(max-width:360px){.gallery{gap:10px}.actions{align-items:flex-start;flex-direction:column}.facts{gap:20px 12px}.brand{font-size:13px}.hero-meta{font-size:8px}.credit{grid-template-columns:35px 1fr}footer{gap:12px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.menu-icon i{transition:none}}

/* Transition entre le portrait d’accueil et le book */
h1{font-size:clamp(48px,6.8vw,98px);letter-spacing:-.055em;line-height:1.02}
.hero{padding-bottom:45px}
.scroll-cue{margin:0 5%;padding:22px 0 25px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:var(--accent);font-size:10px;letter-spacing:2px;min-height:70px}
.scroll-arrow{font-size:28px;line-height:1;animation:invite-scroll 1.8s ease-in-out infinite}
.scroll-cue:hover{color:var(--ink)}
#photos{border-top:0}
@keyframes invite-scroll{0%,100%{transform:translateY(-3px)}50%{transform:translateY(5px)}}
@media(max-width:760px){h1{font-size:clamp(42px,10.5vw,76px)}.hero{padding-bottom:30px}.scroll-cue{padding:18px 0 22px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.scroll-arrow{animation:none}}

/* Premier écran : réserve la place de la flèche, même avec les barres du navigateur. */
:root{--header-height:66px}
header{height:var(--header-height);padding:9px 5%;position:relative;z-index:5}
.brand{line-height:1.1}.brand span{margin-top:2px;line-height:1.1;font-size:8px}
nav a{padding:9px 0}
.first-screen{height:calc(100vh - var(--header-height));height:calc(100svh - var(--header-height));display:grid;grid-template-rows:minmax(0,1fr) 66px}
.first-screen .hero{min-height:0;margin:0 5%;padding:25px 0 20px;gap:35px;align-items:center;overflow:hidden}
.first-screen .hero-photo{height:100%;min-height:0;display:flex;flex-direction:column;justify-content:center}
.first-screen .hero-photo img{height:calc(100% - 23px);min-height:0;max-height:680px;object-fit:cover;object-position:center 32%}
.first-screen .hero-photo figcaption{flex-shrink:0}
.first-screen h1{font-size:clamp(54px,7.4vw,108px);margin:24px 0}
.first-screen .eyebrow{margin-bottom:18px}
.first-screen .lead{margin:20px 0 26px}
.first-screen .hero-meta{margin-top:30px}
.scroll-cue{justify-content:center;flex-direction:column;gap:7px;padding:8px 0 12px;min-height:0;text-align:center}
.scroll-arrow{font-size:25px}
@media(max-width:760px){
:root{--header-height:54px}
header{padding:5px 5%;flex-wrap:nowrap}
.brand{font-size:13px}.brand span{font-size:7px;letter-spacing:1.6px;margin-top:1px}
.menu-toggle{min-height:44px;padding-top:8px;padding-bottom:8px}
header nav{position:absolute;top:100%;left:0;width:100%;padding:0 5% 10px;margin:0;background:var(--paper);border-top:1px solid var(--line);box-shadow:0 12px 18px #182b4210}
header nav a{padding:13px 0}
.first-screen{grid-template-rows:minmax(0,1fr) 56px}
.first-screen .hero{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:14px;padding:16px 0 12px}
.first-screen .intro{position:relative}
.first-screen h1{font-size:clamp(36px,9.5vw,62px);margin:8px 0;line-height:1}
.first-screen h1 br{display:none}.first-screen h1 em:before{content:' '}
.first-screen .eyebrow{font-size:8px;margin-bottom:8px;letter-spacing:1.5px}
.first-screen .lead{font-size:14px;line-height:1.3;margin:10px 0 12px}
.first-screen .lead br{display:none}.first-screen .lead br:after{content:' '}
.first-screen .actions{gap:15px;flex-direction:row;align-items:center;flex-wrap:wrap}
.first-screen .button{padding:11px 14px;min-height:42px;font-size:10px;gap:12px}
.first-screen .textlink{font-size:10px}
.first-screen .hero-meta{display:none}
.first-screen .hero-photo{width:100%;height:100%;overflow:hidden}
.first-screen .hero-photo img{height:100%;max-height:none;width:100%;object-position:center 30%}
.first-screen .hero-photo figcaption{display:none}
.scroll-cue{font-size:8px;letter-spacing:1.5px;gap:5px;padding:5px 0 10px}
}
@media(max-height:650px) and (min-width:761px){.first-screen h1{font-size:64px;margin:14px 0}.first-screen .lead{font-size:17px;margin:12px 0}.first-screen .hero-meta{margin-top:18px}.first-screen .eyebrow{margin-bottom:10px}}
@media(max-height:580px) and (max-width:760px){.first-screen .hero{grid-template-columns:1.1fr 1fr;grid-template-rows:minmax(0,1fr);gap:16px;padding-top:12px}.first-screen h1{font-size:clamp(28px,6vw,44px)}.first-screen h1 br{display:block}.first-screen h1 em:before{content:''}.first-screen .lead{font-size:12px}.first-screen .actions{gap:9px}.first-screen .eyebrow{font-size:7px}}

/* Rubriques alternées, sur toute la largeur du site. */
:root{--paper:#ffffff}
body{background:#fff}
#photos,#parcours,#profil{margin:0;padding:75px 5%;border-top:0}
#photos,#profil{background:#fff;color:var(--ink)}
#parcours{background:#284c76;color:#fff;--line:#ffffff38;--muted:#d3e2f3}
#parcours .eyebrow{color:#d3e2f3}
#parcours .section-heading>p,#parcours .credit>span,#parcours .credit small,#parcours .credit p{color:var(--muted)}
#parcours h3{color:#fff}
#parcours :focus-visible,#contact :focus-visible{outline-color:#d3e6ff}
#contact{background:#284c76;color:#fff}
#contact em{color:#fff}
#contact .eyebrow,#contact .contact-note{color:#d3e2f3}
#contact .light{background:#fff;color:#284c76}
#contact .light:hover{background:#dfebf8;color:#182b42}
footer{background:#fff}
@media(max-width:760px){#photos,#parcours,#profil{padding:48px 5%}}

/* Coordonnées directes */
#contact h2{font-size:clamp(36px,5.5vw,76px);line-height:1.12;overflow-wrap:normal}
.contact-details{display:flex;flex-direction:column;gap:20px;min-width:0}
.contact-details a{display:flex;align-items:center;gap:15px;font-size:clamp(16px,2.3vw,30px);line-height:1.4;min-height:44px}
.contact-details svg{width:25px;height:25px;flex-shrink:0}
.contact-details a span{overflow-wrap:anywhere}
.contact-details a:hover span{text-decoration:underline;text-underline-offset:5px}
.contact-line{align-items:center}
@media(max-width:760px){.contact-line{align-items:flex-start}.contact-details{gap:12px;width:100%}.contact-details a{gap:12px;font-size:clamp(15px,4.6vw,24px)}.contact-details svg{width:22px;height:22px}#contact h2{font-size:clamp(32px,8vw,56px)}}

/* Six portraits, puis une silhouette en pied à droite. */
.gallery{grid-template-columns:repeat(4,minmax(0,1fr))}
.gallery .photo-0{grid-column:4;grid-row:1 / span 2;display:flex;flex-direction:column}
.gallery .photo-0 img{flex:1;height:0;min-height:0;width:100%;object-fit:cover;object-position:center}
.gallery .photo-0>span{flex-shrink:0}
@media(max-width:760px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery .photo-0{grid-column:1 / -1;grid-row:auto;align-items:center}.gallery .photo-0 img{flex:none;height:auto;max-width:340px;aspect-ratio:auto}.gallery .photo-0>span{width:100%;max-width:340px}}

/* Silhouette à gauche et portrait d’accueil sans recadrage du visage. */
@media(min-width:761px){
.gallery .photo-0{grid-column:1;grid-row:1 / span 2}
.gallery .photo-4{grid-column:2;grid-row:1}
.gallery .photo-5{grid-column:3;grid-row:1}
.gallery .photo-6{grid-column:4;grid-row:1}
.gallery .photo-1{grid-column:2;grid-row:2}
.gallery .photo-2{grid-column:3;grid-row:2}
.gallery .photo-3{grid-column:4;grid-row:2}
}
.first-screen .hero-photo img{object-fit:contain;object-position:center top;background:#555557}
@media(max-width:760px){.first-screen .hero-photo img{object-fit:contain;object-position:center top;background:#555557}}

/* Accueil épuré : nom, actions et portrait. */
.first-screen .intro{display:flex;flex-direction:column;justify-content:center;gap:28px}
.first-screen h1{margin:0}
.first-screen .hero-photo img{height:100%}
@media(max-width:760px){.first-screen .intro{gap:18px}.first-screen .hero{gap:22px;padding-top:22px}}
@media(max-height:580px) and (max-width:760px){.first-screen .intro{gap:14px}.first-screen .hero{gap:16px;padding-top:12px}}

.hero-profession{margin:14px 0 0;font-size:16px;font-weight:400;letter-spacing:1.5px;color:var(--muted);line-height:1.4}
.hero-profession span{margin:0 5px;color:var(--accent)}
@media(max-width:760px){.hero-profession{font-size:13px;margin-top:9px;letter-spacing:1px}}

/* Actions de l’accueil : espacements compacts et bouton PDF à contour. */
.first-screen .actions .button{gap:10px;justify-content:center;border:1px solid var(--ink)}
.first-screen .actions .button-outline{background:transparent;color:var(--ink)}
.first-screen .actions .button-outline:hover{background:var(--ink);color:#fff}

/* Bannière : le dégradé reste dans la partie gauche, le visage reste dégagé. */
.first-screen .hero-banner{position:relative;isolation:isolate;margin:0;padding:40px 5%;display:flex;align-items:center;background:#555557;overflow:hidden}
.first-screen .hero-banner .hero-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;display:block;margin:0}
.first-screen .hero-banner .hero-photo img{display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:75% top;background:transparent}
.first-screen .hero-banner::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#fffffffa 0%,#fffffff0 23%,#ffffffb8 39%,#ffffff45 51%,#ffffff00 61%)}
.first-screen .hero-banner .intro{width:49%;gap:28px}
.first-screen .hero-banner h1{font-size:clamp(52px,7.2vw,104px)}
@media(max-width:760px){
.first-screen .hero-banner{display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;padding:0;background:#fff;gap:0}
.first-screen .hero-banner .hero-photo{position:absolute;inset:0 0 auto;height:56%;width:100%;z-index:-2}
.first-screen .hero-banner .hero-photo img{object-fit:cover;object-position:80% top}
.first-screen .hero-banner::before{inset:0 0 auto;height:56%;background:linear-gradient(90deg,#ffffff70 0%,#ffffff30 25%,transparent 48%)}
.first-screen .hero-banner .intro{width:100%;height:44%;padding:16px 5%;gap:16px;justify-content:center;background:#fff}
.first-screen .hero-banner h1{font-size:clamp(36px,9.5vw,62px)}
.first-screen .hero-banner h1 br{display:none}
.first-screen .hero-banner h1 em:before{content:' '}
}
@media(max-width:760px) and (max-height:580px){
.first-screen .hero-banner{justify-content:center;padding:18px 5%}
.first-screen .hero-banner .hero-photo{inset:0;height:100%;width:100%}
.first-screen .hero-banner::before{inset:0;height:100%;background:linear-gradient(90deg,#fffffff5 0%,#ffffffd9 29%,#ffffff70 45%,transparent 61%)}
.first-screen .hero-banner .intro{width:52%;height:auto;padding:0;background:transparent;gap:14px}
.first-screen .hero-banner h1{font-size:clamp(28px,6vw,42px)}
.first-screen .hero-banner h1 br{display:block}
.first-screen .hero-banner h1 em:before{content:''}
}

/* Cadrage plus rapproché, ancré près du visage. */
.first-screen .hero-banner .hero-photo{overflow:hidden}
.first-screen .hero-banner .hero-photo img{transform:scale(1.14);transform-origin:75% 70%}

.hero-banner .hero-photo picture{display:block;width:100%;height:100%}
@media(max-width:760px){
.first-screen .hero-banner{justify-content:flex-start;align-items:stretch;padding:0;display:flex;background:#555557}
.first-screen .hero-banner .hero-photo{position:absolute;inset:0;width:100%;height:100%}
.first-screen .hero-banner .hero-photo img{transform:none;object-fit:cover;object-position:center center;width:100%;height:100%}
.first-screen .hero-banner::before{inset:0;height:100%;background:linear-gradient(180deg,#fffffff5 0%,#ffffffdf 19%,#ffffff85 29%,transparent 37%)}
.first-screen .hero-banner .intro{width:100%;height:auto;padding:22px 5% 0;gap:16px;justify-content:flex-start;align-items:center;text-align:center;background:transparent}
.first-screen .hero-banner h1{font-size:clamp(32px,8.6vw,56px);line-height:1.04}
.first-screen .hero-banner h1 br{display:none}.first-screen .hero-banner h1 em:before{content:' '}
.first-screen .hero-banner .hero-profession{margin-top:7px;font-size:12px}
.first-screen .hero-banner .actions{justify-content:center;gap:12px;flex-direction:row}
}
@media(max-width:760px) and (max-height:580px){
.first-screen .hero-banner{justify-content:center;padding:12px 5%}
.first-screen .hero-banner .hero-photo{left:45%;width:55%}
.first-screen .hero-banner .hero-photo img{object-position:center 65%}
.first-screen .hero-banner::before{background:linear-gradient(90deg,#fff 0%,#fff 39%,#ffffff90 49%,transparent 60%)}
.first-screen .hero-banner .intro{width:46%;padding:0;align-items:flex-start;text-align:left;gap:12px}
.first-screen .hero-banner h1{font-size:clamp(26px,5.5vw,38px)}
.first-screen .hero-banner h1 br{display:block}.first-screen .hero-banner h1 em:before{content:''}
.first-screen .hero-banner .actions{justify-content:flex-start;gap:9px}
}

/* Mobile : image sans dégradé, identité en haut et actions sur le tee-shirt. */
@media(max-width:760px){
.first-screen .hero-banner::before{display:none;background:none}
.first-screen .hero-banner .hero-photo{inset:0;width:100%;height:100%}
.first-screen .hero-banner .hero-photo img{object-position:center center;transform:none}
.first-screen .hero-banner .intro{position:static;width:100%;height:100%;padding:24px 5% 22px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;text-align:center;gap:16px;background:transparent}
.first-screen .hero-banner h1{color:#fff;font-size:clamp(32px,8.6vw,56px);text-shadow:0 1px 3px #0003}
.first-screen .hero-banner h1 em{color:#fff}
.first-screen .hero-banner h1 br{display:none}
.first-screen .hero-banner h1 em:before{content:' '}
.first-screen .hero-banner .hero-profession,.first-screen .hero-banner .hero-profession span{color:#f0f4fa}
.first-screen .hero-banner .actions{justify-content:center;gap:12px;flex-direction:row;flex-wrap:wrap;width:100%;margin-top:auto}
.first-screen .hero-banner .actions .button{background:#182b42;color:#fff;border-color:#182b42;box-shadow:0 2px 7px #182b421a}
.first-screen .hero-banner .actions .button-outline{background:#fffffff5;color:#182b42;border-color:#182b42}
.first-screen .hero-banner .actions .button:hover{background:#38669c;border-color:#38669c;color:#fff}
}
@media(max-width:760px) and (max-height:580px){
.first-screen .hero-banner{padding:0}
.first-screen .hero-banner .intro{padding:14px 5%;width:100%;text-align:center;align-items:center}
.first-screen .hero-banner h1{font-size:clamp(26px,5.5vw,38px)}
.first-screen .hero-banner .hero-photo img{object-fit:contain;object-position:center;background:#555557}
.first-screen .hero-banner .actions{justify-content:center;gap:10px}
}

/* Bannière sans dégradé, palette contrastée sur toutes les tailles. */
.first-screen .hero-banner::before{display:none;background:none}
.first-screen .hero-banner h1,.first-screen .hero-banner h1 em{color:#fff;text-shadow:0 1px 3px #0003}
.first-screen .hero-banner .hero-profession,.first-screen .hero-banner .hero-profession span{color:#f0f4fa}
.first-screen .hero-banner .actions .button{background:#fff;color:#182b42;border-color:#fff;box-shadow:none}
.first-screen .hero-banner .actions .button-outline{background:#182b42;color:#fff;border-color:#b7cbe1}
.first-screen .hero-banner .actions .button:hover{background:#dceafa;color:#182b42;border-color:#dceafa}
.first-screen .hero-banner .actions .button-outline:hover{background:#284c76;color:#fff;border-color:#fff}
@media(max-width:760px){
.first-screen .hero-banner .intro{justify-content:flex-start;height:auto;gap:16px;padding:24px 5% 0}
.first-screen .hero-banner .actions{margin-top:0}
}
@media(max-width:760px) and (max-height:580px){
.first-screen .hero-banner .intro{padding:14px 5% 0;gap:12px}
}

/* Menu fixe, transparent sur la bannière, blanc après défilement. */
html{scroll-padding-top:calc(var(--header-height) + 18px)}
header{position:fixed;top:0;left:50%;transform:translateX(-50%);width:100%;z-index:50;background:transparent;color:#fff;border-bottom:1px solid transparent;transition:background-color .2s,color .2s,box-shadow .2s}
header .menu-toggle{color:inherit}
header.is-scrolled,header.menu-is-open{background:#fff;color:var(--ink);box-shadow:0 2px 12px #182b4212;border-bottom-color:var(--line)}
header :focus-visible{outline-color:#fff}
header.is-scrolled :focus-visible,header.menu-is-open :focus-visible{outline-color:var(--accent)}
.first-screen{height:100vh;height:100svh}
.first-screen .hero-banner{padding-top:calc(var(--header-height) + 24px)}
@media(max-width:760px){
.first-screen .hero-banner{padding:0}
.first-screen .hero-banner .intro{padding:calc(var(--header-height) + 30px) 5% 0;gap:32px}
header nav{color:var(--ink);background:#fff}
}
@media(max-width:760px) and (max-height:580px){
.first-screen .hero-banner .intro{padding:calc(var(--header-height) + 16px) 5% 0;gap:22px}
}
@media(prefers-reduced-motion:reduce){header{transition:none}}

/* Même signature dans le menu et la bannière. */
.brand{font-family:inherit;font-weight:600;letter-spacing:-.055em}
.brand span{font-weight:400;letter-spacing:1px}
@media(max-width:760px){
.first-screen .hero-banner .hero-identity{display:none}
.first-screen .hero-banner .intro{gap:0}
}

/* Mobile : transfert progressif du nom de la bannière vers le menu. */
@media(max-width:760px){
.first-screen .hero-banner .hero-identity{display:block;will-change:opacity}
.first-screen .hero-banner .intro{gap:32px}
header .brand{opacity:var(--brand-progress,0)}
header .menu-toggle{margin-left:auto}
}
@media(max-width:760px) and (max-height:580px){.first-screen .hero-banner .intro{gap:22px}}
@media(prefers-reduced-motion:reduce){.first-screen .hero-banner .hero-identity{will-change:auto}}

/* Signature permanente dans le menu mobile. */
@media(max-width:760px){header .brand{opacity:1;visibility:visible}.first-screen .hero-banner .hero-identity{opacity:1;will-change:auto}}

/* Mobile : boutons seuls et portrait remonté pour réduire le vide supérieur. */
@media(max-width:760px){
.first-screen .hero-banner .hero-identity{display:none}
.first-screen .hero-banner .intro{padding:calc(var(--header-height) + 24px) 5% 0;gap:0}
.first-screen .hero-banner .hero-photo img{object-position:center center;transform:scale(1.12);transform-origin:center 85%}
}
@media(max-width:760px) and (max-height:580px){
.first-screen .hero-banner .intro{padding:calc(var(--header-height) + 14px) 5% 0}
.first-screen .hero-banner .hero-photo img{transform:none;object-position:center 70%}
}

/* Essai mobile : monogramme dans le menu, signature dans la bannière. */
.brand .brand-full{display:block;font-size:inherit;font-weight:600;letter-spacing:inherit;margin:0;line-height:1.1}
.brand .brand-full>span{margin-top:2px;font-size:8px;font-weight:400;letter-spacing:1px}
.brand .brand-monogram{display:none}
@media(max-width:760px){
.brand{min-width:0}
.brand .brand-full{display:none}
.brand .brand-monogram{display:block;font-size:25px;font-weight:600;letter-spacing:-1.5px;margin:0;line-height:1}
.first-screen .hero-banner .hero-identity{display:block}
.first-screen .hero-banner .intro{padding:calc(var(--header-height) + 22px) 5% 0;gap:24px}
.first-screen .hero-banner h1{font-size:clamp(30px,8vw,48px)}
.first-screen .hero-banner .hero-profession{font-size:12px;margin-top:8px}
.first-screen .hero-banner .actions{gap:12px;margin-top:0}
.first-screen .hero-banner .hero-photo img{transform:scale(1.04);transform-origin:center 85%}
}
@media(max-width:760px) and (max-height:660px){
.first-screen .hero-banner .intro{padding-top:calc(var(--header-height) + 10px);gap:14px}
.first-screen .hero-banner h1{font-size:clamp(28px,7.5vw,38px)}
.first-screen .hero-banner .hero-profession{margin-top:5px;font-size:11px}
}
@media(max-width:760px) and (max-height:450px){
.first-screen .hero-banner .intro{padding-top:calc(var(--header-height) + 8px);gap:10px}
.first-screen .hero-banner h1{font-size:26px}
.first-screen .hero-banner .hero-photo img{transform:none}
}

/* Menu mobile : signature complète et séparateur discret. */
@media(max-width:760px){
.brand .brand-full{display:block;font-size:13px;font-weight:600;letter-spacing:-.055em}
.brand .brand-full>span{font-size:7px;margin-top:1px;letter-spacing:1px}
.brand .brand-monogram{display:none}
header{border-bottom:1px solid #ffffff30}
header.is-scrolled,header.menu-is-open{border-bottom-color:var(--line)}
}

/* Invitation à défiler superposée à la bannière. */
.first-screen{position:relative;display:block}
.first-screen .hero-banner{height:100%;padding-bottom:88px}
.first-screen .scroll-cue{position:absolute;bottom:0;left:0;right:0;z-index:2;margin:0;height:76px;padding:10px 5% 16px;border:0;background:transparent;color:#182b42;text-shadow:0 1px 3px #ffffffa0}
.first-screen .scroll-cue:hover{color:#38669c}
@media(max-width:760px){
.first-screen .hero-banner{padding-bottom:0}
.first-screen .scroll-cue{height:66px;padding:8px 5% 12px}
}

/* Lisibilité de l’invitation sur la bannière ordinateur. */
@media(min-width:761px){
.first-screen .scroll-cue{color:#fff;text-shadow:0 2px 5px #08172de6,0 1px 2px #08172d}
.first-screen .scroll-cue:hover{color:#fff}
}

/* Séparateur du menu sur ordinateur, comme sur mobile. */
@media(min-width:761px){
header{border-bottom:1px solid #ffffff30}
header.is-scrolled,header.menu-is-open{border-bottom-color:var(--line)}
}

/* Séparateur léger, aligné sur les marges du contenu. */
header,header.is-scrolled,header.menu-is-open{border-bottom:0}
header::after{content:'';position:absolute;bottom:0;left:5%;right:5%;height:1px;background:#ffffff1c;pointer-events:none}
header.is-scrolled::after,header.menu-is-open::after{background:#182b4214}

/* Ordinateur : davantage d’air entre le visage et le menu. */
@media(min-width:761px){
.first-screen .hero-banner .hero-photo img{transform:translateY(24px) scale(1.14)}
}

/* Le menu adopte la palette de la rubrique sous son centre. */
header{transition:background-color .35s ease,color .35s ease,box-shadow .35s ease}
header::after{transition:background-color .35s ease}
header.is-dark-section.is-scrolled,header.is-dark-section.menu-is-open{background:#284c76;color:#fff;box-shadow:0 2px 12px #08172d12}
header.is-dark-section::after{background:#ffffff1c}
header.is-dark-section :focus-visible{outline-color:#fff}
@media(max-width:760px){
header nav{transition:background-color .35s ease,color .35s ease}
header.is-dark-section nav{background:#284c76;color:#fff;border-top-color:#ffffff26}
header.is-dark-section nav a{border-bottom-color:#ffffff26}
}
@media(prefers-reduced-motion:reduce){header,header::after,header nav{transition:none}}

/* Menu en contraste inversé par rapport à la rubrique. */
header.is-scrolled,header.menu-is-open{background:#284c76;color:#fff;box-shadow:0 2px 12px #08172d18}
header.is-scrolled::after,header.menu-is-open::after{background:#ffffff1c}
header.is-scrolled :focus-visible,header.menu-is-open :focus-visible{outline-color:#fff}
header.is-dark-section.is-scrolled,header.is-dark-section.menu-is-open{background:#fff;color:var(--ink);box-shadow:0 2px 12px #182b4212}
header.is-dark-section.is-scrolled::after,header.is-dark-section.menu-is-open::after{background:#182b4214}
header.is-dark-section :focus-visible{outline-color:var(--accent)}
@media(max-width:760px){
header nav{background:#284c76;color:#fff;border-top-color:#ffffff26}
header nav a{border-bottom-color:#ffffff26}
header.is-dark-section nav{background:#fff;color:var(--ink);border-top-color:var(--line)}
header.is-dark-section nav a{border-bottom-color:var(--line)}
}

/* Légendes des vues de casting. */
.photo>span{font-size:11px;line-height:1.4;gap:10px;padding-top:10px}
.photo>span b{font-weight:400;flex-shrink:0}

/* Visionneuse avec navigation et transitions. */
.photo{cursor:pointer}
.viewer{position:fixed;inset:0;width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#0b1420f5;color:#fff;overflow:hidden;opacity:1}
.viewer::backdrop{background:#08111dee}
.viewer[open]{animation:viewer-open .28s ease both}
.viewer.is-closing{animation:viewer-close .18s ease both}
.viewer-viewport{position:absolute;inset:65px 70px 68px;overflow:hidden;touch-action:pan-y pinch-zoom}
.viewer-track{height:100%;display:flex;transition:transform .38s cubic-bezier(.22,.7,.2,1);will-change:transform}
.viewer-track.instant{transition:none}
.viewer-slide{flex:0 0 100%;width:100%;height:100%;margin:0;display:flex;align-items:center;justify-content:center}
.viewer .viewer-slide img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;margin:0;user-select:none}
.viewer button{position:absolute;z-index:3;display:grid;place-items:center;width:46px;height:46px;padding:11px;border:1px solid #ffffff35;border-radius:50%;background:#132339b3;color:#fff;cursor:pointer;transition:background .2s}
.viewer button:hover{background:#38669c}
.viewer button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.viewer-close{top:max(14px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right))}
.viewer-prev{left:12px;top:calc(50% - 23px)}
.viewer-next{right:12px;top:calc(50% - 23px)}
.viewer-caption{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));left:60px;right:60px;margin:0;text-align:center;font-size:12px;line-height:1.5;text-transform:capitalize;color:#e2eaf5}
@keyframes viewer-open{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
@keyframes viewer-close{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.98)}}
@media(max-width:760px){.viewer-viewport{inset:70px 10px 74px}.viewer-prev{left:10px}.viewer-next{right:10px}.viewer button{background:#132339d9}.viewer-caption{left:16px;right:16px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.viewer[open],.viewer.is-closing{animation:none}.viewer-track,.viewer button{transition:none}}

/* Verre transparent : le site reste visible et flouté derrière la photo. */
.viewer{background:transparent;color:#182b42}
.viewer::backdrop{background:transparent;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.viewer-track{position:relative;display:block;transform:none!important;transition:none;will-change:auto}
.viewer-slide{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none}
.viewer-slide.is-active,.viewer-slide.is-leaving{opacity:1;visibility:visible}
.viewer-slide.is-active{z-index:1;pointer-events:auto}
.viewer-slide.is-leaving{z-index:0;pointer-events:none}
.viewer button{color:#182b42;background:#ffffff32;border:1px solid #ffffff90;box-shadow:inset 0 1px 0 #ffffffb0,0 4px 18px #182b421a;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.viewer button:hover{background:#ffffff80}
.viewer-caption{color:#182b42;text-shadow:0 1px 5px #fff,0 0 12px #fff}
@media(max-width:760px){.viewer button{background:#ffffff40}}

/* Voile léger pour mettre les photos en valeur sur le verre flouté. */
.viewer::backdrop{background:rgba(8,17,29,.22)}

.measurements-figure{margin:40px auto 0;max-width:1100px}
.measurements-figure a{display:block}
.measurements-figure img{display:block;width:100%;height:auto}
.measurements-figure figcaption{display:flex;justify-content:space-between;gap:15px;margin-top:14px;font-size:11px;color:var(--muted);line-height:1.5}
@media(max-width:760px){.measurements-figure{margin-top:28px}.measurements-figure figcaption{font-size:10px}}

/* Barre de mensurations légèrement mise en valeur. */
#profil details{padding:0;border:1px solid #38669c18;border-radius:5px;overflow:hidden}
#profil summary{padding:20px 22px;background:rgba(56,102,156,.055);color:var(--ink);font-weight:500;transition:background-color .2s}
#profil summary:hover{background:rgba(56,102,156,.09)}
#profil details[open] summary{background:rgba(56,102,156,.075);border-bottom:1px solid #38669c18}
#profil details>.facts{margin:30px 22px}
#profil details>.measurements-figure{margin:30px auto 22px;padding:0 22px}
#profil details[open] summary span{font-size:0}
#profil details[open] summary span::after{content:'−';font-size:13px}
@media(max-width:760px){#profil summary{padding:18px 16px}#profil details>.facts{margin:24px 16px}#profil details>.measurements-figure{padding:0 12px;margin-top:24px}}
@media(prefers-reduced-motion:reduce){#profil summary{transition:none}}
