*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;overflow-x:hidden}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,Helvetica Neue,sans-serif;color:#111;background:#fafafa}.body-hero{--hero-url:url(/hero-orchestre.JPG)}.body-hero:before{content:"";position:fixed;inset:0;z-index:-2;background-image:var(--hero-url);background-size:cover;background-position:50%;background-repeat:no-repeat;background-attachment:fixed}.body-hero:after{content:"";position:fixed;left:0;right:0;top:0;height:58vh;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(6,24,44,.78),rgba(6,24,44,.48) 45%,rgba(6,24,44,.18) 72%,rgba(6,24,44,0))}.page{max-width:1100px;margin:24px auto;padding:0 16px}h1{font-size:28px}h1,h2{margin:0 0 8px}h2{font-size:18px}.muted{color:#666}.btn-link{padding:8px 12px;border-radius:8px;background:#f2f3f5;border:1px solid #e3e5e8;text-decoration:none;color:inherit}.calendar-shell{max-width:1100px;margin:0 auto;padding:0 16px}.calendar-card{background:#fff;border:1px solid #e5e7eb;border-radius:26px;box-shadow:0 10px 30px rgba(0,0,0,.12);padding:16px 14px 18px;margin-top:-28px}[data-calendar-grid]{display:grid;grid-template-columns:repeat(7,minmax(36px,1fr));grid-auto-rows:clamp(56px,6.8vw,96px);grid-gap:10px;gap:10px;background:#fff;border-radius:16px;padding:10px}.day{position:relative;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:14px;background:#fff;transition:transform .06s ease,box-shadow .12s ease,background .12s ease;cursor:pointer}.day:hover{transform:translateY(-1px);box-shadow:0 6px 22px rgba(0,0,0,.06)}.day:disabled{opacity:.45;cursor:not-allowed;background:#f8f9fb}.day-number{font-size:15px;font-weight:600;color:#111}.day.is-today{outline:3px solid #0a58ca;outline-offset:-3px}.day.has-slots{background:#f6faff;border-color:#cfe1ff}.day.is-outside .day-number{color:#9aa3ad}.day.is-selected{box-shadow:0 0 0 3px rgba(47,111,255,.25)}.month-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin:4px 0 12px}.month-nav .btn{border:none;background:#eef3ff;color:#1f4fff;width:42px;height:32px;border-radius:999px;font-size:18px;line-height:0;cursor:pointer}.calendar-side{background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:16px;box-shadow:0 4px 18px rgba(0,0,0,.08)}.slots-list{list-style:none;padding:0;margin:12px 0 0;display:grid;grid-gap:10px;gap:10px}.slot-card{border:1px solid #e5e7eb;border-radius:12px;background:#fff;padding:12px;display:flex;justify-content:space-between;align-items:center}.calendar-layout{display:grid;grid-template-columns:1fr;grid-gap:18px;gap:18px}@media (min-width:900px){.calendar-layout{grid-template-columns:1.6fr 1fr}}.site-hero{position:relative;height:280px;color:#fff;text-align:center;display:grid;place-content:center;padding:0 16px}.site-hero h1{font-weight:800;line-height:1.2;margin:0}.site-hero p{margin:10px 0 0;opacity:.95}.burger{position:absolute;top:16px;right:16px;width:36px;height:28px;border:none;background:transparent;cursor:pointer}.burger .line{width:26px;height:2px;background:#fff;display:block;position:relative}.burger .line:after,.burger .line:before{content:"";position:absolute;left:0;width:26px;height:2px;background:#fff}.burger .line:before{top:-7px}.burger .line:after{top:7px}.flyout{position:absolute;top:56px;right:16px;background:rgba(10,30,60,.95);border-radius:10px;padding:12px 14px;color:#fff;box-shadow:0 8px 28px rgba(0,0,0,.28);transform-origin:90% -10px;animation:flyout-in .18s ease-out both}@keyframes flyout-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.flyout a{color:#fff;text-decoration:none;display:block;padding:8px 6px}.flyout a:hover{text-decoration:underline}