/* Page d'accueil inspirée de la maquette validée : vraie page responsive et liens fonctionnels. */
.dm-home{background:#fffaf7;color:#122843;font-family:Inter,'Segoe UI',Arial,sans-serif;line-height:1.45}
.dm-home .dm-header{position:relative;background:#fffaf7f5;box-shadow:0 5px 28px #c7a99d1c;border-bottom:1px solid #f1e4dc}
.dm-home .dm-wrap{width:min(1480px,calc(100% - 60px))}
.dm-home .dm-nav{min-height:82px;gap:20px}
.dm-home .dm-brand{width:272px;flex-basis:272px}
.dm-home .dm-brand img{height:74px;object-fit:contain;object-position:left center;mix-blend-mode:multiply}
.dm-home .dm-links{gap:clamp(10px,1.4vw,22px)}
.dm-home .dm-links a{font-size:clamp(.78rem,.9vw,.94rem);font-weight:650;color:#15263b;white-space:nowrap}
.dm-home .dm-links a[aria-current]{border-bottom:2px solid #ba6780;padding-bottom:8px}
.dm-home .dm-links .dm-button{border-radius:30px;padding:12px 18px;color:#fff;background:#bb7086}
.dm-home .dm-button{background:#be7089;border-radius:30px;box-shadow:none;color:white}
.dm-home .dm-button:hover{background:#a65e76}
.dm-home-hero{background:linear-gradient(110deg,#fffaf6 0%,#fbf2ed 55%,#f7eee9 100%);overflow:hidden}
.dm-home-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(315px,365px);gap:26px;align-items:start;padding-top:16px;padding-bottom:18px}
.dm-home-story{position:relative;min-height:510px;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate}
.dm-home-story-content{position:relative;z-index:2;padding:50px 0 24px;max-width:55%}
.dm-home-kicker{color:#a56d4e;font-size:.77rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;margin:0 0 12px}
.dm-home-story h1{font-family:Georgia,'Times New Roman',serif;color:#0f2946;font-size:clamp(2.9rem,4.2vw,4.65rem);line-height:1.03;letter-spacing:-.04em;margin:0 0 22px;font-weight:500}
.dm-home-story h1 span,.dm-home-section-heading h2 span{color:#bd6d87}
.dm-home-story-content>p:not(.dm-home-kicker){font-size:clamp(.96rem,1.12vw,1.1rem);max-width:460px;color:#293b50;line-height:1.65;margin:0 0 22px}
.dm-home-cta{min-width:250px;justify-content:space-between;min-height:46px;padding:10px 22px!important}
.dm-home-hero-photo{position:absolute;right:0;top:0;bottom:52px;width:60%;background-image:linear-gradient(90deg,#fffaf6 0%,#fffaf600 24%),url('img/accueil-photo-sans-texte.webp');background-repeat:no-repeat;background-size:cover;background-position:center 28%;z-index:1;border-radius:20px;mask-image:linear-gradient(to right,transparent 0%,#000 18%)}
.dm-home-values{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:auto}
.dm-home-values>div{display:flex;gap:12px;align-items:center;min-height:80px;padding:13px 15px;border:1px solid #eee0d9;border-radius:22px;background:#ffffffeb;box-shadow:0 10px 20px #bca3a31a}
.dm-home-value-icon{flex:0 0 47px;width:47px;height:47px;border-radius:50%;background:#f9e6e2;display:grid;place-items:center;color:#a85d6f;font-size:1.7rem}
.dm-home-values strong{display:block;color:#172943;font:700 .92rem Georgia,serif;line-height:1.2}
.dm-home-values small{display:block;color:#405067;font-size:.73rem;line-height:1.35;margin-top:4px}
.dm-home-login{background:linear-gradient(150deg,#fffaf8 0%,#f8ede8 100%);border:1px solid #e8dcd5;border-radius:24px;padding:22px 26px 19px;text-align:center;box-shadow:0 12px 34px #9b80751d;min-height:505px}
.dm-home-login-logo{display:block;width:200px;height:72px;object-fit:contain;object-position:center;margin:0 auto 7px;mix-blend-mode:multiply}
.dm-home-login h2{font-family:Georgia,serif;font-size:2.4rem;font-weight:500;color:#112a46;line-height:1;margin:0}
.dm-home-login-sub{font:1.35rem Georgia,serif;color:#112a46;margin:2px 0 12px}
.dm-home-login-description{font-size:.8rem;line-height:1.55;color:#3b4a5f;margin:0 auto 17px;max-width:295px}
.dm-home-login form{text-align:left}
.dm-home-login form label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.dm-home-login input{display:block;width:100%;height:43px;border:1px solid #e2d7d2;border-radius:12px;background:#ffffffb8;padding:10px 13px;color:#162943;font:inherit;font-size:.85rem;margin:0 0 10px}
.dm-home-login input:focus{outline:2px solid #bc738b;outline-offset:1px}
.dm-home-login-options{display:flex;justify-content:flex-end;margin:0 0 13px}
.dm-home-login-options a,.dm-home-request a{font-size:.76rem;color:#91516a;text-underline-offset:3px}
.dm-home-login-submit{width:100%;min-height:43px;justify-content:center;gap:15px;font-size:.9rem;border:0;cursor:pointer}
.dm-home-login-submit:disabled{opacity:.65;cursor:wait}
.dm-home-login-status{color:#9e3147;font-size:.78rem;margin:9px 0 0;text-align:center}
.dm-home-login-divider{display:flex;align-items:center;gap:15px;margin:12px 0;color:#7c6970;font-size:.78rem}
.dm-home-login-divider:before,.dm-home-login-divider:after{content:'';flex:1;height:1px;background:#e4d4cf}
.dm-home-google{width:100%;min-height:42px;border-radius:22px;background:#fff;border:1px solid #e4d6d0;color:#21354d;cursor:pointer;font-weight:650}
.dm-home-google:hover{background:#f8f2ef}
.dm-home-request{margin:14px 0 12px;font-size:.75rem;color:#3e4a59}
.dm-home-help{border-top:1px solid #e5d8d2;margin:0;padding-top:10px;font-size:.74rem;line-height:1.6;color:#3d536a}
.dm-home-help a{color:#a95e79;text-decoration:none}
.dm-home-services{padding-top:30px;padding-bottom:32px}
.dm-home-section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:18px}
.dm-home-section-heading h2{font-family:Georgia,serif;font-weight:500;color:#112b49;font-size:clamp(2rem,2.7vw,3.1rem);margin:0 0 5px;line-height:1.12}
.dm-home-section-heading p:last-child{margin:0;color:#48576b;font-size:1rem}
.dm-home-outline-link{background:#fce9e5;border:1px solid #eec4bf;border-radius:30px;padding:12px 22px;color:#a65d71;white-space:nowrap;text-decoration:none;font-size:.82rem}
.dm-home-lower{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,295px);gap:16px;align-items:stretch}
.dm-home-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.dm-home-service-card{overflow:hidden;border-radius:16px;border:1px solid #f0e5df;background:#fff;box-shadow:0 7px 18px #ae999318;display:flex;flex-direction:column}
.dm-home-service-card>img{width:100%;height:135px;object-fit:cover;display:block}
.dm-home-service-card:first-child>img{object-position:center 24%}
.dm-home-service-body{padding:13px 14px 16px;display:flex;flex-direction:column;flex:1}
.dm-home-service-body h3{font:700 clamp(.95rem,1.2vw,1.18rem)/1.13 Georgia,serif;color:#152a47;margin:0 0 8px}
.dm-home-service-body p{font-size:.77rem;color:#536075;line-height:1.45;margin:0 0 12px}
.dm-home-service-body a{margin-top:auto;align-self:flex-start;border-radius:22px;background:#fbe5e3;color:#a65368;text-decoration:none;font-size:.76rem;padding:8px 12px}
.dm-home-benefits{display:grid;grid-template-rows:1fr 1fr;gap:14px}
.dm-home-benefit{display:flex;align-items:center;gap:10px;border-radius:19px;padding:17px 13px;text-decoration:none;color:#1b2d46}
.dm-home-benefit-pink{background:linear-gradient(120deg,#fbe2e1,#f9e8e6)}
.dm-home-benefit-blue{background:linear-gradient(120deg,#e6eff8,#d9e5f2)}
.dm-home-benefit>span{font-size:2.35rem;color:#b66b79}
.dm-home-benefit-blue>span{color:#3d6184}
.dm-home-benefit strong{font:700 1.06rem Georgia,serif}
.dm-home-benefit p{font-size:.76rem;line-height:1.45;margin:7px 0 0}
.dm-home-benefit b{margin-left:auto;align-self:flex-end;background:#ffffff9e;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;font-weight:400}
.dm-home-trust{border-top:1px solid #eee2dc;background:#f7f1ed;padding:15px 0}
.dm-home-trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.dm-home-trust-grid>div{display:flex;gap:13px;align-items:center;padding:0 20px;border-right:1px solid #dac4bd}
.dm-home-trust-grid>div:first-child{padding-left:0}
.dm-home-trust-grid>div:last-child{border:0}
.dm-home-trust-grid span{font-size:2rem;color:#b46780}
.dm-home-trust-grid p{margin:0}
.dm-home-trust-grid strong{display:block;font:700 .93rem Georgia,serif}
.dm-home-trust-grid small{display:block;color:#526077;font-size:.75rem;margin-top:4px}
.dm-home .dm-footer{background:#7f8fa0}
@media(max-width:1230px){.dm-home .dm-brand{width:205px;flex-basis:205px}.dm-home .dm-brand img{height:65px}.dm-home .dm-wrap{width:min(100% - 36px,1480px)}.dm-home-hero-grid{grid-template-columns:minmax(0,1fr) minmax(300px,335px)}.dm-home-story-content{max-width:59%}.dm-home-service-card>img{height:118px}}
@media(max-width:1050px){.dm-home .dm-menu-toggle{display:inline-flex}.dm-home .dm-links{display:none;position:absolute;top:100%;left:0;right:0;background:#fffaf7;z-index:10;flex-direction:column;align-items:stretch;padding:15px 25px}.dm-home .dm-links.is-open{display:flex}.dm-home .dm-links a{padding:10px}.dm-home-hero-grid{grid-template-columns:minmax(0,1fr) 310px}.dm-home-story-content{max-width:65%}.dm-home-hero-photo{width:55%}.dm-home-values{grid-template-columns:1fr 1fr 1fr}.dm-home-values>div{padding:10px}.dm-home-value-icon{display:none}.dm-home-lower{grid-template-columns:1fr}.dm-home-benefits{grid-template-columns:1fr 1fr;grid-template-rows:auto}}
@media(max-width:760px){.dm-home .dm-wrap{width:calc(100% - 28px)}.dm-home-hero-grid{grid-template-columns:1fr;gap:16px}.dm-home-story{min-height:620px}.dm-home-story-content{max-width:100%;padding:30px 12px 0}.dm-home-story h1{font-size:clamp(2.8rem,9vw,4.1rem)}.dm-home-story-content>p:not(.dm-home-kicker){max-width:94%}.dm-home-hero-photo{top:230px;right:-14px;width:95%;height:280px;bottom:auto;mask-image:linear-gradient(to bottom,transparent,#000 12%);background-position:center 35%}.dm-home-values{margin-top:auto;grid-template-columns:1fr;gap:7px}.dm-home-values>div{min-height:48px}.dm-home-values small{font-size:.74rem}.dm-home-login{max-width:450px;width:100%;margin:auto}.dm-home-section-heading{align-items:start;flex-direction:column}.dm-home-service-grid{grid-template-columns:1fr 1fr}.dm-home-service-card>img{height:150px}.dm-home-benefits{grid-template-columns:1fr}.dm-home-trust-grid{grid-template-columns:1fr 1fr;gap:18px}.dm-home-trust-grid>div{border:0;padding:0}}
@media(max-width:480px){.dm-home-service-grid{grid-template-columns:1fr}.dm-home-service-card{display:grid;grid-template-columns:38% 62%}.dm-home-service-card>img{height:100%;min-height:185px}.dm-home-trust-grid{grid-template-columns:1fr}.dm-home-story{min-height:650px}.dm-home-hero-photo{top:275px;height:255px}.dm-home-values{margin-top:auto}.dm-home .dm-brand{width:190px;flex-basis:190px}}

/* Correctifs maquette : pas de visuel de site recadré ni d'éléments dupliqués dans la photo */
.dm-home-reset{border:0;background:none;color:#91516a;text-decoration:underline;font:inherit;font-size:.76rem;cursor:pointer;padding:0}
.dm-home .dm-footer{background:#71869b}
.dm-home .dm-footer a{color:#fff1eb}
@media(min-width:761px){.dm-home-hero-photo{width:53%;background-position:center 22%}}
@media(max-width:760px){.dm-home-story{min-height:680px}.dm-home-story-content{position:relative;z-index:3}.dm-home-story-content>p:not(.dm-home-kicker){max-width:100%;background:#fffaf7b8;border-radius:12px;padding:5px}.dm-home-hero-photo{top:300px;right:0;width:100%;height:255px;background-position:center 28%;mask-image:linear-gradient(to bottom,transparent 0%,#000 16%)}.dm-home-values{z-index:4}}
@media(max-width:480px){.dm-home-story{min-height:710px}.dm-home-hero-photo{top:325px;height:245px}}

/* Cinq photos de prestations, même rendu et cadrage sur toute la grille. */
.dm-home-service-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.dm-home-service-card>img{object-fit:cover;object-position:center center}
.dm-home-service-card:last-child>img{object-position:center 45%}
@media(max-width:1150px){.dm-home-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.dm-home-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.dm-home-service-grid{grid-template-columns:1fr}}

/* Les photos et avis restent volontairement discrets : l'accueil demeure celui d'un service SAP. */
.dm-home-moments,.dm-home-reviews{padding:34px 0;background:#fffaf7;border-top:1px solid #f0e5df}
.dm-home-reviews{padding-top:28px;padding-bottom:38px;background:linear-gradient(180deg,#fffaf7,#faf4f1)}
.dm-home-soft-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px}
.dm-home-soft-heading h2{font:500 clamp(1.75rem,2.4vw,2.55rem)/1.15 Georgia,serif;color:#152c49;margin:0}
.dm-home-soft-heading h2 span{color:#bd6d87}
.dm-home-soft-heading>a{color:#985a70;text-decoration:none;font-size:.82rem;border-bottom:1px solid #ddb5c0;padding-bottom:3px;white-space:nowrap}
.dm-home-moments-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.dm-home-moments-grid figure{position:relative;margin:0;height:178px;overflow:hidden;border-radius:19px;background:#f5ebe6;border:1px solid #eee0da;box-shadow:0 7px 20px #aa8e8515}
.dm-home-moments-grid img{width:100%;height:100%;display:block;object-fit:cover}
.dm-home-moments-grid figure:nth-child(2) img{object-position:center 58%}
.dm-home-moments-grid figcaption{position:absolute;left:10px;right:10px;bottom:10px;background:#fffaf4ec;color:#263a52;border:1px solid #ffffffa8;border-radius:12px;padding:8px 11px;font-size:.76rem;line-height:1.35;box-shadow:0 5px 14px #64534c19}
.dm-review-bubbles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.dm-review-bubble{position:relative;background:#fff;border:1px solid #eee1dc;border-radius:24px;padding:18px 20px 17px;box-shadow:0 8px 22px #9e878114;min-height:132px}
.dm-review-bubble:before{content:'“';position:absolute;right:17px;top:5px;font:3.2rem Georgia,serif;color:#efd5dc;line-height:1}
.dm-review-stars{display:block;color:#bf8b39;letter-spacing:.08em;font-size:.85rem;margin-bottom:8px}
.dm-review-bubble blockquote{margin:0 0 11px;color:#35465b;font-size:.83rem;line-height:1.52;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.dm-review-bubble footer{color:#985a70;font-size:.75rem;font-weight:700}
.dm-review-empty{grid-column:1/-1;margin:0;padding:14px 18px;border-radius:18px;background:#fff;color:#596779;font-size:.82rem;text-align:center;border:1px solid #eee3de}
@media(max-width:760px){.dm-home-soft-heading{align-items:flex-start;flex-direction:column;gap:9px}.dm-home-moments-grid,.dm-review-bubbles{grid-template-columns:1fr}.dm-home-moments-grid figure{height:190px}.dm-home-moments-grid figure:nth-child(n+3){display:none}}
