/* CUYSINE — calendrier annuel. Style additif, mobile first. */
.annual-menu-home{display:grid;gap:2rem;margin-block:3.5rem 4rem;padding-block:2.1rem;border-top:1px solid #d4cbbd;border-bottom:1px solid #d4cbbd}
.annual-menu-home-title{max-width:39rem}
.annual-menu-home-title h2,.annual-menu-hero h1{font-family:var(--font-display,Georgia,serif);font-weight:500;line-height:1.12;letter-spacing:-.035em}
.annual-menu-home-title h2{font-size:clamp(2rem,5vw,3.4rem);margin:.5rem 0 1rem}
.annual-menu-home-title>p:last-child{font-size:1.03rem;line-height:1.65;max-width:36rem}
.annual-menu-home-table{padding:1.45rem clamp(1.3rem,3vw,2.25rem);background:#f6f0e6;border:1px solid #ddd2c3;border-radius:4px}
.annual-menu-home-date{font-size:.81rem;letter-spacing:.08em;text-transform:uppercase;color:#715a42;font-weight:700}
.annual-menu-course{padding:.9rem 0;border-bottom:1px solid #ded2c0}
.annual-menu-course span{font-size:.75rem;letter-spacing:.11em;text-transform:uppercase;color:#715a42;display:block}
.annual-menu-course p{font-size:1.06rem;margin:.33rem 0 0;line-height:1.45}
.annual-menu-course a,.annual-menu-home-action{color:inherit;text-decoration-thickness:1px;text-underline-offset:.17em}
.annual-menu-home-action{display:inline-block;margin-top:1.25rem;font-weight:700}
.annual-menu-note{color:#6f6256;font-size:.79rem;line-height:1.55;margin-top:1rem}
.annual-menu-page{padding-block:1rem 5rem}
.annual-menu-hero{max-width:55rem;padding:3.1rem 0 1.6rem}
.annual-menu-hero h1{font-size:clamp(2.25rem,5vw,4.6rem);margin:.8rem 0 1.15rem}
.annual-menu-hero>p{line-height:1.7;max-width:51rem}
.annual-menu-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid #d4cbbd;gap:.7rem;margin:2.5rem 0 1.25rem;padding:1.35rem 0}
.annual-menu-facts div{display:flex;flex-direction:column;gap:.2rem}
.annual-menu-facts strong{font-family:var(--font-display,Georgia,serif);font-size:clamp(1.8rem,4vw,3rem);font-weight:500}
.annual-menu-facts span{font-size:.82rem;line-height:1.4}
.annual-menu-honesty{font-size:.91rem;color:#615548}
.annual-menu-jump{display:flex;flex-wrap:wrap;gap:.5rem;margin-block:1.9rem}
.annual-menu-jump a{border:1px solid #d4cbbd;border-radius:100px;padding:.5rem .85rem;text-decoration:none;font-size:.84rem;color:inherit}
.annual-menu-jump a:hover,.annual-menu-jump a:focus-visible{background:#eee4d7}
.annual-menu-live{margin-bottom:1.7rem}
.annual-menu-live a{font-weight:700}
.annual-menu-month{border-top:1px solid #d4cbbd}
.annual-menu-month:last-of-type{border-bottom:1px solid #d4cbbd}
.annual-menu-month summary{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;cursor:pointer;list-style:none;padding:1.25rem .3rem;font-family:var(--font-display,Georgia,serif);font-size:clamp(1.35rem,3vw,2rem)}
.annual-menu-month summary::-webkit-details-marker{display:none}
.annual-menu-month summary:after{content:'+';font-size:1.5rem;order:2;margin-left:.5rem}
.annual-menu-month[open] summary:after{content:'−'}
.annual-menu-month summary small{font-family:inherit;font-size:.8rem;color:#665e53;margin-left:auto}
.annual-menu-days{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:.8rem;padding-bottom:1.5rem}
.annual-menu-day{background:#fffefa;border:1px solid #e1d8ca;border-radius:4px;padding:1rem;scroll-margin-top:7rem;display:grid;grid-template-columns:3.7rem minmax(0,1fr);gap:1rem}
.annual-menu-day-date{display:flex;flex-direction:column;gap:.1rem;font-variant-numeric:tabular-nums;color:#6b5141}
.annual-menu-day-date span{font-family:var(--font-display,Georgia,serif);font-size:1.85rem;line-height:1.05}
.annual-menu-day-date small{font-size:.7rem}
.annual-menu-day-courses{min-width:0}
.annual-menu-day-courses p{margin:0 0 .8rem;line-height:1.43;font-size:.91rem}
.annual-menu-day-courses p:last-child{margin-bottom:0}
.annual-menu-day-courses small{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:.69rem;color:#796b5b;margin-bottom:.19rem}
.annual-menu-day-courses a{color:#453429;text-decoration-thickness:1px;text-underline-offset:.15em}
.annual-menu-current{border-color:#815f42;box-shadow:inset 3px 0 #815f42}
.annual-menu-method{margin-top:2.8rem;max-width:55rem;padding:2rem clamp(1rem,3vw,2.3rem);border-top:2px solid #815f42;background:#f5f0e7}
.annual-menu-method h2{font-family:var(--font-display,Georgia,serif);font-weight:500;font-size:1.7rem}
.annual-menu-method p{line-height:1.65;font-size:.94rem}
@media(min-width:700px){
 .annual-menu-home{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start;gap:3rem}
 .annual-menu-days{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:1150px){
 .annual-menu-days{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:380px){
 .annual-menu-facts{gap:.2rem}
 .annual-menu-facts span{font-size:.72rem}
 .annual-menu-day{grid-template-columns:2.8rem minmax(0,1fr);padding:.8rem;gap:.7rem}
}
@media(prefers-reduced-motion:no-preference){.annual-menu-jump a{transition:background .15s ease}}
