:root{
  --bg:#050816;
  --bg-2:#0a1024;
  --panel:rgba(10,16,36,.72);
  --panel-strong:rgba(12,19,44,.9);
  --line:rgba(130,160,255,.16);
  --line-strong:rgba(130,160,255,.28);
  --text:#f5f7ff;
  --muted:#b8c1e0;
  --pink:#ff2bd6;
  --violet:#8f4cff;
  --blue:#21c2ff;
  --cyan:#6cf6ff;
  --shadow:0 20px 60px rgba(0,0,0,.4);
  --radius:24px;
  --radius-sm:18px;
  --max:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at 15% 20%, rgba(33,194,255,.14), transparent 28%),
    radial-gradient(circle at 85% 18%, rgba(255,43,214,.16), transparent 30%),
    linear-gradient(180deg,#040610 0%, #070b18 35%, #040610 100%);
  color:var(--text);
  line-height:1.55;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
.skip-link{position:absolute;left:-9999px;top:0;background:#fff;color:#000;padding:.75rem 1rem;z-index:1000}
.skip-link:focus{left:1rem;top:1rem}
.container{width:min(var(--max), calc(100% - 2rem));margin:0 auto}
.section{padding:5.5rem 0;position:relative}
.bg-orb,.grid-overlay,.cursor-glow{position:fixed;pointer-events:none;z-index:-1}
.bg-orb{width:32rem;height:32rem;border-radius:50%;filter:blur(80px);opacity:.22}
.orb-a{left:-10rem;top:6rem;background:var(--blue)}
.orb-b{right:-8rem;top:20rem;background:var(--pink)}
.grid-overlay{inset:0;opacity:.08;background:
  linear-gradient(rgba(255,255,255,.5) 1px, transparent 1px),
  linear-gradient(90deg, rgba(255,255,255,.5) 1px, transparent 1px);
  background-size:56px 56px}
.cursor-glow{width:20rem;height:20rem;border-radius:50%;background:radial-gradient(circle, rgba(108,246,255,.12), transparent 70%);transform:translate(-50%,-50%);opacity:0;transition:opacity .3s}
@media (pointer:fine){.cursor-glow{opacity:1}}
.site-header{
  position:sticky;top:0;z-index:30;
  border-bottom:1px solid transparent;
  transition:background .3s,border-color .3s,box-shadow .3s;
}
.site-header.scrolled{background:rgba(5,8,22,.8);backdrop-filter:blur(18px);border-color:var(--line);box-shadow:0 10px 40px rgba(0,0,0,.2)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:5.5rem}
.brand{display:flex;align-items:center;gap:.9rem;font-weight:700;letter-spacing:.05em}
.brand-mark{
  width:3rem;height:3rem;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,rgba(33,194,255,.2),rgba(255,43,214,.26));
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 0 0 1px rgba(255,255,255,.04) inset,0 0 30px rgba(33,194,255,.22);
}
.brand-copy{display:flex;flex-direction:column;line-height:1.02}
.brand-copy small{color:var(--muted);font-weight:500;letter-spacing:.22em;font-size:.72rem}
.primary-nav{display:flex;align-items:center;gap:1.35rem}
.primary-nav a{position:relative;color:var(--muted);font-weight:500}
.primary-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-.55rem;height:2px;border-radius:99px;background:linear-gradient(90deg,var(--blue),var(--pink));transform:scaleX(0);transform-origin:center;transition:transform .25s}
.primary-nav a:hover,.primary-nav a.active{color:var(--text)}
.primary-nav a:hover::after,.primary-nav a.active::after{transform:scaleX(1)}
.header-cta,.button{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.95rem 1.35rem;border-radius:999px;border:1px solid transparent;font-weight:700;transition:transform .2s,box-shadow .2s,border-color .2s,background .2s;
}
.header-cta{background:linear-gradient(90deg,rgba(255,43,214,.12),rgba(33,194,255,.12));border-color:rgba(255,255,255,.18);box-shadow:0 0 0 1px rgba(255,255,255,.04) inset}
.header-cta:hover,.button:hover{transform:translateY(-2px)}
.menu-toggle{display:none;background:none;border:0;padding:.25rem}
.menu-toggle span{display:block;width:1.6rem;height:2px;background:#fff;margin:.32rem 0;border-radius:99px}
.hero{padding:3rem 0 2rem;position:relative;overflow:hidden}
.hero-layout{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:2rem;min-height:calc(100vh - 7rem)}
.eyebrow,.section-kicker{margin:0 0 1rem;color:var(--cyan);letter-spacing:.18em;text-transform:uppercase;font-size:.8rem;font-weight:800}
.hero h1{font-size:clamp(2.7rem,6vw,5.6rem);line-height:.95;margin:0 0 1.25rem;letter-spacing:-.04em}
.hero h1 span{display:block;background:linear-gradient(90deg,#fff 0%, #dce2ff 36%, #7bd8ff 70%, #ff5bdd 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-text{max-width:40rem;font-size:1.08rem;color:var(--muted);margin:0 0 1.5rem}
.hero-tags,.hero-actions,.hero-stats{display:flex;flex-wrap:wrap;gap:.8rem}
.hero-tags{margin-bottom:1.5rem}
.hero-tags span{padding:.45rem .85rem;border:1px solid var(--line-strong);border-radius:999px;background:rgba(255,255,255,.03);font-size:.9rem;color:#eef3ff}
.button-primary{background:linear-gradient(90deg,var(--pink),var(--blue));color:#fff;box-shadow:0 10px 35px rgba(33,194,255,.22)}
.button-secondary{background:rgba(255,255,255,.02);border-color:var(--line-strong)}
.hero-stats{margin-top:1.75rem;gap:1rem}
.hero-stats div{min-width:10rem;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.03);backdrop-filter:blur(10px)}
.hero-stats strong{display:block;font-size:1rem}
.hero-stats span{display:block;color:var(--muted);font-size:.92rem;margin-top:.15rem}
.hero-visual{position:relative;display:flex;justify-content:center;align-items:flex-end;min-height:44rem}
.hero-visual img{max-height:44rem;position:relative;z-index:3;filter:drop-shadow(0 20px 40px rgba(0,0,0,.45))}
.halo{position:absolute;border-radius:50%;filter:blur(.2px)}
.halo-1{width:24rem;height:24rem;background:radial-gradient(circle, rgba(33,194,255,.35), rgba(33,194,255,.03) 55%, transparent 68%);top:3rem;right:4rem;box-shadow:0 0 0 1px rgba(33,194,255,.18) inset}
.halo-2{width:28rem;height:28rem;border:2px solid rgba(255,43,214,.45);top:1rem;right:1.5rem;box-shadow:0 0 60px rgba(255,43,214,.18), inset 0 0 30px rgba(255,43,214,.08)}
.scanner{position:absolute;inset:auto auto 4rem 1rem;height:3px;width:14rem;background:linear-gradient(90deg,transparent,rgba(108,246,255,.8),transparent);opacity:.8;box-shadow:0 0 20px rgba(108,246,255,.7)}
.scanner-2{bottom:12rem;left:auto;right:0;width:10rem;background:linear-gradient(90deg,transparent,rgba(255,43,214,.8),transparent)}
.eq-bars{position:absolute;right:-.5rem;bottom:7rem;width:9rem;height:9rem;display:flex;gap:.35rem;align-items:flex-end;z-index:1}
.eq-bars i,.wavebars i{display:block;flex:1;border-radius:999px;background:linear-gradient(180deg,var(--cyan),var(--pink));animation:bars 1.25s infinite ease-in-out alternate;box-shadow:0 0 15px rgba(255,43,214,.22)}
.eq-bars i:nth-child(odd),.wavebars i:nth-child(odd){animation-duration:1s}
.eq-bars i:nth-child(3n),.wavebars i:nth-child(3n){animation-duration:1.45s}
.eq-bars i:nth-child(4n),.wavebars i:nth-child(4n){animation-duration:1.15s}
@keyframes bars{from{height:18%}to{height:100%}}
.floating-card{position:absolute;z-index:4;max-width:15rem;padding:1rem 1rem 1rem 1.05rem;border-radius:20px;border:1px solid rgba(255,255,255,.14);background:rgba(8,12,26,.8);backdrop-filter:blur(16px);box-shadow:var(--shadow)}
.floating-card small{display:block;color:var(--cyan);text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;margin-bottom:.35rem}
.floating-card strong{font-size:.95rem;line-height:1.35}
.card-a{top:9rem;left:0}
.card-b{right:1rem;bottom:7rem}
.hero-band{display:flex;align-items:center;gap:1rem;padding:1rem 0 0}
.hero-band span{height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent)}
.hero-band p{margin:0;color:#dfe7ff;letter-spacing:.35em;font-size:.8rem;text-transform:uppercase;white-space:nowrap}
.section-head{max-width:52rem;margin-bottom:2rem}
.section-head h2,.experience h2,.dance h2,.contact h2,.faq h2{font-size:clamp(2rem,4.2vw,3.35rem);line-height:1.02;letter-spacing:-.03em;margin:.2rem 0 .8rem}
.section-head p,.experience-copy>p,.dance-copy>p,.contact-copy>p{color:var(--muted);font-size:1.05rem}
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.service-card,.tech-panel,.dance-card,.quote-form,.gallery-card,details,.contact-blocks>a,.contact-blocks>div{
  background:linear-gradient(180deg, rgba(18,26,54,.82), rgba(10,15,32,.82));
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.service-card{padding:1.55rem;position:relative;overflow:hidden}
.service-card::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(33,194,255,.4),rgba(255,43,214,.3),transparent 50%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.service-icon{width:3rem;height:3rem;border-radius:18px;display:grid;place-items:center;font-size:1.4rem;background:linear-gradient(135deg,rgba(33,194,255,.18),rgba(255,43,214,.22));margin-bottom:1rem}
.service-card h3{margin:.2rem 0 .75rem;font-size:1.38rem}
.service-card p{color:var(--muted);margin:0 0 .85rem}
.service-card ul{margin:0;padding-left:1.1rem;color:#e4ebff}
.service-card li+li{margin-top:.3rem}
.experience-layout,.dance-layout,.contact-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:1.4rem;align-items:center}
.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.5rem}
.check-grid div{padding:1rem 1rem 1rem 1.05rem;border-left:3px solid transparent;border-image:linear-gradient(180deg,var(--blue),var(--pink)) 1;background:rgba(255,255,255,.02);border-radius:0 18px 18px 0}
.check-grid strong{display:block;font-size:1rem;margin-bottom:.3rem}
.check-grid span{color:var(--muted);display:block;font-size:.95rem}
.tech-panel{padding:1.3rem;position:relative;overflow:hidden}
.tech-panel::after{content:"";position:absolute;inset:auto -25% -35% auto;width:18rem;height:18rem;border-radius:50%;background:radial-gradient(circle, rgba(255,43,214,.18), transparent 68%)}
.tech-header,.form-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.tech-header span,.form-title small{color:var(--cyan);letter-spacing:.15em;text-transform:uppercase;font-size:.75rem;font-weight:800}
.tech-header b,.form-title strong{font-size:1.15rem}
.wavebars{display:flex;gap:.35rem;align-items:flex-end;height:6rem;margin:1rem 0 1.2rem}
.tech-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}
.tech-list div,.mini-map span{padding:.9rem 1rem;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}
.tech-list small{display:block;color:var(--muted);font-size:.72rem;letter-spacing:.12em;margin-bottom:.3rem}
.mini-map{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin-top:1rem}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.gallery-card{min-height:17rem;padding:1.3rem;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}
.gallery-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 10%, rgba(3,6,18,.75) 78%)}
.gallery-card>*{position:relative;z-index:1}
.gallery-card span{color:var(--cyan);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase}
.gallery-card strong{font-size:1.55rem;line-height:1.05;margin-top:.35rem}
.mood-1{background:
  linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,0)),
  radial-gradient(circle at 20% 20%, rgba(33,194,255,.45), transparent 30%),
  radial-gradient(circle at 80% 25%, rgba(255,43,214,.32), transparent 26%),
  linear-gradient(135deg,#101a3c,#0b1229 55%, #291245)}
.mood-2{background:
  linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,0)),
  radial-gradient(circle at 65% 20%, rgba(108,246,255,.35), transparent 24%),
  linear-gradient(135deg,#0c1432,#0a0f24 55%, #1a1a46)}
.mood-3{background:
  linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0)),
  radial-gradient(circle at 35% 22%, rgba(255,150,214,.45), transparent 26%),
  linear-gradient(135deg,#261436,#11162e 60%, #1a0d22)}
.mood-4{background:
  linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0)),
  radial-gradient(circle at 70% 18%, rgba(255,43,214,.4), transparent 27%),
  radial-gradient(circle at 28% 24%, rgba(33,194,255,.32), transparent 24%),
  linear-gradient(135deg,#14193e,#0c1127 55%, #241444)}
.dance-card{padding:2rem;display:grid;place-items:center;min-height:24rem;position:relative;overflow:hidden}
.vinyl{width:18rem;height:18rem;border-radius:50%;background:radial-gradient(circle, #0a0f24 0 14%, #1f2647 14% 18%, #090d21 18% 24%, #1e2447 24% 30%, #090d21 30% 42%, #0e1330 42% 46%, #0b1026 46% 100%);display:grid;place-items:center;box-shadow:0 0 0 8px rgba(255,255,255,.02), 0 0 50px rgba(255,43,214,.2)}
.vinyl>div{width:3rem;height:3rem;border-radius:50%;background:linear-gradient(135deg,var(--pink),var(--blue))}
.ticket{position:absolute;right:1.5rem;bottom:1.5rem;max-width:15rem;padding:1rem;border-radius:20px;background:rgba(8,12,26,.8);border:1px solid rgba(255,255,255,.16)}
.ticket small{display:block;color:var(--cyan);text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;margin-bottom:.35rem}
.ticket strong{display:block;font-size:1.1rem;margin-bottom:.25rem}
.ticket span{color:var(--muted);font-size:.95rem}
.bullet-list{padding-left:1.15rem;color:#eef3ff}
.bullet-list li+li{margin-top:.45rem}
.faq-list{display:grid;gap:1rem}
details{padding:1.2rem 1.3rem}
summary{cursor:pointer;font-weight:700;list-style:none;position:relative;padding-right:2rem}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:0;top:0;color:var(--cyan);font-size:1.35rem;line-height:1}
details[open] summary::after{content:"−"}
details p{color:var(--muted);margin:.9rem 0 0}
.contact-layout{align-items:start}
.contact-blocks{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.5rem}
.contact-blocks a,.contact-blocks div{padding:1rem 1.05rem}
.contact-blocks small{display:block;color:var(--cyan);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;margin-bottom:.35rem}
.contact-blocks strong{display:block;font-size:1rem}
.quote-form{padding:1.35rem}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
label span{display:block;font-size:.92rem;margin-bottom:.45rem;color:#dfe7ff}
input,select,textarea{width:100%;padding:.95rem 1rem;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#fff;outline:none}
input:focus,select:focus,textarea:focus{border-color:rgba(108,246,255,.65);box-shadow:0 0 0 3px rgba(108,246,255,.12)}
textarea{resize:vertical;min-height:8rem}
label.full,.full-btn{grid-column:1/-1}
.form-note{font-size:.92rem;color:var(--muted);margin-bottom:0}
.site-footer{padding:3.25rem 0 1.5rem;border-top:1px solid var(--line);background:rgba(4,6,16,.75)}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:1.5rem}
.footer-brand{margin-bottom:.9rem;display:inline-flex}
.site-footer p{color:var(--muted)}
.site-footer h3{margin-top:0;font-size:1rem}
.footer-nav,.footer-list{display:grid;gap:.6rem}
.footer-list{list-style:none;padding:0;margin:0;color:var(--muted)}
.footer-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:1.5rem;margin-top:1.5rem;border-top:1px solid var(--line);color:var(--muted);font-size:.95rem}
.mobile-call{display:none;position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:40;padding:1rem 1.2rem;border-radius:999px;text-align:center;font-weight:800;background:linear-gradient(90deg,var(--pink),var(--blue));box-shadow:0 16px 35px rgba(0,0,0,.35)}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .65s ease, transform .65s ease}
.reveal.visible{opacity:1;transform:none}
.reveal-delay{transition-delay:.1s}
.reveal-delay-2{transition-delay:.2s}
@media (max-width: 1080px){
  .hero-layout,.experience-layout,.dance-layout,.contact-layout{grid-template-columns:1fr}
  .hero-visual{min-height:auto}
  .cards-grid{grid-template-columns:repeat(2,1fr)}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 820px){
  .menu-toggle{display:block}
  .header-cta{display:none}
  .primary-nav{position:absolute;left:1rem;right:1rem;top:calc(100% + .6rem);display:grid;gap:.25rem;padding:.7rem;border:1px solid var(--line);border-radius:22px;background:rgba(5,8,22,.95);backdrop-filter:blur(18px);opacity:0;pointer-events:none;transform:translateY(-12px);transition:.25s}
  .primary-nav.open{opacity:1;pointer-events:auto;transform:none}
  .primary-nav a{padding:.85rem 1rem;border-radius:14px}
  .primary-nav a:hover,.primary-nav a.active{background:rgba(255,255,255,.05)}
  .primary-nav a::after{display:none}
  .hero{padding-top:2rem}
  .hero-layout{min-height:auto}
  .hero h1{font-size:clamp(2.4rem,10vw,4.2rem)}
  .hero-band{padding-top:1.5rem}
  .card-a,.card-b{position:relative;left:auto;right:auto;top:auto;bottom:auto;margin-top:1rem}
  .hero-visual{display:block;text-align:center}
  .hero-visual img{margin-inline:auto;max-height:34rem}
  .eq-bars{right:.5rem;bottom:5rem;width:7rem;height:7rem}
  .contact-blocks,.check-grid,.tech-list,.mini-map,.form-grid{grid-template-columns:1fr}
}
@media (max-width: 620px){
  .section{padding:4rem 0}
  .container{width:min(var(--max), calc(100% - 1.2rem))}
  .cards-grid,.gallery-grid,.footer-grid{grid-template-columns:1fr}
  .hero-tags,.hero-actions,.hero-stats{gap:.6rem}
  .hero-stats div{min-width:unset;flex:1 1 100%}
  .button,.header-cta{width:100%}
  .hero-actions .button{flex:1 1 100%}
  .dance-card{min-height:20rem}
  .vinyl{width:14rem;height:14rem}
  .ticket{position:relative;right:auto;bottom:auto;margin-top:1rem;max-width:none;width:100%}
  .mobile-call{display:block}
  body{padding-bottom:5.5rem}
}

/* Intégration finale de la vraie photo de Fabio dans le hero */
.hero-visual{
  isolation:isolate;
  align-self:stretch;
  min-height:46rem;
  overflow:visible;
}
.hero-picture{
  position:absolute;
  inset:0;
  z-index:3;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  pointer-events:none;
}
.hero-picture img{
  width:auto;
  height:min(47rem, 83vh);
  max-width:100%;
  object-fit:contain;
  object-position:center bottom;
  filter:contrast(1.04) saturate(1.03) drop-shadow(0 26px 45px rgba(0,0,0,.55));
  -webkit-mask-image:linear-gradient(to bottom, #000 0%, #000 87%, transparent 100%);
  mask-image:linear-gradient(to bottom, #000 0%, #000 87%, transparent 100%);
}
.hero-photo-light{
  position:absolute;
  z-index:1;
  border-radius:50%;
  filter:blur(55px);
  opacity:.52;
  pointer-events:none;
}
.hero-photo-light-blue{
  width:24rem;
  height:34rem;
  left:3%;
  top:10%;
  background:rgba(33,194,255,.32);
}
.hero-photo-light-pink{
  width:24rem;
  height:30rem;
  right:0;
  top:16%;
  background:rgba(255,43,214,.28);
}
.hero-visual::before{
  content:"";
  position:absolute;
  z-index:2;
  inset:7% 4% 5%;
  border-radius:48% 52% 44% 56% / 44% 42% 58% 56%;
  background:
    radial-gradient(circle at 50% 42%, rgba(16,24,58,.04), rgba(3,6,17,.28) 62%, transparent 73%),
    linear-gradient(130deg, rgba(33,194,255,.06), rgba(255,43,214,.08));
  border:1px solid rgba(140,170,255,.08);
  box-shadow:0 0 80px rgba(33,194,255,.08), inset 0 0 70px rgba(255,43,214,.05);
  pointer-events:none;
}
.hero-visual .halo,
.hero-visual .scanner,
.hero-visual .eq-bars,
.hero-visual > img{
  display:none !important;
}
@media (max-width:1080px){
  .hero-visual{min-height:39rem;order:-1}
  .hero-picture img{height:min(40rem,72vh)}
}
@media (max-width:820px){
  .hero-visual{min-height:33rem;margin-top:-1rem}
  .hero-picture img{height:34rem;max-width:96%}
  .hero-photo-light-blue,.hero-photo-light-pink{width:15rem;height:24rem}
}
@media (max-width:620px){
  .hero-visual{min-height:29rem}
  .hero-picture img{height:30rem;max-width:100%}
  .hero-visual::before{inset:6% 0 3%}
}

/* Photo finale validée : détourage transparent sans aucune déformation */
.hero-picture{
  position:absolute;
  inset:0;
  z-index:4;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  pointer-events:none;
}
.hero-picture img{
  width:auto;
  height:min(49rem, 86vh);
  max-width:108%;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 28px 55px rgba(0,0,0,.58));
  -webkit-mask-image:none !important;
  mask-image:none !important;
  transform:none !important;
}
.hero-visual::before{
  z-index:2;
  inset:10% 5% 4%;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 34%, rgba(33,194,255,.20), rgba(255,43,214,.10) 38%, rgba(5,8,22,.10) 60%, transparent 75%);
  border:1px solid rgba(140,170,255,.08);
  box-shadow:0 0 120px rgba(33,194,255,.14), inset 0 0 100px rgba(255,43,214,.08);
}
@media (max-width:1080px){
  .hero-picture img{height:min(42rem,74vh);max-width:100%}
}
@media (max-width:820px){
  .hero-picture img{height:35rem;max-width:100%}
}
@media (max-width:620px){
  .hero-picture img{height:31rem}
}


/* Galerie photos réelles ajoutées */
.real-gallery .gallery-card{min-height:18rem}
.gallery-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:saturate(1.03) contrast(1.02)}
.gallery-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(6,8,22,.04) 5%, rgba(5,8,22,.22) 45%, rgba(3,6,18,.82) 100%);z-index:0}
.gallery-card span,.gallery-card strong{position:relative;z-index:1}
@media (max-width:1080px){.real-gallery{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.real-gallery{grid-template-columns:1fr}}

/* Correction galerie : cartes paysage proportionnées aux photos */
.real-gallery{
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:stretch;
}
.real-gallery .gallery-card{
  min-height:0;
  aspect-ratio:4 / 3;
  overflow:hidden;
}
.real-gallery .gallery-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
@media (max-width:1080px){
  .real-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:620px){
  .real-gallery{grid-template-columns:1fr}
  .real-gallery .gallery-card{aspect-ratio:4 / 3}
}
