.hm-product { --muted:#475d78; background:#f3f7fd; }
.hm-product .container { max-width:1160px; }
.hm-product .demo-first {
  padding:32px 0 44px;
  background:linear-gradient(120deg,#071639,#112f70 65%,#1b4e98);
  border-bottom:4px solid #80b7ee;
}
.hm-product .demo-banner { max-width:1000px; border:1px solid #4672b4; border-radius:18px; box-shadow:0 22px 60px #020d2d66; }
.hm-product .hm-intro { padding:60px 0; background:linear-gradient(120deg,#e7effb,#f7faff); }
.hm-product .hm-intro-grid { gap:54px; grid-template-columns:1.2fr 1fr; }
.hm-product .hm-intro h1 { font-size:clamp(2.3rem,4.3vw,3.5rem); }
.hm-product .hm-intro h1 span { font-size:clamp(1.6rem,2.6vw,2.15rem); line-height:1.25; max-width:530px; }
.hm-product .hm-cover { border-radius:14px; box-shadow:0 12px 30px #15396c12; }
.hm-product .hm-cover figcaption { border-top:3px solid #5a9bde; }
.hm-product .hm-eyebrow { color:#235298; font-size:.875rem; letter-spacing:.035em; }
.hm-product .section { padding:76px 0; }
.hm-product #presentation { background:#fff; }
.hm-product #dossier-alimentaire { background:linear-gradient(130deg,#e4eefc,#f2f7fe); border-top:1px solid #d1e0f3; border-bottom:1px solid #d1e0f3; }
.hm-product #presentation > .container,
.hm-product #dossier-alimentaire > .container { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr); gap:42px; align-items:center; }
.hm-product #presentation .hm-section-heading,
.hm-product #dossier-alimentaire .hm-section-heading { display:block; margin:0; }
.hm-product .hm-section-heading h2 { color:#153d79; font-size:clamp(1.8rem,2.6vw,2.3rem); line-height:1.2; }
.hm-product #presentation .hm-section-heading > p,
.hm-product #dossier-alimentaire .hm-section-heading > p { margin-top:22px; font-size:1rem; line-height:1.75; }
.hm-product .hm-player { border:1px solid #b9cfe9; border-radius:16px; box-shadow:0 16px 36px #143c7714; }
.hm-product .hm-player-caption { padding:18px 20px; border-top:3px solid #3470c4; background:#fff; }
.hm-product .hm-player-caption strong { color:#174385; }
.hm-product .hm-player-caption span { font-size:.875rem; }
.hm-product section[aria-labelledby="apercu-titre"] { background:#f7faff; }
.hm-product .hm-gallery { gap:30px; }
.hm-product .hm-gallery figure { background:white; border:1px solid #c7d9ef; box-shadow:0 10px 28px #183c6810; }
.hm-product .hm-gallery figure > a { display:block; padding:12px; background:#e6effb; border-bottom:1px solid #cfdded; }
.hm-product .hm-gallery img { border-radius:7px; }
.hm-product .hm-gallery figcaption { padding:24px; }
.hm-product .hm-gallery figcaption strong { color:#174385; font-size:1.125rem; }
.hm-product #services-section { background:linear-gradient(140deg,#e4eefc,#f2f7fc); }
.hm-product .center-intro { text-align:left; max-width:none; margin-bottom:30px; }
.hm-product .center-intro h2 { color:#153d79; margin-top:0; }
.hm-product .center-intro p { max-width:760px; }
.hm-product .module-card { padding:26px; background:linear-gradient(120deg,#fff,#f3f7fd); border-color:#c7d9ef; border-top:4px solid #3470c4; box-shadow:0 10px 28px #183c6810; }
.hm-product .module-card h3 { font-size:1.35rem; }
.hm-product .module-card p { font-size:1rem; }
.hm-product .hm-contact { padding:52px 0; background:linear-gradient(120deg,#102c66,#1f4da8 65%,#286cb7); border-top:4px solid #80b7ee; }
.hm-product .site-footer { background:#e7eff9; border-top-color:#c5d8ef; }
@media(min-width:981px) { .hm-product #services-section .grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:980px) {
  .hm-product #presentation > .container,.hm-product #dossier-alimentaire > .container { grid-template-columns:1fr; gap:28px; }
  .hm-product #presentation .hm-section-heading > p,.hm-product #dossier-alimentaire .hm-section-heading > p { max-width:680px; }
  .hm-product .hm-intro-grid { gap:30px; }
}
@media(max-width:760px) {
  .hm-product .demo-first { padding:18px 0 24px; }
  .hm-product .demo-banner { border-radius:12px; }
  .hm-product .hm-intro { padding:40px 0; }
  .hm-product .hm-intro-grid { grid-template-columns:1fr; }
  .hm-product .section { padding:48px 0; }
  .hm-product .hm-gallery figcaption { padding:20px; }
  .hm-product .hm-player-caption { padding:16px; }
}
