*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
:root{
  --pink:#E8547A;--coral:#F07C5A;--orange:#F5943A;
  --purple:#2D1B5E;--mid-purple:#4A2C8A;
  --blush:#F9D0DC;--soft-blush:#FEF0F4;
  --lavender:#D8CCEE;--soft-lav:#EDE8F7;
  --peach:#F7CCAF;--soft-peach:#FDE8D8;
  --cream:#FDF8F2;--warm-white:#FEFCFA;
  --text:#1A0A10;--text-mid:#7A5A65;--text-light:#B89AA5;
  --grad:linear-gradient(135deg,#E8547A 0%,#F07C5A 50%,#F5943A 100%);
}
body{font-family:'DM Sans',sans-serif;color:var(--text);background:#fff;overflow-x:hidden;}

/* NAV */
.navbar{
  position:fixed;top:0;left:0;right:0;z-index:200;
  background:rgba(255,255,255,0.94);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(232,84,122,0.1);
  padding:0 40px;height:68px;
  display:flex;align-items:center;justify-content:space-between;
  transition:box-shadow 0.3s;
}
.navbar.scrolled{box-shadow:0 4px 24px rgba(232,84,122,0.08);}
.nav-logo{
  font-family:'Cormorant Garamond',serif;font-size:28px;font-style:italic;font-weight:600;
  background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  text-decoration:none;flex-shrink:0;
}
.nav-links{display:flex;gap:28px;align-items:center;list-style:none;}
.nav-links a{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-mid);text-decoration:none;font-weight:500;transition:color 0.2s;}
.nav-links a:hover{color:var(--pink);}
.nav-cta{background:var(--grad);color:#fff!important;padding:10px 22px;border-radius:100px;font-size:11px!important;letter-spacing:2px;font-weight:600!important;transition:opacity 0.2s!important;}
.nav-cta:hover{opacity:0.85;}
.burger{display:none;background:none;border:none;cursor:pointer;padding:6px;flex-direction:column;gap:5px;}
.burger span{display:block;width:22px;height:2px;background:var(--pink);border-radius:2px;transition:all 0.3s;}

/* HERO */
.hero{
  min-height:100vh;padding-top:68px;
  display:grid;grid-template-columns:1fr 1fr;
}
.hero-left{
  background:var(--purple);
  display:flex;flex-direction:column;justify-content:center;
  padding:80px 60px 80px 80px;position:relative;overflow:hidden;
}
.hero-left::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 0% 100%,rgba(74,44,138,0.9) 0%,transparent 60%),
             radial-gradient(ellipse at 100% 0%,rgba(232,84,122,0.12) 0%,transparent 50%);
}
.hero-left::after{
  content:'D';position:absolute;
  font-family:'Playfair Display',serif;font-size:480px;font-weight:900;
  color:rgba(255,255,255,0.03);right:-60px;bottom:-80px;line-height:1;
}
.hero-tag{font-size:10px;letter-spacing:5px;text-transform:uppercase;color:rgba(232,84,122,0.85);margin-bottom:24px;position:relative;display:flex;align-items:center;gap:12px;}
.hero-tag span{display:block;width:28px;height:1px;background:var(--pink);}
.hero-h1{font-family:'Playfair Display',serif;font-size:clamp(48px,5.5vw,76px);font-weight:900;line-height:0.93;color:#fff;margin-bottom:22px;position:relative;}
.hero-h1 em{font-style:italic;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.hero-p{font-size:15px;line-height:1.75;color:rgba(255,255,255,0.52);max-width:380px;margin-bottom:36px;position:relative;font-weight:300;}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;position:relative;}
.hero-promo{margin-top:24px;font-size:12px;color:rgba(255,255,255,0.5);letter-spacing:1px;position:relative;}
.hero-right{background:linear-gradient(145deg,var(--soft-blush) 0%,var(--blush) 60%,#EFAFBF 100%);position:relative;overflow:hidden;}
.hero-visual{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:14px;padding:40px;}
.hv-card{border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;transition:transform 0.3s;}
.hv-card:hover{transform:scale(1.03);}
.hv-1{background:var(--grad);}
.hv-2{background:rgba(255,255,255,0.6);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.8);}
.hv-3{background:rgba(255,255,255,0.6);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.8);}
.hv-4{background:var(--purple);grid-column:1/-1;}
.hv-num{font-family:'Playfair Display',serif;font-size:52px;font-weight:900;color:#fff;line-height:1;}
.hv-label{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.75);margin-top:4px;}
.hv-3 .hv-num,.hv-2 .hv-num{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.hv-3 .hv-label,.hv-2 .hv-label{color:var(--text-mid);}
.hv-emoji{font-size:36px;margin-bottom:8px;}
.hv-quote{font-family:'Cormorant Garamond',serif;font-size:20px;font-style:italic;color:rgba(255,255,255,0.85);}

/* BUTTONS */
.btn-primary{background:var(--grad);color:#fff;padding:14px 32px;border-radius:100px;font-size:12px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;font-weight:600;display:inline-block;transition:transform 0.2s,opacity 0.2s;border:none;cursor:pointer;}
.btn-primary:hover{transform:translateY(-2px);opacity:0.9;}
.btn-ghost{border:1.5px solid rgba(255,255,255,0.25);color:rgba(255,255,255,0.75);padding:14px 32px;border-radius:100px;font-size:12px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;font-weight:500;display:inline-block;transition:all 0.2s;}
.btn-ghost:hover{border-color:var(--pink);color:var(--pink);}
.btn-dark{background:var(--purple);color:#fff;padding:14px 32px;border-radius:100px;font-size:12px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;font-weight:600;display:inline-block;transition:all 0.2s;}
.btn-dark:hover{background:var(--mid-purple);}

/* CONTAINER */
.container{max-width:1160px;margin:0 auto;}
.section{padding:96px 40px;}
.section-label{font-size:10px;letter-spacing:5px;text-transform:uppercase;color:var(--pink);margin-bottom:10px;}
.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,4vw,52px);font-weight:400;font-style:italic;color:var(--text);margin-bottom:14px;line-height:1.08;}
.section-sub{font-size:15px;color:var(--text-mid);line-height:1.75;max-width:500px;font-weight:300;}

/* ARMS */
.arms-section{background:var(--cream);}
.arms-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:52px;}
.arm-card{border-radius:22px;overflow:hidden;text-decoration:none;display:block;transition:transform 0.3s,box-shadow 0.3s;}
.arm-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(232,84,122,0.15);}
.arm-bg{height:240px;position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;}
.arm-num{position:absolute;top:16px;right:16px;font-family:'Playfair Display',serif;font-size:44px;font-weight:900;color:rgba(255,255,255,0.1);line-height:1;}
.arm-bg-title{font-family:'Playfair Display',serif;font-size:24px;font-weight:900;color:#fff;line-height:1.1;margin-bottom:4px;}
.arm-bg-sub{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0.6);}
.arm-bg-1{background:linear-gradient(145deg,var(--purple),var(--mid-purple));}
.arm-bg-2{background:var(--grad);}
.arm-bg-3{background:linear-gradient(145deg,#F5B8CC,#EDB0C0);}
.arm-bg-4{background:linear-gradient(145deg,var(--soft-lav),var(--lavender),#C8A8E8);}
.arm-body{padding:22px;background:#fff;border:1px solid rgba(232,84,122,0.08);border-top:none;border-radius:0 0 22px 22px;}
.arm-name{font-family:'Cormorant Garamond',serif;font-size:20px;font-style:italic;font-weight:600;color:var(--text);margin-bottom:6px;}
.arm-desc{font-size:12px;color:var(--text-mid);line-height:1.6;}
.arm-tag{display:inline-block;margin-top:12px;padding:4px 14px;border-radius:100px;font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:500;}
.arm-tag-1{background:rgba(232,84,122,0.1);color:var(--pink);}
.arm-tag-2{background:rgba(240,124,90,0.12);color:var(--coral);}
.arm-tag-3{background:rgba(232,84,122,0.08);color:var(--pink);}
.arm-tag-4{background:rgba(180,140,220,0.15);color:#7A4AAA;}

/* CLASSES PREVIEW */
.classes-preview{background:#fff;}
.class-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px;}
.pill{padding:10px 20px;border-radius:100px;border:1.5px solid rgba(232,84,122,0.2);font-size:13px;color:var(--text-mid);font-weight:400;background:var(--soft-blush);}
.classes-cta-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px;}
.classes-info-card{background:var(--cream);border-radius:16px;padding:24px;display:flex;align-items:center;gap:16px;border:1px solid rgba(232,84,122,0.1);}
.cic-icon{font-size:28px;}
.cic-title{font-size:16px;font-weight:600;color:var(--text);}
.cic-sub{font-size:12px;color:var(--text-light);}

/* TESTIMONIALS */
.testimonials-section{background:var(--purple);padding:96px 40px;}
.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:52px;}
.test-card{background:rgba(255,255,255,0.06);border-radius:20px;padding:30px;border:1px solid rgba(255,255,255,0.08);}
.test-stars{color:var(--orange);font-size:14px;letter-spacing:3px;margin-bottom:14px;}
.test-text{font-family:'Cormorant Garamond',serif;font-size:17px;font-style:italic;color:rgba(255,255,255,0.82);line-height:1.65;margin-bottom:18px;}
.test-author{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.3);}

/* ENROLL CTA */
.enroll-cta{background:var(--cream);padding:96px 40px;}
.promo-badge{display:inline-block;background:var(--grad);color:#fff;padding:8px 20px;border-radius:100px;font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:600;margin-bottom:24px;}
.enroll-title{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,4.5vw,60px);font-style:italic;font-weight:400;color:var(--text);line-height:1.1;margin-bottom:14px;}
.enroll-title span{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.enroll-sub{font-size:15px;color:var(--text-mid);line-height:1.75;margin-bottom:36px;max-width:560px;margin-left:auto;margin-right:auto;font-weight:300;}

/* FOOTER */
.footer{background:var(--purple);padding:64px 40px 32px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px;}
.footer-logo{font-family:'Cormorant Garamond',serif;font-size:30px;font-style:italic;font-weight:600;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:14px;display:block;}
.footer-about{font-size:13px;color:rgba(255,255,255,0.38);line-height:1.7;max-width:260px;margin-bottom:22px;}
.footer-socials{display:flex;gap:10px;}
.fsocial{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.1);display:flex;align-items:center;justify-content:center;font-size:14px;text-decoration:none;transition:all 0.2s;}
.fsocial:hover{background:var(--pink);border-color:var(--pink);}
.footer-col h4{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0.28);margin-bottom:18px;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px;}
.footer-col ul a{font-size:13px;color:rgba(255,255,255,0.48);text-decoration:none;transition:color 0.2s;}
.footer-col ul a:hover{color:var(--pink);}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.06);padding-top:22px;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:rgba(255,255,255,0.22);flex-wrap:wrap;gap:8px;}

/* PAGE HERO (inner pages) */
.page-hero{padding:140px 40px 80px;background:var(--purple);position:relative;overflow:hidden;}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 50%,rgba(232,84,122,0.12) 0%,transparent 60%);}
.page-hero::after{content:attr(data-letter);position:absolute;font-family:'Playfair Display',serif;font-size:400px;font-weight:900;color:rgba(255,255,255,0.03);right:-40px;bottom:-60px;line-height:1;}
.page-hero-inner{max-width:1160px;margin:0 auto;position:relative;}
.page-hero-label{font-size:10px;letter-spacing:5px;text-transform:uppercase;color:rgba(232,84,122,0.8);margin-bottom:16px;}
.page-hero-title{font-family:'Playfair Display',serif;font-size:clamp(44px,6vw,80px);font-weight:900;color:#fff;line-height:0.95;margin-bottom:18px;}
.page-hero-title em{font-style:italic;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.page-hero-sub{font-size:16px;color:rgba(255,255,255,0.5);max-width:480px;line-height:1.7;font-weight:300;}

/* GO PAGE */
.go-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.go-features{display:flex;flex-direction:column;gap:20px;margin-top:36px;}
.go-feat{display:flex;gap:14px;align-items:flex-start;}
.go-feat-icon{width:44px;height:44px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.go-feat h4{font-size:14px;font-weight:600;color:var(--text);margin-bottom:3px;}
.go-feat p{font-size:13px;color:var(--text-mid);line-height:1.6;}
.go-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.go-card{background:var(--cream);border-radius:18px;padding:26px;border:1px solid rgba(232,84,122,0.1);}
.go-card h3{font-family:'Cormorant Garamond',serif;font-size:26px;font-style:italic;color:var(--text);margin-bottom:8px;}
.go-card p{font-size:13px;color:var(--text-mid);line-height:1.6;}
.go-card-wide{grid-column:1/-1;}

/* CLASSES PAGE */
.classes-grid-full{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px;}
.class-card{border-radius:20px;overflow:hidden;border:1px solid rgba(232,84,122,0.1);transition:transform 0.3s,box-shadow 0.3s;background:#fff;}
.class-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(232,84,122,0.1);}
.class-img{height:180px;display:flex;align-items:center;justify-content:center;font-size:52px;}
.class-body{padding:24px;}
.class-age{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--pink);margin-bottom:8px;}
.class-name{font-family:'Cormorant Garamond',serif;font-size:24px;font-style:italic;color:var(--text);margin-bottom:8px;}
.class-desc{font-size:13px;color:var(--text-mid);line-height:1.6;margin-bottom:16px;}
.class-link{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--pink);text-decoration:none;font-weight:600;}

/* FAQ */
.faq-list{margin-top:40px;display:flex;flex-direction:column;gap:2px;}
.faq-item{border-radius:12px;overflow:hidden;}
.faq-q{width:100%;background:var(--cream);border:none;padding:20px 24px;text-align:left;font-size:15px;font-weight:500;color:var(--text);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background 0.2s;font-family:'DM Sans',sans-serif;}
.faq-q:hover{background:var(--soft-blush);}
.faq-q.open{background:var(--soft-blush);color:var(--pink);}
.faq-icon{font-size:18px;transition:transform 0.3s;color:var(--pink);}
.faq-q.open .faq-icon{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height 0.35s ease,padding 0.3s;background:#fff;border:1px solid rgba(232,84,122,0.08);border-top:none;border-radius:0 0 12px 12px;padding:0 24px;font-size:14px;color:var(--text-mid);line-height:1.7;}
.faq-a.open{max-height:200px;padding:18px 24px;}

/* MINIS */
.minis-features{margin-top:36px;display:flex;flex-direction:column;gap:16px;}
.mini-feat{display:flex;gap:14px;align-items:center;}
.mini-feat-icon{width:44px;height:44px;border-radius:50%;background:var(--blush);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.mini-feat-title{font-size:14px;font-weight:600;color:var(--text);}
.mini-feat-sub{font-size:12px;color:var(--text-mid);}
.minis-visual{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.mv-card{border-radius:18px;height:190px;display:flex;align-items:center;justify-content:center;}

/* APRÈS */
.apres-events-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:52px;}
.apres-card{border-radius:24px;min-height:300px;position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:36px;overflow:hidden;transition:transform 0.3s;}
.apres-card:hover{transform:translateY(-4px);}
.apres-card-1{background:linear-gradient(145deg,var(--soft-blush),var(--blush));}
.apres-card-2{background:linear-gradient(145deg,var(--soft-lav),var(--lavender));}
.apres-tag{font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--pink);margin-bottom:10px;}
.apres-name{font-family:'Cormorant Garamond',serif;font-size:40px;font-style:italic;color:var(--text);line-height:1;margin-bottom:10px;}
.apres-desc{font-size:13px;color:var(--text-mid);line-height:1.6;margin-bottom:20px;}
.apres-vibe{background:var(--warm-white);border-radius:20px;padding:32px;border:1px solid rgba(232,84,122,0.1);margin-top:32px;}
.apres-vibe-item{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--text-mid);padding:8px 0;border-bottom:1px solid rgba(232,84,122,0.07);}
.apres-vibe-item:last-child{border:none;}
.apres-vibe-item span{color:var(--pink);}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:52px;}
.contact-info-card{display:flex;gap:16px;align-items:flex-start;margin-bottom:28px;}
.cinfo-icon{width:48px;height:48px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.cinfo-label{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--text-light);margin-bottom:4px;}
.cinfo-val{font-size:15px;color:var(--text);font-weight:500;}
.cinfo-val a{color:var(--text);text-decoration:none;}
.cinfo-val a:hover{color:var(--pink);}
.form-card{background:var(--cream);border-radius:24px;padding:40px;border:1px solid rgba(232,84,122,0.1);}
.form-title{font-family:'Cormorant Garamond',serif;font-size:28px;font-style:italic;color:var(--text);margin-bottom:24px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;}
.form-group label{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--text-light);}
.form-group input,.form-group select,.form-group textarea{
  border:1.5px solid rgba(232,84,122,0.15);border-radius:10px;padding:12px 16px;
  font-family:'DM Sans',sans-serif;font-size:14px;color:var(--text);background:#fff;
  transition:border-color 0.2s;outline:none;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--pink);}
.form-group textarea{resize:vertical;min-height:100px;}

/* MOBILE */
@media(max-width:900px){
  .navbar{padding:0 20px;}
  .nav-links{
    display:none;flex-direction:column;position:fixed;
    top:68px;left:0;right:0;background:rgba(255,255,255,0.98);
    backdrop-filter:blur(20px);padding:24px 24px 32px;
    border-bottom:1px solid rgba(232,84,122,0.1);gap:0;
    box-shadow:0 20px 40px rgba(0,0,0,0.1);
  }
  .nav-links.open{display:flex;}
  .nav-links li{width:100%;}
  .nav-links a{display:block;padding:14px 0;border-bottom:1px solid rgba(232,84,122,0.08);font-size:14px;}
  .nav-cta{display:block;text-align:center;margin-top:16px;padding:14px;border-radius:100px;}
  .burger{display:flex;}
  .hero{grid-template-columns:1fr;}
  .hero-left{padding:60px 28px 52px;}
  .hero-right{height:320px;}
  .hero-visual{padding:24px;gap:10px;}
  .hv-num{font-size:36px;}
  .hv-quote{font-size:16px;}
  .section{padding:64px 24px;}
  .arms-grid{grid-template-columns:1fr 1fr;}
  .classes-cta-row{grid-template-columns:1fr;}
  .test-grid{grid-template-columns:1fr;}
  .go-grid,.contact-grid,.apres-events-grid,.classes-grid-full,.minis-visual,.go-cards,.form-row{grid-template-columns:1fr;}
  .go-card-wide{grid-column:1;}
  .page-hero{padding:120px 24px 60px;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .footer-bottom{flex-direction:column;text-align:center;}
}
@media(max-width:600px){
  .arms-grid{grid-template-columns:1fr;}
  .arm-bg{height:200px;}
}
