:root{
  --bg:#0f1210;
  --bg-soft:#171b18;
  --text:#f6f2e8;
  --muted:#c8c5bd;
  --gold:#c6a96a;
  --green:#365746;
  --paper:#f5f1e8;
  --ink:#1d211e;
  --line:rgba(255,255,255,.12);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Montserrat,Arial,sans-serif;background:var(--paper);color:var(--ink);line-height:1.6} a{color:inherit} img{max-width:100%;display:block}.container{width:min(1120px,92%);margin:auto}.site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(15,18,16,.93);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav-wrap{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:800;letter-spacing:.12em;color:white;text-decoration:none}.brand span{color:var(--gold)}.nav{display:flex;gap:24px;align-items:center}.nav a{text-decoration:none;color:#fff;font-size:.92rem}.nav-cta{border:1px solid var(--gold);padding:10px 14px;border-radius:999px}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:1.5rem}.hero{min-height:92vh;display:grid;place-items:center;position:relative;background-image:url("assets/banner-gala.jpg");background-size:cover;background-position:center 58%;color:#fff;padding-top:76px;overflow:hidden}.hero:before{content:"";position:absolute;inset:-12px;background:inherit;background-size:cover;background-position:center 58%;filter:blur(3px);transform:scale(1.025);z-index:0}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.48) 55%,rgba(0,0,0,.62));z-index:1}.overlay{display:none}.hero-content{position:relative;z-index:2;max-width:850px}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:700;color:var(--gold)}h1,h2{font-family:"Playfair Display",serif;line-height:1.08;margin:0 0 20px}h1{font-size:clamp(3rem,7vw,6.2rem);max-width:900px}h2{font-size:clamp(2rem,4vw,3.4rem)}.hero-text{font-size:1.12rem;max-width:700px;color:#e7e3da}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border-radius:999px;text-decoration:none;font-weight:700;border:1px solid transparent;cursor:pointer}.btn-primary{background:var(--gold);color:#151515}.btn-secondary{border-color:rgba(255,255,255,.55);color:#fff}.section{padding:100px 0}.split-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}.image-card{min-height:430px;border-radius:28px;background:linear-gradient(135deg,var(--green),#202820);display:grid;place-items:center;box-shadow:0 20px 60px rgba(0,0,0,.15)}.image-placeholder{color:#e8e4da;max-width:250px;text-align:center;padding:20px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:35px}.stats div{background:#fff;padding:18px;border-radius:18px}.stats strong,.stats span{display:block}.stats span{font-size:.85rem;color:#666;margin-top:4px}.section-dark{background:var(--bg);color:var(--text)}.cards-grid{display:grid;gap:18px}.courses-grid{grid-template-columns:repeat(3,1fr);margin-top:40px}.card{background:var(--bg-soft);padding:26px;border:1px solid var(--line);border-radius:20px}.card h3{margin:0 0 8px;color:#fff}.card p{margin:0;color:var(--muted);font-size:.95rem}.teacher-grid{grid-template-columns:repeat(4,1fr);margin-top:40px}.teacher-card{background:#fff;border-radius:22px;padding:24px;box-shadow:0 12px 30px rgba(0,0,0,.08)}.avatar{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:800;margin-bottom:16px}.teacher-card h3{margin:0 0 6px}.teacher-card p{margin:0;font-size:.9rem;color:#5c625d}.section-accent{background:#e8dfcf}.planning-box{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:35px}.planning-box div{background:#fff;padding:20px 22px;border-radius:18px;display:flex;justify-content:space-between;gap:24px}.planning-box strong{color:var(--green)}.planning-note{margin-top:20px;color:#555}.testimonial-section{background:var(--green);color:#fff;text-align:center}.quote{font-family:"Playfair Display",serif;font-size:clamp(1.8rem,4vw,3rem);max-width:900px;margin:auto}.contact-section{background:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact-list a{color:var(--green);font-weight:600}.contact-form{display:grid;gap:16px;background:#f5f1e8;padding:28px;border-radius:22px}.contact-form label{font-size:.9rem;font-weight:600}.contact-form input,.contact-form textarea{width:100%;margin-top:6px;border:1px solid #d8d2c5;background:white;border-radius:12px;padding:13px;font:inherit}.contact-form small{color:#666}footer{background:var(--bg);color:#d8d5ce;padding:28px 0}.footer-wrap{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:.9rem}@media(max-width:900px){.menu-toggle{display:block}.nav{position:absolute;top:76px;left:0;right:0;background:var(--bg);display:none;flex-direction:column;align-items:flex-start;padding:24px 4%;border-top:1px solid var(--line)}.nav.open{display:flex}.split-grid,.contact-grid{grid-template-columns:1fr}.courses-grid{grid-template-columns:repeat(2,1fr)}.teacher-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.section{padding:72px 0}.hero{min-height:86vh}.courses-grid,.teacher-grid,.planning-box,.stats{grid-template-columns:1fr}.planning-box div{display:block}.planning-box span{display:block;margin-top:4px}.hero-actions{flex-direction:column;align-items:flex-start}.btn{width:100%}}

.studio-photo{overflow:hidden;padding:0;background:#111}.studio-photo .welcome-photo{width:100%;height:100%;min-height:430px;object-fit:cover;object-position:center 35%;display:block}

/* Photos de l'équipe */
.teacher-card { overflow: hidden; }
.teacher-photo {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center top;
  display: block;
  border-radius: 14px;
  margin-bottom: 18px;
}

.planning-visual-wrap{margin-top:35px;border-radius:24px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.18);background:#07140e}.planning-visual{width:100%;height:auto;display:block}
