/* Maison Montauban - socle repris a l'identique de la maquette Claude Design. */
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #F7F9FB; color: #0E2438; font-family: 'Instrument Sans', Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; }
* { box-sizing: border-box; }
a { color: #17395E; text-decoration: none; }
a:hover { color: #2D7DD2; }
::selection { background: #2D7DD2; color: #fff; }
@keyframes mmZoom { from { transform: scale(1.02) translateY(0); } to { transform: scale(1.14) translateY(-1.5%); } }
@keyframes mmRise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes mmFound { 0%, 2% { stroke-dashoffset: 100; } 20%, 100% { stroke-dashoffset: 0; } }
@keyframes mmFillF { 0%, 17% { opacity: 0; } 24%, 100% { opacity: 1; } }
@keyframes mmWalls { 0%, 19% { stroke-dashoffset: 100; } 44%, 100% { stroke-dashoffset: 0; } }
@keyframes mmFillW { 0%, 37% { opacity: 0; } 46%, 100% { opacity: 1; } }
@keyframes mmRoof { 0%, 42% { stroke-dashoffset: 100; } 63%, 100% { stroke-dashoffset: 0; } }
@keyframes mmFillR { 0%, 57% { opacity: 0; } 66%, 100% { opacity: 1; } }
@keyframes mmOpen { 0%, 60% { opacity: 0; } 76%, 100% { opacity: 1; } }
@keyframes mmGarden { 0%, 72% { opacity: 0; } 86%, 100% { opacity: 1; } }
@keyframes mmFamily { 0%, 82% { opacity: 0; transform: translate(-320px, -24px); } 88% { opacity: 1; } 100% { opacity: 1; transform: translate(300px, -24px); } }
@keyframes mmBar { from { width: 0%; } to { width: 100%; } }
@keyframes mmStage1 { 0%, 18% { opacity: 1; } 20%, 100% { opacity: 0.3; } }
@keyframes mmStage2 { 0%, 18% { opacity: 0.3; } 21%, 41% { opacity: 1; } 43%, 100% { opacity: 0.3; } }
@keyframes mmStage3 { 0%, 41% { opacity: 0.3; } 44%, 61% { opacity: 1; } 63%, 100% { opacity: 0.3; } }
@keyframes mmStage4 { 0%, 61% { opacity: 0.3; } 64%, 81% { opacity: 1; } 83%, 100% { opacity: 0.3; } }
@keyframes mmStage5 { 0%, 81% { opacity: 0.3; } 84%, 100% { opacity: 1; } }
@keyframes mmSeq { 0%, 7.5% { opacity: 1; } 10%, 97.5% { opacity: 0; } 100% { opacity: 1; } }
@keyframes mmFade3 { 0%, 27% { opacity: 1; } 33.3%, 94% { opacity: 0; } 100% { opacity: 1; } }
@keyframes mmDrop { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: none; } }
@media (max-width: 899px) { body { --mmHead: 66px; } }
@media (hover: hover) and (pointer: fine) { html { cursor: none; } body :where(a, button, [role="switch"], summary, label, input, img) { cursor: none !important; } }

/* Le theme parent Kadence ne doit pas habiller ces gabarits. */
.mm-page .site-header, .mm-page .site-footer, .mm-page #wrapper > .site-container > .content-container { display: none; }
.mm-page #wrapper, .mm-page .site-container, .mm-page .content-area, .mm-page .site-main { max-width: none; margin: 0; padding: 0; }

/* Respect des preferences systeme. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}
