
:focus-visible{outline:3px solid var(--sage);outline-offset:5px;}
.skip-link{position:fixed;left:16px;top:-100px;z-index:1000;padding:10px 18px;background:var(--stone);color:var(--ink);}
.skip-link:focus{top:16px;}
.hamburger{background:none;border:0;}
.mobile-nav:not(.active){visibility:hidden;}
.legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 24px;margin:28px auto 0;max-width:100%;font-size:.85rem;}
.legal-links a{text-decoration:underline;text-underline-offset:4px;}
footer .legal-links{color:#F6F2EA;}
.booking-notice{font-size:.9rem;line-height:1.65;}
.booking-notice p+p{margin-top:12px;}
.booking-notice a{text-decoration:underline;}
.lightbox:not([open]){display:none;}
dialog.lightbox{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;overflow:auto;}
dialog.lightbox::backdrop{background:rgba(0,0,0,.9);}
.lightbox-close{min-width:44px;min-height:44px;}
.formation-card .freq{color:#65605a;}
[data-theme="dark"] .formation-card .freq{color:#bcb6ab;}
#booking-submit{background:#8B5535;color:#fff;}
[data-theme="dark"] #booking-form .field-error{color:#ecab9e;}
.back-to-top:not(.visible){visibility:hidden;}
/* Keep content readable at narrow widths and in both themes. */
.hero-content{width:min(780px,100%);min-width:0;}
.hero h1,#formations .formation-card h3,#formations .desc{overflow-wrap:anywhere;}
section[id],main[id],footer[id]{scroll-margin-top:104px;}
.hamburger,.navlinks .theme-toggle,.reserve-btn,.lightbox-nav button{min-width:44px;min-height:44px;}
.navlinks a{padding-top:8px;padding-bottom:8px;}
.mobile-nav{height:100dvh;padding:104px 24px 32px;overflow-y:auto;}
.hero .btn,.reserve-btn:hover{background:#8B5535;color:#fff!important;}
.formation-card .price{color:#8B5535;}
[data-theme="dark"] .formation-card .price{color:#C97E5A;}
footer{--stone:#F6F2EA;background:#2B2926;color:#F6F2EA;}
.foot-bottom{color:#c5beb3;}
.foot-bottom a{color:#dba383;}
footer span[style*="0.45"]{color:#c5beb3!important;}
.crafted{opacity:1;color:var(--ink);background:var(--stone);padding:2px 6px;border-radius:2px;}
.lightbox-content{max-height:calc(100dvh - 100px);}
.lightbox-img,.lightbox-img img{max-height:min(60vh,calc(100dvh - 280px));}
.lightbox-nav{margin-top:16px;gap:10px;}
.lightbox-nav button{padding:10px 16px;}
@media(max-width:360px){.wrap{padding:0 20px;}header nav{padding-left:20px;padding-right:20px;}.hero-content{padding:0 20px;}.formation-card{padding:28px 20px;}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important;}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}.reveal,.hero-content h1,.hero-content p,.hero-content .eyebrow,.hero-content .hero-actions,.hero-content .hero-ctas{opacity:1!important;transform:none!important;}}
