:root{
  --rose:#FF3EA5; --vert:#B4FF3B; --violet:#7B3EFF;
  --nuit:#05012C; --rouge:#FF2E2E; --orange:#FF7A1A; --blanc:#F4F4F0;
}
*{margin:0;padding:0;box-sizing:border-box;border-radius:0!important;}
html{scroll-behavior:smooth;}
body{font-family:'Poppins',sans-serif;background:var(--blanc);color:#000;overflow-x:hidden;}
img{display:block;max-width:100%;}
a{color:inherit;}
.mono{font-family:'JetBrains Mono',monospace;font-weight:800;letter-spacing:.03em;}
/* base titres : sentence case bold ; les LABELS passent en MAJ ci-dessous */
h1,h2,h3{font-family:'General Sans',sans-serif;font-weight:700;line-height:.95;}

/* HEADER */
header{position:sticky;top:0;z-index:60;background:#fff;border-bottom:2px solid #000;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px 28px;gap:20px;}
.nav-left,.nav-right{display:flex;gap:26px;align-items:center;}
.nav-right{justify-content:flex-end;}
nav a{font-family:'General Sans',sans-serif;font-weight:700;font-size:18px;letter-spacing:.02em;
  text-transform:uppercase;color:#000;text-decoration:none;position:relative;padding-bottom:9px;}
nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:9px;background:#000;transition:width .15s ease;}
nav a:hover::after,nav a.on::after{width:100%;}
.logo-head{height:104px;width:auto;}
.burger{display:none;font-size:26px;background:none;border:none;cursor:pointer;}

/* MARQUEE */
.marquee{background:var(--rose);border-bottom:2px solid #000;overflow:hidden;white-space:nowrap;}
.marquee-track{display:inline-block;padding:9px 0;animation:scroll 22s linear infinite;}
.marquee-track span{font-family:'General Sans',sans-serif;font-weight:700;text-transform:uppercase;
  font-size:19px;letter-spacing:.04em;color:#000;padding:0 16px;}
.marquee-track .sep{font-size:14px;vertical-align:middle;}
@keyframes scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* HERO */
.hero{position:relative;min-height:84vh;display:flex;align-items:flex-end;overflow:hidden;border-bottom:2px solid #000;}
.hero.short{min-height:56vh;}
.hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.hero .veil{position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(5,1,44,.88),rgba(5,1,44,.25) 60%),
             linear-gradient(to top,rgba(5,1,44,.7),rgba(5,1,44,.1) 60%,rgba(5,1,44,.4));}
.hero .inner{position:relative;z-index:2;padding:56px 46px 62px;max-width:1150px;text-align:left;}
/* phrase importante : minuscules + bold, sur cartouche noir (pas de fondu) */
.hero .quote{font-family:'General Sans',sans-serif;font-weight:700;color:#fff;
  background:#000;display:inline;-webkit-box-decoration-break:clone;box-decoration-break:clone;
  padding:.04em .16em;font-size:clamp(46px,8.5vw,128px);line-height:1.3;letter-spacing:-.01em;}
.hero .sub{font-family:'JetBrains Mono',monospace;font-weight:800;color:#fff;margin-top:22px;
  font-size:clamp(13px,1.6vw,17px);letter-spacing:.05em;text-transform:uppercase;
  background:#000;padding:10px 14px;display:inline-block;}
.hero .cta{display:inline-block;margin-top:26px;background:#000;color:#fff;border:2px solid #000;
  font-family:'JetBrains Mono',monospace;font-weight:800;text-transform:uppercase;letter-spacing:.06em;
  padding:20px 38px;text-decoration:none;font-size:19px;transition:.12s;}
.hero .cta:hover{background:var(--vert);color:#000;border-color:var(--vert);}
.forme{position:absolute;z-index:2;pointer-events:none;}
.f1{width:300px;top:80px;right:-50px;animation:float 9s ease-in-out infinite;}
/* formes décoratives dans la mise en page */
.deco{position:absolute;pointer-events:none;z-index:15;width:clamp(180px,22vw,320px);
  animation:float 10s ease-in-out infinite;}
.d1{right:24px;bottom:-55px;}
.d2{right:26px;top:-45px;animation:spin 24s linear infinite;}
.d3{right:20px;bottom:-40px;}
#lieu,.journal,.band{position:relative;}
@keyframes float{0%,100%{transform:translateY(0) rotate(-6deg);}50%{transform:translateY(18px) rotate(4deg);}}
@keyframes spin{to{transform:rotate(360deg);}}

/* PAGE TITLE BAND */
.pagehead{padding:52px 28px;border-bottom:2px solid #000;}
.pagehead .kicker{font-family:'JetBrains Mono',monospace;font-weight:800;font-size:16px;
  letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px;}
.pagehead h1{font-family:'JetBrains Mono',monospace;font-weight:800;font-size:clamp(40px,9vw,120px);
  text-transform:uppercase;background:#000;color:#fff;padding:10px 22px;display:inline-block;letter-spacing:-.02em;line-height:1;}
.pagehead.pink{background:var(--rose);} .pagehead.vert{background:var(--vert);}
.pagehead.violet{background:var(--violet);color:#fff;} .pagehead.violet .kicker{color:#fff;}

/* ROWS */
.row{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;min-height:440px;border-bottom:2px solid #000;}
.row.rev .media{order:2;}
.media{overflow:hidden;background:#000;}
.media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.media:hover img{transform:scale(1.04);}
.media video{width:100%;height:100%;object-fit:cover;display:block;}
.pane{padding:54px 46px;display:flex;flex-direction:column;justify-content:center;}
.tag{display:inline-block;background:#000;color:#fff;font-family:'JetBrains Mono',monospace;font-weight:800;
  font-size:18px;text-transform:uppercase;letter-spacing:.08em;padding:9px 16px;margin-bottom:22px;width:fit-content;}
.pane h2{font-size:clamp(38px,5.5vw,78px);margin-bottom:18px;}
.pane p{font-size:16px;line-height:1.6;max-width:46ch;font-weight:400;}
.s-vert{background:var(--vert);}
.s-rose{background:var(--rose);color:#000;}
.s-violet{background:var(--violet);color:#fff;}
.s-violet .tag{background:#000;}
.s-noir{background:#000;color:#fff;}
.s-noir h2,.s-noir p{color:#fff;}
.s-noir .tag{background:#fff;color:#000;}
.s-orange{background:var(--orange);}
.s-blanc{background:var(--blanc);}
/* pane sur image d'art : texte dans un cartouche noir */
.pane.art{background:#000;background-size:cover;background-position:center;justify-content:center;}
.pane.art .box{background:#000;color:#fff;padding:34px 32px;}
.pane.art .box h2,.pane.art .box p{color:#fff;}

/* BAND / MANIFESTE */
.band{padding:70px 28px;border-bottom:2px solid #000;}
.band .kick{font-family:'JetBrains Mono',monospace;font-weight:800;font-size:15px;letter-spacing:.1em;
  text-transform:uppercase;margin-bottom:22px;}
.band .lede{font-family:'General Sans',sans-serif;font-weight:700;
  font-size:clamp(26px,4vw,56px);line-height:1.02;max-width:22ch;}
.band .lede.wide{max-width:26ch;}
.band p.txt{font-size:16px;line-height:1.7;max-width:60ch;margin-top:24px;}
.band.dark{background:var(--nuit);color:#fff;}
.band.violet{background:var(--violet);color:#fff;}
.band.vert{background:var(--vert);} .band.rose{background:var(--rose);}

/* 3 TEMPS */
.temps{position:relative;border-bottom:2px solid #000;background:var(--vert);overflow:hidden;}
.temps .art{display:none;}
.temps .cells{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:48px;}
.temps .cell{background:#000;color:#fff;padding:30px 26px;min-height:210px;}
.temps .num{font-family:'JetBrains Mono',monospace;font-weight:800;font-size:15px;margin-bottom:14px;color:#fff;}
.temps h3{font-size:34px;margin-bottom:12px;color:#fff;text-transform:uppercase;}
.temps p{font-size:14px;line-height:1.55;color:#fff;}

/* VALUES */
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;padding:52px 36px;
  border-bottom:2px solid #000;background:var(--blanc);}
.values>div{background:#000;color:#fff;padding:34px 28px;min-height:210px;}
.values h3{font-size:30px;margin-bottom:12px;text-transform:uppercase;color:#fff;}
.values p{font-size:14px;line-height:1.55;color:#fff;}
.v1{box-shadow:15px 15px 0 var(--vert);} .v2{box-shadow:15px 15px 0 var(--rose);} .v3{box-shadow:15px 15px 0 var(--orange);}

/* LISTE ÉQUIPE */
.team{list-style:none;margin-top:16px;}
.team li{display:flex;justify-content:space-between;align-items:baseline;gap:14px;
  padding:11px 0;border-bottom:2px solid #000;}
.team li:first-child{border-top:2px solid #000;}
.team li strong{font-family:'General Sans',sans-serif;font-weight:700;text-transform:uppercase;font-size:18px;}
.team li span{font-family:'JetBrains Mono',monospace;font-weight:800;font-size:12px;text-transform:uppercase;
  letter-spacing:.04em;white-space:nowrap;}

/* PROG */
.prog{background:#fff;padding:56px 28px;border-bottom:2px solid #000;}
.prog-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px;}
.prog-head h2{font-family:'JetBrains Mono',monospace;font-weight:800;font-size:clamp(28px,5vw,58px);
  text-transform:uppercase;background:#000;color:#fff;padding:12px 20px;display:inline-block;letter-spacing:-.01em;}
.filters{display:flex;gap:12px;flex-wrap:wrap;}
.filters button{background:#000;color:#fff;border:none;font-family:'JetBrains Mono',monospace;font-weight:800;
  text-transform:uppercase;letter-spacing:.05em;font-size:13px;padding:14px 22px;cursor:pointer;transition:.1s;}
.filters button.active,.filters button:hover{background:var(--vert);color:#000;}
.events{display:grid;gap:16px;}
.event{background:#000;color:#fff;display:grid;grid-template-columns:auto 1fr;align-items:center;
  gap:24px;padding:22px 26px;transition:transform .1s, box-shadow .1s;}
.event:hover{transform:translate(-4px,-4px);box-shadow:10px 10px 0 var(--vert);}
.event .date{font-family:'JetBrains Mono',monospace;font-weight:800;font-size:26px;color:#fff;}
.event .title{font-family:'General Sans',sans-serif;font-weight:700;font-size:30px;line-height:.95;}
.event .meta{font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:.04em;opacity:.85;margin-top:6px;}

/* CARTES ÉVÉNEMENT (style affiche, image plein cadre) */
.ev-scroll{display:flex;gap:18px;overflow-x:auto;padding-bottom:14px;scroll-snap-type:x mandatory;}
.ev-scroll::-webkit-scrollbar{height:10px;}
.ev-scroll::-webkit-scrollbar-track{background:#eee;}
.ev-scroll::-webkit-scrollbar-thumb{background:#000;}
.ev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.ev-card{position:relative;display:block;overflow:hidden;border:2px solid #000;text-decoration:none;
  aspect-ratio:4/3;background:#000;scroll-snap-align:start;}
.ev-scroll .ev-card{flex:0 0 clamp(300px,40vw,520px);}
.ev-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.ev-card:hover img{transform:scale(1.05);}
.ev-top{position:absolute;top:0;left:0;right:0;padding:18px;}
.ev-cat{display:block;width:fit-content;background:var(--vert);color:#000;font-family:'JetBrains Mono',monospace;
  font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.06em;padding:5px 10px;margin-bottom:10px;}
/* titre événement : MAJ sur cartouche noir (correlation avec les titres de section) */
.ev-title{display:inline;background:#000;color:#fff;text-transform:uppercase;
  -webkit-box-decoration-break:clone;box-decoration-break:clone;padding:.05em .16em;
  font-family:'General Sans',sans-serif;font-weight:700;font-size:clamp(22px,2.4vw,32px);line-height:1.24;}
.ev-sub{display:block;width:fit-content;max-width:100%;background:#000;color:#fff;font-size:15px;
  margin-top:12px;padding:6px 11px;line-height:1.35;}
.ev-date{display:block;width:fit-content;background:#000;color:#fff;font-family:'JetBrains Mono',monospace;
  font-weight:800;font-size:13px;margin-top:8px;padding:7px 11px;text-transform:uppercase;letter-spacing:.04em;}
/* titre de page événement en MAJ + bouton réserver */
.article h1.up{text-transform:uppercase;}
.resa-app{display:inline-block;margin-top:10px;background:var(--vert);color:#000;border:2px solid var(--vert);
  font-family:'JetBrains Mono',monospace;font-weight:800;text-transform:uppercase;letter-spacing:.05em;
  padding:16px 28px;text-decoration:none;font-size:15px;transition:.12s;}
.resa-app:hover{background:transparent;color:var(--vert);}
.infobar{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 26px;}
.infobar span{background:#000;color:#fff;font-family:'JetBrains Mono',monospace;font-weight:800;
  font-size:13px;text-transform:uppercase;letter-spacing:.04em;padding:9px 14px;}

/* PAGE ARTICLE */
.art-hero{border-bottom:2px solid #000;background:var(--blanc);
  display:flex;justify-content:center;padding:48px 34px;}
.art-hero img{width:100%;max-width:840px;aspect-ratio:3/2;object-fit:cover;object-position:center;
  display:block;box-shadow:16px 16px 0 var(--vert);}
.article{max-width:760px;margin:0 auto;padding:44px 28px 72px;}
.article .ev-cat{position:static;margin-bottom:20px;}
.article h1{font-family:'General Sans',sans-serif;font-weight:700;font-size:clamp(34px,5vw,66px);
  line-height:.98;margin-bottom:16px;}
.article .byline{font-family:'JetBrains Mono',monospace;font-weight:800;font-size:13px;
  text-transform:uppercase;letter-spacing:.06em;margin-bottom:30px;}
.article p{font-size:17px;line-height:1.75;margin-bottom:20px;}
.article h2{font-size:30px;margin:36px 0 14px;}
.back{display:inline-block;margin:6px 28px 60px;font-family:'JetBrains Mono',monospace;font-weight:800;
  text-transform:uppercase;background:#000;color:#fff;padding:13px 20px;text-decoration:none;font-size:13px;letter-spacing:.04em;}
.back:hover{background:var(--vert);color:#000;}
@media(max-width:820px){.ev-grid{grid-template-columns:1fr;}.ev-scroll .ev-card{flex:0 0 80vw;}}

/* JOURNAL / GRID */
.journal{padding:56px 28px;background:var(--blanc);border-bottom:2px solid #000;}
.journal>h2{font-family:'JetBrains Mono',monospace;font-weight:800;font-size:clamp(28px,5vw,58px);
  text-transform:uppercase;background:#000;color:#fff;padding:12px 20px;display:inline-block;margin-bottom:28px;letter-spacing:-.01em;}
.grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid #000;border-left:2px solid #000;}
.card{border-right:2px solid #000;border-bottom:2px solid #000;background:#fff;transition:.1s;cursor:pointer;
  display:flex;flex-direction:column;}
.card .thumb{height:150px;overflow:hidden;border-bottom:2px solid #000;}
.card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.card:hover .thumb img{transform:scale(1.05);}
.card .body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1;}
.card:hover{background:var(--vert);}
.card .cat{font-family:'JetBrains Mono',monospace;font-weight:800;font-size:13px;text-transform:uppercase;
  letter-spacing:.08em;background:#000;color:#fff;padding:6px 12px;width:fit-content;}
.card h3{font-size:24px;line-height:.98;}
.card p{font-size:13px;line-height:1.5;font-weight:400;}

/* CONTACT */
.contact-wrap{display:grid;grid-template-columns:1fr 1fr;gap:34px;padding:52px 36px;
  border-bottom:2px solid #000;background:url('MOTIF_web.jpg') center/cover;}
.contact-info{display:flex;flex-direction:column;align-items:flex-start;gap:12px;}
.contact-info .ci-head{background:#000;color:#fff;font-family:'General Sans',sans-serif;font-weight:700;
  text-transform:uppercase;font-size:clamp(30px,3.6vw,48px);padding:10px 16px;line-height:.95;margin:0;}
.contact-info h3{display:inline-block;background:#000;color:#fff;font-size:20px;text-transform:uppercase;
  padding:8px 13px;margin:12px 0 0;letter-spacing:.02em;}
.contact-info p{display:inline-block;width:fit-content;background:#000;color:#fff;
  font-family:'JetBrains Mono',monospace;font-size:14px;line-height:1.6;font-weight:700;padding:8px 13px;margin:0;}
.contact-form{background:#000;color:#fff;padding:34px 30px;}
.contact-form .cf-head{font-family:'General Sans',sans-serif;font-weight:700;text-transform:uppercase;
  font-size:clamp(34px,4vw,52px);color:#fff;margin-bottom:20px;line-height:.95;}
.contact-form label{font-family:'JetBrains Mono',monospace;font-weight:800;font-size:12px;
  text-transform:uppercase;letter-spacing:.08em;display:block;margin:18px 0 8px;}
.contact-form input,.contact-form textarea{width:100%;border:2px solid #fff;background:transparent;color:#fff;
  font-family:'Poppins',sans-serif;font-size:15px;padding:14px;}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--vert);}
.contact-form button{margin-top:24px;background:var(--vert);color:#000;border:2px solid var(--vert);
  font-family:'JetBrains Mono',monospace;font-weight:800;text-transform:uppercase;letter-spacing:.05em;
  padding:15px 28px;cursor:pointer;transition:.12s;}
.contact-form button:hover{background:transparent;color:var(--vert);}

/* FOOTER */
footer{background:var(--nuit);color:#fff;padding:56px 28px;text-align:center;}
footer .big{font-family:'General Sans',sans-serif;font-weight:700;
  font-size:clamp(32px,6vw,66px);color:#fff;line-height:.92;margin-bottom:20px;}
footer p{font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:.05em;line-height:1.9;}

@media(max-width:820px){
  header{grid-template-columns:auto 1fr;}
  .nav-left,.nav-right{display:none;}
  .logo-head{height:60px;}
  .burger{display:block;justify-self:end;}
  .row,.grid,.values,.contact-wrap{grid-template-columns:1fr;}
  .row.rev .media{order:0;}
  .temps .cells{grid-template-columns:1fr;padding:24px;}
  .values>div{border-right:none;border-bottom:2px solid #000;}
  .grid{border-left:none;}
  .card{border-left:2px solid #000;}
  .event{grid-template-columns:1fr;gap:10px;}
  .f1{display:none;}
}
