/* Genesis V9 — couche visuelle indépendante. Les formulaires et le camion V8 ne sont pas modifiés. */
.has-photos .hero .wrap,.has-photos .page-hero .wrap{position:relative}
.has-photos .hero:before,.has-photos .page-hero:before{pointer-events:none}
.has-photos section[id]{scroll-margin-top:110px}
.photo-frame{position:relative;isolation:isolate;margin:0;overflow:hidden;border:1px solid #344039;border-radius:24px;background:#101812;min-width:0}
.photo-img{display:block;width:100%;height:100%;object-fit:cover}
.photo-caption{position:absolute;inset:auto 0 0;padding:88px 27px 27px;background:linear-gradient(180deg,transparent,rgba(5,10,7,.84) 64%,rgba(5,10,7,.96));color:#fff}
.photo-caption span{display:block;margin-bottom:9px;color:#bcf7a2;font-size:10px;font-weight:800;letter-spacing:.13em;line-height:1.6;text-transform:uppercase}
.photo-caption strong{display:block;max-width:450px;font-size:23px;font-weight:650;line-height:1.2;letter-spacing:-.025em;text-wrap:balance}
.hero-photos .wrap{grid-template-columns:1.12fr .88fr;gap:48px;padding:60px 0 64px}
.hero-photos .hero-copy{padding:8px 0}
.hero-photos h1{font-size:clamp(43px,5.2vw,74px);letter-spacing:-.056em;line-height:1.005;margin:26px 0}
.hero-photos .hero-copy>p{font-size:18px;line-height:1.7;max-width:545px;color:#c6d3ca;margin-bottom:29px}
.hero-photos .trustrow{gap:11px 23px;max-width:550px;line-height:1.55;font-size:12px}
.hero-photos .eyebrow{font-size:11px}
.home-hero-photo{height:610px;box-shadow:0 24px 75px #0005}
.home-hero-photo .photo-caption{padding-bottom:30px}
.home-hero-photo .photo-caption strong{font-size:29px;max-width:360px}
.has-photos .page-hero-photos .wrap{grid-template-columns:1.12fr .88fr;gap:52px;padding:54px 0 62px}
.has-photos .page-hero-photos h1{font-size:clamp(39px,4.55vw,62px);line-height:1.06;letter-spacing:-.052em;overflow-wrap:anywhere}
.has-photos .page-hero-photos p{font-size:18px;line-height:1.65}
.page-hero-photo{height:510px}
.has-photos .page-hero-photos .trustrow{gap:12px 22px}
.has-photos .photo-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.has-photos .photo-cards.four{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.has-photos .service.photo-service{padding:0;min-height:0;overflow:hidden;border-radius:18px;background:#101713;border-color:#2e3b32;transition:transform .22s ease,border-color .22s ease}
.service-photo{aspect-ratio:1.45;overflow:hidden;position:relative;border-bottom:1px solid #354138;background:#152019}
.service-photo .photo-img{transition:transform .5s ease}
.photo-service:hover .service-photo .photo-img{transform:scale(1.025)}
.service-body{display:flex;flex-direction:column;flex:1;padding:24px}
.has-photos .service-body h3{font-size:22px;line-height:1.16;letter-spacing:-.025em;margin:0 0 12px;overflow-wrap:anywhere}
.has-photos .service-body p{font-size:14px;line-height:1.65;color:#b5c3b9}
.has-photos .service-body .more{margin-top:auto;padding-top:23px}
.home-photos #services .photo-cards{grid-template-columns:repeat(6,minmax(0,1fr))}
.home-photos #services .photo-service{grid-column:span 2}
.home-photos #services .photo-service:nth-child(n+4){grid-column:span 3}
.home-photos #services .photo-service:nth-child(n+4) .service-photo{aspect-ratio:1.85}
.pro-copy-photo{overflow:hidden}
.pro-photo{margin:-38px -38px 30px;height:235px;border-bottom:1px solid #334037}
.pro-photo .photo-img{object-position:50% 42%!important}
.pro-copy-photo h3{font-size:36px}
.home-photos .pro-grid{gap:18px}
.home-photos .pro-grid .mini{display:flex;flex-direction:column;justify-content:center;padding:28px}
.home-photos .pro-grid .mini b{font-size:21px;line-height:1.2}
.home-photos .pro-grid .mini p{font-size:14px;line-height:1.7}
.photo-project{background:#0b110d;border-bottom:1px solid #263329}
.photo-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}
.photo-project-visual{min-width:0}
.photo-project-visual .photo-frame{height:100%;min-height:610px}
.photo-project-grid .hero-card{max-width:none;width:100%;margin:0}
.photo-project-grid .hero-card .micro{line-height:1.65;font-size:12px;color:#9fad9f}
.area-photo{height:450px;align-self:center}
.photo-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.photo-story-image{min-width:0}
.photo-story-image .photo-frame{height:540px}
.photo-story-copy h2{font-size:clamp(32px,3.5vw,46px);line-height:1.09}
.photo-story-copy p{font-size:17px;color:#b5c3b9;line-height:1.8;margin:26px 0}
.photo-story-copy .btn{margin-top:6px}
.photo-story{border-top:1px solid #28352c}
.photo-solutions{padding-top:40px}
.has-photos .copyright{flex-wrap:wrap;align-items:center}
.photo-usage-note{font-size:11px;letter-spacing:.02em;color:#a3b0a8}
@media(min-width:981px) and (max-width:1130px){
 .hero-photos .wrap{gap:30px;grid-template-columns:1.07fr .93fr}
 .hero-photos h1{font-size:57px}
 .home-hero-photo{height:580px}
 .has-photos .page-hero-photos .wrap{gap:30px}
 .has-photos .navlinks{gap:15px;font-size:13px}
 .has-photos nav{gap:18px}.has-photos .logo{min-width:210px}.has-photos .logo img{width:210px}
 .has-photos .service-body h3{font-size:20px}.service-body{padding:20px}
}
@media(max-width:980px){
 .hero-photos .wrap,.has-photos .page-hero-photos .wrap{grid-template-columns:1fr;gap:28px;padding:46px 0 50px}
 .hero-photos .hero-copy{max-width:720px}.hero-photos h1{font-size:clamp(48px,8vw,72px)}
 .hero-photos .hero-copy>p{max-width:680px}
 .home-hero-photo{height:500px;max-width:none;width:100%}
 .home-hero-photo .photo-img{object-position:50% 47%!important}
 .page-hero-photo{height:440px}
 .has-photos .photo-cards,.has-photos .photo-cards.four{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
 .home-photos #services .photo-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-photos #services .photo-service,.home-photos #services .photo-service:nth-child(n+4){grid-column:auto}
 .home-photos #services .photo-service:last-child{grid-column:1/-1}
 .home-photos #services .photo-service:nth-child(n+4) .service-photo{aspect-ratio:1.45}
 .home-photos #services .photo-service:last-child .service-photo{aspect-ratio:2}
 .photo-project-grid{grid-template-columns:1fr 1fr;gap:20px}
 .photo-project-grid .hero-card{padding:22px}
 .photo-project-grid .mini-form{grid-template-columns:1fr}
 .photo-project-visual .photo-frame{min-height:600px}
 .photo-project-visual .photo-caption{padding:70px 20px 22px}
 .area-photo{height:460px;width:100%}
 .photo-story-grid{gap:28px}
 .photo-story-copy h2{font-size:34px}.photo-story-copy p{font-size:16px}
 .photo-story-image .photo-frame{height:530px}
 .home-photos .pro-grid .mini{min-height:195px}
}
@media(max-width:640px){
 .hero-photos .wrap,.has-photos .page-hero-photos .wrap{padding:33px 0 36px;gap:27px}
 .hero-photos h1{font-size:clamp(35px,9.7vw,57px);margin:23px 0;line-height:1.06}
 .hero-photos .hero-copy>p{font-size:16px;line-height:1.7}
 .hero-photos .buttons{gap:10px}.hero-photos .btn{font-size:14px;padding:14px 16px}
 .hero-photos .trustrow{font-size:11px;gap:8px 16px;margin-top:24px}
 .home-hero-photo{height:370px;border-radius:18px}
 .home-hero-photo .photo-caption{padding:72px 21px 24px}
 .home-hero-photo .photo-caption strong{font-size:25px;max-width:310px}
 .has-photos .page-hero-photos h1{font-size:clamp(33px,9.2vw,48px);line-height:1.09}
 .has-photos .page-hero-photos p{font-size:16px}
 .page-hero-photo{height:365px;border-radius:18px}
 .photo-caption{padding:78px 21px 24px}.photo-caption strong{font-size:22px}.photo-caption span{font-size:9px}
 .has-photos .photo-cards,.has-photos .photo-cards.four,.home-photos #services .photo-cards{grid-template-columns:1fr;gap:20px}
 .home-photos #services .photo-service:last-child{grid-column:auto}
 .service-photo,.home-photos #services .photo-service:nth-child(n+4) .service-photo,.home-photos #services .photo-service:last-child .service-photo{aspect-ratio:1.38}
 .service-body{padding:22px}.has-photos .service-body h3{font-size:23px}
 .has-photos .service-body p{font-size:14px}
 .pro-photo{height:225px}.pro-copy-photo{padding:27px}.pro-copy-photo .pro-photo{margin:-27px -27px 24px}
 .pro-copy-photo h3{font-size:32px}.home-photos .pro-grid{grid-template-columns:1fr 1fr;gap:12px}
 .home-photos .pro-grid .mini{padding:18px;min-height:190px}.home-photos .pro-grid .mini b{font-size:18px}.home-photos .pro-grid .mini p{font-size:12px;line-height:1.6}
 .photo-project-grid,.photo-story-grid{grid-template-columns:1fr;gap:23px}
 .photo-project-visual .photo-frame{height:370px;min-height:0}
 .photo-project-grid .hero-card{padding:22px;border-radius:18px}
 .photo-project-grid .mini-form{grid-template-columns:1fr}
 .area-photo{height:370px;border-radius:18px}
 .photo-story-image .photo-frame{height:375px}
 .photo-story-copy h2{font-size:34px}.photo-story-copy p{margin:21px 0}
 .photo-solutions{padding-top:12px}
 .has-photos .copyright{align-items:flex-start}
}
@media(max-width:360px){
 .hero-photos h1{font-size:34px}
 .hero-photos .btn{font-size:13px;padding:13px}
 .home-hero-photo{height:325px}
 .home-photos .pro-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
 .service-photo .photo-img,.has-photos .service.photo-service{transition:none!important}
 .photo-service:hover .service-photo .photo-img{transform:none}
}
/* Le logo reste contenu dans le bandeau, sans recouvrir la barre supérieure. */
.has-photos header .logo{min-width:210px}
.has-photos header .logo img{width:210px;max-height:74px;object-fit:contain;object-position:left center}
@media(max-width:980px){.has-photos header .logo{min-width:0}.has-photos header .logo img{width:185px;max-height:70px}}
@media(max-width:640px){.has-photos header .logo img{width:165px;max-height:58px}}
.has-photos .pro-wrap>*,.has-photos .pro-grid>*,.has-photos .photo-story-copy{min-width:0}
.has-photos .btn{max-width:100%;text-align:center;white-space:normal}
@media(max-width:980px){.has-photos .pro-wrap{grid-template-columns:minmax(0,1fr)}}
@media(max-width:640px){.has-photos .pro-copy:not(.pro-copy-photo){padding:26px}.has-photos .pro-copy:not(.pro-copy-photo) h3{font-size:32px;overflow-wrap:anywhere}}
@media(max-width:360px){.has-photos .section h2,.has-photos .journey-head h2{font-size:30px}.has-photos h2,.has-photos h3{overflow-wrap:anywhere}}
