*{box-sizing:border-box}html,body{margin:0;padding:0;background:#f8f4ea;color:#193b32;font-family:Georgia,'Times New Roman',serif}body{min-height:100vh}.stage{position:relative;width:min(1086px,100vw);margin:0 auto}.master{display:block;width:100%;height:auto}.zones{position:absolute;inset:0}.zone,.program-card{position:absolute;border:0;background:transparent;cursor:pointer;padding:0}.zone:focus-visible,.program-card:focus-visible{outline:3px solid #b98b3d;outline-offset:2px}.home{left:31%;top:.9%;width:5%;height:3%}.concept{left:35%;top:.9%;width:7%;height:3%}.programs{left:41%;top:.9%;width:10%;height:3%}.actif{left:50%;top:.9%;width:8%;height:3%}.app{left:58%;top:.9%;width:7%;height:3%}.news{left:65%;top:.9%;width:6%;height:3%}.about{left:72%;top:.9%;width:6%;height:3%}.contactnav{left:78%;top:.9%;width:6%;height:3%}.booking{left:79%;top:.1%;width:17%;height:4%}.hero-quiz{left:6%;top:25.7%;width:31%;height:4.5%}.hero-seren{left:6%;top:29.7%;width:15%;height:3%}.hero-programs{left:22%;top:29.7%;width:17%;height:3%}.hero-contact{left:40%;top:29.7%;width:16%;height:3%}.learn{left:57%;top:74%;width:16%;height:4%}.footer-legal{left:34.8%;top:92.25%;width:8.7%;height:3.2%;z-index:8}.footer-privacy{left:44.2%;top:92.25%;width:8.2%;height:3.2%;z-index:8}.footer-cookies{left:52.5%;top:92.25%;width:5.4%;height:3.2%;z-index:8}.footer-access{left:57.8%;top:92.25%;width:7.4%;height:3.2%;z-index:8}.footer-contact{left:65.4%;top:92.25%;width:8.8%;height:3.2%;z-index:8}
.public1{left:2%;top:40.2%;width:10.9%;height:10.0%}.public2{left:13.6%;top:40.2%;width:10.9%;height:10.0%}.public3{left:25.2%;top:40.2%;width:10.9%;height:10.0%}.public4{left:36.8%;top:40.2%;width:10.9%;height:10.0%}.public5{left:48.4%;top:40.2%;width:10.9%;height:10.0%}.public6{left:60.0%;top:40.2%;width:10.9%;height:10.0%}.public7{left:71.6%;top:40.2%;width:10.9%;height:10.0%}.public8{left:83.2%;top:40.2%;width:10.9%;height:10.0%}.format1{left:2.2%;top:55.4%;width:23.2%;height:7.8%}.format2{left:26.1%;top:55.4%;width:23.2%;height:7.8%}.format3{left:50.6%;top:55.4%;width:23.2%;height:7.8%}.format4{left:74.1%;top:55.4%;width:23.2%;height:7.8%}
/* The validated six-card program row is an interaction layer; the underlying master image remains untouched. */
.program-overlays{position:absolute;left:2.7%;right:2.7%;top:78%;height:12.5%;padding:0 0.4%;background:rgba(250,248,239,.98);border-radius:10px;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:44px 1fr;gap:0 1.1%;align-items:stretch}.program-title{grid-column:1/-1;display:flex;flex-direction:column;justify-content:center;padding-left:0;color:#183b32}.program-title strong{font:28px Georgia,serif;font-weight:400}.program-title span{font:14px Georgia,serif;color:#4c5b54}.program-card{position:relative!important;inset:auto!important;border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 1px 6px rgba(45,59,47,.08);display:grid;grid-template-rows:1fr auto;justify-items:center;align-items:center;font-weight:700;color:#183b32;text-align:center;font-size:clamp(9px,1vw,13px);padding:6px 4px 7px;min-height:0}.program-card span{min-height:2.2em;display:flex;align-items:center;justify-content:center;line-height:1.08}.program-card small{margin-top:3px;white-space:nowrap;align-self:end}.program-card small{display:inline-flex;background:#bd8d3c;color:#fff;border-radius:999px;padding:5px 12px;font-size:clamp(7px,.72vw,10px);font-weight:700}.p6{background:rgba(224,235,224,.96)}.p6 small{background:#2d5d49}.dialog #modal-body{ text-align:justify; hyphens:auto; overflow-wrap:break-word }.dialog #modal-body p,.dialog #modal-body li,.dialog #modal-body ul,.dialog #modal-body ol{ text-align:justify; hyphens:auto }.dialog #modal-body h3{ text-align:left }.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;background:rgba(21,44,36,.42)}.dialog{position:relative;z-index:1;width:min(760px,94vw);max-height:88vh;overflow:auto;background:#fffdf7;border:1px solid #d8c8a8;border-radius:20px;box-shadow:0 20px 70px rgba(0,0,0,.22);padding:34px 38px;color:#183b32}.dialog h2{margin:0 0 18px;font-size:30px;color:#183b32}.dialog h3{margin:20px 0 8px}.dialog p,.dialog li{font-family:Arial,Helvetica,sans-serif;line-height:1.6;text-align:justify}.close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:30px;color:#183b32;cursor:pointer}.notice{padding:14px 16px;background:#f1eadc;border-radius:12px;margin:16px 0}.pill{display:inline-block;padding:6px 10px;border-radius:999px;background:#e6dcc7;margin:4px}.form-grid{display:grid;gap:12px}.form-grid input,.form-grid textarea,.form-grid select{width:100%;padding:11px;border:1px solid #cfc4ae;border-radius:10px;font:inherit}.primary{display:inline-block;margin-top:10px;border:0;border-radius:999px;background:#2d5d49;color:#fff;padding:11px 18px;cursor:pointer}.secondary{display:inline-block;border:1px solid #bd8d3c;border-radius:999px;background:#fff;color:#7d5b25;padding:10px 16px;cursor:pointer}
@media(max-width:700px){.dialog{padding:25px 20px}.dialog h2{font-size:24px}.program-title strong{font-size:18px}.program-title span{font-size:9px}.program-card{font-size:7px;border-radius:8px}.program-card small{font-size:6px;padding:3px 5px}.program-overlays{top:78%;height:12.5%;gap:0 .7%;grid-template-rows:38px 1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* ACCESSIBILITÉ — ajout fonctionnel sans modification de l’interface graphique de référence */
.accessibility-toggle{position:fixed;left:0;top:42%;z-index:1000;border:1px solid #183b32;background:#f8f4ea;color:#183b32;border-radius:0 12px 12px 0;padding:10px 8px;min-width:46px;box-shadow:0 2px 8px rgba(45,59,47,.18);cursor:pointer;font:600 14px Arial,sans-serif;display:flex;flex-direction:column;align-items:center;gap:5px}
.accessibility-toggle span{writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.2px}
.accessibility-toggle:focus-visible,.accessibility-close:focus-visible,.accessibility-controls button:focus-visible{outline:3px solid #b98b3d;outline-offset:2px}
.accessibility-panel{position:fixed;left:54px;top:50%;transform:translateY(-50%);z-index:999;width:min(340px,calc(100vw - 70px));max-height:82vh;overflow:auto;background:#f8f4ea;color:#193b32;border:1px solid #b98b3d;border-radius:14px;padding:18px;box-shadow:0 8px 28px rgba(45,59,47,.22);font-family:Arial,sans-serif}
.accessibility-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.accessibility-head h2{margin:0;font:600 22px Georgia,'Times New Roman',serif}.accessibility-close{border:0;background:transparent;color:#193b32;font-size:28px;line-height:1;cursor:pointer;padding:2px 7px}.accessibility-intro,.accessibility-note{font-size:14px;line-height:1.45}.accessibility-controls{display:grid;gap:9px;margin:15px 0}.accessibility-controls button{border:1px solid #8b9a90;background:#fffdf7;color:#193b32;border-radius:9px;padding:10px 12px;text-align:left;cursor:pointer;font:600 14px Arial,sans-serif}.accessibility-controls button:hover{background:#eee9dc}
body.a11y-contrast{background:#000;color:#fff}.a11y-contrast .stage{filter:contrast(1.35)}.a11y-contrast .accessibility-panel,.a11y-contrast .accessibility-toggle{background:#000;color:#fff;border-color:#fff}.a11y-contrast .accessibility-controls button{background:#000;color:#fff;border-color:#fff}
body.a11y-spacing{letter-spacing:.06em;word-spacing:.12em;line-height:1.7}.a11y-spacing .modal p,.a11y-spacing .modal li{line-height:1.8}
body.a11y-large{font-size:112.5%}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
body.a11y-reduced-motion *,body.a11y-reduced-motion *::before,body.a11y-reduced-motion *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
@media (max-width:700px){.accessibility-toggle{top:38%;padding:9px 7px;font-size:12px}.accessibility-panel{left:48px;width:calc(100vw - 58px)}}


/* WHATSAPP + CHAT SEREN — éléments flottants ajoutés sans toucher au visuel maître */
.whatsapp-float{position:fixed;right:22px;bottom:86px;z-index:1100;display:flex;align-items:center;gap:7px;padding:10px 14px;border-radius:999px;background:#1f8f55;color:#fff;text-decoration:none;font:700 13px Arial,sans-serif;box-shadow:0 5px 18px rgba(0,0,0,.18)}
.whatsapp-float span{font-size:18px;line-height:1}.whatsapp-float:focus-visible,.seren-chat-toggle:focus-visible,.seren-chat-close:focus-visible,.seren-chat-form button:focus-visible,.seren-chat-form input:focus-visible,.chat-quick button:focus-visible,.chat-link:focus-visible{outline:3px solid #b98b3d;outline-offset:2px}
.seren-chat-toggle{position:fixed;right:22px;bottom:22px;z-index:1100;border:1px solid #b98b3d;background:#f8f4ea;color:#193b32;border-radius:999px;padding:10px 14px;display:flex;align-items:center;gap:7px;cursor:pointer;box-shadow:0 5px 18px rgba(0,0,0,.18);font:700 13px Arial,sans-serif}.seren-chat-toggle span:first-child{font-size:17px;color:#b98b3d}
.seren-chat{position:fixed;right:22px;bottom:76px;z-index:1101;width:min(360px,calc(100vw - 32px));max-height:min(600px,78vh);display:flex;flex-direction:column;overflow:hidden;background:#fffdf7;border:1px solid #c9b88e;border-radius:18px;box-shadow:0 18px 55px rgba(0,0,0,.22);font-family:Arial,Helvetica,sans-serif;color:#193b32}.seren-chat[hidden]{display:none}.seren-chat-head{display:flex;align-items:center;justify-content:space-between;padding:15px 16px;background:#f1eadc;border-bottom:1px solid #ded2b8}.seren-chat-head strong{display:block;font:600 17px Georgia,serif}.seren-chat-head small{display:block;margin-top:3px;font-size:11px;color:#5f6e65}.seren-chat-head button{border:0;background:transparent;font-size:25px;color:#193b32;cursor:pointer}.seren-chat-messages{padding:14px;overflow:auto;display:grid;gap:10px}.chat-message{max-width:92%;padding:10px 12px;border-radius:14px;font-size:13px;line-height:1.45}.chat-message.assistant{background:#f2efe5;border:1px solid #e1d8c4}.chat-message.user{justify-self:end;background:#e0ebe0}.chat-quick{display:grid;gap:7px}.chat-quick button{border:1px solid #9aa89e;background:#fff;color:#193b32;border-radius:999px;padding:8px 10px;text-align:left;cursor:pointer;font:600 12px Arial,sans-serif}.chat-link{border:0;background:none;padding:0;color:#7d5b25;text-decoration:underline;font:700 inherit;cursor:pointer}.seren-chat-form{display:flex;gap:7px;padding:11px;border-top:1px solid #ded2b8;background:#fbf8ef}.seren-chat-form input{min-width:0;flex:1;border:1px solid #cfc4ae;border-radius:999px;padding:10px 12px;font:13px Arial,sans-serif;background:#fff}.seren-chat-form button{border:0;border-radius:999px;padding:10px 13px;background:#2d5d49;color:#fff;cursor:pointer;font:700 12px Arial,sans-serif}
@media(max-width:700px){.whatsapp-float{right:12px;bottom:76px;padding:9px 11px}.seren-chat-toggle{right:12px;bottom:14px;padding:9px 11px}.seren-chat{right:12px;bottom:64px;width:calc(100vw - 24px)}}
