@import url("https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&family=Open+Sans:wght@300;400;500;600;700;800&display=swap");

html{
  scroll-behavior:smooth;
  background:#0b1016;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
body{
  margin:0;
  min-width:320px;
  background:#0b1016;
  color:#f5f7fb;
  text-rendering:optimizeLegibility;
}
body.is-ritmo-locked{overflow:hidden;}

#ritmo-elementor{--bg:#0b1016;
  --bg2:#121922;
  --bg3:#19222d;
  --pink:#ff8a1e;
  --violet:#ffb347;
  --lime:#ffe0b2;
  --text:#f5f7fb;
  --muted:#aab4c1;
  --border:rgba(255,255,255,.10);
  --r:12px;
  --r-lg:20px;
  --r-xl:28px;}
#ritmo-elementor *,#ritmo-elementor *::before,#ritmo-elementor *::after{box-sizing:border-box;margin:0;padding:0;}
#ritmo-elementor{scroll-behavior:smooth;}
#ritmo-elementor{font-family:'Open Sans',sans-serif;
  background:
    radial-gradient(circle at top right,rgba(255,138,30,.18),transparent 28%),
    radial-gradient(circle at bottom left,rgba(255,179,71,.12),transparent 24%),
    linear-gradient(180deg,rgba(255,255,255,.01),transparent 32%),
    var(--bg);
  color:var(--text);
  overflow-x:hidden;
  line-height:1.6;
  min-height:100vh;
  position:relative;
  isolation:isolate;}
#ritmo-elementor a{color:inherit;text-decoration:none;}
#ritmo-elementor *{box-sizing:border-box;}
#ritmo-elementor .ritmo-emoji{
  display:inline-block;
  width:1.12em;
  height:1.12em;
  margin:0 .03em;
  vertical-align:-.16em;
  object-fit:contain;
  flex-shrink:0;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.12));
}
#ritmo-elementor .hb-icon .ritmo-emoji,
#ritmo-elementor .if-icon .ritmo-emoji,
#ritmo-elementor .ravatar .ritmo-emoji,
#ritmo-elementor .cicon .ritmo-emoji,
#ritmo-elementor .fsoc .ritmo-emoji,
#ritmo-elementor .bcard-icon .ritmo-emoji,
#ritmo-elementor .scard-emoji .ritmo-emoji,
#ritmo-elementor .indiv-box-emoji .ritmo-emoji{
  display:block;
  margin:0;
  vertical-align:middle;
}
#ritmo-elementor .hb-icon .ritmo-emoji{width:28px;height:28px;}
#ritmo-elementor .hb-name .ritmo-emoji,
#ritmo-elementor .sdance .ritmo-emoji{width:1.18em;height:1.18em;vertical-align:-.18em;}
#ritmo-elementor .if-icon .ritmo-emoji,
#ritmo-elementor .cicon .ritmo-emoji{width:24px;height:24px;}
#ritmo-elementor .ravatar .ritmo-emoji{width:22px;height:22px;}
#ritmo-elementor .fsoc .ritmo-emoji{width:20px;height:20px;}
#ritmo-elementor .bcard-icon .ritmo-emoji{width:34px;height:34px;}
#ritmo-elementor .scard-emoji .ritmo-emoji{width:28px;height:28px;}
#ritmo-elementor .label-tag{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--pink);}
#ritmo-elementor .section-title{font-family:'Lato',sans-serif;font-size:clamp(36px,6vw,68px);font-weight:900;line-height:1;letter-spacing:-.03em;}
#ritmo-elementor .gradient-text{background:linear-gradient(135deg,var(--pink),var(--violet));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
#ritmo-elementor .wrap{max-width:1220px;margin:0 auto;padding:0 32px;}
#ritmo-elementor section{padding:96px 0;position:relative;}
#ritmo-elementor .btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  padding:14px 28px;
  border-radius:50px;
  font-family:'Open Sans',sans-serif;
  font-size:15px;
  font-weight:600;
  cursor:pointer;
  border:none;
  transition-property:transform,box-shadow,background-color,border-color,color,opacity;
  transition-duration:.22s;
  transition-timing-function:ease-out;
}
#ritmo-elementor .btn-primary{background:linear-gradient(135deg,var(--pink),var(--violet));color:#fff;box-shadow:0 14px 34px rgba(255,138,30,.24);}
#ritmo-elementor .btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(255,138,30,.34);}
#ritmo-elementor .btn-ghost{background:transparent;color:var(--text);border:1.5px solid var(--border);}
#ritmo-elementor .btn-ghost:hover{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.04);}
#ritmo-elementor .btn:active{transform:translateY(1px) scale(.98);}
#ritmo-elementor .btn:focus-visible,
#ritmo-elementor .finput:focus-visible,
#ritmo-elementor .fselect:focus-visible,
#ritmo-elementor .ftextarea:focus-visible,
#ritmo-elementor .faq-q:focus-visible{
  outline:2px solid rgba(255,179,71,.55);
  outline-offset:3px;
}
#ritmo-elementor .section-title,
#ritmo-elementor .page-title,
#ritmo-elementor .hero-headline,
#ritmo-elementor .indiv-big,
#ritmo-elementor .vtitle,
#ritmo-elementor .cform-title,
#ritmo-elementor .tcard-name,
#ritmo-elementor .cta-band h3,
#ritmo-elementor .text-card h3{
  text-wrap:balance;
}
#ritmo-elementor .hero-sub,
#ritmo-elementor .page-sub,
#ritmo-elementor .about-text,
#ritmo-elementor .bcard-text,
#ritmo-elementor .sec-header-desc,
#ritmo-elementor .vtext,
#ritmo-elementor .rtext,
#ritmo-elementor .faq-intro,
#ritmo-elementor .faq-a,
#ritmo-elementor .contact-desc,
#ritmo-elementor .citem-val,
#ritmo-elementor .pdesc,
#ritmo-elementor .pfeatures li,
#ritmo-elementor .if-sub,
#ritmo-elementor .tcard-role,
#ritmo-elementor .ftagline,
#ritmo-elementor .flinks a,
#ritmo-elementor .page-mini-note,
#ritmo-elementor .text-card p,
#ritmo-elementor .form-note,
#ritmo-elementor .cform-subtitle{
  text-wrap:pretty;
}
#ritmo-elementor .stat-num,
#ritmo-elementor .ab-num,
#ritmo-elementor .if-fl-num,
#ritmo-elementor .hb-icon,
#ritmo-elementor .sched-table td:nth-child(2),
#ritmo-elementor .citem-val,
#ritmo-elementor .pamount,
#ritmo-elementor .pperiod{
  font-variant-numeric:lining-nums tabular-nums;
  font-feature-settings:"lnum" 1,"tnum" 1;
}
#ritmo-elementor nav{position:sticky;top:0;left:auto;right:auto;width:100%;max-width:1220px;margin:0 auto;border-radius:0 0 18px 18px;z-index:200;padding:18px 32px;display:flex;align-items:center;justify-content:space-between;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:rgba(10,14,20,.84);border-bottom:1px solid var(--border);transition:background .3s;}
#ritmo-elementor .nav-logo{display:inline-flex;align-items:center;flex-shrink:0;width:166px;}
#ritmo-elementor .nav-logo img{display:block;width:100%;height:auto;filter:drop-shadow(0 10px 24px rgba(255,170,55,.18));}
#ritmo-elementor nav{
  position:fixed;
  top:14px;
  left:50%;
  right:auto;
  transform:translateX(-50%);
  width:min(1220px,calc(100% - 24px));
  max-width:none;
  border-radius:18px;
  padding:16px 24px;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 18px 48px rgba(0,0,0,.28);
}
#ritmo-elementor nav::after{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 48%);
  opacity:.6;
  pointer-events:none;
}
#ritmo-elementor .nav-links{display:flex;gap:24px;list-style:none;}
#ritmo-elementor .nav-links a{
  position:relative;
  font-size:14px;
  font-weight:500;
  color:var(--muted);
  padding-bottom:8px;
  transition:color .2s ease;
}
#ritmo-elementor .nav-links a::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--violet),transparent);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .22s ease;
}
#ritmo-elementor .nav-links a:hover,
#ritmo-elementor .nav-links a.is-active,
#ritmo-elementor .mobile-menu a.is-active{color:var(--text);}
#ritmo-elementor .nav-links a:hover::after,
#ritmo-elementor .nav-links a.is-active::after{transform:scaleX(1);}
#ritmo-elementor .nav-right{display:flex;align-items:center;gap:16px;}
#ritmo-elementor .nav-phone{font-size:14px;color:var(--muted);}
#ritmo-elementor .page-sub a,
#ritmo-elementor .contact-desc a,
#ritmo-elementor .citem-val a,
#ritmo-elementor .cform-subtitle a,
#ritmo-elementor .form-note a,
#ritmo-elementor .faq-a a{
  color:var(--lime);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.16em;
  transition:color .2s ease,opacity .2s ease;
}
#ritmo-elementor .page-sub a:hover,
#ritmo-elementor .contact-desc a:hover,
#ritmo-elementor .citem-val a:hover,
#ritmo-elementor .cform-subtitle a:hover,
#ritmo-elementor .form-note a:hover,
#ritmo-elementor .faq-a a:hover{
  color:var(--text);
}
#ritmo-elementor .burger{display:none;flex-direction:column;gap:5px;cursor:pointer;border:none;background:none;padding:4px;}
#ritmo-elementor .burger span{display:block;width:22px;height:2px;background:var(--text);border-radius:2px;transition:all .3s;}
#ritmo-elementor .mobile-menu{display:none;position:fixed;inset:0;padding:96px 18px 132px;background:var(--bg);z-index:210;flex-direction:column;align-items:center;justify-content:center;gap:28px;text-align:center;}
#ritmo-elementor .mobile-menu.open{display:flex;}
#ritmo-elementor .mobile-menu a{font-family:'Lato',sans-serif;font-size:28px;font-weight:800;color:var(--text);}
#ritmo-elementor .mobile-menu a:hover{color:var(--violet);}
#ritmo-elementor .m-close{position:absolute;top:22px;right:22px;background:none;border:none;color:var(--text);font-size:26px;cursor:pointer;line-height:1;}
.ritmo-mobile-contact-bar{display:none;}

#ritmo-elementor .page-hero{padding:142px 0 54px;position:relative;overflow:hidden;background:
    radial-gradient(circle at top right,rgba(255,138,30,.14),transparent 26%),
    radial-gradient(circle at bottom left,rgba(255,179,71,.10),transparent 24%),
    var(--bg);}
#ritmo-elementor .page-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:end;}
#ritmo-elementor .page-title{font-family:'Lato',sans-serif;font-size:clamp(48px,8vw,108px);font-weight:900;line-height:.92;letter-spacing:-.05em;margin:18px 0 24px;}
#ritmo-elementor .page-sub{font-size:18px;color:var(--muted);max-width:720px;line-height:1.8;}
#ritmo-elementor .page-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px;}
#ritmo-elementor .page-panel{background:linear-gradient(180deg,rgba(25,34,45,.92),rgba(13,18,25,.92));border:1px solid rgba(255,255,255,.08);border-radius:var(--r-xl);padding:28px 30px;backdrop-filter:blur(16px);box-shadow:0 24px 80px rgba(0,0,0,.45);position:relative;overflow:hidden;}
#ritmo-elementor .page-panel::before,
#ritmo-elementor .bcard::before,
#ritmo-elementor .pcard::before,
#ritmo-elementor .tcard::before,
#ritmo-elementor .vcard::before,
#ritmo-elementor .rcard::before,
#ritmo-elementor .faq-item::before,
#ritmo-elementor .text-card::before,
#ritmo-elementor .cform::before,
#ritmo-elementor .sched-table-wrap::before,
#ritmo-elementor .cta-band::before{
  content:'';
  position:absolute;
  left:1px;
  right:1px;
  top:1px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);
  pointer-events:none;
}
#ritmo-elementor .page-panel .hb-row + .hb-row{margin-top:18px;}
#ritmo-elementor .page-mini-note{margin-top:16px;font-size:13px;line-height:1.7;color:var(--muted);}
#ritmo-elementor .hero{min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;padding:124px 32px 60px;position:relative;overflow:hidden;}
#ritmo-elementor .hero-bg{position:absolute;inset:0;pointer-events:none;background:#080c10;}
#ritmo-elementor .hero-bg::before{content:'';position:absolute;inset:-2%;background-image:
    url("./images/mamboclub-hero-stage-1280.webp");
  background-image:
    -webkit-image-set(url("./images/mamboclub-hero-stage-960.webp") 1x,url("./images/mamboclub-hero-stage-1280.webp") 2x);
  background-image:
    image-set(url("./images/mamboclub-hero-stage-960.webp") 1x,url("./images/mamboclub-hero-stage-1280.webp") 2x);
  background-position:center 36%;
  background-size:cover;
  filter:brightness(1.12) saturate(1.05) contrast(1.02);}
#ritmo-elementor .hero-bg::after{content:'';position:absolute;inset:0;background:
    linear-gradient(90deg,rgba(7,10,14,.82) 0%,rgba(7,10,14,.68) 30%,rgba(7,10,14,.38) 55%,rgba(7,10,14,.72) 100%),
    linear-gradient(180deg,rgba(7,10,14,.66) 0%,rgba(7,10,14,.14) 24%,rgba(7,10,14,.38) 76%,rgba(7,10,14,.84) 100%),
    radial-gradient(circle at 72% 16%,rgba(255,179,71,.18),transparent 18%),
    radial-gradient(circle at 18% 84%,rgba(255,138,30,.14),transparent 24%);}
#ritmo-elementor .hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:64px 64px;opacity:.58;}
#ritmo-elementor .blob{position:absolute;border-radius:50%;filter:blur(130px);}
#ritmo-elementor .blob-1{width:700px;height:700px;background:var(--pink);opacity:.08;top:-250px;right:-200px;}
#ritmo-elementor .blob-2{width:600px;height:600px;background:var(--violet);opacity:.07;bottom:-200px;left:-150px;}
#ritmo-elementor .blob-3{width:280px;height:280px;background:var(--lime);opacity:.06;top:40%;right:25%;}
#ritmo-elementor .hero-inner{position:relative;z-index:1;max-width:1220px;margin:0 auto;width:100%;}
#ritmo-elementor .hero-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(260px,300px);gap:34px;align-items:end;}
#ritmo-elementor .hero-copy{min-width:0;max-width:760px;}
#ritmo-elementor .hero-eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:20px;}
#ritmo-elementor .pulse-dot{width:7px;height:7px;border-radius:50%;background:var(--lime);animation:pulse 2.2s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.4;transform:scale(.65);}}
#ritmo-elementor .hero-headline{font-family:'Lato',sans-serif;font-size:clamp(52px,10vw,126px);font-weight:900;line-height:.92;letter-spacing:-.05em;margin-bottom:18px;max-width:860px;text-shadow:0 18px 48px rgba(0,0,0,.34);}
#ritmo-elementor .hero-headline .line-outline{-webkit-text-stroke:1.5px rgba(255,255,255,.42);color:transparent;display:block;}
#ritmo-elementor .hero-headline .line-solid{display:block;}
#ritmo-elementor .hero-sub{font-size:clamp(16px,1.62vw,18px);color:rgba(245,247,251,.78);max-width:640px;line-height:1.68;margin-bottom:24px;}
#ritmo-elementor .hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:32px;}
#ritmo-elementor .hero .btn-ghost{background:rgba(8,11,15,.26);backdrop-filter:blur(8px);}
#ritmo-elementor .hero-stats{display:flex;gap:30px;flex-wrap:wrap;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);max-width:760px;}
#ritmo-elementor .stat-num{font-family:'Lato',sans-serif;font-size:40px;font-weight:800;line-height:1;background:linear-gradient(135deg,var(--pink),var(--violet));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
#ritmo-elementor .stat-label{font-size:13px;color:rgba(245,247,251,.72);margin-top:4px;}
#ritmo-elementor .hero-badge{position:relative;justify-self:end;align-self:end;background:linear-gradient(180deg,rgba(18,25,34,.72),rgba(10,14,20,.8));border:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg);padding:20px 22px;backdrop-filter:blur(18px);display:flex;flex-direction:column;gap:16px;box-shadow:0 24px 80px rgba(0,0,0,.42);overflow:hidden;max-width:282px;z-index:2;}
#ritmo-elementor .hb-row{display:flex;align-items:center;gap:14px;}
#ritmo-elementor .hb-icon{
  min-width:64px;
  width:auto;
  height:44px;
  padding:0 10px;
  border-radius:12px;
  background:linear-gradient(135deg,var(--pink),var(--violet));
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Lato',sans-serif;
  font-size:18px;
  font-weight:800;
  line-height:1;
  letter-spacing:-.03em;
  white-space:nowrap;
  flex-shrink:0;
}
#ritmo-elementor .hb-name{font-family:'Lato',sans-serif;font-size:15px;font-weight:700;}
#ritmo-elementor .hb-sub{font-size:12px;color:var(--muted);}

#ritmo-elementor .ticker{padding:18px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);overflow:hidden;position:relative;}
#ritmo-elementor .ticker::before,#ritmo-elementor .ticker::after{content:'';position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none;}
#ritmo-elementor .ticker::before{left:0;background:linear-gradient(90deg,var(--bg),transparent);}
#ritmo-elementor .ticker::after{right:0;background:linear-gradient(-90deg,var(--bg),transparent);}
#ritmo-elementor .ticker-track{display:flex;white-space:nowrap;animation:ticker 28s linear infinite;}
#ritmo-elementor .ticker-item{display:inline-flex;align-items:center;gap:20px;padding:0 28px;font-family:'Lato',sans-serif;font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
#ritmo-elementor .ticker-dot{width:5px;height:5px;border-radius:50%;background:var(--pink);flex-shrink:0;}
@keyframes ticker{from{transform:translateX(0);}to{transform:translateX(-50%);}}

#ritmo-elementor .styles-sec,
#ritmo-elementor .teachers-sec,
#ritmo-elementor .prices-sec,
#ritmo-elementor .faq-sec,
#ritmo-elementor .contact-sec{background:var(--bg);}
#ritmo-elementor .about-sec,
#ritmo-elementor .schedule-sec,
#ritmo-elementor .individual-sec,
#ritmo-elementor .video-sec,
#ritmo-elementor .reviews-sec{background:var(--bg2);}
#ritmo-elementor .sec-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:52px;gap:24px;flex-wrap:wrap;}
#ritmo-elementor .sec-header-desc{font-size:15px;color:var(--muted);max-width:430px;line-height:1.7;}
#ritmo-elementor .section-link{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-size:14px;color:var(--lime);}

#ritmo-elementor .styles-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;grid-template-rows:auto auto;gap:16px;}
#ritmo-elementor .scard{border-radius:var(--r-xl);overflow:hidden;position:relative;cursor:pointer;border:1px solid rgba(255,255,255,.08);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;}
#ritmo-elementor .scard:hover{transform:translateY(-6px);box-shadow:0 24px 80px rgba(0,0,0,.5);}
#ritmo-elementor .scard-tall{grid-row:span 2;}
#ritmo-elementor .scard-bg{position:absolute;inset:0;transition:transform .4s ease,filter .35s ease;background-size:cover;background-repeat:no-repeat;filter:saturate(1.03) contrast(1.02);}
#ritmo-elementor .scard:hover .scard-bg{transform:scale(1.06);filter:saturate(1.08) contrast(1.04);}
#ritmo-elementor .scard:nth-child(1) .scard-bg{background-image:linear-gradient(160deg,rgba(255,138,30,.14) 0%,rgba(9,13,18,.08) 44%),url("./images/styles/style-salsa.webp");background-position:center 30%;}
#ritmo-elementor .scard:nth-child(2) .scard-bg{background-image:linear-gradient(160deg,rgba(255,138,30,.12) 0%,rgba(9,13,18,.06) 42%),url("./images/styles/style-bachata.webp");background-position:center 34%;}
#ritmo-elementor .scard:nth-child(3) .scard-bg{background-image:linear-gradient(160deg,rgba(255,179,71,.10) 0%,rgba(9,13,18,.05) 42%),url("./images/styles/style-merengue.webp");background-position:center 30%;}
#ritmo-elementor .scard:nth-child(4) .scard-bg{background-image:linear-gradient(160deg,rgba(255,138,30,.12) 0%,rgba(9,13,18,.06) 42%),url("./images/styles/style-mambo.webp");background-position:center 22%;}
#ritmo-elementor .scard:nth-child(5) .scard-bg{background-image:linear-gradient(160deg,rgba(255,224,178,.12) 0%,rgba(9,13,18,.05) 42%),url("./images/styles/style-chachacha.webp");background-position:center 26%;}
#ritmo-elementor .scard-glow{position:absolute;inset:0;pointer-events:none;opacity:.26;transition:opacity .3s;}
#ritmo-elementor .scard:hover .scard-glow{opacity:.44;}
#ritmo-elementor .scard:nth-child(1) .scard-glow{background:radial-gradient(ellipse at 30% 20%,var(--pink),transparent 60%);}
#ritmo-elementor .scard:nth-child(2) .scard-glow{background:radial-gradient(ellipse at 70% 20%,rgba(255,179,71,.45),transparent 60%);}
#ritmo-elementor .scard:nth-child(3) .scard-glow{background:radial-gradient(ellipse at 50% 20%,rgba(255,224,178,.28),transparent 60%);}
#ritmo-elementor .scard:nth-child(4) .scard-glow{background:radial-gradient(ellipse at 40% 20%,rgba(255,138,30,.45),transparent 60%);}
#ritmo-elementor .scard:nth-child(5) .scard-glow{background:radial-gradient(ellipse at 60% 20%,var(--violet),transparent 60%);}
#ritmo-elementor .scard-body{position:absolute;inset:0;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;}
#ritmo-elementor .scard-body::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,10,14,.04) 0%,rgba(7,10,14,.12) 30%,rgba(7,10,14,.72) 74%,rgba(7,10,14,.94) 100%);pointer-events:none;}
#ritmo-elementor .scard-body > *{position:relative;z-index:1;}
#ritmo-elementor .scard-tall .scard-body{padding:36px;}
#ritmo-elementor .scard-emoji{display:none;}
#ritmo-elementor .scard-name{font-family:'Lato',sans-serif;font-weight:800;font-size:24px;letter-spacing:-.02em;margin-bottom:10px;text-shadow:0 14px 30px rgba(0,0,0,.35);}
#ritmo-elementor .scard-tall .scard-name{font-size:32px;}
#ritmo-elementor .scard-desc{font-size:13px;color:rgba(245,247,251,.76);line-height:1.58;max-width:24ch;text-shadow:0 10px 24px rgba(0,0,0,.28);}
#ritmo-elementor .scard-tall .scard-desc{font-size:15px;}
#ritmo-elementor .scard-badge{
  position:absolute;
  top:20px;
  right:20px;
  padding:6px 13px;
  border-radius:50px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 12px 26px rgba(0,0,0,.24);
}
#ritmo-elementor .badge-lime{background:rgba(255,224,178,.24);color:#fff6ea;border:1px solid rgba(255,224,178,.42);}
#ritmo-elementor .badge-pink{background:rgba(255,138,30,.26);color:#fff6ed;border:1px solid rgba(255,138,30,.44);}
#ritmo-elementor .badge-violet{background:rgba(255,179,71,.24);color:#fff5ea;border:1px solid rgba(255,179,71,.42);}
#ritmo-elementor .scard:not(.scard-tall){aspect-ratio:1/.95;}
#ritmo-elementor .scard-tall{aspect-ratio:auto;min-height:460px;}

#ritmo-elementor .about-sec{position:relative;overflow:hidden;}
#ritmo-elementor .about-sec::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--pink) 35%,var(--violet) 65%,transparent);opacity:.5;}
#ritmo-elementor .about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
#ritmo-elementor .about-visual-wrap{position:relative;}
#ritmo-elementor .about-visual-box{aspect-ratio:3/4;border-radius:var(--r-xl);overflow:hidden;background:linear-gradient(160deg,#161f29,#0b1016);border:1px solid var(--border);display:flex;align-items:flex-end;justify-content:flex-start;position:relative;box-shadow:0 28px 90px rgba(0,0,0,.42);}
#ritmo-elementor .about-visual-box::before{content:'';position:absolute;inset:16px;border-radius:22px;border:1px solid rgba(255,255,255,.12);z-index:2;pointer-events:none;}
#ritmo-elementor .about-visual-photo{position:absolute;inset:0;background-image:
    linear-gradient(180deg,rgba(8,11,15,.08) 0%,rgba(8,11,15,.08) 26%,rgba(8,11,15,.46) 66%,rgba(8,11,15,.84) 100%),
    url("./images/about/about-school.webp");
  background-position:center 32%;
  background-size:cover;
  background-repeat:no-repeat;
  filter:saturate(1.02) contrast(1.03);}
#ritmo-elementor .about-glow{position:absolute;width:340px;height:340px;border-radius:50%;background:linear-gradient(135deg,var(--pink),var(--violet));opacity:.1;filter:blur(80px);z-index:1;right:-50px;bottom:-40px;}
#ritmo-elementor .about-visual-meta{position:relative;z-index:3;padding:28px 30px 30px;max-width:82%;}
#ritmo-elementor .about-visual-kicker{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--lime);margin-bottom:10px;}
#ritmo-elementor .about-visual-title{font-family:'Lato',sans-serif;font-size:clamp(24px,3vw,34px);font-weight:800;line-height:1.08;letter-spacing:-.03em;text-shadow:0 14px 32px rgba(0,0,0,.3);}
#ritmo-elementor .about-badge{position:absolute;bottom:28px;right:-36px;background:var(--bg2);border:1px solid rgba(255,138,30,.22);border-radius:var(--r-lg);padding:22px 26px;box-shadow:0 16px 60px rgba(0,0,0,.5);}
#ritmo-elementor .ab-num{font-family:'Lato',sans-serif;font-size:38px;font-weight:800;line-height:1;color:var(--pink);}
#ritmo-elementor .ab-label{font-size:13px;color:var(--muted);margin-top:4px;}
#ritmo-elementor .about-label{margin-bottom:16px;}
#ritmo-elementor .about-text{color:var(--muted);font-size:16px;line-height:1.85;margin:20px 0 36px;}
#ritmo-elementor .about-checks{display:flex;flex-direction:column;gap:16px;}
#ritmo-elementor .acheck{display:flex;align-items:flex-start;gap:14px;}
#ritmo-elementor .acheck-icon{width:22px;height:22px;border-radius:50%;flex-shrink:0;margin-top:2px;background:linear-gradient(135deg,var(--pink),var(--violet));display:flex;align-items:center;justify-content:center;font-size:11px;}
#ritmo-elementor .acheck-text{font-size:15px;line-height:1.55;}

#ritmo-elementor .benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
#ritmo-elementor .bcard{background:linear-gradient(180deg,rgba(18,25,34,.98),rgba(14,20,28,.98));border:1px solid rgba(255,255,255,.08);border-radius:var(--r-xl);padding:36px 30px;position:relative;overflow:hidden;transition:all .3s ease;}
#ritmo-elementor .bcard::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--pink),var(--violet));opacity:0;transition:opacity .3s;}
#ritmo-elementor .bcard:hover::after{opacity:.05;}
#ritmo-elementor .bcard:hover{border-color:rgba(255,138,30,.25);transform:translateY(-4px);}
#ritmo-elementor .bcard-icon{font-size:34px;margin-bottom:20px;display:block;position:relative;z-index:1;}
#ritmo-elementor .bcard-title{font-family:'Lato',sans-serif;font-size:19px;font-weight:700;margin-bottom:10px;position:relative;z-index:1;}
#ritmo-elementor .bcard-text{font-size:14px;color:var(--muted);line-height:1.7;position:relative;z-index:1;}

#ritmo-elementor .sched-table-wrap{overflow-x:auto;background:linear-gradient(180deg,rgba(18,25,34,.98),rgba(14,20,28,.98));border:1px solid rgba(255,255,255,.08);border-radius:var(--r-xl);padding:8px 0;position:relative;}
#ritmo-elementor .sched-table{width:100%;border-collapse:collapse;min-width:680px;}
#ritmo-elementor .sched-table th{font-family:'Lato',sans-serif;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:14px 20px;text-align:left;border-bottom:1px solid var(--border);}
#ritmo-elementor .sched-table td{padding:16px 20px;font-size:15px;border-bottom:1px solid var(--border);}
#ritmo-elementor .sched-table tr:last-child td{border-bottom:none;}
#ritmo-elementor .sched-table tbody tr{transition:background .15s;}
#ritmo-elementor .sched-table tbody tr:hover td{background:rgba(255,255,255,.02);}
#ritmo-elementor .sdance{font-family:'Lato',sans-serif;font-weight:700;font-size:15px;}
#ritmo-elementor .slevel{display:inline-block;padding:3px 10px;border-radius:50px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;}
#ritmo-elementor .sl-beg{background:rgba(255,224,178,.10);color:var(--lime);}
#ritmo-elementor .sl-int{background:rgba(255,138,30,.10);color:var(--pink);}
#ritmo-elementor .sl-adv{background:rgba(255,179,71,.10);color:var(--violet);}

#ritmo-elementor .prices-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;align-items:stretch;}
#ritmo-elementor .pcard{background:linear-gradient(180deg,rgba(18,25,34,.98),rgba(14,20,28,.98));border:1px solid rgba(255,255,255,.08);border-radius:var(--r-xl);padding:38px 32px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .3s,border-color .3s ease,box-shadow .3s ease;}
#ritmo-elementor .pcard:hover{transform:translateY(-4px);}
#ritmo-elementor .pcard.featured{background:linear-gradient(160deg,#182434 0%,#111922 100%);border-color:rgba(255,138,30,.30);box-shadow:0 0 80px rgba(255,138,30,.08);}
#ritmo-elementor .pcard:hover,
#ritmo-elementor .pcard.featured:hover{border-color:rgba(255,179,71,.3);box-shadow:0 24px 60px rgba(0,0,0,.28);}
#ritmo-elementor .pcard-pop{position:absolute;top:22px;right:22px;background:var(--pink);color:#fff;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:5px 12px;border-radius:50px;}
#ritmo-elementor .pname{font-family:'Lato',sans-serif;font-size:20px;font-weight:700;margin-bottom:6px;}
#ritmo-elementor .pdesc{font-size:14px;color:var(--muted);margin-bottom:26px;}
#ritmo-elementor .pamount{font-family:'Lato',sans-serif;font-size:52px;font-weight:800;line-height:1;margin-bottom:4px;}
#ritmo-elementor .pcard.featured .pamount{color:var(--pink);}
#ritmo-elementor .pperiod{font-size:14px;color:var(--muted);margin-bottom:30px;}
#ritmo-elementor .pfeatures{list-style:none;display:flex;flex-direction:column;gap:12px;flex:1;margin-bottom:32px;}
#ritmo-elementor .pfeatures li{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;}
#ritmo-elementor .pcheck{color:var(--pink);flex-shrink:0;margin-top:2px;font-size:15px;}
#ritmo-elementor .pcheck.dim{color:var(--muted);}

#ritmo-elementor .individual-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center;}
#ritmo-elementor .indiv-big{font-family:'Lato',sans-serif;font-size:clamp(48px,7vw,88px);font-weight:800;line-height:.95;letter-spacing:-.04em;margin:20px 0 28px;}
#ritmo-elementor .indiv-text{font-size:16px;color:var(--muted);line-height:1.8;margin-bottom:36px;}
#ritmo-elementor .indiv-features{display:flex;flex-direction:column;gap:20px;margin-bottom:40px;}
#ritmo-elementor .if-row{display:flex;align-items:flex-start;gap:16px;}
#ritmo-elementor .if-icon{width:46px;height:46px;border-radius:14px;flex-shrink:0;border:1px solid rgba(255,138,30,.22);background:rgba(255,138,30,.08);display:flex;align-items:center;justify-content:center;font-size:20px;}
#ritmo-elementor .if-title{font-family:'Lato',sans-serif;font-weight:700;font-size:15px;margin-bottom:3px;}
#ritmo-elementor .if-sub{font-size:13px;color:var(--muted);}
#ritmo-elementor .indiv-visual{position:relative;padding-bottom:96px;}
#ritmo-elementor .indiv-box{aspect-ratio:1/1.15;border-radius:var(--r-xl);overflow:hidden;background:linear-gradient(160deg,#1b2735,#0f151d);border:1px solid var(--border);display:flex;align-items:flex-end;justify-content:flex-start;position:relative;box-shadow:0 28px 90px rgba(0,0,0,.42);}
#ritmo-elementor .indiv-box::before{content:'';position:absolute;inset:14px;border-radius:22px;border:1px solid rgba(255,255,255,.12);z-index:2;pointer-events:none;}
#ritmo-elementor .indiv-photo{position:absolute;inset:0;background-image:
    linear-gradient(180deg,rgba(8,11,15,.08) 0%,rgba(8,11,15,.06) 26%,rgba(8,11,15,.48) 66%,rgba(8,11,15,.84) 100%),
    url("./images/individual/individual-lessons.webp");
  background-position:center 20%;
  background-size:cover;
  background-repeat:no-repeat;
  filter:saturate(1.02) contrast(1.03);}
#ritmo-elementor .indiv-glow{position:absolute;width:300px;height:300px;border-radius:50%;background:var(--violet);opacity:.12;filter:blur(80px);right:-50px;bottom:-40px;z-index:1;}
#ritmo-elementor .indiv-photo-meta{position:relative;z-index:3;padding:26px 28px 16px;max-width:78%;}
#ritmo-elementor .indiv-photo-kicker{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--lime);margin-bottom:10px;}
#ritmo-elementor .indiv-photo-title{font-family:'Lato',sans-serif;font-size:clamp(18px,2.2vw,24px);font-weight:800;line-height:1.1;letter-spacing:-.03em;text-shadow:0 14px 32px rgba(0,0,0,.3);}
#ritmo-elementor .indiv-box-emoji{
  position:absolute;
  top:24px;
  right:24px;
  width:92px;
  height:92px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(10,14,20,.42);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 22px 60px rgba(0,0,0,.34);
  z-index:3;
}
#ritmo-elementor .indiv-box-emoji .ritmo-emoji{width:60px;height:60px;}
#ritmo-elementor .indiv-float{position:absolute;bottom:0;left:12px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px 24px;box-shadow:0 16px 60px rgba(0,0,0,.5);z-index:4;}
#ritmo-elementor .if-fl-num{font-family:'Lato',sans-serif;font-size:34px;font-weight:800;color:var(--violet);line-height:1;}
#ritmo-elementor .if-fl-label{font-size:13px;color:var(--muted);margin-top:3px;}

#ritmo-elementor .teachers-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
#ritmo-elementor .tcard{background:linear-gradient(180deg,rgba(18,25,34,.98),rgba(14,20,28,.98));border:1px solid rgba(255,255,255,.08);border-radius:var(--r-xl);overflow:hidden;transition:all .3s ease;position:relative;}
#ritmo-elementor .tcard:hover{border-color:rgba(255,138,30,.28);transform:translateY(-6px);box-shadow:0 24px 80px rgba(255,138,30,.10);}
#ritmo-elementor .tcard-photo{aspect-ratio:1/1.08;display:flex;align-items:flex-end;justify-content:flex-start;position:relative;overflow:hidden;padding:24px;background-size:cover;background-repeat:no-repeat;transition:transform .35s ease,filter .35s ease;filter:saturate(1.02) contrast(1.02);}
#ritmo-elementor .tcard:hover .tcard-photo{transform:scale(1.02);filter:saturate(1.06) contrast(1.04);}
#ritmo-elementor .tcard-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,11,15,.08) 0%,rgba(8,11,15,.08) 32%,rgba(8,11,15,.56) 72%,rgba(8,11,15,.88) 100%);pointer-events:none;z-index:1;}
#ritmo-elementor .tcard:nth-child(1) .tcard-photo{background-image:linear-gradient(160deg,rgba(255,138,30,.10) 0%,rgba(9,13,18,.04) 40%),url("./images/teachers/teacher-vladimir.webp");background-position:center 24%;}
#ritmo-elementor .tcard:nth-child(2) .tcard-photo{background-image:linear-gradient(160deg,rgba(255,179,71,.10) 0%,rgba(9,13,18,.04) 40%),url("./images/teachers/teacher-natalya.webp");background-position:center 22%;}
#ritmo-elementor .tcard:nth-child(3) .tcard-photo{background:linear-gradient(160deg,#223142,#0f151d);}
#ritmo-elementor .tcard:nth-child(4) .tcard-photo{background:linear-gradient(160deg,#17212f,#0f151d);}
#ritmo-elementor .tcard-mark{
  font-family:'Lato',sans-serif;
  font-size:72px;
  font-weight:900;
  letter-spacing:-.08em;
  line-height:1;
  color:rgba(255,255,255,.18);
  position:relative;
  z-index:1;
}
#ritmo-elementor .tcard-photo-meta{
  position:absolute;
  left:20px;
  right:20px;
  bottom:18px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  z-index:3;
}
#ritmo-elementor .tcard-photo-meta span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 10px;
  border-radius:999px;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(245,247,251,.88);
  background:rgba(10,14,20,.55);
  border:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(12px);
}
#ritmo-elementor .tcard-glow2{position:absolute;inset:0;opacity:.22;z-index:2;}
#ritmo-elementor .tcard:nth-child(1) .tcard-glow2{background:radial-gradient(ellipse at 50% 80%,var(--pink),transparent 65%);}
#ritmo-elementor .tcard:nth-child(2) .tcard-glow2{background:radial-gradient(ellipse at 50% 80%,rgba(255,179,71,.45),transparent 65%);}
#ritmo-elementor .tcard:nth-child(3) .tcard-glow2{background:radial-gradient(ellipse at 50% 80%,rgba(255,224,178,.28),transparent 65%);}
#ritmo-elementor .tcard:nth-child(4) .tcard-glow2{background:radial-gradient(ellipse at 50% 80%,var(--violet),transparent 65%);}
#ritmo-elementor .tcard-info{padding:22px 20px;}
#ritmo-elementor .tcard-name{font-family:'Lato',sans-serif;font-size:17px;font-weight:700;margin-bottom:4px;}
#ritmo-elementor .tcard-role{font-size:13px;color:var(--pink);margin-bottom:14px;}
#ritmo-elementor .tcard-tags{display:flex;flex-wrap:wrap;gap:6px;}
#ritmo-elementor .ttag{padding:4px 10px;background:rgba(255,255,255,.05);border-radius:50px;font-size:11px;color:var(--muted);}

#ritmo-elementor .video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
#ritmo-elementor .vcard{background:linear-gradient(180deg,rgba(25,34,45,.98),rgba(14,20,28,.98));border:1px solid rgba(255,255,255,.08);border-radius:var(--r-xl);overflow:hidden;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;position:relative;}
#ritmo-elementor .vcard:hover{transform:translateY(-4px);border-color:rgba(255,138,30,.26);box-shadow:0 24px 80px rgba(255,138,30,.1);}
#ritmo-elementor .vframe{position:relative;padding-top:56.25%;background:linear-gradient(160deg,#1c2a39,#101821);outline:1px solid rgba(255,255,255,.08);outline-offset:-1px;}
#ritmo-elementor .vframe iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
#ritmo-elementor .vbody{padding:24px 24px 26px;}
#ritmo-elementor .vmeta{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--pink);margin-bottom:12px;}
#ritmo-elementor .vdot{width:6px;height:6px;border-radius:50%;background:var(--violet);flex-shrink:0;}
#ritmo-elementor .vtitle{font-family:'Lato',sans-serif;font-size:24px;font-weight:800;line-height:1.1;letter-spacing:-.02em;margin-bottom:10px;}
#ritmo-elementor .vtext{font-size:14px;line-height:1.75;color:var(--muted);}

#ritmo-elementor .reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
#ritmo-elementor .rcard{background:linear-gradient(180deg,rgba(25,34,45,.98),rgba(14,20,28,.98));border:1px solid rgba(255,255,255,.08);border-radius:var(--r-xl);padding:30px;transition:border-color .25s,transform .25s ease;position:relative;}
#ritmo-elementor .rcard:hover{border-color:rgba(255,138,30,.22);}
#ritmo-elementor .rcard:hover{transform:translateY(-4px);}
#ritmo-elementor .rstars{font-size:14px;letter-spacing:2px;color:var(--violet);margin-bottom:14px;}
#ritmo-elementor .rtext{font-size:15px;line-height:1.75;color:rgba(245,247,251,.8);margin-bottom:22px;}
#ritmo-elementor .rauthor{display:flex;align-items:center;gap:12px;}
#ritmo-elementor .ravatar{width:40px;height:40px;border-radius:50%;background:var(--bg2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
#ritmo-elementor .rname{font-family:'Lato',sans-serif;font-weight:700;font-size:15px;}
#ritmo-elementor .rsince{font-size:12px;color:var(--muted);}

#ritmo-elementor .faq-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start;}
#ritmo-elementor .faq-intro{font-size:16px;color:var(--muted);line-height:1.8;margin-top:18px;max-width:420px;}
#ritmo-elementor .faq-list{display:flex;flex-direction:column;gap:14px;}
#ritmo-elementor .faq-item{background:linear-gradient(180deg,rgba(18,25,34,.98),rgba(14,20,28,.98));border:1px solid rgba(255,255,255,.08);border-radius:var(--r-lg);overflow:hidden;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;position:relative;}
#ritmo-elementor .faq-item[open]{border-color:rgba(255,179,71,.3);box-shadow:0 18px 44px rgba(255,138,30,.10);}
#ritmo-elementor .faq-item:hover{transform:translateY(-2px);}
#ritmo-elementor .faq-q{list-style:none;cursor:pointer;padding:22px 24px 20px 24px;font-family:'Lato',sans-serif;font-size:17px;font-weight:700;line-height:1.4;display:flex;align-items:center;justify-content:space-between;gap:18px;}
#ritmo-elementor .faq-q::-webkit-details-marker{display:none;}
#ritmo-elementor .faq-q::after{content:'+';font-size:26px;line-height:1;color:var(--violet);flex-shrink:0;transition:transform .2s ease;}
#ritmo-elementor .faq-item[open] .faq-q::after{content:'–';transform:translateY(-1px);}
#ritmo-elementor .faq-a{padding:0 24px 24px 24px;font-size:15px;line-height:1.8;color:rgba(245,247,251,.82);}
#ritmo-elementor .faq-a strong{color:var(--text);}
#ritmo-elementor .faq-note{margin-top:18px;font-size:13px;color:var(--muted);}

#ritmo-elementor .contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:start;}
#ritmo-elementor .contact-desc{font-size:16px;color:var(--muted);line-height:1.8;margin:18px 0 40px;}
#ritmo-elementor .cinfo{display:flex;flex-direction:column;gap:24px;}
#ritmo-elementor .citem{display:flex;align-items:flex-start;gap:16px;}
#ritmo-elementor .cicon{width:46px;height:46px;border-radius:14px;flex-shrink:0;background:rgba(255,138,30,.08);border:1px solid rgba(255,138,30,.18);display:flex;align-items:center;justify-content:center;font-size:18px;}
#ritmo-elementor .citem-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:3px;}
#ritmo-elementor .citem-val{font-family:'Lato',sans-serif;font-size:16px;font-weight:600;}
#ritmo-elementor .citem-val a{
  color:var(--text);
  text-decoration:underline;
  text-decoration-color:rgba(255,179,71,.4);
  text-underline-offset:3px;
}
#ritmo-elementor .cform{background:linear-gradient(180deg,rgba(18,25,34,.98),rgba(14,20,28,.98));border:1px solid rgba(255,255,255,.08);border-radius:var(--r-xl);padding:44px;position:relative;overflow:hidden;}
#ritmo-elementor .cform-kicker{display:inline-flex;align-items:center;min-height:28px;padding:5px 12px;border-radius:999px;border:1px solid rgba(255,179,71,.18);background:rgba(255,138,30,.08);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--violet);margin-bottom:18px;}
#ritmo-elementor .cform-title{font-family:'Lato',sans-serif;font-size:24px;font-weight:800;margin-bottom:10px;}
#ritmo-elementor .cform-subtitle{font-size:14px;line-height:1.75;color:var(--muted);margin-bottom:28px;max-width:34ch;}
#ritmo-elementor .fgroup{margin-bottom:18px;}
#ritmo-elementor .flabel{display:block;font-size:11px;font-weight:600;color:var(--muted);margin-bottom:8px;letter-spacing:.08em;text-transform:uppercase;}
#ritmo-elementor .finput,#ritmo-elementor .fselect,#ritmo-elementor .ftextarea{width:100%;background:linear-gradient(180deg,rgba(20,28,38,.98),rgba(15,22,31,.98));border:1.5px solid rgba(255,255,255,.08);border-radius:16px;padding:13px 16px;font-family:'Open Sans',sans-serif;font-size:15px;color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s,background-color .2s;box-shadow:inset 0 1px 0 rgba(255,255,255,.04);}
#ritmo-elementor .finput,#ritmo-elementor .fselect{min-height:52px;}
#ritmo-elementor .finput:focus,#ritmo-elementor .fselect:focus,#ritmo-elementor .ftextarea:focus{border-color:rgba(255,179,71,.5);box-shadow:0 0 0 4px rgba(255,138,30,.08);}
#ritmo-elementor .ftextarea{resize:vertical;min-height:124px;}
#ritmo-elementor .fselect option{background:var(--bg2);}
#ritmo-elementor .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
#ritmo-elementor .form-honeypot{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}
#ritmo-elementor .form-submit-btn{width:100%;justify-content:center;padding:16px;font-size:16px;}
#ritmo-elementor .form-submit-btn[aria-busy="true"]{pointer-events:none;opacity:.72;}
#ritmo-elementor .form-status{margin-top:16px;padding:14px 16px;border-radius:16px;font-size:14px;line-height:1.7;border:1px solid rgba(255,255,255,.08);}
#ritmo-elementor .form-status[data-state="success"]{background:rgba(90,170,120,.12);border-color:rgba(90,170,120,.28);color:#d9f4df;}
#ritmo-elementor .form-status[data-state="error"]{background:rgba(214,78,78,.12);border-color:rgba(214,78,78,.24);color:#ffd4d4;}
#ritmo-elementor .form-note{margin-top:14px;font-size:12px;color:var(--muted);text-align:center;}

#ritmo-elementor .text-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
#ritmo-elementor .text-card{background:linear-gradient(180deg,rgba(18,25,34,.98),rgba(14,20,28,.98));border:1px solid rgba(255,255,255,.08);border-radius:var(--r-xl);padding:30px;position:relative;overflow:hidden;}
#ritmo-elementor .text-card h3{font-family:'Lato',sans-serif;font-size:24px;font-weight:800;letter-spacing:-.02em;margin-bottom:12px;}
#ritmo-elementor .text-card p{font-size:15px;line-height:1.8;color:var(--muted);}
#ritmo-elementor .cta-band{background:linear-gradient(135deg,rgba(255,138,30,.12),rgba(255,179,71,.08));border:1px solid rgba(255,138,30,.18);border-radius:var(--r-xl);padding:30px 34px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;position:relative;overflow:hidden;}
#ritmo-elementor .cta-band h3{font-family:'Lato',sans-serif;font-size:30px;font-weight:800;letter-spacing:-.02em;}
#ritmo-elementor .cta-band p{max-width:620px;color:var(--muted);font-size:15px;line-height:1.8;margin-top:8px;}
#ritmo-elementor .info-stack{display:grid;gap:16px;}

#ritmo-elementor footer{background:var(--bg);border-top:1px solid var(--border);padding:60px 32px 36px;}
#ritmo-elementor .footer-inner{max-width:1220px;margin:0 auto;}
#ritmo-elementor .footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:52px;padding-bottom:48px;border-bottom:1px solid var(--border);margin-bottom:36px;}
#ritmo-elementor .flogo{display:block;width:min(100%,220px);margin-bottom:18px;}
#ritmo-elementor .flogo img{display:block;width:100%;height:auto;filter:drop-shadow(0 16px 36px rgba(255,170,55,.16));}
#ritmo-elementor .ftagline{font-size:14px;color:var(--muted);line-height:1.7;margin-bottom:22px;max-width:300px;}
#ritmo-elementor .fsocials{display:flex;gap:10px;}
#ritmo-elementor .fsoc{width:38px;height:38px;border-radius:10px;background:var(--bg2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s;cursor:pointer;}
#ritmo-elementor .fsoc:hover{background:rgba(255,138,30,.08);border-color:rgba(255,138,30,.24);}
#ritmo-elementor .fcol-title{font-family:'Lato',sans-serif;font-size:14px;font-weight:700;margin-bottom:18px;}
#ritmo-elementor .flinks{list-style:none;display:flex;flex-direction:column;gap:11px;}
#ritmo-elementor .flinks a{font-size:14px;color:var(--muted);transition:color .2s;}
#ritmo-elementor .flinks a:hover{color:var(--text);}
#ritmo-elementor .footer-bot{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--muted);flex-wrap:wrap;gap:12px;}
#ritmo-elementor .footer-bot a{
  color:var(--lime);
  border-bottom:1px solid rgba(255,224,178,.34);
  transition:color .2s ease,border-color .2s ease;
}
#ritmo-elementor .footer-bot a:hover{
  color:var(--text);
  border-color:rgba(255,255,255,.32);
}

#ritmo-elementor .glow-divider{height:1px;background:linear-gradient(90deg,transparent,var(--pink) 30%,var(--violet) 70%,transparent);opacity:.35;}
#ritmo-elementor .reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease;}
#ritmo-elementor .reveal.vis{opacity:1;transform:translateY(0);}
#ritmo-elementor .rd1{transition-delay:.1s;}
#ritmo-elementor .rd2{transition-delay:.2s;}
#ritmo-elementor .rd3{transition-delay:.3s;}
#ritmo-elementor .rd4{transition-delay:.4s;}
#ritmo-elementor::selection{background:rgba(255,138,30,.32);color:#fff;}
#ritmo-elementor::-webkit-scrollbar{width:5px;}
#ritmo-elementor::-webkit-scrollbar-track{background:var(--bg);}
#ritmo-elementor::-webkit-scrollbar-thumb{background:rgba(255,138,30,.38);border-radius:3px;}
#ritmo-elementor section[id]{scroll-margin-top:110px;}

@media(max-width:1024px){
  #ritmo-elementor .hero-layout{grid-template-columns:1fr;gap:34px;}
  #ritmo-elementor .hero-copy{max-width:none;}
  #ritmo-elementor .hero{justify-content:flex-end;padding-top:132px;}
  #ritmo-elementor .hero-badge{justify-self:start;align-self:start;max-width:360px;}
  #ritmo-elementor .teachers-grid{grid-template-columns:repeat(2,1fr);}
  #ritmo-elementor .footer-top{grid-template-columns:1fr 1fr;}
  #ritmo-elementor .styles-grid{grid-template-columns:1fr 1fr;}
  #ritmo-elementor .scard-tall{grid-row:span 1;min-height:auto;aspect-ratio:1/.9;}
  #ritmo-elementor .page-hero-grid{grid-template-columns:1fr;}
}

@media(max-width:768px){
  body.ritmo-has-mobile-contact-bar #ritmo-elementor{
    padding-bottom:104px;
    padding-bottom:calc(104px + env(safe-area-inset-bottom));
  }
  .ritmo-mobile-contact-bar{
    position:fixed;
    left:12px;
    right:12px;
    bottom:12px;
    bottom:calc(12px + env(safe-area-inset-bottom));
    z-index:220;
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
    gap:10px;
    padding:10px;
    border-radius:24px;
    background:linear-gradient(180deg,rgba(11,16,22,.94),rgba(7,10,14,.92));
    border:1px solid rgba(255,255,255,.1);
    box-shadow:0 22px 54px rgba(0,0,0,.42);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }
  .ritmo-mobile-contact-bar::before{
    content:'';
    position:absolute;
    inset:1px 1px auto 1px;
    height:1px;
    border-radius:inherit;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);
    pointer-events:none;
  }
  .ritmo-mobile-contact-link{
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:4px;
    min-width:0;
    min-height:58px;
    padding:12px 14px;
    border-radius:18px;
    background:linear-gradient(180deg,rgba(24,33,44,.94),rgba(14,20,28,.94));
    border:1px solid rgba(255,255,255,.08);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
    transition:transform .2s ease,background-color .2s ease,border-color .2s ease;
  }
  .ritmo-mobile-contact-link,
  .ritmo-mobile-contact-link:visited{
    color:#fff8ef;
    text-decoration:none;
  }
  .ritmo-mobile-contact-link.is-primary{
    background:linear-gradient(135deg,rgba(255,138,30,.24),rgba(255,179,71,.18) 68%,rgba(18,25,34,.96));
    border-color:rgba(255,179,71,.22);
  }
  .ritmo-mobile-contact-link:active{transform:scale(.985);}
  .ritmo-mobile-contact-kicker{
    font-size:10px;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:rgba(255,245,234,.72);
  }
  .ritmo-mobile-contact-value{
    min-width:0;
    font-family:'Lato',sans-serif;
    font-size:13px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:-.01em;
    color:#fff8ef;
    text-wrap:pretty;
  }
  #ritmo-elementor nav{padding:14px 18px;}
  #ritmo-elementor .nav-links,#ritmo-elementor .nav-right{display:none;}
  #ritmo-elementor .burger{display:flex;}
  #ritmo-elementor .nav-logo{width:144px;}
  #ritmo-elementor section{padding:64px 0;}
  #ritmo-elementor .wrap{padding:0 18px;}
  #ritmo-elementor .hero{padding:116px 18px 56px;}
  #ritmo-elementor .page-hero{padding:116px 0 38px;}
  #ritmo-elementor .hero-layout{gap:24px;}
  #ritmo-elementor .hero-bg::before{background-position:center 42%;}
  #ritmo-elementor .hero-bg::after{background:
      linear-gradient(180deg,rgba(7,10,14,.78) 0%,rgba(7,10,14,.34) 24%,rgba(7,10,14,.64) 74%,rgba(7,10,14,.94) 100%),
      linear-gradient(90deg,rgba(7,10,14,.82) 0%,rgba(7,10,14,.58) 45%,rgba(7,10,14,.76) 100%),
      radial-gradient(circle at 50% 12%,rgba(255,179,71,.16),transparent 18%);}
  #ritmo-elementor .hero-badge{max-width:none;padding:22px 20px;}
  #ritmo-elementor .hero-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px;max-width:none;}
  #ritmo-elementor .hb-icon{min-width:58px;padding:0 8px;font-size:17px;}
  #ritmo-elementor .hb-icon .ritmo-emoji{width:24px;height:24px;}
  #ritmo-elementor .styles-grid,
  #ritmo-elementor .text-grid,
  #ritmo-elementor .reviews-grid,
  #ritmo-elementor .video-grid,
  #ritmo-elementor .faq-grid,
  #ritmo-elementor .contact-grid,
  #ritmo-elementor .form-row,
  #ritmo-elementor .about-grid,
  #ritmo-elementor .individual-inner{grid-template-columns:1fr;}
  #ritmo-elementor .scard-tall{min-height:auto;aspect-ratio:1/.9;}
  #ritmo-elementor .about-badge{right:0;}
  #ritmo-elementor .benefits-grid{grid-template-columns:1fr 1fr;}
  #ritmo-elementor .prices-grid{grid-template-columns:1fr;}
  #ritmo-elementor .teachers-grid{grid-template-columns:repeat(2,1fr);}
  #ritmo-elementor .footer-top{grid-template-columns:1fr;gap:32px;}
  #ritmo-elementor .flogo{width:min(100%,200px);}
  #ritmo-elementor .sec-header{flex-direction:column;align-items:flex-start;}
  #ritmo-elementor .cform{padding:28px 22px;}
  #ritmo-elementor .cta-band{padding:24px 22px;}
  #ritmo-elementor .tcard-photo-meta{left:16px;right:16px;bottom:14px;}
  #ritmo-elementor .about-visual-box::before{inset:12px;border-radius:18px;}
  #ritmo-elementor .about-visual-meta{padding:22px 22px 24px;max-width:100%;}
  #ritmo-elementor .about-visual-title{font-size:24px;}
  #ritmo-elementor .indiv-box::before{inset:12px;border-radius:18px;}
  #ritmo-elementor .indiv-photo-meta{padding:22px 22px 14px;max-width:100%;}
  #ritmo-elementor .indiv-photo-title{font-size:20px;}
  #ritmo-elementor .indiv-visual{padding-bottom:82px;}
  #ritmo-elementor .indiv-box-emoji{
    top:18px;
    right:18px;
    width:76px;
    height:76px;
    border-radius:20px;
  }
  #ritmo-elementor .indiv-box-emoji .ritmo-emoji{width:48px;height:48px;}
  #ritmo-elementor .indiv-float{left:0;bottom:0;}
}

@media(max-width:480px){
  body.ritmo-has-mobile-contact-bar #ritmo-elementor{
    padding-bottom:100px;
    padding-bottom:calc(100px + env(safe-area-inset-bottom));
  }
  .ritmo-mobile-contact-bar{
    left:10px;
    right:10px;
    gap:8px;
    padding:8px;
    border-radius:22px;
  }
  .ritmo-mobile-contact-link{min-height:54px;padding:11px 12px;}
  .ritmo-mobile-contact-kicker{font-size:9px;}
  .ritmo-mobile-contact-value{font-size:12px;}
  #ritmo-elementor .hero{padding-top:110px;}
  #ritmo-elementor .hero-headline{font-size:clamp(48px,17vw,92px);}
  #ritmo-elementor .hero-stats{grid-template-columns:1fr;}
  #ritmo-elementor .benefits-grid{grid-template-columns:1fr;}
  #ritmo-elementor .teachers-grid{grid-template-columns:1fr;}
}

body.luxury-fashion-page{
  background:#06070a;
  color:#f7efe7;
}

#ritmo-elementor.variant-fashion-home{
  --vf-bg:#07080b;
  --vf-bg-soft:#111319;
  --vf-bg-elev:#171a21;
  --vf-panel:#111319;
  --vf-panel-2:#0b0d12;
  --vf-line:rgba(255,244,231,.11);
  --vf-line-strong:rgba(255,244,231,.2);
  --vf-text:#f7efe7;
  --vf-muted:#b8ab9a;
  --vf-accent:#d79a49;
  --vf-accent-strong:#f2b15d;
  --vf-accent-soft:rgba(215,154,73,.12);
  --vf-shadow:0 24px 70px rgba(0,0,0,.28);
  --vf-serif:"Didot","Bodoni 72","Iowan Old Style","Times New Roman",serif;
  --vf-sans:"Avenir Next","Helvetica Neue",Arial,sans-serif;
  background:
    radial-gradient(circle at 14% 0%,rgba(215,154,73,.16),transparent 24%),
    radial-gradient(circle at 86% 10%,rgba(139,88,36,.14),transparent 26%),
    linear-gradient(180deg,#0b0c10 0%,#07080b 28%,#0e1015 62%,#07080b 100%);
  color:var(--vf-text);
  font-family:var(--vf-sans);
}

#ritmo-elementor.variant-fashion-home,
#ritmo-elementor.variant-fashion-home *{
  box-sizing:border-box;
}

#ritmo-elementor.variant-fashion-home a{
  color:inherit;
}

#ritmo-elementor.variant-fashion-home .reveal,
#ritmo-elementor.variant-fashion-home .reveal.rd1,
#ritmo-elementor.variant-fashion-home .reveal.rd2,
#ritmo-elementor.variant-fashion-home .reveal.rd3{
  opacity:1;
  transform:none;
  filter:none;
  transition:none;
}

#ritmo-elementor.variant-fashion-home .gradient-text{
  background:none;
  -webkit-text-fill-color:initial;
  color:var(--vf-accent);
}

#ritmo-elementor.variant-fashion-home .line-outline{
  color:rgba(247,239,231,.46);
  -webkit-text-stroke:0;
}

#ritmo-elementor.variant-fashion-home .line-solid{
  color:var(--vf-text);
}

#ritmo-elementor.variant-fashion-home nav{
  top:0;
  left:0;
  right:0;
  transform:none;
  width:100%;
  padding:16px 34px;
  border:none;
  border-bottom:1px solid var(--vf-line);
  border-radius:0;
  background:rgba(7,8,11,.72);
  box-shadow:none;
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
  z-index:300;
}

#ritmo-elementor.variant-fashion-home nav::after{
  display:none;
}

#ritmo-elementor.variant-fashion-home .nav-logo{
  width:254px;
}

#ritmo-elementor.variant-fashion-home .nav-logo img{
  transform:translateY(4px);
}

#ritmo-elementor.variant-fashion-home .nav-links{
  gap:28px;
}

#ritmo-elementor.variant-fashion-home .nav-links a,
#ritmo-elementor.variant-fashion-home .nav-phone{
  font-size:11px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(247,239,231,.72);
}

#ritmo-elementor.variant-fashion-home .nav-links a::after{
  bottom:-8px;
  height:1px;
  background:var(--vf-accent);
}

#ritmo-elementor.variant-fashion-home .nav-links a:hover,
#ritmo-elementor.variant-fashion-home .nav-links a.is-active,
#ritmo-elementor.variant-fashion-home .nav-phone:hover,
#ritmo-elementor.variant-fashion-home .mobile-menu a:hover{
  color:var(--vf-text);
}

#ritmo-elementor.variant-fashion-home .nav-right{
  gap:20px;
}

#ritmo-elementor.variant-fashion-home .burger span{
  background:var(--vf-text);
}

#ritmo-elementor.variant-fashion-home .mobile-menu{
  background:rgba(5,6,8,.98);
  z-index:340;
}

#ritmo-elementor.variant-fashion-home .mobile-menu a{
  font-family:"Didot","Bodoni 72","Iowan Old Style","Times New Roman",serif;
  font-size:38px;
  font-weight:400;
  letter-spacing:.02em;
  text-transform:none;
  color:var(--vf-text);
}

#ritmo-elementor.variant-fashion-home .m-close{
  color:var(--vf-text);
}

#ritmo-elementor.variant-fashion-home .page-hero{
  padding:154px 0 68px;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 14% 14%,rgba(215,154,73,.12),transparent 22%),
    radial-gradient(circle at 86% 12%,rgba(139,88,36,.11),transparent 24%),
    linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0));
}

#ritmo-elementor.variant-fashion-home .page-hero-grid{
  grid-template-columns:minmax(0,1fr) minmax(320px,.86fr);
  gap:42px;
  align-items:end;
}

#ritmo-elementor.variant-fashion-home .page-title{
  max-width:7.6ch;
  margin:16px 0 22px;
  font-size:clamp(58px,7vw,96px);
  text-wrap:balance;
}

#ritmo-elementor.variant-fashion-home .page-sub{
  max-width:34ch;
  font-size:17px;
  line-height:1.82;
  color:var(--vf-muted);
}

#ritmo-elementor.variant-fashion-home .page-sub a{
  color:var(--vf-accent);
  text-decoration-color:rgba(215,154,73,.42);
}

#ritmo-elementor.variant-fashion-home .page-sub a:hover{
  color:var(--vf-text);
  text-decoration-color:rgba(255,244,231,.26);
}

#ritmo-elementor.variant-fashion-home .page-actions{
  gap:14px;
  margin-top:30px;
}

#ritmo-elementor.variant-fashion-home .page-panel{
  border:1px solid var(--vf-line);
  border-radius:28px;
  padding:12px 28px;
  background:linear-gradient(180deg,rgba(18,20,26,.94),rgba(10,12,16,.98));
  box-shadow:0 18px 44px rgba(0,0,0,.18);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}

#ritmo-elementor.variant-fashion-home .page-panel::before{
  background:linear-gradient(90deg,transparent,rgba(255,244,231,.16),transparent);
}

#ritmo-elementor.variant-fashion-home .page-panel .hb-row{
  padding:18px 0;
  gap:16px;
  align-items:flex-start;
}

#ritmo-elementor.variant-fashion-home .page-panel .hb-row + .hb-row{
  margin-top:0;
  border-top:1px solid rgba(255,244,231,.08);
}

#ritmo-elementor.variant-fashion-home .page-mini-note{
  margin-top:8px;
  font-size:14px;
  line-height:1.75;
  color:rgba(247,239,231,.54);
}

#ritmo-elementor.variant-fashion-home .btn{
  min-height:56px;
  padding:14px 28px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
}

#ritmo-elementor.variant-fashion-home .btn-primary{
  color:#1f1304;
  background:linear-gradient(135deg,var(--vf-accent) 0%,var(--vf-accent-strong) 100%);
  box-shadow:none;
}

#ritmo-elementor.variant-fashion-home .btn-primary:hover{
  transform:none;
  box-shadow:none;
  background:linear-gradient(135deg,#c48637 0%,#eba04b 100%);
  color:#140d04;
}

#ritmo-elementor.variant-fashion-home .btn-ghost{
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,244,231,.3);
  color:var(--vf-text);
}

#ritmo-elementor.variant-fashion-home .btn-ghost:hover{
  background:rgba(255,255,255,.05);
  border-color:rgba(255,244,231,.54);
}

#ritmo-elementor.variant-fashion-home .wrap{
  max-width:1320px;
  padding:0 32px;
}

#ritmo-elementor.variant-fashion-home section{
  padding:104px 0;
}

#ritmo-elementor.variant-fashion-home .label-tag,
#ritmo-elementor.variant-fashion-home .cform-kicker,
#ritmo-elementor.variant-fashion-home .vmeta,
#ritmo-elementor.variant-fashion-home .rstars,
#ritmo-elementor.variant-fashion-home .citem-label,
#ritmo-elementor.variant-fashion-home .form-note,
#ritmo-elementor.variant-fashion-home .faq-note,
#ritmo-elementor.variant-fashion-home .pperiod,
#ritmo-elementor.variant-fashion-home .tcard-role,
#ritmo-elementor.variant-fashion-home .ttag,
#ritmo-elementor.variant-fashion-home .about-visual-kicker,
#ritmo-elementor.variant-fashion-home .indiv-photo-kicker,
#ritmo-elementor.variant-fashion-home .flabel,
#ritmo-elementor.variant-fashion-home .fcol-title{
  font-size:11px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--vf-accent);
}

#ritmo-elementor.variant-fashion-home .section-title,
#ritmo-elementor.variant-fashion-home .page-title,
#ritmo-elementor.variant-fashion-home .indiv-big,
#ritmo-elementor.variant-fashion-home .cform-title,
#ritmo-elementor.variant-fashion-home .vtitle,
#ritmo-elementor.variant-fashion-home .text-card h3{
  font-family:var(--vf-serif);
  font-weight:400;
  line-height:.98;
  letter-spacing:.01em;
  color:var(--vf-text);
}

#ritmo-elementor.variant-fashion-home .section-title{
  font-size:clamp(40px,5.6vw,72px);
  max-width:12ch;
  text-wrap:balance;
}

#ritmo-elementor.variant-fashion-home .page-title{
  font-size:clamp(36px,4.8vw,64px);
  max-width:18ch;
  line-height:.96;
}

#ritmo-elementor.variant-fashion-home .section-title br,
#ritmo-elementor.variant-fashion-home .page-title br,
#ritmo-elementor.variant-fashion-home .indiv-big br,
#ritmo-elementor.variant-fashion-home .cform-title br{
  display:none;
}

#ritmo-elementor.variant-fashion-home .sec-header{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);
  gap:54px;
  align-items:end;
  margin-bottom:34px;
}

#ritmo-elementor.variant-fashion-home .sec-header-desc,
#ritmo-elementor.variant-fashion-home .about-text,
#ritmo-elementor.variant-fashion-home .bcard-text,
#ritmo-elementor.variant-fashion-home .vtext,
#ritmo-elementor.variant-fashion-home .rtext,
#ritmo-elementor.variant-fashion-home .faq-intro,
#ritmo-elementor.variant-fashion-home .faq-a,
#ritmo-elementor.variant-fashion-home .contact-desc,
#ritmo-elementor.variant-fashion-home .pdesc,
#ritmo-elementor.variant-fashion-home .if-sub,
#ritmo-elementor.variant-fashion-home .hb-sub,
#ritmo-elementor.variant-fashion-home .cform-subtitle,
#ritmo-elementor.variant-fashion-home .form-note,
#ritmo-elementor.variant-fashion-home .ftagline,
#ritmo-elementor.variant-fashion-home .flinks a,
#ritmo-elementor.variant-fashion-home .citem-val,
#ritmo-elementor.variant-fashion-home .citem-val a{
  color:var(--vf-muted);
}

#ritmo-elementor.variant-fashion-home .sec-header-desc,
#ritmo-elementor.variant-fashion-home .about-text,
#ritmo-elementor.variant-fashion-home .bcard-text,
#ritmo-elementor.variant-fashion-home .vtext,
#ritmo-elementor.variant-fashion-home .rtext,
#ritmo-elementor.variant-fashion-home .faq-intro,
#ritmo-elementor.variant-fashion-home .faq-a,
#ritmo-elementor.variant-fashion-home .contact-desc,
#ritmo-elementor.variant-fashion-home .cform-subtitle{
  font-size:16px;
  line-height:1.8;
}

#ritmo-elementor.variant-fashion-home .glow-divider{
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,244,231,.12),transparent);
  opacity:1;
}

#ritmo-elementor.variant-fashion-home .styles-sec,
#ritmo-elementor.variant-fashion-home .about-sec,
#ritmo-elementor.variant-fashion-home .benefits-sec,
#ritmo-elementor.variant-fashion-home .schedule-sec,
#ritmo-elementor.variant-fashion-home .prices-sec,
#ritmo-elementor.variant-fashion-home .individual-sec,
#ritmo-elementor.variant-fashion-home .teachers-sec,
#ritmo-elementor.variant-fashion-home .video-sec,
#ritmo-elementor.variant-fashion-home .reviews-sec,
#ritmo-elementor.variant-fashion-home .faq-sec,
#ritmo-elementor.variant-fashion-home .contact-sec{
  position:relative;
  overflow:hidden;
}

#ritmo-elementor.variant-fashion-home .styles-sec::before,
#ritmo-elementor.variant-fashion-home .about-sec::before,
#ritmo-elementor.variant-fashion-home .benefits-sec::before,
#ritmo-elementor.variant-fashion-home .schedule-sec::before,
#ritmo-elementor.variant-fashion-home .prices-sec::before,
#ritmo-elementor.variant-fashion-home .individual-sec::before,
#ritmo-elementor.variant-fashion-home .teachers-sec::before,
#ritmo-elementor.variant-fashion-home .video-sec::before,
#ritmo-elementor.variant-fashion-home .reviews-sec::before,
#ritmo-elementor.variant-fashion-home .faq-sec::before,
#ritmo-elementor.variant-fashion-home .contact-sec::before{
  position:absolute;
  top:18px;
  right:28px;
  z-index:0;
  font-family:var(--vf-serif);
  font-size:180px;
  line-height:.76;
  color:rgba(255,244,231,.04);
  letter-spacing:-.03em;
  pointer-events:none;
}

#ritmo-elementor.variant-fashion-home .styles-sec::before{content:"01";}
#ritmo-elementor.variant-fashion-home .about-sec::before{content:"02";}
#ritmo-elementor.variant-fashion-home .benefits-sec::before{content:"03";}
#ritmo-elementor.variant-fashion-home .schedule-sec::before{content:"04";}
#ritmo-elementor.variant-fashion-home .prices-sec::before{content:"05";}
#ritmo-elementor.variant-fashion-home .individual-sec::before{content:"06";}
#ritmo-elementor.variant-fashion-home .teachers-sec::before{content:"07";}
#ritmo-elementor.variant-fashion-home .video-sec::before{content:"08";}
#ritmo-elementor.variant-fashion-home .reviews-sec::before{content:"09";}
#ritmo-elementor.variant-fashion-home .faq-sec::before{content:"10";}
#ritmo-elementor.variant-fashion-home .contact-sec::before{content:"11";}

#ritmo-elementor.variant-fashion-home .hero{
  min-height:100vh;
  padding:152px 32px 84px;
  display:flex;
  align-items:flex-end;
  background:transparent;
}

#ritmo-elementor.variant-fashion-home .hero-bg::before{
  inset:0;
  border-radius:0;
  background:
    linear-gradient(90deg,rgba(7,8,11,.94) 0%,rgba(7,8,11,.8) 28%,rgba(7,8,11,.32) 58%,rgba(7,8,11,.76) 100%),
    linear-gradient(180deg,rgba(7,8,11,.52) 0%,rgba(7,8,11,.08) 30%,rgba(7,8,11,.76) 100%),
    url("./images/mamboclub-hero-stage-1280.webp") center 38%/cover no-repeat;
  filter:saturate(1.06) contrast(1.08) brightness(.8);
  transform:scale(1.03);
  box-shadow:none;
}

#ritmo-elementor.variant-fashion-home .hero-bg::after{
  inset:0;
  background:
    radial-gradient(circle at 14% 16%,rgba(215,154,73,.1),transparent 20%),
    linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0));
}

#ritmo-elementor.variant-fashion-home .hero-grid{
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:120px 120px;
  opacity:.16;
}

#ritmo-elementor.variant-fashion-home .blob-1{
  background:#945d2a;
  opacity:.18;
  filter:blur(140px);
}

#ritmo-elementor.variant-fashion-home .blob-2{
  background:#2b2014;
  opacity:.18;
  filter:blur(140px);
}

#ritmo-elementor.variant-fashion-home .blob-3{
  background:#1c1a15;
  opacity:.16;
  filter:blur(120px);
}

#ritmo-elementor.variant-fashion-home .hero-layout{
  grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);
  gap:44px;
  align-items:end;
}

#ritmo-elementor.variant-fashion-home .hero-copy{
  position:relative;
  max-width:700px;
  padding-right:76px;
}

#ritmo-elementor.variant-fashion-home .hero-copy::after{
  content:"Issue 01";
  position:absolute;
  right:-8px;
  top:56px;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  font-size:10px;
  font-weight:700;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:rgba(247,239,231,.42);
}

#ritmo-elementor.variant-fashion-home .hero-eyebrow{
  gap:14px;
  margin-bottom:24px;
}

#ritmo-elementor.variant-fashion-home .pulse-dot{
  background:var(--vf-accent);
  box-shadow:0 0 0 12px rgba(215,154,73,.12);
}

#ritmo-elementor.variant-fashion-home .hero-headline{
  margin-bottom:26px;
  font-family:var(--vf-serif);
  font-size:clamp(92px,11vw,174px);
  font-weight:400;
  line-height:.76;
  letter-spacing:-.01em;
  color:var(--vf-text);
  max-width:4.9ch;
  text-shadow:none;
}

#ritmo-elementor.variant-fashion-home .hero-sub{
  max-width:16ch;
  margin-bottom:38px;
  font-size:25px;
  line-height:1.62;
  letter-spacing:.01em;
  color:rgba(247,239,231,.84);
}

#ritmo-elementor.variant-fashion-home .hero-cta{
  gap:14px;
  margin-bottom:42px;
}

#ritmo-elementor.variant-fashion-home .hero-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  max-width:920px;
  border-top:1px solid var(--vf-line);
  border-bottom:1px solid var(--vf-line);
}

#ritmo-elementor.variant-fashion-home .hero-stats > div{
  padding:18px 20px 20px 0;
  border-right:1px solid var(--vf-line);
}

#ritmo-elementor.variant-fashion-home .hero-stats > div:last-child{
  border-right:none;
}

#ritmo-elementor.variant-fashion-home .stat-num{
  font-family:"Didot","Bodoni 72","Iowan Old Style","Times New Roman",serif;
  font-size:46px;
  line-height:.9;
  color:var(--vf-text);
}

#ritmo-elementor.variant-fashion-home .stat-label{
  margin-top:8px;
  font-size:11px;
  line-height:1.5;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--vf-muted);
}

#ritmo-elementor.variant-fashion-home .hero-badge{
  max-width:360px;
  padding:0;
  border:1px solid var(--vf-line-strong);
  border-radius:26px;
  background:rgba(12,13,18,.82);
  box-shadow:var(--vf-shadow);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}

#ritmo-elementor.variant-fashion-home .hb-row{
  padding:20px 22px;
  gap:16px;
  align-items:flex-start;
}

#ritmo-elementor.variant-fashion-home .hb-row + .hb-row{
  border-top:1px solid var(--vf-line);
}

#ritmo-elementor.variant-fashion-home .hb-icon{
  min-width:0;
  height:auto;
  padding:0;
  border:none;
  border-radius:0;
  background:none;
  color:var(--vf-accent);
  font-size:16px;
  font-weight:700;
  line-height:1;
}

#ritmo-elementor.variant-fashion-home .hb-name{
  margin-bottom:6px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--vf-accent);
}

#ritmo-elementor.variant-fashion-home .hb-sub{
  font-size:16px;
  line-height:1.6;
  color:rgba(247,239,231,.86);
}

#ritmo-elementor.variant-fashion-home .ticker{
  border-top:1px solid var(--vf-line);
  border-bottom:1px solid var(--vf-line);
  background:#090a0d;
}

#ritmo-elementor.variant-fashion-home .ticker::before,
#ritmo-elementor.variant-fashion-home .ticker::after{
  display:none;
}

#ritmo-elementor.variant-fashion-home .ticker-track{
  gap:0;
}

#ritmo-elementor.variant-fashion-home .ticker-item{
  padding:16px 26px;
  border-right:1px solid var(--vf-line);
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(247,239,231,.72);
}

#ritmo-elementor.variant-fashion-home .ticker-dot{
  background:var(--vf-accent);
}

#ritmo-elementor.variant-fashion-home .styles-sec,
#ritmo-elementor.variant-fashion-home .about-sec,
#ritmo-elementor.variant-fashion-home .benefits-sec,
#ritmo-elementor.variant-fashion-home .schedule-sec,
#ritmo-elementor.variant-fashion-home .prices-sec,
#ritmo-elementor.variant-fashion-home .individual-sec,
#ritmo-elementor.variant-fashion-home .teachers-sec,
#ritmo-elementor.variant-fashion-home .video-sec,
#ritmo-elementor.variant-fashion-home .reviews-sec,
#ritmo-elementor.variant-fashion-home .faq-sec,
#ritmo-elementor.variant-fashion-home .contact-sec{
  background:transparent;
}

#ritmo-elementor.variant-fashion-home .about-sec,
#ritmo-elementor.variant-fashion-home .schedule-sec,
#ritmo-elementor.variant-fashion-home .teachers-sec,
#ritmo-elementor.variant-fashion-home .reviews-sec{
  background:linear-gradient(180deg,rgba(255,255,255,.015),rgba(255,255,255,0));
}

#ritmo-elementor.variant-fashion-home .scard,
#ritmo-elementor.variant-fashion-home .bcard,
#ritmo-elementor.variant-fashion-home .pcard,
#ritmo-elementor.variant-fashion-home .tcard,
#ritmo-elementor.variant-fashion-home .vcard,
#ritmo-elementor.variant-fashion-home .rcard,
#ritmo-elementor.variant-fashion-home .faq-item,
#ritmo-elementor.variant-fashion-home .cform,
#ritmo-elementor.variant-fashion-home .sched-table-wrap,
#ritmo-elementor.variant-fashion-home .citem{
  border:1px solid var(--vf-line);
  border-radius:30px;
  background:linear-gradient(180deg,rgba(18,20,26,.94),rgba(10,12,16,.98));
  box-shadow:0 18px 44px rgba(0,0,0,.18);
}

#ritmo-elementor.variant-fashion-home .styles-grid,
#ritmo-elementor.variant-fashion-home .benefits-grid,
#ritmo-elementor.variant-fashion-home .prices-grid,
#ritmo-elementor.variant-fashion-home .teachers-grid,
#ritmo-elementor.variant-fashion-home .video-grid,
#ritmo-elementor.variant-fashion-home .reviews-grid{
  gap:18px;
}

#ritmo-elementor.variant-fashion-home .styles-grid{
  display:grid;
  grid-template-columns:1.14fr .86fr .86fr;
  grid-auto-rows:minmax(220px,1fr);
  gap:18px;
}

#ritmo-elementor.variant-fashion-home .scard{
  min-height:350px;
  overflow:hidden;
  border-radius:24px;
}

#ritmo-elementor.variant-fashion-home .scard-tall{
  min-height:520px;
  grid-row:span 2;
}

#ritmo-elementor.variant-fashion-home .scard-bg{
  filter:brightness(.7) saturate(1.05) contrast(1.04);
}

#ritmo-elementor.variant-fashion-home .scard-glow{
  display:none;
}

#ritmo-elementor.variant-fashion-home .scard::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(7,8,11,.06) 10%,rgba(7,8,11,.24) 46%,rgba(7,8,11,.94) 100%);
  pointer-events:none;
}

#ritmo-elementor.variant-fashion-home .scard-badge{
  z-index:2;
  top:22px;
  left:22px;
  border:1px solid rgba(215,154,73,.18);
  border-radius:999px;
  background:rgba(7,8,11,.42);
  color:var(--vf-accent);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

#ritmo-elementor.variant-fashion-home .scard-body{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-height:100%;
  padding:28px;
}

#ritmo-elementor.variant-fashion-home .scard-emoji{
  display:block;
  width:auto;
  height:auto;
  margin:0 0 8px;
  padding:0;
  border:none;
  background:none;
  box-shadow:none;
  color:var(--vf-accent);
}

#ritmo-elementor.variant-fashion-home .scard-emoji .ritmo-emoji{
  filter:none;
}

#ritmo-elementor.variant-fashion-home .scard-name{
  font-family:var(--vf-serif);
  font-size:58px;
  line-height:.88;
  color:var(--vf-text);
}

#ritmo-elementor.variant-fashion-home .scard-desc{
  max-width:24ch;
  font-size:15px;
  line-height:1.72;
  color:rgba(247,239,231,.8);
}

#ritmo-elementor.variant-fashion-home .text-card,
#ritmo-elementor.variant-fashion-home .cta-band{
  border:1px solid var(--vf-line);
  background:linear-gradient(180deg,rgba(18,20,26,.94),rgba(10,12,16,.98));
  box-shadow:0 18px 44px rgba(0,0,0,.18);
}

#ritmo-elementor.variant-fashion-home .text-card{
  border-radius:24px;
}

#ritmo-elementor.variant-fashion-home .text-card h3{
  margin-bottom:12px;
  font-size:32px;
  line-height:1.02;
}

#ritmo-elementor.variant-fashion-home .cta-band{
  border-radius:28px;
  border-color:rgba(215,154,73,.24);
  background:linear-gradient(135deg,rgba(34,24,14,.96),rgba(12,14,18,.98));
}

#ritmo-elementor.variant-fashion-home .cta-band h3{
  font-family:var(--vf-serif);
  font-size:40px;
  font-weight:400;
  line-height:1;
  color:var(--vf-text);
}

#ritmo-elementor.variant-fashion-home .cta-band p{
  color:var(--vf-muted);
}

#ritmo-elementor.variant-fashion-home .about-grid,
#ritmo-elementor.variant-fashion-home .individual-inner{
  gap:38px;
  align-items:center;
}

#ritmo-elementor.variant-fashion-home .about-visual-box,
#ritmo-elementor.variant-fashion-home .indiv-box{
  position:relative;
  overflow:hidden;
  padding:18px;
  border:1px solid var(--vf-line);
  border-radius:34px;
  background:linear-gradient(180deg,rgba(19,21,27,.95),rgba(9,11,15,.98));
}

#ritmo-elementor.variant-fashion-home .about-visual-box::before,
#ritmo-elementor.variant-fashion-home .indiv-box::before{
  inset:18px;
  border:1px solid rgba(255,244,231,.08);
  border-radius:24px;
}

#ritmo-elementor.variant-fashion-home .about-visual-photo,
#ritmo-elementor.variant-fashion-home .indiv-photo{
  border-radius:24px;
  filter:brightness(.82) saturate(1.02) contrast(1.04);
}

#ritmo-elementor.variant-fashion-home .about-visual-meta,
#ritmo-elementor.variant-fashion-home .indiv-photo-meta{
  padding:28px 28px 22px;
  max-width:360px;
  background:linear-gradient(180deg,rgba(7,8,11,0),rgba(7,8,11,.86));
}

#ritmo-elementor.variant-fashion-home .about-visual-title,
#ritmo-elementor.variant-fashion-home .indiv-photo-title{
  font-family:var(--vf-serif);
  line-height:1.08;
  color:var(--vf-text);
}

#ritmo-elementor.variant-fashion-home .about-visual-title{
  font-size:38px;
}

#ritmo-elementor.variant-fashion-home .indiv-photo-title{
  max-width:17ch;
  font-size:24px;
}

#ritmo-elementor.variant-fashion-home .about-badge,
#ritmo-elementor.variant-fashion-home .indiv-float{
  border:1px solid var(--vf-line-strong);
  border-radius:999px;
  background:rgba(10,12,16,.88);
  box-shadow:var(--vf-shadow);
}

#ritmo-elementor.variant-fashion-home .ab-num,
#ritmo-elementor.variant-fashion-home .if-fl-num{
  font-family:"Didot","Bodoni 72","Iowan Old Style","Times New Roman",serif;
  font-size:42px;
  color:var(--vf-accent);
}

#ritmo-elementor.variant-fashion-home .acheck,
#ritmo-elementor.variant-fashion-home .if-row{
  padding:14px 0;
  border-bottom:1px solid rgba(255,244,231,.08);
}

#ritmo-elementor.variant-fashion-home .acheck:last-child,
#ritmo-elementor.variant-fashion-home .if-row:last-child{
  border-bottom:none;
}

#ritmo-elementor.variant-fashion-home .acheck-icon,
#ritmo-elementor.variant-fashion-home .pcheck{
  border:1px solid rgba(215,154,73,.24);
  background:var(--vf-accent-soft);
  color:var(--vf-accent);
}

#ritmo-elementor.variant-fashion-home .if-icon,
#ritmo-elementor.variant-fashion-home .bcard-icon,
#ritmo-elementor.variant-fashion-home .ravatar,
#ritmo-elementor.variant-fashion-home .cicon{
  width:auto;
  min-width:0;
  height:auto;
  padding:0;
  border:none;
  border-radius:0;
  background:none;
  box-shadow:none;
  color:var(--vf-accent);
}

#ritmo-elementor.variant-fashion-home .acheck-text,
#ritmo-elementor.variant-fashion-home .if-title,
#ritmo-elementor.variant-fashion-home .bcard-title,
#ritmo-elementor.variant-fashion-home .citem-val{
  color:var(--vf-text);
}

#ritmo-elementor.variant-fashion-home .benefits-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
}

#ritmo-elementor.variant-fashion-home .bcard{
  min-height:250px;
  padding:28px;
  border-radius:24px;
  grid-column:span 4;
}

#ritmo-elementor.variant-fashion-home .benefits-grid .bcard:nth-child(1){
  grid-column:span 6;
  min-height:284px;
}

#ritmo-elementor.variant-fashion-home .benefits-grid .bcard:nth-child(2),
#ritmo-elementor.variant-fashion-home .benefits-grid .bcard:nth-child(3){
  grid-column:span 3;
}

#ritmo-elementor.variant-fashion-home .bcard-title{
  margin-top:20px;
  margin-bottom:12px;
  font-family:var(--vf-serif);
  font-size:32px;
  line-height:1.02;
}

#ritmo-elementor.variant-fashion-home .sched-table-wrap{
  padding:18px 22px 24px;
}

#ritmo-elementor.variant-fashion-home .sched-table th{
  padding:16px 14px;
  border-bottom:1px solid var(--vf-line);
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--vf-muted);
}

#ritmo-elementor.variant-fashion-home .sched-table td{
  padding:18px 14px;
  border-bottom:1px solid rgba(255,244,231,.08);
  color:var(--vf-text);
}

#ritmo-elementor.variant-fashion-home .sched-table tbody tr:hover td{
  background:rgba(255,255,255,.02);
}

#ritmo-elementor.variant-fashion-home .sdance{
  font-family:"Didot","Bodoni 72","Iowan Old Style","Times New Roman",serif;
  font-size:22px;
}

#ritmo-elementor.variant-fashion-home .slevel{
  border-radius:999px;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
}

#ritmo-elementor.variant-fashion-home .prices-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
}

#ritmo-elementor.variant-fashion-home .pcard{
  padding:28px;
  border-radius:24px;
  grid-column:span 4;
}

#ritmo-elementor.variant-fashion-home .prices-grid .pcard:nth-child(n+4){
  grid-column:span 3;
}

#ritmo-elementor.variant-fashion-home .pcard.featured{
  border-color:rgba(215,154,73,.34);
  background:linear-gradient(180deg,rgba(33,24,14,.96),rgba(10,12,16,.98));
  transform:translateY(-6px);
}

#ritmo-elementor.variant-fashion-home .pcard-pop{
  border-radius:999px;
  background:linear-gradient(135deg,var(--vf-accent) 0%,var(--vf-accent-strong) 100%);
  color:#201404;
}

#ritmo-elementor.variant-fashion-home .pname{
  font-family:var(--vf-serif);
  font-size:40px;
  line-height:.92;
  color:var(--vf-text);
}

#ritmo-elementor.variant-fashion-home .pdesc{
  min-height:48px;
}

#ritmo-elementor.variant-fashion-home .pamount{
  font-family:var(--vf-serif);
  font-size:62px;
  line-height:.9;
  color:var(--vf-accent);
}

#ritmo-elementor.variant-fashion-home .pfeatures li{
  padding:10px 0;
  border-bottom:1px solid rgba(255,244,231,.08);
  color:rgba(247,239,231,.9);
}

#ritmo-elementor.variant-fashion-home .pfeatures li:last-child{
  border-bottom:none;
}

#ritmo-elementor.variant-fashion-home .indiv-big{
  max-width:11ch;
  font-size:clamp(40px,5.4vw,62px);
  line-height:1.02;
}

#ritmo-elementor.variant-fashion-home .indiv-text{
  font-size:17px;
  line-height:1.82;
  color:var(--vf-muted);
}

#ritmo-elementor.variant-fashion-home .indiv-visual{
  padding-bottom:108px;
}

#ritmo-elementor.variant-fashion-home .tcard{
  padding:18px;
  border-radius:24px;
}

#ritmo-elementor.variant-fashion-home .teachers-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
}

#ritmo-elementor.variant-fashion-home .teachers-sec .sec-header{
  grid-template-columns:minmax(0,.92fr) minmax(360px,1.08fr);
  gap:72px;
  align-items:start;
}

#ritmo-elementor.variant-fashion-home .teachers-sec .section-title{
  max-width:4.9ch;
  font-size:clamp(50px,5.6vw,80px);
}

#ritmo-elementor.variant-fashion-home .teachers-sec .sec-header-desc{
  padding-top:18px;
}

#ritmo-elementor.variant-fashion-home .teachers-grid .tcard:nth-child(1){
  grid-column:span 7;
}

#ritmo-elementor.variant-fashion-home .teachers-grid .tcard:nth-child(2){
  grid-column:span 5;
  margin-top:34px;
}

#ritmo-elementor.variant-fashion-home .tcard-photo{
  overflow:hidden;
  border-radius:24px;
}

#ritmo-elementor.variant-fashion-home .tcard-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(7,8,11,.04) 10%,rgba(7,8,11,.14) 44%,rgba(7,8,11,.78) 100%);
}

#ritmo-elementor.variant-fashion-home .tcard-photo-meta{
  left:18px;
  right:18px;
  bottom:18px;
  z-index:2;
  border:1px solid var(--vf-line);
  border-radius:999px;
  background:rgba(10,12,16,.76);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

#ritmo-elementor.variant-fashion-home .tcard-info{
  padding:24px 8px 8px;
}

#ritmo-elementor.variant-fashion-home .tcard-name{
  font-family:var(--vf-serif);
  font-size:40px;
  line-height:.94;
  color:var(--vf-text);
}

#ritmo-elementor.variant-fashion-home .ttag{
  border:1px solid var(--vf-line);
  border-radius:999px;
  background:rgba(255,255,255,.03);
  color:var(--vf-muted);
}

#ritmo-elementor.variant-fashion-home .vcard{
  padding:18px;
  border-radius:24px;
}

#ritmo-elementor.variant-fashion-home .video-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
}

#ritmo-elementor.variant-fashion-home .video-grid .vcard:nth-child(1){
  grid-column:span 7;
}

#ritmo-elementor.variant-fashion-home .video-grid .vcard:nth-child(2){
  grid-column:span 5;
  margin-top:42px;
}

#ritmo-elementor.variant-fashion-home .vframe{
  overflow:hidden;
  border-radius:24px;
  background:#000;
}

#ritmo-elementor.variant-fashion-home .vbody{
  padding:24px 8px 8px;
}

#ritmo-elementor.variant-fashion-home .vtitle{
  font-size:38px;
}

#ritmo-elementor.variant-fashion-home .vdot{
  background:var(--vf-accent);
}

#ritmo-elementor.variant-fashion-home .reviews-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
}

#ritmo-elementor.variant-fashion-home .rcard{
  min-height:280px;
  padding:28px;
  border-radius:24px;
}

#ritmo-elementor.variant-fashion-home .reviews-grid .rcard:nth-child(1){
  grid-column:span 5;
}

#ritmo-elementor.variant-fashion-home .reviews-grid .rcard:nth-child(2){
  grid-column:span 4;
}

#ritmo-elementor.variant-fashion-home .reviews-grid .rcard:nth-child(3){
  grid-column:span 3;
}

#ritmo-elementor.variant-fashion-home .rauthor{
  margin-top:24px;
}

#ritmo-elementor.variant-fashion-home .rname{
  font-family:var(--vf-serif);
  font-size:28px;
  line-height:1;
  color:var(--vf-text);
}

#ritmo-elementor.variant-fashion-home .rsince{
  margin-top:6px;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--vf-muted);
}

#ritmo-elementor.variant-fashion-home .faq-grid{
  display:grid;
  grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);
  gap:32px;
  align-items:start;
}

#ritmo-elementor.variant-fashion-home .faq-note{
  margin-top:20px;
  color:rgba(247,239,231,.48);
}

#ritmo-elementor.variant-fashion-home .faq-item{
  margin-bottom:12px;
  padding:0 26px;
}

#ritmo-elementor.variant-fashion-home .faq-item[open]{
  border-color:rgba(215,154,73,.28);
}

#ritmo-elementor.variant-fashion-home .faq-q{
  padding:22px 0;
  font-size:20px;
  line-height:1.45;
  color:var(--vf-text);
}

#ritmo-elementor.variant-fashion-home .faq-q::after{
  color:var(--vf-accent);
}

#ritmo-elementor.variant-fashion-home .faq-a{
  padding:0 0 22px;
}

#ritmo-elementor.variant-fashion-home .contact-grid{
  display:grid;
  grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);
  gap:34px;
  align-items:start;
}

#ritmo-elementor.variant-fashion-home .cinfo{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:28px;
}

#ritmo-elementor.variant-fashion-home .citem{
  grid-template-columns:56px 1fr;
  gap:16px;
  padding:18px 20px;
}

#ritmo-elementor.variant-fashion-home .citem-val,
#ritmo-elementor.variant-fashion-home .citem-val a{
  font-size:16px;
  line-height:1.68;
  color:var(--vf-text);
}

#ritmo-elementor.variant-fashion-home .cform{
  padding:32px;
  border-radius:28px;
}

#ritmo-elementor.variant-fashion-home .cform-title{
  max-width:10ch;
  font-size:clamp(38px,4.8vw,56px);
  line-height:1;
}

#ritmo-elementor.variant-fashion-home .finput,
#ritmo-elementor.variant-fashion-home .fselect,
#ritmo-elementor.variant-fashion-home .ftextarea{
  border:1px solid var(--vf-line);
  border-radius:18px;
  background:rgba(255,255,255,.03);
  color:var(--vf-text);
}

#ritmo-elementor.variant-fashion-home .finput::placeholder,
#ritmo-elementor.variant-fashion-home .ftextarea::placeholder{
  color:rgba(247,239,231,.38);
}

#ritmo-elementor.variant-fashion-home .finput:focus,
#ritmo-elementor.variant-fashion-home .fselect:focus,
#ritmo-elementor.variant-fashion-home .ftextarea:focus{
  border-color:rgba(215,154,73,.42);
  box-shadow:0 0 0 4px rgba(215,154,73,.12);
}

#ritmo-elementor.variant-fashion-home footer{
  border-top:1px solid var(--vf-line);
  background:#07080b;
}

#ritmo-elementor.variant-fashion-home .footer-inner{
  max-width:1320px;
  padding:48px 32px 34px;
}

#ritmo-elementor.variant-fashion-home .fsoc{
  width:auto;
  min-width:0;
  height:auto;
  padding:0;
  border:none;
  border-radius:0;
  background:none;
  box-shadow:none;
  color:var(--vf-accent);
}

#ritmo-elementor.variant-fashion-home .fsoc:hover{
  background:none;
  border:none;
  box-shadow:none;
  color:var(--vf-accent);
}

#ritmo-elementor.variant-fashion-home .footer-bot{
  border-top:1px solid var(--vf-line);
  color:rgba(247,239,231,.44);
}

body.luxury-fashion-page .ritmo-mobile-contact-bar{
  background:rgba(9,10,14,.9);
  border:1px solid rgba(255,244,231,.16);
  box-shadow:0 24px 60px rgba(0,0,0,.35);
}

body.luxury-fashion-page .ritmo-mobile-contact-link{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,244,231,.14);
}

body.luxury-fashion-page .ritmo-mobile-contact-link.is-primary{
  background:rgba(215,154,73,.14);
  border-color:rgba(215,154,73,.26);
}

body.luxury-fashion-page .ritmo-mobile-contact-kicker{
  color:rgba(247,239,231,.58);
}

body.luxury-fashion-page .ritmo-mobile-contact-value{
  color:var(--vf-text);
}

@media(max-width:1200px){
  #ritmo-elementor.variant-fashion-home .hero-layout{
    grid-template-columns:minmax(0,1fr) 320px;
    gap:32px;
  }
  #ritmo-elementor.variant-fashion-home .hero-copy{
    padding-right:40px;
  }
  #ritmo-elementor.variant-fashion-home .hero-copy::after{
    right:-2px;
  }
  #ritmo-elementor.variant-fashion-home .hero-headline{
    font-size:clamp(74px,9vw,136px);
  }
  #ritmo-elementor.variant-fashion-home .sec-header{
    grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);
  }
  #ritmo-elementor.variant-fashion-home .styles-grid{
    grid-template-columns:1fr 1fr;
    grid-auto-rows:minmax(240px,1fr);
  }
  #ritmo-elementor.variant-fashion-home .scard-tall{
    grid-row:span 1;
    grid-column:span 2;
  }
  #ritmo-elementor.variant-fashion-home .benefits-grid,
  #ritmo-elementor.variant-fashion-home .prices-grid,
  #ritmo-elementor.variant-fashion-home .reviews-grid,
  #ritmo-elementor.variant-fashion-home .teachers-grid,
  #ritmo-elementor.variant-fashion-home .video-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #ritmo-elementor.variant-fashion-home .benefits-grid .bcard,
  #ritmo-elementor.variant-fashion-home .prices-grid .pcard,
  #ritmo-elementor.variant-fashion-home .reviews-grid .rcard,
  #ritmo-elementor.variant-fashion-home .teachers-grid .tcard,
  #ritmo-elementor.variant-fashion-home .video-grid .vcard{
    grid-column:span 1;
    margin-top:0;
  }
  #ritmo-elementor.variant-fashion-home .cinfo{
    grid-template-columns:1fr;
  }
}

@media(max-width:1024px){
  #ritmo-elementor.variant-fashion-home nav{
    padding:14px 22px;
  }
  #ritmo-elementor.variant-fashion-home .nav-logo{
    width:210px;
  }
  #ritmo-elementor.variant-fashion-home .wrap,
  #ritmo-elementor.variant-fashion-home .footer-inner{
    padding:0 22px;
  }
  #ritmo-elementor.variant-fashion-home section{
    padding:84px 0;
  }
  #ritmo-elementor.variant-fashion-home .page-hero{
    padding:136px 0 58px;
  }
  #ritmo-elementor.variant-fashion-home .page-title{
    max-width:18ch;
    font-size:clamp(34px,4.8vw,52px);
  }
  #ritmo-elementor.variant-fashion-home .page-sub{
    max-width:100%;
  }
  #ritmo-elementor.variant-fashion-home .page-panel{
    padding:10px 24px;
  }
  #ritmo-elementor.variant-fashion-home .hero{
    min-height:auto;
    padding:132px 22px 68px;
  }
  #ritmo-elementor.variant-fashion-home .hero-layout,
  #ritmo-elementor.variant-fashion-home .sec-header,
  #ritmo-elementor.variant-fashion-home .about-grid,
  #ritmo-elementor.variant-fashion-home .individual-inner,
  #ritmo-elementor.variant-fashion-home .contact-grid,
  #ritmo-elementor.variant-fashion-home .faq-grid{
    grid-template-columns:1fr;
  }
  #ritmo-elementor.variant-fashion-home .teachers-sec .sec-header{
    grid-template-columns:1fr;
    gap:34px;
  }
  #ritmo-elementor.variant-fashion-home .hero-badge{
    max-width:none;
  }
  #ritmo-elementor.variant-fashion-home .hero-copy{
    padding-right:0;
  }
  #ritmo-elementor.variant-fashion-home .hero-copy::after,
  #ritmo-elementor.variant-fashion-home .styles-sec::before,
  #ritmo-elementor.variant-fashion-home .about-sec::before,
  #ritmo-elementor.variant-fashion-home .benefits-sec::before,
  #ritmo-elementor.variant-fashion-home .schedule-sec::before,
  #ritmo-elementor.variant-fashion-home .prices-sec::before,
  #ritmo-elementor.variant-fashion-home .individual-sec::before,
  #ritmo-elementor.variant-fashion-home .teachers-sec::before,
  #ritmo-elementor.variant-fashion-home .video-sec::before,
  #ritmo-elementor.variant-fashion-home .reviews-sec::before,
  #ritmo-elementor.variant-fashion-home .faq-sec::before,
  #ritmo-elementor.variant-fashion-home .contact-sec::before{
    display:none;
  }
  #ritmo-elementor.variant-fashion-home .benefits-grid,
  #ritmo-elementor.variant-fashion-home .prices-grid,
  #ritmo-elementor.variant-fashion-home .reviews-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #ritmo-elementor.variant-fashion-home .about-visual-title{
    font-size:32px;
  }
  #ritmo-elementor.variant-fashion-home .styles-grid{
    grid-template-columns:1fr;
  }
  #ritmo-elementor.variant-fashion-home .scard-tall{
    grid-column:span 1;
  }
}

@media(max-width:768px){
  #ritmo-elementor.variant-fashion-home nav{
    padding:14px 18px;
  }
  #ritmo-elementor.variant-fashion-home .nav-logo{
    width:190px;
  }
  #ritmo-elementor.variant-fashion-home .page-hero{
    padding:120px 0 42px;
  }
  #ritmo-elementor.variant-fashion-home .page-title{
    font-size:clamp(42px,12vw,62px);
  }
  #ritmo-elementor.variant-fashion-home .page-sub{
    font-size:16px;
    line-height:1.74;
  }
  #ritmo-elementor.variant-fashion-home .page-panel{
    padding:8px 22px;
  }
  #ritmo-elementor.variant-fashion-home .cta-band h3{
    font-size:32px;
  }
  #ritmo-elementor.variant-fashion-home .hero{
    padding:124px 18px 58px;
  }
  #ritmo-elementor.variant-fashion-home .hero-bg::before{
    background-position:center 42%;
  }
  #ritmo-elementor.variant-fashion-home .hero-headline{
    font-size:clamp(62px,15vw,112px);
    max-width:5.3ch;
  }
  #ritmo-elementor.variant-fashion-home .hero-sub{
    font-size:19px;
    max-width:100%;
  }
  #ritmo-elementor.variant-fashion-home .hero-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #ritmo-elementor.variant-fashion-home .hero-stats > div:nth-child(2){
    border-right:none;
  }
  #ritmo-elementor.variant-fashion-home .section-title,
  #ritmo-elementor.variant-fashion-home .indiv-big,
  #ritmo-elementor.variant-fashion-home .cform-title{
    font-size:clamp(30px,7vw,42px);
  }
  #ritmo-elementor.variant-fashion-home .scard,
  #ritmo-elementor.variant-fashion-home .bcard,
  #ritmo-elementor.variant-fashion-home .pcard,
  #ritmo-elementor.variant-fashion-home .tcard,
  #ritmo-elementor.variant-fashion-home .vcard,
  #ritmo-elementor.variant-fashion-home .rcard,
  #ritmo-elementor.variant-fashion-home .faq-item,
  #ritmo-elementor.variant-fashion-home .cform,
  #ritmo-elementor.variant-fashion-home .sched-table-wrap,
  #ritmo-elementor.variant-fashion-home .citem,
  #ritmo-elementor.variant-fashion-home .about-visual-box,
  #ritmo-elementor.variant-fashion-home .indiv-box{
    border-radius:24px;
  }
  #ritmo-elementor.variant-fashion-home .benefits-grid,
  #ritmo-elementor.variant-fashion-home .prices-grid,
  #ritmo-elementor.variant-fashion-home .teachers-grid,
  #ritmo-elementor.variant-fashion-home .video-grid,
  #ritmo-elementor.variant-fashion-home .reviews-grid{
    grid-template-columns:1fr;
  }
  #ritmo-elementor.variant-fashion-home .cinfo{
    grid-template-columns:1fr;
  }
  #ritmo-elementor.variant-fashion-home .cform{
    padding:26px 22px;
  }
}

@media(max-width:480px){
  #ritmo-elementor.variant-fashion-home .page-title{
    max-width:18ch;
    font-size:clamp(26px,5.6vw,32px);
  }
  #ritmo-elementor.variant-fashion-home .hero{
    padding-top:114px;
  }
  #ritmo-elementor.variant-fashion-home .hero-headline{
    font-size:clamp(50px,16vw,84px);
  }
  #ritmo-elementor.variant-fashion-home .hero-stats{
    grid-template-columns:1fr;
  }
  #ritmo-elementor.variant-fashion-home .hero-stats > div{
    border-right:none;
    border-bottom:1px solid rgba(255,244,231,.08);
    padding-right:0;
  }
  #ritmo-elementor.variant-fashion-home .hero-stats > div:last-child{
    border-bottom:none;
  }
  #ritmo-elementor.variant-fashion-home .hb-row{
    padding:18px;
  }
  #ritmo-elementor.variant-fashion-home .about-visual-box,
  #ritmo-elementor.variant-fashion-home .indiv-box{
    padding:12px;
  }
  #ritmo-elementor.variant-fashion-home .about-visual-box::before,
  #ritmo-elementor.variant-fashion-home .indiv-box::before{
    inset:12px;
    border-radius:18px;
  }
}
