:root{--ink:#12324a;--muted:#617d90;--sky:#67c9ee;--skySoft:#e9f8fe;--turq:#22c7bd;--gold:#d7aa3e;--goldSoft:#fff4d3;--line:#d3ebf4;--white:#fff}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:linear-gradient(160deg,#effaff,#fff 48%,#ebfcf9);min-height:100vh}.page{max-width:1120px;margin:auto;padding:20px}.back{position:fixed;left:14px;top:14px;z-index:4;background:#fff;border:1px solid var(--line);padding:9px 12px;border-radius:99px;text-decoration:none;color:var(--ink);font-weight:900;font-size:.72rem;box-shadow:0 6px 16px #1a839716}.hero{text-align:center;padding:56px 10px 35px}.eyebrow{color:#158caa;font-size:.68rem;letter-spacing:.18em;font-weight:900}.hero h1{font-size:clamp(2.8rem,8vw,5.8rem);line-height:.9;margin:14px 0}.hero h1 span{color:var(--turq)}.hero p{color:var(--muted);font-size:1.05rem}.event-card,.reservation{background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:0 14px 35px #1e77970e}.event-badge{display:inline-block;background:var(--goldSoft);color:#987012;border-radius:99px;padding:8px 11px;font-weight:900;font-size:.68rem;letter-spacing:.08em}.event-badge.turquoise{background:#e7fbf8;color:#087f79}.event-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;margin-top:20px}.event-card h2,.reservation h2{font-size:clamp(2rem,5vw,3.2rem);margin:8px 0 18px}.facts{display:grid;gap:9px}.facts div{background:#f6fcff;border:1px solid var(--line);padding:12px;border-radius:14px}.facts small{display:block;color:var(--muted);font-size:.64rem;font-weight:900}.facts strong{display:block;margin-top:3px}.lead{color:var(--muted);line-height:1.65}.programme{background:#f1fbff;border-radius:20px;padding:18px}.programme h3{margin-top:0}.step{display:grid;grid-template-columns:38px 1fr;gap:9px;padding:10px 0;border-bottom:1px solid var(--line)}.step:last-child{border-bottom:0}.step>b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--turq);color:#fff}.step span strong,.step span small{display:block}.step span small{color:var(--muted);margin-top:2px}.reservation{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;margin-top:18px}.reservation-copy p{color:var(--muted);line-height:1.6}.privacy{font-size:.78rem}.form-card{background:#fbfeff;border:1px solid var(--line);border-radius:20px;padding:20px}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}label{display:block;font-size:.78rem;font-weight:900;margin-bottom:12px}input,select{width:100%;margin-top:6px;padding:13px;border:1px solid #badfec;border-radius:11px;background:#fff;color:var(--ink);font-size:.95rem}input:focus,select:focus{outline:3px solid #22c7bd22;border-color:var(--turq)}.submit{width:100%;border:0;background:linear-gradient(135deg,var(--gold),#efcd70);color:var(--ink);padding:15px;border-radius:13px;font-weight:900;cursor:pointer}.message{padding-top:10px;font-size:.84rem;font-weight:700}.ok{color:#13875f}.err{color:#c45252}footer{text-align:center;padding:35px 0;color:var(--muted)}footer strong{color:var(--ink)}footer p{font-size:.75rem}
@media(max-width:760px){.page{padding:12px}.hero{padding-top:48px}.event-grid,.reservation{grid-template-columns:1fr}.two{grid-template-columns:1fr}.event-card,.reservation{padding:18px;border-radius:22px}.back{position:absolute}}

.howto-btn{position:fixed;right:14px;bottom:14px;z-index:9000;border:0;border-radius:999px;padding:10px 14px;font-weight:800}.howto-modal{position:fixed;inset:0;z-index:10000;background:rgba(5,15,35,.7);display:grid;place-items:center;padding:18px}.howto-modal.hidden{display:none!important}.howto-card{position:relative;max-width:600px;width:100%;background:#fff;color:#14233b;border-radius:20px;padding:24px}.howto-close{position:absolute;right:12px;top:10px;border:0;background:none;font-size:28px}.howto-card li{margin:10px 0}

.global-home{position:fixed;left:10px;top:10px;z-index:2147483000;text-decoration:none;background:#fff;color:#102b45;border:1px solid #d9aa32;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:900;box-shadow:0 5px 16px rgba(0,0,0,.14)}
@media(max-width:700px){.global-home{top:max(8px,env(safe-area-inset-top));left:8px;padding:7px 9px;font-size:10px}}
