*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}:root{--noir:#111111;--creme:#f5ede0;--rose:#FCD2DE;--rose-clair:#ffe5ff;--orange:#ffb380;--gris:#a89a8a;--beige:#fdf5f0;--noir2:#161616}html{scroll-behavior:smooth}body{background:var(--noir);color:var(--creme);font-family:'Jost',sans-serif;font-weight:300;overflow-x:hidden}#zmcd-cursor{position:fixed!important;width:10px;height:10px;border-radius:50%;background:var(--rose,#FCD2DE);pointer-events:none!important;z-index:2147483647!important;transform:translate(-50%,-50%);transition:width .3s,height .3s,background .3s;mix-blend-mode:difference;top:0;left:0;will-change:transform}#zmcd-cursor.grow{width:40px;height:40px;background:var(--rose-clair,#f8e8ed)}nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:28px 6vw;background:linear-gradient(to bottom,rgba(17,17,17,.9) 0%,transparent 100%);transition:background .4s,padding .4s}nav.scrolled{background:rgba(17,17,17,.96);backdrop-filter:blur(12px);padding:16px 6vw;border-bottom:1px solid rgba(255,204,255,.06)}.nav-logo{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:300;letter-spacing:.18em;color:var(--creme);text-decoration:none}.nav-logo span{color:var(--rose)}.nav-links{display:flex;gap:3rem;list-style:none}.nav-links a{color:var(--gris);text-decoration:none;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;transition:color .3s}.nav-links a:hover{color:var(--orange)}#hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:0 8vw;overflow:hidden}.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 70% 50%,rgba(255,204,255,.13) 0%,transparent 70%),radial-gradient(ellipse 40% 60% at 20% 80%,rgba(255,179,128,.09) 0%,transparent 60%),var(--noir)}.hero-line{position:absolute;background:var(--rose);opacity:.12}.hero-line-v{width:1px;height:60vh;top:20vh;left:5.5vw}.hero-line-h{height:1px;width:20vw;bottom:15vh;right:8vw}.hero-silhouette{position:absolute;right:6vw;top:50%;transform:translateY(-50%);width:min(45vw,520px);opacity:.15;animation:float 8s ease-in-out infinite}@keyframes float{0%,100%{transform:translateY(-50%) rotate(-1deg)}50%{transform:translateY(calc(-50% - 18px)) rotate(1deg)}}.hero-content{position:relative}.hero-tag{font-size:.7rem;letter-spacing:.35em;text-transform:uppercase;color:var(--orange);margin-bottom:2rem;animation:fadeUp .8s ease both}.hero-title{font-family:'Cormorant Garamond',serif;font-size:clamp(4rem,10vw,9rem);font-weight:300;line-height:.9;color:var(--creme);letter-spacing:-.01em;animation:fadeUp .8s .2s ease both}.hero-title em{color:var(--rose);font-style:italic}.hero-sub{margin-top:2.5rem;max-width:380px;font-size:1rem;line-height:1.8;color:var(--gris);animation:fadeUp .8s .4s ease both}.hero-cta{margin-top:3.5rem;display:flex;gap:1.5rem;align-items:center;animation:fadeUp .8s .6s ease both}@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.btn-primary{display:inline-block;padding:.9rem 2.4rem;background:var(--rose);color:var(--noir);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;font-weight:500;transition:background .3s,transform .2s}.btn-primary:hover{background:var(--orange);transform:translateY(-2px)}.btn-ghost{color:var(--creme);text-decoration:none;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid var(--orange);padding-bottom:2px;transition:color .3s}.btn-ghost:hover{color:var(--orange)}section{padding:120px 8vw}.section-tag{font-size:.65rem;letter-spacing:.4em;text-transform:uppercase;color:var(--orange);margin-bottom:1.2rem}.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.4rem,5vw,4rem);font-weight:300;line-height:1.1;color:var(--creme);max-width:640px}.section-title em{color:var(--rose);font-style:italic}.section-title.dark{color:var(--noir)}.section-body{margin-top:2rem;max-width:520px;font-size:.95rem;line-height:1.9;color:var(--gris)}.section-body.dark{color:#5a5550}.divider{width:60px;height:1px;background:var(--rose);margin:2rem 0;opacity:.7}#disciplines{background:var(--beige)}.disciplines-intro{margin-bottom:5rem}.disciplines-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3px}.disc-card{position:relative;overflow:hidden;background:var(--noir);padding:3.5rem 3rem;transition:background .4s}.disc-card::before{content:'';position:absolute;inset:0;background:var(--rose);opacity:0;transition:opacity .4s}.disc-card:hover::before{opacity:.05}.disc-card:hover{background:#181818}.disc-num{font-family:'Cormorant Garamond',serif;font-size:5rem;font-weight:300;color:var(--rose);opacity:.35;line-height:1;margin-bottom:1.5rem}.disc-name{font-family:'Cormorant Garamond',serif;font-size:2.2rem;font-weight:300;color:var(--creme);margin-bottom:1rem}.disc-name em{font-style:italic;color:var(--rose)}.disc-text{font-size:.88rem;line-height:1.85;color:var(--gris)}.disc-ages{margin-top:2rem;display:inline-block;font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;color:var(--orange);border:1px solid rgba(255,179,128,.4);padding:.4rem 1rem}#planning{background:var(--noir)}.planning-grid{margin-top:4rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2px;background:rgba(255,204,255,.08)}.planning-day{background:var(--noir);padding:2.5rem 2rem;transition:background .3s}.planning-day:hover{background:var(--noir2)}.planning-day-name{font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--orange);margin-bottom:1.8rem}.planning-item{margin-bottom:1.2rem}.planning-time{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--creme);font-weight:300}.planning-cours{font-size:.8rem;color:var(--gris);margin-top:.2rem}#apropos{background:var(--beige);display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.apropos-visual{position:relative;aspect-ratio:3/4;background:var(--noir);overflow:hidden}.apropos-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,204,255,.15) 0%,transparent 60%)}.apropos-frame{position:absolute;inset:20px;border:1px solid rgba(255,204,255,.25);z-index:1}.apropos-inner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:2}.apropos-label{text-align:center}.apropos-label p:first-child{font-family:'Cormorant Garamond',serif;font-size:5rem;font-weight:300;color:var(--rose);opacity:.2;line-height:1}.apropos-label p:nth-child(2){font-family:'Cormorant Garamond',serif;font-size:2rem;color:var(--creme);font-style:italic;font-weight:300}.apropos-label .line{width:40px;height:1px;background:var(--orange);margin:20px auto}.apropos-label p:last-child{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gris)}#localisation{background:var(--noir)}.loc-grid{margin-top:4rem;display:grid;grid-template-columns:1fr 1fr;gap:4vw}.loc-map{background:var(--noir2);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,204,255,.12);position:relative;overflow:hidden}.map-grid-lines{position:absolute;inset:0;opacity:.04;background-image:linear-gradient(var(--rose) 1px,transparent 1px),linear-gradient(90deg,var(--rose) 1px,transparent 1px);background-size:40px 40px}.map-pin{position:absolute;top:48%;left:52%;transform:translate(-50%,-100%)}.map-pin-dot{width:14px;height:14px;background:var(--orange);border-radius:50%;box-shadow:0 0 0 4px rgba(255,179,128,.3);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,100%{box-shadow:0 0 0 4px rgba(255,179,128,.3)}50%{box-shadow:0 0 0 14px rgba(255,179,128,.08)}}.loc-map-inner{text-align:center;position:relative;z-index:1}.loc-map-icon{font-size:2.5rem;margin-bottom:1rem;opacity:.25;color:var(--rose)}.loc-map-text{font-family:'Cormorant Garamond',serif;font-size:1.4rem;color:var(--gris)}.loc-map-text small{font-size:.8rem;color:var(--gris);display:block;margin-top:4px}.loc-infos{display:flex;flex-direction:column;gap:2.5rem;justify-content:center}.loc-info-label{font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--orange);margin-bottom:.5rem}.loc-info-value{font-family:'Cormorant Garamond',serif;font-size:1.4rem;color:var(--creme);font-weight:300;line-height:1.4}.loc-info-value span{font-size:1.1rem;color:var(--gris);font-family:'Jost',sans-serif;font-weight:300}#contact{background:var(--noir);border-top:1px solid rgba(255,204,255,.08)}.contact-inner{max-width:640px;margin:0 auto;text-align:center}.contact-inner .section-title{max-width:100%}.contact-inner .divider{margin:2rem auto}.contact-form{margin-top:3rem;display:flex;flex-direction:column;gap:1.2rem;text-align:left}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.form-field{display:flex;flex-direction:column;gap:.4rem}label{font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gris)}input,select,textarea{background:transparent;border:none;border-bottom:1px solid rgba(255,204,255,.2);padding:.8rem 0;color:var(--creme);font-family:'Jost',sans-serif;font-size:.95rem;font-weight:300;outline:none;transition:border-color .3s;width:100%}input::placeholder,textarea::placeholder{color:var(--gris);opacity:.45}input:focus,select:focus,textarea:focus{border-color:var(--rose)}select option{background:var(--noir);color:var(--creme)}textarea{resize:none;height:100px}.form-submit{margin-top:1rem}.form-submit .btn-primary{width:100%;text-align:center;border:none;cursor:pointer;font-family:'Jost',sans-serif}footer{background:#070707;padding:48px 8vw;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:2rem;border-top:1px solid rgba(255,204,255,.06)}.footer-logo{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:300;letter-spacing:.15em;color:var(--creme);text-decoration:none}.footer-logo span{color:var(--rose)}.footer-copy{font-size:.72rem;letter-spacing:.12em;color:var(--gris)}.footer-links{display:flex;gap:2rem}.footer-links a{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gris);text-decoration:none;transition:color .3s}.footer-links a:hover{color:var(--orange)}.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:translateY(0)}@media (max-width:900px){#apropos{grid-template-columns:1fr}.apropos-visual{display:none}.loc-grid{grid-template-columns:1fr}}@media (max-width:640px){nav{padding:18px 6vw}.nav-links{display:none}section{padding:80px 6vw}.form-row{grid-template-columns:1fr}footer{flex-direction:column;align-items:flex-start}.footer-links{flex-wrap:wrap;gap:1.2rem}}