:root{--orange:#ff7900;--orange2:#ff9d36;--black:#090909;--panel:#151515;--muted:#aaa39a;--line:rgba(255,255,255,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;background:var(--black);color:#fff;font-family:Arial,Helvetica,sans-serif}a{color:inherit}.site-header{position:fixed;z-index:50;top:0;left:0;right:0;height:82px;display:flex;align-items:center;gap:28px;padding:10px max(18px,calc((100vw - 1240px)/2));background:rgba(8,8,8,.9);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.brand img{display:block;width:65px;height:65px;object-fit:contain}.site-header nav{display:flex;align-items:center;gap:26px;margin-left:auto}.site-header nav a{font-size:.86rem;font-weight:800;text-decoration:none;text-transform:uppercase;letter-spacing:.08em}.site-header nav a:hover{color:var(--orange2)}.header-call,.button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:12px 19px;border-radius:999px;font-weight:900;text-decoration:none}.header-call,.primary{background:var(--orange);color:#17100a}.menu-toggle{display:none}.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;padding:130px max(22px,calc((100vw - 1240px)/2)) 90px;background:linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.64) 48%,rgba(0,0,0,.12) 100%),url("assets/food-plats.jpg") center/cover}.hero:after{content:"";position:absolute;left:-3%;right:-3%;bottom:-52px;height:95px;background:var(--orange);transform:rotate(-1.5deg)}.hero-shade{position:absolute;inset:0;background:radial-gradient(circle at 22% 42%,rgba(255,121,0,.18),transparent 38%)}.hero-content{position:relative;z-index:2;width:min(720px,100%)}.hero-logo{width:clamp(150px,24vw,230px);filter:drop-shadow(0 15px 25px #000);margin:6px 0 10px}.eyebrow{color:var(--orange2);font-size:.75rem;font-weight:900;letter-spacing:.2em;text-transform:uppercase}.hero h1,.section h2{margin:10px 0;font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.025em;line-height:.92}.hero h1{font-size:clamp(4.2rem,10vw,8.5rem)}h1 em,h2 em{color:var(--orange);font-style:normal}.hero-copy{max-width:610px;font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.55;color:#ddd5cc}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.secondary{border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.3)}.hero-notice{position:absolute;right:max(22px,calc((100vw - 1240px)/2));bottom:100px;z-index:2;width:250px;padding:22px;border-left:4px solid var(--orange);background:rgba(8,8,8,.82);backdrop-filter:blur(10px)}.hero-notice span,.hero-notice b{display:block;color:var(--orange2);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.hero-notice strong{display:block;margin:8px 0;font-size:1.25rem;line-height:1.2}.section{width:min(1240px,calc(100% - 36px));margin:auto;padding:100px 0}.intro{display:grid;grid-template-columns:80px 1fr .85fr;gap:34px;align-items:end}.section-number{font-size:1.1rem;color:var(--orange);font-weight:900;align-self:start}.section h2{font-size:clamp(3.1rem,7vw,6.6rem)}.lead{margin:0;color:var(--muted);font-size:1.08rem;line-height:1.75}.highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;padding-top:0}.highlights article{padding:35px;background:var(--panel);border-top:3px solid var(--orange)}.highlights span{color:#6b645d;font-weight:900}.highlights h3{font-size:1.45rem;margin:28px 0 12px}.highlights p{color:var(--muted);line-height:1.6;margin:0}.events{border-top:1px solid var(--line)}.events-heading{display:grid;grid-template-columns:1.15fr .75fr;gap:50px;align-items:end;margin-bottom:42px}.events-heading p:last-child{color:var(--muted);line-height:1.7}.event-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:14px}.event-card{position:relative;min-height:430px;overflow:hidden;border-radius:22px;background:#1b1b1b;border:1px solid var(--line)}.main-event{display:flex;align-items:flex-end;padding:30px;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.94)),radial-gradient(circle at 50% 20%,#74350d,transparent 55%),url("assets/food-entrees.jpg") center/cover}.event-copy{position:relative;z-index:2}.event-card h3{margin:10px 0;font-family:Impact,sans-serif;font-size:2.4rem;text-transform:uppercase;letter-spacing:.04em}.event-card p{color:#ddd1c5;line-height:1.55}.tag{display:inline-block;color:var(--orange2);font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.13em}.poster-card img{width:100%;height:100%;object-fit:cover}.poster-card div{position:absolute;left:0;right:0;bottom:0;padding:65px 22px 22px;background:linear-gradient(transparent,rgba(0,0,0,.95))}.poster-card h3{font-size:1.65rem}.text-link{display:inline-block;margin-top:28px;color:var(--orange2);font-weight:900;text-underline-offset:5px}.flavours{display:grid;grid-template-columns:1.15fr .9fr .48fr;gap:18px;align-items:center}.flavour-image img,.flavour-small img{width:100%;height:620px;object-fit:cover;border-radius:26px}.flavour-small img{height:390px}.flavour-copy{padding:25px}.flavour-copy p:not(.eyebrow){color:var(--muted);line-height:1.7;margin-bottom:28px}.contact{border-top:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:50px}.contact-grid>div{display:flex;flex-direction:column;justify-content:center;min-height:120px;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.contact-grid small{color:var(--orange2);font-weight:900;text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px}.contact-grid a,.contact-grid strong{font-size:1.05rem;line-height:1.5;overflow-wrap:anywhere}footer{display:flex;align-items:center;justify-content:center;gap:25px;padding:48px 20px;border-top:1px solid var(--line);color:var(--muted)}footer img{width:72px}footer a{color:var(--orange2);font-weight:800}.button:hover,.header-call:hover{transform:translateY(-2px)}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
@media(max-width:900px){.site-header nav{position:absolute;left:0;right:0;top:82px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:10px 18px 22px;background:#0b0b0b;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.site-header nav a{padding:15px 0;border-bottom:1px solid var(--line)}.menu-toggle{display:block;margin-left:auto;border:1px solid var(--line);border-radius:999px;background:transparent;color:#fff;padding:10px 15px;font-weight:800}.header-call{display:none}.hero-notice{position:relative;right:auto;bottom:auto;margin-top:40px}.hero{display:block}.intro,.events-heading{grid-template-columns:1fr}.section-number{display:none}.event-grid{grid-template-columns:1fr 1fr}.main-event{grid-column:1/-1;min-height:360px}.flavours{grid-template-columns:1fr 1fr}.flavour-copy{grid-row:1;grid-column:1/-1;padding:0 0 24px}.flavour-image img{height:440px}.flavour-small img{height:440px}}
@media(max-width:600px){.site-header{height:72px}.brand img{width:55px;height:55px}.site-header nav{top:72px}.hero{min-height:auto;padding-top:110px;padding-bottom:105px}.hero h1{font-size:clamp(3.7rem,20vw,5.4rem)}.hero-logo{width:170px}.hero-actions{display:grid}.button{width:100%}.section{padding:72px 0}.intro{gap:18px}.section h2{font-size:clamp(2.8rem,14vw,4.5rem)}.highlights,.event-grid,.flavours,.contact-grid{grid-template-columns:1fr}.highlights{gap:10px}.main-event{grid-column:auto}.event-card{min-height:380px}.flavour-copy{grid-column:auto;grid-row:auto}.flavour-image img{height:420px}.flavour-small img{height:280px}footer{flex-direction:column;text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button:hover,.header-call:hover{transform:none}}

.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;background:#030303;padding-bottom:110px;min-height:850px}.hero-content{width:100%}.hero h1{font-size:clamp(3.6rem,6.8vw,6.8rem)}.hero-mascot{position:relative;z-index:1}.hero-mascot img{display:block;width:100%;height:auto;max-height:640px;object-fit:contain}.hero-shade{display:none}.hero-notice{position:static;grid-column:1/-1;width:auto;max-width:600px;padding:16px 22px}.whatsapp-float{position:fixed;right:22px;bottom:max(20px,env(safe-area-inset-bottom));z-index:60;background:#25d366;color:#082b17;border-radius:999px;padding:16px 22px;min-height:48px;font-weight:800;text-decoration:none;box-shadow:0 6px 26px #0008}footer{padding-bottom:100px}
@media(max-width:900px){.hero{grid-template-columns:1fr 1fr;min-height:auto}.hero h1{font-size:clamp(3rem,7vw,5rem)}.hero-notice{margin-top:15px}}
@media(max-width:600px){.hero{grid-template-columns:1fr;gap:18px;padding-top:100px}.hero-content{text-align:center}.hero h1{font-size:clamp(3rem,14vw,4.7rem)}.hero-mascot{grid-row:2}.hero-mascot img{max-height:420px}.hero-notice{grid-column:1;margin-top:0}.whatsapp-float{right:12px;bottom:max(12px,env(safe-area-inset-bottom));font-size:.9rem;padding:14px 18px}}
@media(min-width:601px){.hero{grid-template-columns:1fr 1.1fr}.hero-mascot{grid-column:1;grid-row:1}.hero-content{grid-column:2;grid-row:1}}
.mascot-welcome:before{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.08);border-radius:25px;pointer-events:none}
.mascot-visual{position:relative;align-self:stretch;min-height:690px}
.mascot-visual img{position:absolute;z-index:2;left:-3%;bottom:-2px;width:min(610px,115%);height:96%;object-fit:contain;object-position:left bottom;filter:drop-shadow(20px 20px 28px rgba(0,0,0,.52))}
.main-event{background:linear-gradient(180deg,rgba(0,0,0,.02) 20%,rgba(0,0,0,.25) 48%,rgba(0,0,0,.94) 100%),url("assets/karaoke-amis.png") center 30%/cover}
.mascot-glow{display:none}
.mascot-welcome{background:#030303}
.mascot-visual img{filter:none;mask-image:linear-gradient(to right,transparent,#000 5%,#000 94%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 5%,#000 94%,transparent)}
.mascot-message{position:relative;z-index:3;padding:70px 65px 70px 20px}
.mascot-message h2{margin:8px 0 22px;font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:clamp(4rem,7vw,6.8rem);font-weight:500;line-height:.9;letter-spacing:.025em;text-transform:uppercase}
.mascot-message h2 em{color:var(--orange);font-style:normal}
.mascot-message>p:not(.eyebrow){max-width:560px;color:#d4ccc3;font-size:1.08rem;line-height:1.7}
.mascot-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.mascot-signature{display:inline-block;margin-top:40px;padding:16px 22px;border-left:4px solid var(--orange);color:#eee4d9;font-size:1rem;font-style:italic;line-height:1.5}
.mascot-signature strong{color:var(--orange2);font-style:normal;text-transform:uppercase;letter-spacing:.05em}

@media(max-width:900px){.mascot-welcome{grid-template-columns:.9fr 1.1fr;min-height:590px}.mascot-visual{min-height:590px}.mascot-message{padding:50px 34px 50px 0}.mascot-message h2{font-size:clamp(3.4rem,8vw,5.2rem)}}
@media(max-width:600px){.mascot-welcome{display:flex;flex-direction:column;width:calc(100% - 24px);margin-bottom:72px;border-radius:25px}.mascot-visual{order:2;width:100%;min-height:500px}.mascot-visual img{left:50%;width:118%;height:100%;transform:translateX(-50%);object-position:center bottom}.mascot-glow{width:270px;height:270px;left:50%;top:28%;transform:translateX(-50%)}.mascot-message{order:1;padding:48px 26px 8px;text-align:center}.mascot-message h2{font-size:clamp(3.5rem,18vw,5.2rem)}.mascot-message>p:not(.eyebrow){font-size:1rem}.mascot-actions{display:grid}.mascot-signature{margin-top:28px;text-align:left}}
/* Introduction décorative : disparaît sans JavaScript et ne bloque aucun lien. */
.brand-intro{position:fixed;inset:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;background:#050505;pointer-events:none;animation:intro-exit .6s ease 1.25s forwards}
.brand-intro img{position:relative;width:min(300px,60vw);height:auto;filter:drop-shadow(0 0 25px #ff79002a);animation:intro-logo 1.1s cubic-bezier(.16,1,.3,1) both}
.brand-intro span{position:relative;color:#ff9d36;font-size:12px;letter-spacing:.19em;text-transform:uppercase;text-align:center;padding:0 20px;animation:intro-logo .8s ease .15s both}
.brand-intro-halo{position:absolute;width:min(440px,85vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#ff790019,transparent 68%)}
.brand-intro-line{width:100px;height:2px;background:#ff7900;transform-origin:center;animation:intro-line 1.1s ease both}
body:focus-within .brand-intro{display:none}
@keyframes intro-logo{from{opacity:0;transform:translateY(12px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes intro-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes intro-exit{to{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){.brand-intro{display:none}}
