@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{--navy:#101d2d;--blue:#0789bd;--cyan:#05b6fa;--sky:#edf7fb;--muted:#526171;--line:#d9dedf;--max:1400px}
body{background:#f4f0e9;color:#151b27;font-family:'DM Sans',Arial,sans-serif}
h1,h2,h3,h4{font-family:Manrope,Arial,sans-serif;letter-spacing:-.055em}
p{color:#536171}
.wrap{width:min(calc(100% - 10vw),var(--max))}
.eyebrow{letter-spacing:.17em;color:#087cad}
.btn{border-radius:2px;font-family:'DM Sans',Arial,sans-serif}
.primary{background:#0789bd;box-shadow:none}.primary:hover{box-shadow:0 10px 22px #006a9640}
.light{background:white;color:#10253a}
.topbar{background:#101d2d;letter-spacing:.15em}
header{background:#f7f5f0f2;border-color:#d8d6d0}
header nav{min-height:78px}
.brand img{width:170px}.brand>span{border-color:#b8c3c8;color:#122c3e}.brand small{color:#087cad}
.navlinks{font-size:14px}.navlinks>a:not(.btn):hover{color:#087cad}

/* A person and a project lead the story; the acquisition message stays in the hero. */
.hero{min-height:690px;display:flex;align-items:center;padding:80px 0 88px;background-image:linear-gradient(90deg,#061626ed 0%,#061626c9 39%,#06162628 100%),url('assets/rencontre-immobiliere.webp');background-position:center 40%}
.hero-grid{width:min(calc(100% - 10vw),var(--max));min-height:0}
.hero-copy{max-width:710px}
.hero .badge{border-radius:2px;letter-spacing:.12em;font-size:11px}
.hero h1{font-size:clamp(48px,5.6vw,82px);max-width:750px;line-height:1.04;margin-bottom:26px}
.hero .lead{max-width:650px;font-size:19px;line-height:1.55}
.hero .intro{max-width:590px;margin-top:20px;line-height:1.65}
.hero .actions{margin-top:33px}.hero .trust{font-size:12px;letter-spacing:.02em}
.hero .photo-caption{right:0;bottom:-47px;width:320px;border-radius:1px;padding:18px 22px;background:#08567de8;border:0}
.hero .photo-caption strong{font-size:17px;line-height:1.3}
.proof{background:#fff;padding:29px 0;border-color:#d9dedf}
.proof-row>strong{font-size:15px}.proof-row>div{border-color:#d9dedf}
.proof-mark{color:#087cad}
.proof-logo{width:125px;height:auto;max-height:48px;object-fit:contain;object-position:left center}

/* The digital path ends with an agency conversation. */
.human-journey{background:#f4f0e9;padding:125px 0 115px}
.human-journey-grid{grid-template-columns:.9fr 1.1fr;gap:8%}
.human-journey-copy h2{font-size:clamp(40px,4.6vw,67px);line-height:1.09}
.human-journey-copy>p{color:#4e5b68;font-size:19px}
.human-journey-photo{border-radius:0;min-height:600px}
.human-journey-photo img{height:600px}
.human-journey-photo figcaption{left:0;bottom:0;right:auto;width:min(430px,87%);padding:23px 27px;background:#075b8a;font-size:17px}
.human-journey-steps>div{grid-template-columns:42px 1fr;padding:16px 0}

/* Editorial problems, then a clear audit invitation. */
#enjeux{background:#fff}
#enjeux .section-head{max-width:860px}
#enjeux .section-head h2{font-size:clamp(42px,4.5vw,64px)}
.cards{gap:0;border-top:1px solid #c9d3d8;border-bottom:1px solid #c9d3d8}
.entry{border:0;border-radius:0;box-shadow:none;padding:33px 28px 31px;min-height:365px;transition:background .2s}
.entry+ .entry{border-left:1px solid #c9d3d8}
.entry:hover{transform:none;background:#f1f8fa}
.entry .icon{background:#e9f7fc;border-radius:0}
.entry h3{font-size:clamp(22px,2vw,29px)}
.entry-link{font-size:14px;color:#067ba9}
.site-audit{border-radius:0;margin-top:34px;padding:35px 39px;background:#075b8a}
.site-audit-label{color:#acecff}.site-audit p{color:#e0f2fa}

/* The method includes a real conversation rather than only a process diagram. */
#approche{background:#f4f0e9}
#approche .section-head{max-width:810px}
#approche .section-head h2{font-size:clamp(42px,4.5vw,64px)}
.strategy{grid-template-columns:.85fr 1.15fr;border:0;border-radius:0;box-shadow:none;background:#fff}
.strategy-intro{padding:50px;background:#102b40}
.strategy-intro h3{font-size:clamp(30px,3vw,43px)}
.strategy-intro p{color:#d2e3ed}
.strategy-steps{padding:0 38px 24px}
.strategy-visual{position:relative;margin:0 -38px 12px;height:260px;overflow:hidden;background:#dce5e6}
.strategy-visual img{width:100%;height:100%;object-fit:cover;object-position:72% 45%}
.strategy-visual span{position:absolute;bottom:0;left:0;right:0;padding:18px 26px;background:linear-gradient(transparent,#081b2bec);color:white;font-size:14px;font-weight:750}
.strategy-steps>div:not(.strategy-visual){padding:16px 0}
.strategy-steps p{font-size:15px}
.note{font-size:13px;color:#637180}

#parcours{background:#fff}
#parcours .section-head h2{font-size:clamp(40px,4.2vw,60px)}
.tabs{border-color:#bfcbd0}.tabs button[aria-selected=true]{background:#ecf7fa;border-radius:0;color:#087cad}
.panel-list>div{border-radius:0;background:#f6f8f7}

/* Keep every quantified claim and caveat, with a more restrained visual rhythm. */
.quantified{background:#102b40;color:white;padding:105px 0 52px}
.quantified h2{font-size:clamp(42px,4.4vw,64px)}
.quantified em{color:#7cddff}
.quantified .eyebrow{color:#8fdffc}
.quantified .new-intro,.quantified .metric-context{color:#d1e3ef}
.metric-grid{gap:12px}
.metric-card,.metric-card:first-child{background:#173a51;border:1px solid #ffffff2a;border-radius:0;box-shadow:none;color:#fff}
.metric-card h3,.metric-card p{color:#f0f7fb}
.metric-card .new-icon{background:#1e4d69;color:#8cdeff}
.metric-kind,.metric-tag{color:#9adcf5}
.metric-value{color:#fff}
.metric-note{color:#bbd3e2}
.quantified .new-banner{border-top:1px solid #ffffff45;background:transparent;border-radius:0;padding:28px 0 0}
.quantified .new-banner p{color:#c7e3f0}

.solutions{background:#f4f0e9;padding:100px 0}
.solutions h2{font-size:clamp(40px,4.3vw,63px)}
.solutions .new-intro{max-width:740px}
.offer-grid{gap:15px}
.offer-card{border:1px solid #d5dbda;border-radius:0;box-shadow:none;padding:32px;background:#fff}
.offer-card h3{font-size:clamp(22px,2vw,28px)}
.offer-cta{border-radius:0}
.solutions .new-banner{border-radius:0;background:#075b8a;padding:32px 36px}

/* The featured case and the other agencies become photographic editorial stories. */
.case-section{background:#fff;padding:105px 0}
.case{border-radius:0;grid-template-columns:.85fr 1.15fr;min-height:455px}
.case-brand{background:linear-gradient(0deg,#0b2536dc,#0b253664),url('assets/equipe-edouard-vii.png') center center/cover;padding:55px 38px;border:0}
.case-brand .eyebrow{color:#b0e4fa}
.case-brand>p,.case-brand .client-tags span{color:#e7f2f8}
.case-copy{padding:60px 6vw}
.case-copy h2{font-size:clamp(35px,3.4vw,50px)}
.case-copy p{font-size:17px;color:#d3e3eb;line-height:1.65}
.references{background:#fff;padding-top:10px}
.references .section-head{max-width:950px}
.references h2{font-size:clamp(40px,4.3vw,63px)}
.reference-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 0;margin-top:22px;border-top:1px solid #bfcbce;color:#61717d;font-size:11px;font-weight:800;letter-spacing:.13em}
.reference-controls>div{display:flex;gap:7px}
.reference-controls button{width:45px;height:45px;border:1px solid #aabcc3;background:white;color:#102d40;font-size:22px;cursor:pointer}
.reference-controls button:hover,.reference-controls button:focus-visible{background:#075b8a;color:#fff}
.reference-grid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#99bac7 transparent;padding:0 0 14px;overscroll-behavior-inline:contain}
.reference-card,.reference-card:nth-child(4),.reference-card:nth-child(5),.reference-card:last-child{flex:0 0 clamp(300px,32vw,450px);max-width:none;grid-column:auto;justify-self:auto;border:1px solid #d7dfdf;border-radius:0;box-shadow:none;scroll-snap-align:start}
.reference-card>img{height:280px;aspect-ratio:auto;object-fit:cover}
.reference-content{padding:25px 27px}
.reference-content h3{font-size:26px}
.references+.section{background:#fff;padding-top:70px}
.ownership{border-top:1px solid #cbd5d8;padding-top:72px}
.responsibilities article{border-bottom:1px solid #d1dcdf;padding-bottom:17px}
.process article{border-radius:0;border-color:#d1dcdf;box-shadow:none}
.contact{border-radius:0;background:#075b8a}
.contact form{border-radius:0}
.faq-section{background:#fff;padding-top:100px}
footer{background:#101d2d}

@media(max-width:1050px){.hero{min-height:650px}.hero .photo-caption{display:none}.human-journey-grid{gap:5%}.strategy{grid-template-columns:.8fr 1.2fr}.case-copy{padding:48px}}
@media(max-width:760px){
 .wrap,.hero-grid,.quantified .wrap,.solutions .wrap{width:calc(100% - 44px)}
 .topbar span{display:none}
 header nav{min-height:70px}.brand img{width:140px}.brand>span{font-size:10px;padding-left:10px}
 .hero{min-height:0;display:block;padding:105px 0 75px;background-image:linear-gradient(180deg,#06162660 0%,#061626d9 38%,#061626f5 100%),url('assets/rencontre-immobiliere.webp');background-position:60% center}
 .hero-grid{min-height:0}.hero .badge{font-size:10px}.hero h1{font-size:clamp(41px,10vw,61px)}.hero .lead{font-size:18px}.hero .intro{font-size:16px}.hero .actions{gap:16px}
 .proof{padding:25px 0}
 .human-journey{padding:75px 0}.human-journey-grid{display:grid;grid-template-columns:1fr;gap:35px}.human-journey-copy h2{font-size:clamp(39px,9vw,55px)}.human-journey-copy>p{font-size:17px}.human-journey-photo,.human-journey-photo img{height:400px;min-height:400px}
 #enjeux .section-head h2,#approche .section-head h2{font-size:clamp(37px,9vw,53px)}
 .cards{display:block}.entry{min-height:0;padding:25px 0 27px}.entry+.entry{border-left:0;border-top:1px solid #c9d3d8}.entry .number{margin:14px 0 8px}.entry h3{font-size:26px}
 .site-audit{padding:28px 24px}.site-audit .btn{width:100%}
 .strategy{display:block}.strategy-intro{padding:33px}.strategy-steps{padding:0 25px 20px}.strategy-visual{margin:0 -25px 8px;height:230px}
 .quantified{padding-top:76px}.quantified h2,.solutions h2,.references h2{font-size:clamp(38px,9vw,54px)}
 .metric-card,.offer-card{padding:27px}
 .case-section{padding:65px 0}.case{display:block}.case-brand{min-height:350px}.case-copy{padding:36px 30px}.case-copy p{font-size:16px}
 .references{padding-top:10px}.reference-card,.reference-card:nth-child(4),.reference-card:nth-child(5),.reference-card:last-child{flex-basis:85vw}.reference-card>img{height:230px}.reference-controls{font-size:10px}
 .references+.section{padding-top:35px}.ownership{padding-top:45px}
 .faq-section{padding-top:60px}
}
@media(prefers-reduced-motion:reduce){.reference-grid{scroll-behavior:auto}}

/* Footer sur fond sombre : logo sans aplat et contraste homogène. */
footer,footer p,footer .footer-main b,footer .footer-main>div:not(:first-child),footer .footer-bottom{color:#fff}
footer .footer-bottom{border-top-color:rgba(255,255,255,.2)}
footer a{color:#fff;transition:color .2s ease}
footer a:hover,footer a:focus-visible{color:#01bcfe}

/* A quiet, full-bleed sequence behind the unchanged hero composition. */
.hero{position:relative;isolation:isolate;overflow:hidden;background:#061626}
.hero-slides{position:absolute;inset:0;z-index:-1;pointer-events:none}
.hero-slide{position:absolute;inset:0;background-position:center 43%;background-size:cover;background-repeat:no-repeat;opacity:0;transition:opacity 1.4s ease-in-out}
.hero-slide.active{opacity:1}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#061626ed 0%,#061626c9 39%,#06162628 100%)}
@media(max-width:760px){.hero-slide{background-position:65% center}.hero::after{background:linear-gradient(180deg,#06162660 0%,#061626d9 38%,#061626f5 100%)}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}.hero-slide:not(:first-child){display:none}.hero-slide:first-child{opacity:1}}
