:root {
  --bg:#0f1115; --card:#161a23; --muted:#8a93a6; --text:#e6e9ef; --accent:#6aa3ff;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);}
a{color:var(--accent);text-decoration:none}
.container{max-width:980px;margin:0 auto;padding:32px}
.header{display:flex;align-items:center;justify-content:space-between;padding:16px 0}
.card{background:var(--card);border-radius:16px;padding:24px;box-shadow:0 6px 24px rgba(0,0,0,0.3)}
.btn{display:inline-block;padding:10px 16px;border-radius:12px;background:var(--accent);color:#0b0e14;font-weight:600;border:none;cursor:pointer}
.btn.secondary{background:transparent;border:1px solid #2d3648;color:var(--text)}
.grid{display:grid;gap:16px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid #2d3648;background:#0e121a;color:var(--text)}
.label{display:block;margin-bottom:6px;color:var(--muted);font-size:14px}
.toolbar{display:flex;gap:10px;align-items:center}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:12px 10px;border-bottom:1px solid #222838;text-align:left}
.center{display:flex;align-items:center;justify-content:center;height:70vh;flex-direction:column;gap:16px;text-align:center}
.alert{padding:12px 14px;border-radius:12px;background:#23161a;color:#f7c2c2;border:1px solid #402028}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#0b0e14;border-bottom:1px solid #232a3a;position:sticky;top:0;z-index:20}
.iframe-wrap{position:fixed;inset:50px 0 0 0}
.iframe{width:100%;height:100%;border:0}
.small{font-size:13px;color:var(--muted)}

.geo-regular {
  font-family: "Geo", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.geo-regular-italic {
  font-family: "Geo", sans-serif;
  font-weight: 400;
  font-style: italic;
}

:root{
  --hero-min-h: 100svh; /* gère la hauteur sur mobiles modernes */
  --overlay: linear-gradient(180deg, rgba(7,9,15,.35) 0%, rgba(7,9,15,.65) 70%, rgba(7,9,15,.85) 100%),
             radial-gradient(60% 60% at 70% 40%, rgba(0,0,0,.0) 0%, rgba(0,0,0,.4) 100%);
}

.hero{
  position: relative;
  isolation: isolate;
  min-height: var(--hero-min-h);
  display: grid;
  place-items: center;
  text-align: center;
  overflow: clip;
}

.hero__bg, .hero__bg img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.hero__bg img{
  object-fit: cover;
  object-position: center;
  transform: translateZ(0); /* meilleur rendu */
}

.hero__overlay{
  position: absolute;
  inset: 0;
  background: var(--overlay);
  pointer-events: none;
}

.hero__content{
  position: relative;
  z-index: 1;
  padding: 4rem 1rem;
  color: #e6e6f0;
}
.hero__content h1{
  font-size: clamp(2rem, 4vw + 1rem, 4rem);
  letter-spacing: .02em;
  margin: 0 0 .5rem;
}
.hero__content p{
  margin: 0 0 1.5rem;
  opacity: .9;
}

.btn{
  display: inline-block;
  padding: .85rem 1.25rem;
  border-radius: 999px;
  background: #7c3aed;
  color: white;
  text-decoration: none;
  font-weight: 600;
  margin: 0 .5rem;
  box-shadow: 0 8px 24px rgba(124,58,237,.35);
}
.btn:hover{ filter: brightness(1.05); }
.btn--ghost{
  background: transparent;
  border: 1px solid rgba(230,230,240,.3);
  box-shadow: none;
}

/* Correction: marge pour + Ajouter un sous-lieu */
.add-sublieu{margin-left:30px !important;display:inline-block}

.hero{min-height:100vh;display:grid;place-items:center;background:#0b0f19;}
.btn{display:inline-block;padding:.75rem 1.25rem;border:1px solid #fff8;border-radius:.8rem;margin-right:.5rem;text-decoration:none}
.btn.secondary{opacity:.85}

.brand{display:flex;align-items:center;gap:18px}
  .brand__icon{width:clamp(96px,12vw,160px);height:auto;border-radius:14px}
  .brand__word{position:relative;font-family:'Geo',system-ui,sans-serif;
               font-size:clamp(42px,8vw,112px);line-height:1;letter-spacing:.5px}
  .brand__word span{
      background:linear-gradient(180deg,#B07CFF 0%, #7D4DFF 65%);
      -webkit-background-clip:text;background-clip:text;color:transparent;
      text-shadow:-2px -2px 0 rgba(255,255,255,.12),
                  0 1px 0 rgba(0,0,0,.35),
                  0 8px 18px rgba(0,0,0,.55),
                  0 0 16px rgba(125,77,255,.35);
      filter:drop-shadow(0 2px 0 rgba(0,0,0,.35));
  }
  .brand__word::before{
      content:attr(data-text);position:absolute;left:0;top:0;z-index:-1;
      color:#0a0c12;filter:blur(.3px) drop-shadow(0 2px 0 #0a0c12)
                        drop-shadow(0 10px 16px rgba(0,0,0,.5));
  }
  .hero .brand{margin-bottom:.35rem}