/* P27 — scoped evolution of the existing Maison shell. */
.home-page .hero-content{justify-content:center;min-height:100svh;padding-top:calc(var(--header) + 70px);padding-bottom:70px}
.home-page .hero h1{font-size:clamp(54px,7.6vw,112px);max-width:1100px;line-height:1.02;letter-spacing:-.045em}
.home-page .hero h1 em{font-weight:400;color:#e2d9c9}
.home-page .hero-sub{display:block;max-width:740px;margin:30px 0 0}
.home-page .hero-sub .agency-hero-lead{max-width:620px;font-size:17px;line-height:1.7;color:#e0dcd4;margin:0 0 26px;letter-spacing:0;text-transform:none}
.home-page .hero-ctas{justify-content:flex-start;flex-wrap:wrap;gap:12px}
.home-page .hero .hero-ctas .btn{font-size:10px;min-height:48px}
.agency-section{padding:110px max(28px,calc((100vw - 1260px)/2));background:#090909;color:#ede9e2;overflow:clip}
.agency-section h1,.agency-section h2,.agency-section h3{font-family:var(--serif,Georgia,serif);font-weight:400;letter-spacing:-.035em;text-wrap:balance}
.agency-section h1{font-size:clamp(48px,6.5vw,96px);line-height:1.05;margin:30px 0}
.agency-section h2{font-size:clamp(36px,4.7vw,66px);line-height:1.1;margin:22px 0 28px}
.agency-section h2 em{color:#bbaea0;font-weight:400}
.agency-section p{font:400 15px/1.8 var(--sans,Arial,sans-serif);color:#b9b5ad}
.agency-section .agency-kicker{font-size:10px;letter-spacing:.2em;color:#c9b8a1;line-height:1.6;text-transform:uppercase}
.agency-section .agency-lead{font-size:18px;line-height:1.8;max-width:750px}
.agency-intro{max-width:850px}
.agency-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin-top:60px}
.agency-pillars article{border-top:1px solid #4a4238;padding-top:24px}
.agency-pillars article>span{color:#b6a386;font:italic 20px var(--serif)}
.agency-pillars h3{font-size:30px;margin:20px 0 14px}
.agency-pillars .btn{margin-top:15px}
.agency-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:55px}
.agency-heading>p{max-width:370px;margin-bottom:30px}
.concept-gallery{background:#11110f}
.concept-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:58px 34px}
.concept-card{display:block;color:inherit;text-decoration:none;min-width:0}
.concept-card__image{position:relative;overflow:hidden;background:#222;aspect-ratio:1.33;border-radius:2px}
.concept-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s}
.concept-card:hover img{transform:scale(1.035);filter:brightness(.88)}
.concept-card__name{position:absolute;left:28px;top:25px;z-index:2;color:#ffffff;text-shadow:0 2px 12px rgba(0,0,0,.65);font:400 32px/1 var(--serif);letter-spacing:.08em}
.concept-card__name small{font:10px var(--sans);letter-spacing:.1em}
.concept-card .concept-label{margin:17px 0 4px}
.concept-label{display:block;font:500 9px/1.7 var(--sans,Arial,sans-serif);letter-spacing:.1em;color:#cdbb9f;text-transform:uppercase}
.concept-card__copy p{font-size:11px;margin:10px 0;color:#a8a094}
.concept-card__copy h3{font-size:30px;line-height:1.25;margin:12px 0 20px;max-width:460px}
.concept-open{display:block;font:500 9px/1.6 var(--sans);letter-spacing:.12em;color:#e0d2ba}
.agency-process ol{list-style:none;counter-reset:process;margin:50px 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:38px 60px}
.agency-process li{counter-increment:process;border-top:1px solid #37332d;padding:20px 0 0}
.agency-process li:before{content:'0' counter(process);color:#a18e74;font:11px var(--sans)}
.agency-process h3{font-size:30px;margin:18px 0 12px}
.agency-process li p{max-width:520px}
.agency-universes{background:#11110f}
.agency-final{text-align:center;padding-top:120px;padding-bottom:120px;background:radial-gradient(ellipse at 50% 100%,#242015,#090909 75%)}
.agency-final .btn{margin:20px 7px}
.agency-final .agency-fine{font-size:11px;max-width:500px;margin:18px auto 0}
.agency-section a:focus-visible,.concept-page button:focus-visible{outline:2px solid #d9b680;outline-offset:6px}
.concept-hero{padding-top:calc(var(--header) + 65px);padding-bottom:65px}
.concept-back{display:block;width:fit-content;color:#c2b8a7;font:10px var(--sans);letter-spacing:.1em;margin-bottom:50px;text-decoration:none}
.concept-stage{position:relative;margin:0;padding:0 10vw 80px;background:#0d0d0c;min-height:620px;display:flex;align-items:center}
.concept-stage__visual{width:86%;position:relative;overflow:hidden}
.concept-stage__visual img{width:100%;height:640px;object-fit:cover;display:block}
.concept-stage__visual>span{position:absolute;left:40px;top:35px;z-index:2;font:56px var(--serif);letter-spacing:.05em;color:#ffffff;text-shadow:0 2px 12px rgba(0,0,0,.65)}
.concept-phone{position:relative;width:255px;flex:none;margin:140px 0 -110px -100px;padding:22px 14px 16px;border:5px solid #292723;outline:1px solid #5d554a;border-radius:34px;background:#f5f1e9;color:#302a23;box-shadow:0 30px 60px #0008}
.concept-phone__speaker{display:block;width:55px;height:5px;background:#292723;border-radius:10px;margin:-10px auto 23px}
.concept-phone .mock-brand{font:20px var(--serif);letter-spacing:.12em;margin:10px 0}
.concept-phone .concept-label{color:#625846;font-size:7px;letter-spacing:.04em}
.concept-phone h2{font:30px/1.1 var(--serif);margin:18px 0;font-weight:400}
.concept-phone img{display:block;width:100%;height:180px;object-fit:cover;margin:20px 0}
.concept-phone button{background:#292922;color:#fff;border:0;min-height:44px;border-radius:2px;width:100%;font:11px var(--sans);cursor:pointer}
.concept-phone .mock-note{font:7px/1.6 var(--sans);color:#665e53;margin:12px 0 0}
.concept-story{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-top:140px}
.concept-story h2{font-size:clamp(32px,3.3vw,46px)}
.concept-capabilities{border-top:1px solid #50483b;padding-top:24px;margin-top:30px;color:#d9c7a8!important;font-size:12px!important}
.concept-experience{background:#14130f}
.concept-desktop{margin-top:35px;border:1px solid #6a5a44;border-radius:14px;overflow:hidden;background:#f4f0e6;color:#272921;box-shadow:0 30px 70px #0005}
.mock-toolbar{height:40px;display:flex;align-items:center;gap:6px;padding:0 16px;border-bottom:1px solid #cfc7b8;background:#ded9ce}
.mock-toolbar>span{width:7px;height:7px;border-radius:50%;background:#948a78}
.mock-toolbar strong{font:9px var(--sans);letter-spacing:.1em;flex:1;text-align:center;padding-right:35px}
.mock-desktop-grid{display:grid;grid-template-columns:1fr 1fr;min-height:440px}
.mock-desktop-grid>img{width:100%;height:100%;object-fit:cover;min-height:440px}
.mock-desktop-grid>div{padding:55px 40px}
.mock-desktop-grid .concept-label{color:#68573e}
.mock-desktop-grid h3{font-size:38px;margin:25px 0}
.mock-desktop-grid p{color:#57574c;font-size:14px}
.mock-options{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0}
.mock-options button{min-height:44px;padding:12px 18px;background:transparent;border:1px solid #77745f;color:#33392a;font:12px var(--sans);border-radius:2px;cursor:pointer}
.mock-options button[aria-pressed=true]{background:#33392a;color:#fff}
.mock-desktop-grid [data-demo-result]{min-height:25px;color:#314329;font-size:13px}
.concept-disclosure{padding-top:60px;padding-bottom:60px;border-bottom:1px solid #3c352a}
.concept-disclosure p{max-width:850px;font-size:13px}
@media(max-width:760px){
 .home-page .hero-content{justify-content:flex-end;min-height:100svh;padding:calc(var(--header) + 60px) 23px 48px}
 .home-page .hero h1{font-size:clamp(45px,11vw,74px);line-height:1.04;max-width:100%;text-wrap:balance}
 .home-page .hero .eyebrow{max-width:260px;line-height:1.7;font-size:8px;letter-spacing:.17em}
 .home-page .hero-sub .agency-hero-lead{font-size:14px;line-height:1.7;margin-bottom:24px}
 .home-page .hero .hero-ctas{display:grid;width:100%}
 .home-page .hero .hero-ctas .btn{min-height:48px;width:100%}
 .agency-section{padding:70px 24px}
 .agency-section h2{font-size:38px}
 .agency-section .agency-lead{font-size:16px}
 .agency-pillars{grid-template-columns:1fr;gap:26px;margin-top:35px}
 .agency-pillars h3{font-size:28px}
 .agency-heading{display:block;margin-bottom:35px}
 .agency-heading>p{max-width:none}
 .concept-grid{grid-template-columns:1fr;gap:40px}
 .concept-card__copy h3{font-size:28px}
 .agency-process ol{grid-template-columns:1fr;gap:24px;margin:35px 0}
 .agency-final .btn{width:100%;margin:12px 0}
 .concept-hero{padding-top:calc(var(--header) + 35px);padding-bottom:45px}
 .concept-hero h1{font-size:45px}
 .concept-back{margin-bottom:35px}
 .concept-stage{min-height:0;padding:0 20px 115px;display:block}
 .concept-stage__visual{width:100%}
 .concept-stage__visual img{height:340px}
 .concept-stage__visual>span{font-size:36px;top:25px;left:20px}
 .concept-phone{width:200px;margin:-105px 5px -75px auto;padding:20px 13px 15px;transform:rotate(2deg)}
 .concept-phone h2{font-size:24px}
 .concept-phone img{height:135px;margin:15px 0}
 .concept-story{display:block;padding-top:70px}
 .concept-story>div+div{margin-top:40px}
 .mock-desktop-grid{grid-template-columns:1fr}
 .mock-desktop-grid>img{height:210px;min-height:0}
 .mock-desktop-grid>div{padding:30px 22px}
 .mock-desktop-grid h3{font-size:30px}
 .concept-disclosure{padding-top:40px;padding-bottom:40px}
}
@media(prefers-reduced-motion:reduce){.concept-card img{transition:none}.concept-card:hover img{transform:none}}
/* Keep copy readable over the existing film; the film and portrait are preserved. */
.home-page .hero .hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0009,#0002 85%);pointer-events:none}
.home-page .hero .hero-sub{display:block!important;max-width:760px}
.home-page .hero .hero-ctas{display:flex!important;flex-direction:row!important;align-items:center;gap:12px}
.concept-card .concept-label{font-size:10px;color:#dfceb3}
@media(min-width:961px) and (max-width:1450px){.home-page .site-header>.nav .nav-project-cta,.concept-page .site-header>.nav .nav-project-cta{display:none}.home-page .site-header,.concept-page .site-header{column-gap:26px}.home-page .site-header .nav,.concept-page .site-header .nav{gap:18px}}
@media(max-width:760px){.home-page .hero .hero-ctas{display:grid!important;grid-template-columns:1fr}.home-page .hero .hero-ctas .btn{width:100%;flex:auto}}
/* The historical compact viewport rules use !important. Scope this override to
   the new agency hero so readable copy and both actions fit without clipping. */
@media(max-width:760px){
 html.mc-compact-mobile body.home-page .hero{height:auto!important;min-height:100svh!important;max-height:none!important;overflow:hidden!important}
 html.mc-compact-mobile body.home-page .hero .hero-content{height:auto!important;min-height:100svh!important;max-height:none!important;overflow:visible!important;padding-top:calc(var(--header) + 48px)!important;padding-bottom:max(32px,env(safe-area-inset-bottom))!important}
 html.mc-compact-mobile body.home-page .hero h1{font-size:clamp(40px,11vw,48px)!important;line-height:1.04!important;letter-spacing:-.035em!important}
 html.mc-compact-mobile body.home-page .hero .eyebrow{font-size:9px!important;line-height:1.7!important;letter-spacing:.15em!important}
 html.mc-compact-mobile body.home-page .hero .hero-sub{margin-top:20px!important;padding-top:16px!important}
 html.mc-compact-mobile body.home-page .hero .hero-sub .agency-hero-lead{font-size:14px!important;line-height:1.65!important;letter-spacing:0!important;text-transform:none!important;margin:0 0 20px!important}
 html.mc-compact-mobile body.home-page .hero .hero-ctas{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
 html.mc-compact-mobile body.home-page .hero .hero-ctas .btn{min-height:48px!important;padding:12px 16px!important;line-height:1.4!important;font-size:10px!important}
}

/* Contraste des titres des projets conceptuels — P27 correctif */
.concept-card__image::after{content:"";position:absolute;inset:0 0 auto;height:120px;background:linear-gradient(180deg,rgba(0,0,0,.52),transparent);pointer-events:none;z-index:1}
.concept-stage__visual::after{content:"";position:absolute;inset:0 0 auto;height:145px;background:linear-gradient(180deg,rgba(0,0,0,.52),transparent);pointer-events:none;z-index:1}
