/* lobia.fr v5 : socle commun. Les règles de survol (.h1, .h2…) sont ajoutées à la fin par scripts/build-site.mjs. */
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;font-family:'Instrument Sans',system-ui,sans-serif;color:#1B2433}
img{display:block;max-width:100%}
a{color:inherit}
.skip{position:absolute;left:12px;top:-60px;background:#1B2433;color:#fff;padding:10px 16px;border-radius:999px;z-index:50;font:600 14px/1 'Instrument Sans',sans-serif;text-decoration:none}
.skip:focus{top:12px}
/* deux arbres : le bureau à partir de 1100 px, la colonne unique en dessous */
.v{background:linear-gradient(180deg,#E4F3F0 0,#FFFFFF 820px);overflow-x:clip}
.vm{display:block}.vd{display:none}
@media (min-width:1100px){.vm{display:none}.vd{display:block}}
.vm section>div,.vm header>div,.vm footer>div{max-width:720px!important}
.vm [data-constructeur]{max-width:100%}
summary{list-style:none}
summary::-webkit-details-marker{display:none}
details[open]>summary [data-chev]{transform:rotate(45deg)}
[data-scroll]::-webkit-scrollbar{display:none}
[data-scroll]:focus-visible,summary:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #1B2433;outline-offset:2px}
[data-col]:hover{box-shadow:0 6px 16px -10px rgba(36,26,46,.45);transform:translateY(-1px)}
[data-col]:active{transform:translateY(1px);box-shadow:none}
[data-col][disabled],[data-col][aria-disabled=true]{opacity:.42;cursor:not-allowed;box-shadow:none!important;transform:none!important}
[hidden]{display:none!important}
/* menu du burger (mobile) */
#menu-m{max-width:720px;margin:10px auto 0;padding:0 20px;display:flex;flex-direction:column;gap:2px}
#menu-m .mlink{font:600 17px/1.2 'Instrument Sans',sans-serif;color:#1B2433;text-decoration:none;padding:14px 16px;border-radius:14px;background:#fff;border:1px solid rgba(27,36,51,.08)}
#menu-m .mlink+.mlink{margin-top:6px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* pages restylées : rendez-vous, mentions légales, confidentialité */
.cn{max-width:1144px;margin:0 auto;padding:0 32px}
.sx{padding:48px 0 0}.sx0{padding-top:32px}
.h1s{margin:0 0 20px;font:800 clamp(34px,5vw,52px)/1.06 'Baloo 2',system-ui,sans-serif;letter-spacing:-.03em;color:#1B2433;text-wrap:balance;max-width:20ch}
.h2s{margin:0;font:800 clamp(24px,3vw,30px)/1.15 'Baloo 2',system-ui,sans-serif;letter-spacing:-.02em;color:#1B2433}
.lede{margin:0;font-size:19px;line-height:1.55;color:#4E5A6B;max-width:62ch;text-wrap:pretty}
.mono{font:700 11px/1.4 'Space Mono',ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:#127A84}
.stack{display:flex;flex-direction:column;gap:14px}
.stack.big{gap:28px}
.legal{margin:0;display:grid;gap:12px;max-width:760px}
.li{background:#fff;border:1px solid rgba(27,36,51,.08);border-radius:16px;padding:18px 22px;display:flex;flex-direction:column;gap:6px;box-shadow:0 14px 34px -22px rgba(36,26,46,.22)}
.li dt{font:700 11px/1.4 'Space Mono',ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:#127A84}
.li dd{margin:0;font-size:16.5px;line-height:1.55;color:#4E5A6B}
.li dd a{color:#127A84}
.cardx{background:#fff;border:1px solid rgba(27,36,51,.08);border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:16px;box-shadow:0 14px 34px -22px rgba(36,26,46,.22)}
.cardx p,.stack p,.small{margin:0;font-size:16.5px;line-height:1.55;color:#4E5A6B}
.small{font-size:14.5px;color:#5F6B7A}
.rdv-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:start}
.who{display:flex;gap:16px;align-items:center}
.who img{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:50% 20%;background:#EEF7F5}
.duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:center}
.bt{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;background:linear-gradient(135deg,#127A84,#1FA3A0);color:#fff;border:0;border-radius:999px;padding:16px 28px;font:700 17px/1.2 'Instrument Sans',sans-serif;text-decoration:none;cursor:pointer;box-shadow:0 10px 24px -12px #127A84AA;transition:transform .12s,filter .15s}
.bt:hover{filter:brightness(1.06);transform:translateY(-1px)}.bt:active{transform:translateY(1px)}
.bt[disabled]{opacity:.6;cursor:wait}
.agenda{background:#EEF7F5;border:1px solid rgba(27,36,51,.08);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.slot{display:flex;justify-content:space-between;gap:12px;background:#fff;border:1px solid rgba(27,36,51,.1);border-radius:12px;padding:10px 14px;font-size:15px;color:#1B2433}
.slot.on{border-color:#127A84;box-shadow:0 0 0 2px #127A8433}
.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.steps li{display:flex;gap:14px;align-items:flex-start}
.num{flex:none;width:32px;height:32px;border-radius:50%;background:#EEF7F5;border:1px solid rgba(27,36,51,.14);color:#127A84;font:700 11px/1 'Space Mono',monospace;display:inline-flex;align-items:center;justify-content:center}
.field{display:flex;flex-direction:column;gap:6px}
.field label,.checkbox{font:600 15px/1.3 'Instrument Sans',sans-serif;color:#1B2433}
.req{color:#127A84;margin-left:3px}
.input{width:100%;font:16px/1.4 'Instrument Sans',sans-serif;color:#1B2433;background:#fff;border:1px solid rgba(27,36,51,.28);border-radius:12px;padding:12px 14px}
.input:focus{outline:2px solid #127A84;outline-offset:1px}
.hint{margin:0;font-size:14px;color:#5F6B7A}
.error,.success{margin:0;display:flex;gap:10px;align-items:flex-start;border-radius:12px;padding:10px 14px;font-size:15px;line-height:1.45}
.error{background:#FBEDEA;color:#8A2B16}.success{background:#E6F4E8;color:#1F6B2A}
.checkbox{display:flex;gap:10px;align-items:flex-start;font-weight:500}
.checkbox input{margin-top:4px;width:18px;height:18px;accent-color:#127A84}
#ts-box:empty{display:none}
@media (max-width:900px){.rdv-grid{grid-template-columns:minmax(0,1fr)}.duo{grid-template-columns:minmax(0,1fr)}}
@media (max-width:700px){.cn{padding:0 20px}.sx{padding-top:32px}.cardx{padding:22px}}
[data-tstep] span[style*="letter-spacing:.12em"],[data-qstep] span[style*="letter-spacing:.12em"],[data-sstep] span[style*="letter-spacing:.12em"]{white-space:nowrap}

/* survol et appui : générés depuis les style-hover / style-active du design */
.h1:hover{background:#EEF7F5 !important;color:#1B2433 !important}
.h1:active{background:#BFE6E1 !important}
.h2:hover{filter:brightness(1.06) !important;box-shadow:0 14px 28px -12px #127A84CC !important;transform:translateY(-1px) !important}
.h2:active{transform:translateY(1px) !important;filter:brightness(.96) !important}
.h3:hover{background:#EEF7F5 !important}
.h4:hover{filter:brightness(1.06) !important;transform:translateY(-1px) !important}
.h4:active{transform:translateY(1px) !important;filter:brightness(.96) !important}
.h5:hover{background:#EEF7F5 !important}
.h5:active{transform:translateY(1px) !important}
.h6:hover{color:#1FA3A0 !important;text-decoration-thickness:2.5px !important}
.h6:active{opacity:.7 !important}
.h7:hover{color:#127A84 !important}
.h7:active{opacity:.7 !important}
.h8:hover{background:#EEF7F5 !important}
.h8:active{background:#BFE6E1 !important}
