/* ==========================================================================
   NEO : feuille de style unique
   1 Polices · 2 Variables · 3 Base · 4 En-tête · 5 Boutons · 6 Fond animé
   7 Accueil · 8 En-têtes de page · 9 Contenu · 10 Blocs · 11 Pied de page
   12 Ligne dorée · 13 Formulaires · 14 Responsive
   ========================================================================== */

/* 1 POLICES (hébergées dans le thème) */
@font-face{font-family:'Montserrat';font-weight:400;font-style:normal;font-display:swap;src:url('../fonts/montserrat-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-weight:500;font-style:normal;font-display:swap;src:url('../fonts/montserrat-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-weight:600;font-style:normal;font-display:swap;src:url('../fonts/montserrat-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-weight:700;font-style:normal;font-display:swap;src:url('../fonts/montserrat-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-weight:400;font-style:normal;font-display:swap;src:url('../fonts/playfair-display-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-weight:400;font-style:italic;font-display:swap;src:url('../fonts/playfair-display-latin-400-italic.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-weight:600;font-style:normal;font-display:swap;src:url('../fonts/playfair-display-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-weight:700;font-style:normal;font-display:swap;src:url('../fonts/playfair-display-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Great Vibes';font-weight:400;font-style:normal;font-display:swap;src:url('../fonts/great-vibes-latin-400-normal.woff2') format('woff2')}

/* 2 VARIABLES */
:root{
  --bg:#050403; --bg-2:#0b0906; --panel:rgba(13,10,6,.86);
  --gold:#d9a94a; --gold-hi:#f6dc92; --gold-lo:#a9741f;
  --gold-grad:linear-gradient(180deg,#fbe7a6 0%,#e2b457 48%,#b07d2a 100%);
  --line:rgba(217,169,74,.55); --line-soft:rgba(217,169,74,.25);
  --text:#f2ece0; --muted:#b9ae9a;
  --serif:'Playfair Display',Georgia,'Times New Roman',serif;
  --sans:'Montserrat',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --script:'Great Vibes','Segoe Script',cursive;
  --wrap:1180px; --wide:1560px; --read:860px; --gut:clamp(16px,3vw,40px);
  --header-h:58px;
  --radius:8px; --line-gold:rgba(232,189,98,.78);
  /* Fond des cadres : lueur dorée percée de points noirs (réglages : pas, taille, couleur, portée) */
  --frame-dot:4px; --frame-dot-r:1.05px; --frame-dot-col:rgba(8,6,3,.9);
  --frame-glow-col:rgba(224,164,44,.7); --frame-glow-reach:52%;
  --frame:radial-gradient(circle,var(--frame-dot-col) 0 var(--frame-dot-r),transparent calc(var(--frame-dot-r) + .45px)) 0 0/var(--frame-dot) var(--frame-dot),
    radial-gradient(ellipse 85% 85% at 100% 100%,var(--frame-glow-col),rgba(224,164,44,0) var(--frame-glow-reach)),#0b0906;
}

/* 3 BASE */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,video{max-width:100%;height:auto}
img{display:block}
a{color:var(--gold-hi);text-decoration-color:var(--line)}
a:hover{color:#fff}
:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.neo-skip{position:absolute;left:-999px;top:8px;z-index:200;background:var(--gold);color:#000;padding:8px 14px;border-radius:3px}
.neo-skip:focus{left:8px}
.neo-icon{width:1.25em;height:1.25em;flex:none}
.neo-icon--lg{width:38px;height:38px;color:var(--gold)}
.neo-icon--xl{width:52px;height:52px;color:var(--gold)}
.neo-wrap{width:100%;max-width:calc(var(--wrap) + var(--gut)*2);margin-inline:auto;padding-inline:var(--gut)}
.neo-wrap--wide{max-width:calc(var(--wide) + var(--gut)*2)}
.neo-wrap--read{max-width:calc(var(--wrap) + var(--gut)*2)}
.neo-prose{max-width:var(--read)}
.neo-section{padding-block:clamp(28px,4vw,56px)}
.neo-h1,.neo-h2,.neo-h3{font-family:var(--serif);font-weight:600;line-height:1.12;margin:0 0 .5em}
.neo-h1{overflow-wrap:break-word;font-size:clamp(2.2rem,5.2vw,4.1rem);font-weight:600;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 2px 14px rgba(0,0,0,.65))}
.neo-h2{font-size:clamp(1.6rem,3vw,2.35rem);color:#fff}
.neo-h3{font-size:1.2rem;color:var(--gold-hi)}
.neo-kicker{margin:0 0 .8em;font:600 .72rem/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.neo-kicker--wide{letter-spacing:.34em}
.neo-lead{font-size:clamp(1rem,1.5vw,1.2rem);max-width:34em;margin:0 0 1.4em;color:#fff}
.neo-script{font-family:var(--script);font-weight:400;line-height:1.05;margin:0;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 8px rgba(0,0,0,.6))}
.neo-more{display:inline-flex;align-items:center;gap:.5em;font-size:.85rem;font-weight:500;color:var(--gold-hi)}
.neo-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:18px}
.neo-head .neo-h2{margin:0}
.neo-panel{border:1px solid var(--line-gold);background:var(--frame);padding:clamp(16px,2vw,24px);border-radius:var(--radius);box-shadow:inset 0 0 0 1px rgba(246,220,146,.07),0 0 16px rgba(217,169,74,.12)}

/* 4 EN-TÊTE */
.neo-header{position:sticky;top:0;z-index:100;background:linear-gradient(180deg,rgba(5,4,3,.55),rgba(5,4,3,.18));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid rgba(217,169,74,.14)}
.admin-bar .neo-header{top:32px}
.neo-header__in{display:flex;align-items:center;gap:clamp(16px,3vw,48px);max-width:calc(var(--wide) + var(--gut)*2);margin:auto;padding:6px var(--gut);min-height:var(--header-h)}
.neo-logo{display:block;flex:none;width:clamp(110px,10vw,152px)}
.neo-logo__img{width:100%;height:auto}
.neo-nav{display:flex;align-items:center;flex:1;gap:24px}
.neo-menu{display:flex;gap:clamp(14px,2.2vw,34px);list-style:none;margin:0 auto;padding:0}
.neo-menu a{position:relative;display:block;padding:8px 2px;color:#fff;text-decoration:none;font:500 .8rem/1 var(--sans);letter-spacing:.01em}
.neo-menu a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .25s}
.neo-menu a:hover::after,.neo-menu .current-menu-item>a::after,.neo-menu .current-menu-ancestor>a::after,.neo-menu .current_page_item>a::after{transform:scaleX(1)}
.neo-menu .current-menu-item>a,.neo-menu .current-menu-ancestor>a,.neo-menu .current_page_item>a{color:var(--gold-hi)}
.neo-menu li{position:relative}
.neo-menu .sub-menu{position:absolute;left:-14px;top:100%;min-width:250px;list-style:none;margin:0;padding:8px 0;background:var(--frame);border:1px solid var(--line-gold);border-radius:var(--radius);box-shadow:0 12px 30px rgba(0,0,0,.6),0 0 16px rgba(217,169,74,.14);opacity:0;visibility:hidden;transform:translateY(6px);transition:.2s}
.neo-menu li:hover>.sub-menu,.neo-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.neo-menu .sub-menu a{padding:9px 16px}
.neo-menu .menu-item-has-children>a{padding-right:16px}
.neo-menu .menu-item-has-children>a::before{content:"";position:absolute;right:2px;top:50%;width:5px;height:5px;margin-top:-4px;border:solid var(--gold);border-width:0 1.5px 1.5px 0;transform:rotate(45deg);transition:transform .2s}
.neo-menu .menu-item-has-children:hover>a::before{transform:rotate(-135deg);margin-top:-1px}
.neo-menu .sub-menu a::after{display:none}
.neo-burger{display:none;margin-left:auto;background:none;border:1px solid var(--line);color:var(--gold-hi);width:44px;height:44px;border-radius:3px;cursor:pointer;align-items:center;justify-content:center}
.neo-burger .neo-icon{width:24px;height:24px}
.neo-burger__close{display:none}
.neo-burger[aria-expanded="true"] .neo-burger__open{display:none}
.neo-burger[aria-expanded="true"] .neo-burger__close{display:block}

/* 5 BOUTONS */
.neo-btn{display:inline-flex;align-items:center;justify-content:center;gap:.65em;padding:.95em 1.7em;border:1px solid var(--gold);border-radius:2px;font:700 .72rem/1 var(--sans);letter-spacing:.09em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:filter .2s,background .2s,transform .2s}
.neo-btn .neo-icon{width:1.35em;height:1.35em}
.neo-btn--gold{background:linear-gradient(180deg,#f6dc92,#d9a94a 55%,#b9822a);color:#1a1205;box-shadow:0 4px 18px rgba(217,169,74,.25)}
.neo-btn--gold:hover{color:#000;filter:brightness(1.1);transform:translateY(-1px)}
.neo-btn--line{background:rgba(0,0,0,.35);color:#fff;border-color:var(--gold)}
.neo-btn--line:hover{background:rgba(217,169,74,.18);color:#fff}
.neo-btn--sm{padding:.8em 1.2em;font-size:.68rem}
.neo-btn--lg{padding:1.15em 2.3em;font-size:.8rem}

/* 6 FOND ANIMÉ (image + particules, voir assets/js/neo-fx.js) */
.neo-fond{position:absolute;inset:0;overflow:hidden;background:#000;z-index:0}
.neo-fond__img{position:absolute;inset:0;background:center/cover no-repeat;opacity:0;animation:neo-in 1.6s ease-out .1s forwards}
.neo-fond[data-fit="contain"] .neo-fond__img{background-size:contain}
.neo-fond canvas{position:absolute;inset:0;width:100%;height:100%;mix-blend-mode:screen;pointer-events:none;opacity:0;animation:neo-in 2s ease-out 1s forwards}
.neo-fond--soft .neo-fond__img{opacity:.0;animation-name:neo-in-soft}
@keyframes neo-in{to{opacity:1}}
@keyframes neo-in-soft{to{opacity:.55}}

/* 7 ACCUEIL */
.neo-hero{position:relative;isolation:isolate;min-height:clamp(440px,38vw,620px);display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line-soft)}
.neo-hero__shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(5,4,3,.92) 0%,rgba(5,4,3,.55) 38%,rgba(5,4,3,0) 65%),linear-gradient(0deg,rgba(5,4,3,.9) 0%,rgba(5,4,3,0) 30%)}
.neo-hero__man{position:absolute;z-index:1;right:clamp(0px,9vw,180px);bottom:0;height:100%;width:auto;max-width:58%;object-fit:contain;object-position:bottom right;-webkit-mask-image:linear-gradient(0deg,transparent 0,#000 12%);mask-image:linear-gradient(0deg,transparent 0,#000 12%)}
.neo-hero__in{position:relative;z-index:2;padding-block:clamp(28px,4vw,56px)}
.neo-hero__in>*{max-width:640px}
.neo-hero__logo{margin:.2em 0 .4em;width:clamp(260px,34vw,560px);max-width:100%;filter:drop-shadow(0 6px 24px rgba(0,0,0,.7))}
.neo-hero__logo img{width:100%;height:auto}
.neo-hero__text{font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.45;margin:0 0 1.5em;color:#fff;max-width:30em}
.neo-hero__btns{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:22px}
.neo-hero__script{position:absolute;z-index:2;right:clamp(16px,6vw,110px);top:22%;font-size:clamp(2rem,3.3vw,3.4rem);transform:rotate(-8deg);text-align:left}
.neo-social{display:flex;gap:12px;list-style:none;margin:0;padding:0}
.neo-social a{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--gold);border-radius:50%;color:var(--gold-hi);transition:.2s}
.neo-social a:hover{background:var(--gold);color:#000}
.neo-social .neo-icon{width:17px;height:17px}

.neo-cards{padding-block:clamp(16px,2vw,26px)}
.neo-cards__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(8px,1.2vw,18px)}
.neo-tile{position:relative;display:block;aspect-ratio:3/2;overflow:hidden;border:1px solid var(--line-gold);border-radius:var(--radius);box-shadow:0 0 14px rgba(217,169,74,.12);background:#0a0805;color:#fff;text-decoration:none}
.neo-tile__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.neo-tile__img--empty{background:radial-gradient(circle at 70% 20%,#3a2a0e,#0a0805 70%)}
.neo-tile:hover .neo-tile__img{transform:scale(1.06)}
.neo-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.35) 38%,rgba(0,0,0,0) 62%)}
.neo-tile__txt{position:absolute;z-index:1;left:12px;right:52px;bottom:10px;display:flex;flex-direction:column;gap:2px;line-height:1.2}
.neo-tile__txt strong{font:700 .78rem/1.2 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--gold-hi)}
.neo-tile__txt em{font:400 .78rem/1.2 var(--sans);font-style:normal;color:#fff}
.neo-tile__go{position:absolute;z-index:1;right:10px;bottom:10px;display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--gold);border-radius:50%;color:var(--gold-hi);background:rgba(0,0,0,.4);transition:.2s}
.neo-tile:hover .neo-tile__go{background:var(--gold);color:#000}
.neo-tile__go .neo-icon{width:15px;height:15px}

.neo-band{padding-top:clamp(10px,1.5vw,20px)}
.neo-band__grid{display:grid;grid-template-columns:1.45fr 1.15fr 1fr;gap:0;align-items:stretch;border-top:0}
.neo-band__grid>.neo-panel{height:100%}
.neo-news__in{display:grid;grid-template-columns:minmax(120px,0.8fr) 1.4fr;gap:18px;align-items:start}
.neo-news__media{display:block;border:1px solid var(--line-gold);border-radius:var(--radius);aspect-ratio:4/3;overflow:hidden;background:#120d06}
.neo-news__media img{width:100%;height:100%;object-fit:cover}
.neo-news__date{margin:0 0 4px;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.neo-news__title{font:700 1rem/1.25 var(--sans);margin:0 0 .5em}
.neo-news__title a{color:#fff;text-decoration:none}
.neo-news__in p{font-size:.82rem;color:var(--muted);margin:0 0 .6em}
.neo-perks{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;margin:0;padding:0}
.neo-perks li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:22px 14px;border-left:1px solid var(--line-soft)}
.neo-perks li:first-child{border-left:0}
.neo-perks strong{font:700 .72rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-hi)}
.neo-perks span{font-size:.78rem;color:var(--muted);line-height:1.45}
.neo-slider{position:relative}
.neo-slider__track .neo-avis{display:none;border:0;padding:0}
.neo-slider__track .neo-avis.is-active,.neo-slider:not(.is-ready) .neo-avis:first-child{display:block;text-align:center}
.neo-slider__track .neo-avis__q{margin-inline:auto}
.neo-slider__btn{position:absolute;top:52%;display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--gold);border-radius:50%;background:rgba(0,0,0,.5);color:var(--gold-hi);cursor:pointer}
.neo-slider__btn--prev{left:8px}.neo-slider__btn--next{right:8px}
.neo-slider__btn:hover{background:var(--gold);color:#000}
.neo-slider__btn .neo-icon{width:16px;height:16px}
.neo-strip{padding-top:clamp(10px,1.5vw,20px)}
.neo-strip__in{display:flex;align-items:center;gap:clamp(14px,2.4vw,34px);padding:14px clamp(16px,3vw,48px);border:1px solid var(--line-gold);border-radius:var(--radius);background:var(--frame);box-shadow:inset 0 0 0 1px rgba(246,220,146,.07),0 0 16px rgba(217,169,74,.12)}
.neo-strip__in strong{font:500 1rem/1.3 var(--sans);color:var(--gold-hi);flex:0 1 330px}
.neo-strip__in p{margin:0;flex:1;font-size:.78rem;color:var(--text);line-height:1.5}
.neo-strip__q{color:var(--gold)}

/* 8 EN-TÊTES DE PAGE */
.neo-phero{position:relative;isolation:isolate;overflow:hidden;border-bottom:1px solid var(--line-soft);min-height:clamp(240px,22vw,380px);display:flex;align-items:center}
.neo-phero__photo{position:absolute;z-index:0;top:0;bottom:0;right:0;width:68%;background:center 25%/cover no-repeat;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 48%);mask-image:linear-gradient(90deg,transparent 0,#000 48%)}
.neo-phero__shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(5,4,3,.9) 0,rgba(5,4,3,.35) 55%,rgba(5,4,3,.1) 100%),linear-gradient(0deg,rgba(5,4,3,.75),rgba(5,4,3,0) 40%)}
.neo-phero__in{position:relative;z-index:2;padding-block:clamp(26px,3.4vw,52px)}
.neo-phero__in>*{max-width:680px}
.neo-phero__script{position:absolute;z-index:2;right:clamp(16px,5vw,90px);top:18%;font-size:clamp(1.6rem,2.6vw,2.6rem);transform:rotate(-8deg)}
.neo-crumbs{font-size:.72rem;color:var(--muted);margin-bottom:14px}
.neo-crumbs a{color:#fff;text-decoration:none}
.neo-crumbs__sep{opacity:.6;margin-inline:2px}
.neo-meta{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;margin:14px 0 0;padding:0;font-size:.74rem;color:#fff}
.neo-meta li{display:flex;align-items:center;gap:7px}
.neo-meta .neo-icon{color:var(--gold);width:1.5em;height:1.5em}
.neo-phero .neo-btn{margin-top:6px}

/* 9 CONTENU (anciens articles : texte libre) */
.neo-prose{font-size:1.02rem;line-height:1.8;color:#e9e2d4}
.neo-prose>*:first-child{margin-top:0}
.neo-prose h1,.neo-prose h2,.neo-prose h3,.neo-prose h4{font-family:var(--serif);color:var(--gold-hi);line-height:1.2;margin:1.6em 0 .5em;font-weight:600}
.neo-prose h2{font-size:1.8rem}.neo-prose h3{font-size:1.4rem}.neo-prose h4{font-size:1.15rem}
.neo-prose p{margin:0 0 1.1em}
.neo-prose strong{color:#fff}
.neo-prose ul,.neo-prose ol{padding-left:1.3em;margin:0 0 1.2em}
.neo-prose li{margin-bottom:.35em}
.neo-prose img{border:1px solid var(--line);max-width:100%;height:auto}
.neo-prose iframe{max-width:100%}
.neo-prose blockquote{margin:1.4em 0;padding:.4em 1.2em;border-left:2px solid var(--gold);color:var(--muted);font-style:italic}
.neo-prose table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:.95rem}
.neo-prose th,.neo-prose td{border:1px solid var(--line-soft);padding:10px 12px;text-align:left;vertical-align:top}
.neo-prose th{background:rgba(217,169,74,.12);color:var(--gold-hi)}
/* neutralise les couleurs, fonds et polices collés depuis Word / anciens éditeurs */
.neo-prose [style*="color: #ff0000"],.neo-prose [style*="color:#ff0000"],.neo-prose [style*="color: red"],.neo-prose [style*="color: #f00"],.neo-prose [style*="color: #c5a028"],.neo-prose [style*="color: #c9a14a"]{color:var(--gold-hi)!important}
.neo-prose [style*="color: #000"],.neo-prose [style*="color:#000"],.neo-prose [style*="color: #333"],.neo-prose [style*="color: black"]{color:inherit!important}
.neo-prose [style*="background"]{background:transparent!important}
.neo-prose [style*="font-family"]{font-family:inherit!important}
.neo-prose [style*="font-size"]{font-size:inherit!important}
.neo-prose [style*="text-align: center"],.neo-prose [style*="text-align:center"]{text-align:center}
.neo-prose .gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:1.4em 0}
.neo-prose .gallery-item{margin:0!important;width:auto!important;float:none!important}
.neo-prose .gallery-icon img{width:100%;height:150px;object-fit:cover}
.neo-prose .gallery-caption{display:none}
.neo-prose .alignleft{float:left;margin:0 1.2em 1em 0}.neo-prose .alignright{float:right;margin:0 0 1em 1.2em}.neo-prose .aligncenter{margin-inline:auto}
.neo-prose::after{content:"";display:block;clear:both}

/* 10 BLOCS */
.neo-features__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,1.4vw,20px);list-style:none;margin:0;padding:0}
.neo-features__grid li{display:flex;align-items:center;gap:16px;padding:16px 20px}
.neo-features__grid strong{display:block;font:700 .74rem/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-hi);margin-bottom:4px}
.neo-features__grid span{display:block;font-size:.8rem;color:var(--text);line-height:1.4}
.neo-artists{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(8px,1.2vw,18px)}
.neo-artists--grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.neo-artists .neo-tile{aspect-ratio:3/2}
.neo-artists--grid .neo-tile{aspect-ratio:4/5}
.neo-pills{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0 0 24px;padding:0}
.neo-pills a{display:block;padding:.6em 1.2em;border:1px solid var(--line);color:#fff;text-decoration:none;font:600 .7rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase}
.neo-pills a:hover,.neo-pills a.is-on{background:var(--gold);color:#000}
.neo-avis-row{display:grid;grid-template-columns:minmax(200px,.7fr) 3fr;gap:clamp(16px,3vw,48px);align-items:center}
.neo-avis-row .neo-h2{margin:0}
.neo-avis-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:clamp(12px,1.6vw,22px)}
.neo-avis-grid--3{grid-template-columns:repeat(3,1fr)}
.neo-avis-grid--1{grid-template-columns:1fr}
.neo-avis{position:relative;margin:0;padding:18px 20px 18px 64px;border:1px solid var(--line-gold);border-radius:var(--radius);background:var(--frame);box-shadow:inset 0 0 0 1px rgba(246,220,146,.07),0 0 16px rgba(217,169,74,.12);font-size:.86rem;line-height:1.5}
.neo-avis__q{position:absolute;left:18px;top:16px;width:30px;height:30px;color:var(--gold)}
.neo-avis__text p{margin:0 0 .5em;color:#fff}
.neo-avis__by{font-size:.74rem;color:var(--muted)}
.neo-stars{display:block;color:var(--gold);letter-spacing:.15em;margin:2px 0 4px}
.neo-slider .neo-avis{background:none;padding:6px 34px 0}
.neo-slider .neo-avis__q{position:static;display:block;margin:0 auto 4px}
.neo-faq__in{display:grid;grid-template-columns:minmax(200px,.8fr) 2.2fr;gap:clamp(16px,3vw,48px);align-items:start}
.neo-faq__head .neo-h2{margin:0}
.neo-faq__list{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;align-items:start}
.neo-acc{border:1px solid var(--line-gold);border-radius:var(--radius);background:var(--frame);box-shadow:0 0 12px rgba(217,169,74,.1)}
.neo-acc summary{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;cursor:pointer;font-size:.86rem;font-weight:500;list-style:none;color:#fff}
.neo-acc summary::-webkit-details-marker{display:none}
.neo-acc summary .neo-icon{color:var(--gold-hi);transition:transform .25s}
.neo-acc[open] summary .neo-icon{transform:rotate(45deg)}
.neo-acc__body{padding:0 16px 14px;font-size:.86rem;color:var(--text)}
.neo-acc__body p{margin:.4em 0}
.neo-cta{position:relative;isolation:isolate;overflow:hidden;border-block:1px solid var(--line)}
.neo-cta__bg{position:absolute;inset:0;z-index:-2;background:center 40%/cover no-repeat}
.neo-cta::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,4,3,.55),rgba(5,4,3,.82) 40%,rgba(5,4,3,.82) 60%,rgba(5,4,3,.55))}
.neo-cta__in{display:flex;align-items:center;justify-content:center;gap:clamp(20px,4vw,70px);flex-wrap:wrap;padding-block:clamp(22px,3vw,34px)}
.neo-cta__title{font:600 clamp(1.4rem,2.6vw,2.2rem)/1.15 var(--serif);margin:0;color:#fff}
.neo-cta__action{text-align:center}
.neo-cta__action small{display:block;margin-top:8px;font-size:.72rem;color:var(--text)}
.neo-zone{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0}
.neo-zone__item{display:flex;gap:20px;align-items:center;padding:clamp(16px,2vw,26px)}
.neo-zone__item+.neo-zone__item{border-left:1px solid var(--line)}
.neo-zone .neo-h3{font-size:1.4rem;color:#fff;margin:0 0 .3em}
.neo-zone p{margin:0;font-size:.84rem;color:var(--text)}
.neo-tips{display:grid;grid-template-columns:minmax(220px,.9fr) 1.6fr;gap:clamp(16px,3vw,44px);align-items:start}
.neo-tips__img img{width:100%;border:1px solid var(--line)}
.neo-tips__list{list-style:none;counter-reset:tip;margin:0;padding:0;display:grid;gap:16px}
.neo-tips__list li{position:relative;counter-increment:tip;padding-left:58px}
.neo-tips__list li::before{content:counter(tip);position:absolute;left:0;top:0;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--gold-grad);color:#1a1205;font:700 1rem/1 var(--serif)}
.neo-tips__list .neo-h3{margin:0 0 .15em;color:var(--gold-hi)}
.neo-tips__list p{margin:0;font-size:.86rem;color:var(--text)}
.neo-posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:clamp(12px,1.6vw,22px)}
.neo-posts--3{grid-template-columns:repeat(3,1fr)}
.neo-post__link{position:relative;display:block;overflow:hidden;border:1px solid var(--line-gold);border-radius:var(--radius);background:var(--frame);box-shadow:0 0 14px rgba(217,169,74,.1);color:#fff;text-decoration:none;height:100%;transition:border-color .2s}
.neo-post__link:hover{border-color:var(--gold-hi)}
.neo-post__media{display:block;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(rgba(5,4,3,.35),rgba(5,4,3,.6)),url('../img/fond-scene.webp') center/cover}
.neo-post__media img{width:100%;height:100%;object-fit:cover}
.neo-post__ph,.neo-news__media .neo-post__ph{display:grid;place-items:center;width:100%;height:100%;color:var(--gold);opacity:.6}
.neo-post__ph .neo-icon{width:40px;height:40px}
.neo-post__body{display:block;padding:14px 56px 16px 16px}
.neo-post__meta{display:block;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.neo-post__title{display:block;font:600 1.12rem/1.25 var(--serif);margin-bottom:5px;color:#fff}
.neo-post__ex{display:block;font-size:.8rem;color:var(--muted)}
.neo-post__go{position:absolute;right:14px;bottom:16px;display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--gold);border-radius:50%;color:var(--gold-hi)}
.neo-post__go .neo-icon{width:15px;height:15px}
.neo-pagination ul{display:flex;gap:8px;justify-content:center;list-style:none;padding:0;margin:34px 0 0;flex-wrap:wrap}
.neo-pagination a,.neo-pagination span{display:grid;place-items:center;min-width:38px;height:38px;padding:0 10px;border:1px solid var(--line);color:#fff;text-decoration:none;font-size:.82rem}
.neo-pagination .current,.neo-pagination a:hover{background:var(--gold);color:#000}
.neo-404__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}

/* 11 PIED DE PAGE */
.neo-footer{position:relative;z-index:1;background:linear-gradient(180deg,rgba(3,2,1,.35) 0,rgba(3,2,1,.82) 70px,#030201 150px);border-top:0;padding:clamp(18px,2.4vw,30px) 0}
.neo-footer__in{display:grid;grid-template-columns:1.1fr .5fr 1.6fr 1.8fr;gap:clamp(16px,2.4vw,40px);align-items:center;max-width:calc(var(--wide) + var(--gut)*2);margin:auto;padding-inline:var(--gut)}
.neo-footer__logo{display:block;max-width:230px}
.neo-footer__social .neo-social{justify-content:center}
.neo-footer__follow{text-align:center;font-size:.72rem;color:#fff}
.neo-footer__follow p{margin:0 0 4px}
.neo-footer__follow a{color:var(--gold-hi)}
.neo-footer__legal{font-size:.64rem;line-height:1.55;color:var(--text);border-left:1px solid var(--line-soft);padding-left:clamp(14px,2vw,28px)}
.neo-footer__legal p{margin:0 0 .3em}
.neo-footer__legal a{color:#fff;text-decoration:none}
.neo-footer__legal a:hover{color:var(--gold-hi)}

/* 12 LIGNE DORÉE (voir neo-fx.js) : bande du PNG autour du trait */
.neo-ligne{position:relative;z-index:0;width:100%;aspect-ratio:5.88;margin-bottom:-7.6%;overflow:hidden;background:#000;-webkit-mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.6) 18%,#000 40%,#000 62%,rgba(0,0,0,.5) 84%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.6) 18%,#000 40%,#000 62%,rgba(0,0,0,.5) 84%,transparent 100%)}
.neo-ligne__scene{position:absolute;left:0;width:100%;aspect-ratio:3;top:-48.06%;overflow:hidden}
.neo-ligne__img{position:absolute;inset:0;background:center/100% 100% no-repeat;clip-path:inset(0 50% 0 50%)}
.neo-ligne.is-on .neo-ligne__img{animation:neo-ouvre 1.8s cubic-bezier(.2,.7,.2,1) .1s forwards}
.neo-ligne .overlay,.neo-ligne canvas{position:absolute;inset:0;width:100%;height:100%;mix-blend-mode:screen;pointer-events:none;opacity:0}
.neo-ligne.is-on .overlay{animation:neo-in 1.2s ease-out 1s forwards}
.neo-ligne.is-on canvas{animation:neo-in 1.6s ease-out 1.1s forwards}
@keyframes neo-ouvre{to{clip-path:inset(0 0 0 0)}}
.s-spot{transform-box:fill-box;transform-origin:center;opacity:var(--min);animation:s-point var(--d) ease-in-out var(--delay) infinite alternate}
.s-halo{transform-box:fill-box;transform-origin:center;animation:s-respire 7s ease-in-out infinite}
.s-eclat{transform-box:fill-box;transform-origin:center;animation:s-eclat 7s ease-in-out infinite}
.s-lueur{animation:s-vibre 4.5s ease-in-out 2s infinite}
@keyframes s-point{from{opacity:var(--min);transform:scale(.8)}to{opacity:1;transform:scale(1.15)}}
@keyframes s-respire{0%,100%{opacity:.75;transform:scaleX(.96)}50%{opacity:1;transform:scaleX(1.04)}}
@keyframes s-eclat{0%,100%{opacity:.8;transform:scale(.92)}50%{opacity:1;transform:scale(1.12)}}
@keyframes s-vibre{0%,100%{opacity:1}50%{opacity:.6}}
@media (scripting:none){.neo-ligne__img{clip-path:none}.neo-ligne .overlay{opacity:1}}
@media (prefers-reduced-motion:reduce){
  .neo-fond__img,.neo-fond canvas{opacity:1;animation:none}
  .neo-fond--soft .neo-fond__img{opacity:.55}
  .neo-ligne__img{clip-path:none;animation:none!important}
  .neo-ligne .overlay,.neo-ligne canvas{opacity:1;animation:none!important}
  .s-spot,.s-halo,.s-eclat,.s-lueur{animation:none}
  html{scroll-behavior:auto}
  .neo-tile__img{transition:none}
}

/* 13 FORMULAIRES (Contact Form 7 + dépôt d'avis) */
.neo-form,.wpcf7-form{display:grid;gap:14px}
.neo-form p,.wpcf7-form p{margin:0}
.neo-form__row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.neo-form__hp{position:absolute!important;left:-9999px}
.neo-form label,.wpcf7-form label{display:block;font-size:.8rem;font-weight:500;color:var(--gold-hi);margin-bottom:5px}
.neo-form input,.neo-form select,.neo-form textarea,.wpcf7-form input:not([type=submit]):not([type=checkbox]):not([type=radio]),.wpcf7-form select,.wpcf7-form textarea,.neo-search input{width:100%;padding:12px 14px;background:#0c0905;border:1px solid var(--line);border-radius:2px;color:#fff;font:400 .95rem/1.4 var(--sans)}
.neo-form input:focus,.neo-form select:focus,.neo-form textarea:focus,.wpcf7-form input:focus,.wpcf7-form select:focus,.wpcf7-form textarea:focus{outline:none;border-color:var(--gold-hi);box-shadow:0 0 0 3px rgba(217,169,74,.2)}
.wpcf7-form input[type=submit]{display:inline-block;width:auto;padding:1em 2em;border:1px solid var(--gold);background:linear-gradient(180deg,#f6dc92,#d9a94a 55%,#b9822a);color:#1a1205;font:700 .75rem/1 var(--sans);letter-spacing:.09em;text-transform:uppercase;cursor:pointer}
.wpcf7-not-valid-tip{color:#ff9d8a;font-size:.78rem}
.wpcf7 form .wpcf7-response-output{margin:14px 0 0;padding:12px 16px;border:1px solid var(--gold)!important;color:#fff}
.neo-notice{padding:12px 16px;border:1px solid var(--line-gold);border-radius:var(--radius);background:var(--frame);font-size:.9rem}
.neo-notice--ok{border-color:#7bbf7b}.neo-notice--err{border-color:#e07b6a}
.neo-search{display:flex;gap:8px;max-width:420px}

/* LIGHTBOX (galeries du contenu) */
.neo-lb{position:fixed;inset:0;z-index:500;display:grid;place-items:center;background:rgba(0,0,0,.92);padding:24px}
.neo-lb img{max-width:min(94vw,1400px);max-height:88vh;width:auto;height:auto;border:1px solid var(--line)}
.neo-lb button{position:absolute;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--gold);border-radius:50%;background:rgba(0,0,0,.6);color:var(--gold-hi);cursor:pointer}
.neo-lb__x{top:18px;right:18px}.neo-lb__p{left:18px;top:50%}.neo-lb__n{right:18px;top:50%}

/* 14 RESPONSIVE */
@media (max-width:1180px){
  .neo-cards__grid{grid-template-columns:repeat(3,1fr)}
  .neo-band__grid{grid-template-columns:1fr 1fr}
  .neo-band__grid .neo-slider{grid-column:1/-1}
  .neo-perks li:first-child{border-left:0}
  .neo-footer__in{grid-template-columns:1fr 1fr}
  .neo-footer__legal{border-left:0;padding-left:0;grid-column:1/-1}
  .neo-artists{grid-template-columns:repeat(3,1fr)}
  .neo-features__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:960px){
  .neo-burger{display:inline-flex}
  .neo-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(5,4,3,.72)}
  .neo-nav{position:fixed;left:0;right:0;top:var(--header-h);bottom:0;flex-direction:column;align-items:stretch;gap:0;padding:18px var(--gut) 40px;background:rgba(5,4,3,.98);overflow:auto;transform:translateY(-8px);opacity:0;visibility:hidden;transition:.2s}
  .admin-bar .neo-nav{top:calc(var(--header-h) + 46px)}
  .neo-nav.is-open{opacity:1;visibility:visible;transform:none}
  .neo-menu{flex-direction:column;gap:0;margin:0}
  .neo-menu a{padding:15px 2px;font-size:1rem;border-bottom:1px solid var(--line-soft)}
  .neo-menu a::after{display:none}
  .neo-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;border:0;border-radius:0;box-shadow:none;background:none;padding:0 0 0 16px}
  .neo-menu .menu-item-has-children>a::before{display:none}
  .neo-nav__cta{margin-top:22px}.neo-nav__cta .neo-btn{width:100%}
  .neo-hero__script,.neo-phero__script{display:none}
  .neo-hero__man{right:-6%;max-width:70%;opacity:.55}
  .neo-hero__shade{background:linear-gradient(90deg,rgba(5,4,3,.9),rgba(5,4,3,.55)),linear-gradient(0deg,rgba(5,4,3,.9),rgba(5,4,3,0) 30%)}
  .neo-phero__photo{width:100%;opacity:.5;-webkit-mask-image:none;mask-image:none}
  .neo-faq__in,.neo-avis-row,.neo-tips{grid-template-columns:1fr}
  .neo-faq__list{grid-template-columns:1fr}
  .neo-avis-grid--3,.neo-posts--3{grid-template-columns:1fr}
  .neo-zone{grid-template-columns:1fr}.neo-zone__item+.neo-zone__item{border-left:0;border-top:1px solid var(--line)}
  .neo-strip__in{flex-direction:column;align-items:flex-start}
  .neo-strip__in strong{flex:none}
}
@media (max-width:640px){
  .neo-cards__grid{grid-template-columns:1fr 1fr}
  .neo-band__grid{grid-template-columns:1fr}
  .neo-perks{grid-template-columns:1fr}.neo-perks li{border-left:0;border-top:1px solid var(--line-soft)}
  .neo-news__in{grid-template-columns:1fr}.neo-news__media{aspect-ratio:16/9}
  .neo-artists{grid-template-columns:1fr 1fr}
  .neo-features__grid{grid-template-columns:1fr}
  .neo-form__row{grid-template-columns:1fr}
  .neo-footer__in{grid-template-columns:1fr;text-align:center}
  .neo-footer__logo{margin-inline:auto}
  
  .neo-tile__txt strong{font-size:.7rem}
  .neo-ligne{aspect-ratio:5;margin-bottom:0}.neo-ligne__scene{top:-3%}
}
@media print{.neo-header,.neo-ligne,.neo-footer,.neo-cta,.neo-fond{display:none}body{background:#fff;color:#000}}
