/* Éléments de la V1 à valider avant publication. */
[hidden]{display:none!important}
.cta{text-decoration:none}
.site-skip{position:fixed;top:12px;left:12px;z-index:20;transform:translateY(-200%);padding:12px 20px;border-radius:30px;background:white;color:#223949}
.site-skip:focus{transform:none}
.site-footer{background:#344958;color:#fff;padding:48px 5%;display:grid;grid-template-columns:1fr auto;gap:28px 48px;align-items:start}
.site-footer .logo img{filter:brightness(0) invert(1)}
.site-footer p{font-size:14px;line-height:1.6;margin:18px 0 0;max-width:440px;color:#e4e6ff}
.site-footer nav{display:flex;flex-wrap:wrap;gap:16px 28px;justify-content:flex-end;max-width:650px}
.site-footer nav a{color:inherit;font-size:14px;line-height:1.6;text-decoration:none}
.site-footer nav a:hover{text-decoration:underline;text-underline-offset:4px}
.site-footer .footer-legal{grid-column:1/-1;border-top:1px solid #ffffff30;padding-top:24px;justify-content:flex-start;max-width:none}
.contact-reveal{border:0;background:transparent;color:inherit;padding:0;font:inherit;text-align:left;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.oa-contact-card .contact-reveal{display:block;font-size:20px;line-height:1.5;margin:12px 0}
.booking-consent{display:flex;flex:1;min-height:756px;width:100%;flex-direction:column;align-items:center;justify-content:center;background:#f0f1fa;border-radius:16px;padding:28px;text-align:center;gap:20px}
.booking-consent h4{font-size:26px;font-weight:400;margin:0}
.booking-consent p{font-size:16px;line-height:1.6;max-width:400px;margin:0;color:#516482}
.booking-consent a{color:inherit}
.booking-consent-actions{display:flex;flex-direction:column;align-items:center;gap:16px}
.booking-consent .cta{font-size:15px;text-decoration:none}
.booking-consent .quiet-button,.booking-settings button{border:0;background:transparent;color:#516482;text-decoration:underline;text-underline-offset:4px;font-size:14px;line-height:1.5}
.booking-consent-status{font-size:14px!important;min-height:2em}
.booking-settings{width:100%;padding-top:16px;text-align:center}
.booking-privacy{font-size:13px!important;line-height:1.6!important;color:#516482;margin:20px 0 0!important}
.booking-privacy a{color:inherit}
.meetings-iframe-container iframe{border:0;width:100%;height:756px}
.legal-page{background:#f0f4f5}
.legal-wrap{width:min(940px,90%);margin:0 auto;padding:64px 0 88px}
.legal-page h1{font-size:clamp(40px,5.5vw,68px);font-weight:400;line-height:1.08;letter-spacing:-.02em;margin:16px 0 28px}
.legal-eyebrow{color:#677298;font-size:15px;margin:0}
.legal-lead{font-size:22px;line-height:1.5;max-width:800px;margin:0 0 40px}
.legal-section{border-top:1px solid #ccd5db;padding-top:28px;margin-top:36px}
.legal-section h2{font-size:27px;font-weight:400;line-height:1.2;margin:0 0 20px}
.legal-section p,.legal-section li,.legal-section dd,.legal-section dt{font-size:17px;line-height:1.7}
.legal-section li{margin:10px 0}.legal-section a{color:#516482;text-underline-offset:4px}
.legal-identity{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px 28px}
.legal-identity dt{color:#677298}.legal-identity dd{margin:0;overflow-wrap:anywhere}
.legal-update{color:#677298;font-size:14px;margin-top:40px}
.error-page .legal-wrap{min-height:65vh;display:flex;flex-direction:column;justify-content:center}
.error-actions{display:flex;flex-wrap:wrap;gap:16px}.error-code{font-size:72px;color:#b2acef;margin:0}
.hero-background{background:#344958}.hero-video,.hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 50%}
.hero-video{z-index:1}.hero-poster{z-index:0}
.hero-shade{background:linear-gradient(90deg,rgba(18,33,44,.8),rgba(18,33,44,.1)),linear-gradient(0deg,rgba(18,33,44,.7),transparent 70%)}
.video-toggle{position:absolute;right:5%;bottom:24px;padding:10px 18px;background:#223949df;color:#fff;border:1px solid #ffffff60;border-radius:999px;font-size:13px;z-index:2}
@media(max-width:800px){.site-footer{grid-template-columns:1fr;padding:40px 6%}.site-footer nav{justify-content:flex-start}.legal-wrap{width:88%;padding:40px 0 64px}.legal-lead{font-size:19px}.legal-identity{grid-template-columns:1fr;gap:4px}.legal-identity dd{margin-bottom:16px}.booking-consent{padding:24px}.hero-video,.hero-poster{object-position:68% 50%}.hero-shade{background:linear-gradient(0deg,rgba(18,33,44,.9),rgba(18,33,44,.2) 85%)}.video-toggle{right:6%;bottom:24px}}
