*{box-sizing:border-box}
:root{
  --bg:#050505;--panel:#0b0b0b;--text:#f2f2f2;--muted:#a8a8a8;
  --pink:#ffffff;--cyan:#bcbcbc;--orange:#8a8a8a;--yellow:#cfcfcf;--green:#a8a8a8;
  --display:"Road Rage",Impact,sans-serif;--body:"Inter",Arial,sans-serif;
}
html{scroll-behavior:smooth;background:var(--bg)}
/* Road Rage brand typography */
h1,h2,h3,.display,.display-small,.course-title h3,.course-num,.flow-word,.marquee-track,.media-card strong,.footer-brand strong,.mobile-menu a,.nav-brand span{
  font-family:"Road Rage", Impact, "Arial Black", sans-serif !important;
  font-weight:400 !important;
  font-style:normal;
}

/* Typography identity: Road Rage is the display face closest to the Latin Flow logo. */
.display,.display-small,.course-title h3,.media-card strong,.footer-brand strong,.mobile-menu a,.marquee-track,.nav-brand span{
  font-family:var(--display);
  font-weight:400;
}

body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);overflow-x:hidden}
body.menu-open{overflow:hidden}
a{color:inherit}
.noise{position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}
.progress{position:fixed;z-index:120;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--pink),var(--yellow),var(--green),var(--cyan));box-shadow:0 0 16px #ffffff55}

.nav{position:fixed;z-index:80;top:0;left:0;width:100%;height:78px;padding:0 clamp(18px,4vw,64px);display:flex;align-items:center;gap:36px;background:linear-gradient(180deg,#050505e8,#05050545 72%,transparent);backdrop-filter:blur(8px)}
.nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto}
.nav-brand img{width:58px;height:58px;object-fit:contain;filter:invert(1) brightness(2)}
.nav-brand span{font:400 25px var(--display);letter-spacing:.06em}
.desktop-nav{display:flex;gap:24px;align-items:center}
.desktop-nav a{font-size:11px;text-decoration:none;text-transform:uppercase;font-weight:800;letter-spacing:.08em;color:#d5d5d5;transition:.25s}
.desktop-nav a:hover{color:#fff}
.nav-cta{font-size:11px;text-decoration:none;font-weight:900;letter-spacing:.08em;border:1px solid #ffffff55;padding:12px 15px;transition:.25s}
.nav-cta:hover{background:#fff;color:#050505}
.menu-toggle{display:none;width:44px;height:44px;border:1px solid #ffffff33;border-radius:50%;background:#0a0a0aaa;place-content:center;gap:6px}
.menu-toggle i{display:block;width:18px;height:2px;background:#fff}
.mobile-menu{display:none}

.hero{position:relative;min-height:100svh;padding:118px clamp(20px,6vw,96px) 72px;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);align-items:center;gap:5vw;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 70% 48%,#1a1a1a 0,transparent 34%),linear-gradient(120deg,#030303 0%,#090909 55%,#030303 100%)}
.hero-grid{position:absolute;inset:0;z-index:-5;opacity:.13;background-image:linear-gradient(#fff1 1px,transparent 1px),linear-gradient(90deg,#fff1 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,#000,transparent 75%)}
.paint-layer{position:absolute;pointer-events:none;will-change:transform;z-index:-1;user-select:none;filter:grayscale(1) saturate(0) brightness(.72) contrast(1.12)}
.hero-paint-a{width:56vw;left:-18vw;top:4vh;opacity:.42;transform:rotate(-12deg)}
.hero-paint-b{width:50vw;right:-17vw;top:22vh;opacity:.38;transform:rotate(14deg)}
.hero-paint-c{width:42vw;left:31vw;bottom:-17vh;opacity:.24;transform:rotate(-7deg)}

.hero-copy{z-index:4;max-width:720px}
.kicker{margin:0 0 19px;font-size:10px;font-weight:900;letter-spacing:.28em;color:#b6b6b6}
.display,.display-small{font-family:var(--display);font-weight:400;font-synthesis:none;text-transform:uppercase;letter-spacing:-.01em;margin:0;line-height:.77;text-rendering:optimizeLegibility}
.display{font-size:clamp(80px,9vw,160px)}
.display span,.display strong{display:block}
.display strong{font-weight:400;color:var(--pink);text-shadow:8px 8px 0 #ffffff22}
.hero-lead{max-width:590px;margin:28px 0 0;color:#c5c5c5;font-size:clamp(16px,1.3vw,20px);line-height:1.65}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.btn{min-height:50px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;gap:20px;font-size:11px;font-weight:900;letter-spacing:.07em;text-decoration:none;border:0;cursor:pointer;transition:transform .25s,background .25s,color .25s;position:relative;overflow:hidden}
.btn:hover{transform:translateY(-3px)}
.btn-hot{background:linear-gradient(90deg,#ffffff,#d7d7d7);color:#050505;box-shadow:12px 12px 0 #bdbdbd40}
.btn-hot:hover{background:#b3b3b3;color:#050505}
.btn-ghost{border:1px solid #ffffff55;background:#06060699;color:#fff}
.btn-light{background:#fff;color:#050505;width:100%;margin-top:16px}
.micro-row{margin-top:30px;display:flex;gap:14px;align-items:center;flex-wrap:wrap;color:#b4b4b4;font-size:9px;font-weight:800;letter-spacing:.12em}
.micro-row i{width:24px;height:1px;background:#666}

.hero-art{position:relative;z-index:3;height:min(72vh,700px);display:grid;place-items:center}
.paint-ring{display:none}
.logo-halo{position:absolute;width:62%;aspect-ratio:1;border-radius:50%;background:conic-gradient(from 180deg,#ffffff,#d7d7d7,#a9a9a9,#bdbdbd,#ffffff);filter:blur(60px);opacity:.18;animation:ringSpin 20s linear infinite reverse}
.hero-logo{position:relative;z-index:4;width:min(50vw,660px);max-height:92%;object-fit:contain;filter:invert(1) brightness(2) drop-shadow(0 24px 50px #000);animation:logoFloat 6s ease-in-out infinite}
.orbit{display:none}
.orbit-one{width:75%;aspect-ratio:1}
.orbit-two{width:57%;aspect-ratio:1;animation-duration:13s;animation-direction:reverse}
.scroll-cue{position:absolute;left:clamp(18px,2.4vw,40px);bottom:28px;font-size:8px;letter-spacing:.32em;color:#999;writing-mode:vertical-rl;display:flex;align-items:center;gap:10px}
.scroll-cue span{width:1px;height:48px;background:#aaa}

.marquee{background:#f1f1f1;color:#050505;overflow:hidden;padding:14px 0;position:relative;z-index:4;border-top:1px solid #d8d8d8;border-bottom:1px solid #d8d8d8}
.marquee-track{display:flex;width:max-content;align-items:center;gap:28px;font:400 30px var(--display);letter-spacing:.03em;animation:marquee 19s linear infinite}
.marquee-track b{font-family:var(--body);font-size:13px;color:var(--green)}

.section{position:relative;padding:clamp(92px,10vw,150px) clamp(20px,6vw,96px);overflow:hidden;isolation:isolate}
.section-head{position:relative;z-index:4}
.display-small{font-size:clamp(58px,6.8vw,108px)}
.display-small strong{font-weight:400;color:var(--pink)}
.course-stack{margin-top:64px;display:grid;gap:14px;position:relative;z-index:5}
.paint-courses{right:-17vw;top:4%;width:56vw;opacity:.22}
.course-card{position:relative;display:grid;grid-template-columns:80px 1.1fr 1.2fr auto;align-items:center;gap:26px;min-height:180px;padding:28px 32px;border:1px solid #ffffff18;background:linear-gradient(110deg,#0d0d0d,#070707);overflow:hidden;transform-style:preserve-3d;transition:border-color .3s,background .3s,transform .2s}
.course-card:before{content:"";position:absolute;inset:-50%;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),#ffffff10,transparent 19%);pointer-events:none}
.course-card:hover{border-color:#ffffff45;background:#0d0d0d}
.course-num{font:400 52px var(--display);color:#494949}
.course-title h3{font:400 clamp(40px,4.8vw,74px)/.78 var(--display);font-synthesis:none;letter-spacing:-.01em;margin:0;text-rendering:optimizeLegibility}
.course-title span{display:block;margin-top:8px;font-size:10px;font-weight:900;letter-spacing:.2em;color:#aaa}
.course-card p{margin:0;max-width:460px;color:#aaa;line-height:1.65;font-size:14px}
.course-tag{font-size:9px;font-weight:900;letter-spacing:.13em;writing-mode:vertical-rl}
.pink{color:var(--pink)}.cyan{color:var(--cyan)}.orange{color:var(--orange)}.yellow{color:var(--yellow)}.green{color:var(--green)}

.flow-section{min-height:85vh;position:relative;overflow:hidden;display:flex;align-items:center;padding:120px clamp(20px,6vw,96px);isolation:isolate;background:#ededed;color:#050505;border-top:1px solid #dcdcdc;border-bottom:1px solid #dcdcdc}
.flow-word{position:absolute;font:400 48vw/.7 var(--display);right:-4vw;bottom:-7vw;color:#00000008;white-space:nowrap;will-change:transform}
.flow-paint-a{width:46vw;left:-17vw;bottom:-5vw;opacity:.24;mix-blend-mode:multiply}
.flow-paint-b{width:43vw;right:-17vw;top:-3vw;opacity:.18;mix-blend-mode:multiply}
.flow-copy{position:relative;z-index:4;width:min(700px,70%)}
.flow-copy .kicker{color:#555}
.flow-copy .display-small strong{color:var(--pink);text-decoration:none}
.flow-copy>p:last-of-type{max-width:600px;font-size:17px;line-height:1.75;color:#444}
.pill-grid{display:flex;gap:9px;flex-wrap:wrap;margin-top:28px}
.pill-grid span{border:1px solid #111;padding:10px 14px;font-size:9px;font-weight:900;letter-spacing:.12em}

.schedule{background:#070707}
.schedule-wrap{display:grid;grid-template-columns:1fr minmax(420px,.8fr);gap:7vw;align-items:center}
.schedule-board{border:1px solid #ffffff24;padding:12px;background:#0b0b0b;box-shadow:20px 20px 0 var(--green)}
.schedule-line{display:grid;grid-template-columns:120px 1fr;gap:22px;align-items:start;padding:22px 16px;border-bottom:1px solid #ffffff14}
.schedule-line span{font-size:9px;color:#888;font-weight:900;letter-spacing:.18em}
.schedule-line strong{font-size:17px;line-height:1.4}
.location-line{border-bottom:0}

.experience{background:linear-gradient(180deg,#050505,#090909)}
.exp-paint{width:48vw;right:-12vw;bottom:-11vw;opacity:.18}
.section-intro{max-width:580px;color:#9e9e9e;line-height:1.7}
.media-grid{margin-top:58px;display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:260px 260px;gap:14px}
.media-card{position:relative;border:1px solid #ffffff17;background:#0b0b0b;overflow:hidden;display:flex;align-items:flex-end;padding:24px}
.media-large{grid-row:1/3}
.media-glow{position:absolute;inset:10%;filter:blur(60px);opacity:.25}
.pink-glow{background:var(--pink)}.cyan-glow{background:var(--cyan)}.orange-glow{background:var(--yellow)}.green-glow{background:var(--green)}
.media-card:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,#ffffff06,transparent 40%);pointer-events:none}
.media-card>div:last-child{position:relative;z-index:2}
.media-card strong{display:block;font:400 34px var(--display);font-synthesis:none;letter-spacing:-.01em}
.media-card small{color:#777;font-size:9px;letter-spacing:.15em}
.play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:72px;height:72px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center;z-index:3;padding-left:4px}

.open-day{position:relative;padding:clamp(100px,11vw,160px) clamp(20px,6vw,96px);overflow:hidden;isolation:isolate;background:#040404}
.open-paint-a{width:55vw;left:-20vw;top:-8vw;opacity:.22}
.open-paint-b{width:50vw;right:-15vw;bottom:-10vw;opacity:.20}
.open-grid{position:relative;z-index:5;display:grid;grid-template-columns:1fr minmax(420px,.75fr);gap:8vw;align-items:center}
.open-copy>p:not(.kicker){max-width:570px;color:#aaa;line-height:1.7}
.open-badges{margin-top:26px;display:grid;gap:7px}
.open-badges span{font-size:9px;font-weight:900;letter-spacing:.13em}
.open-badges span:before{content:"✦";color:var(--yellow);margin-right:10px}
.booking{padding:28px;background:#f1f1f1;color:#050505;box-shadow:18px 18px 0 var(--green)}
.booking label{display:block;font-size:9px;font-weight:900;letter-spacing:.13em;margin-bottom:19px}
.booking input,.booking select{display:block;width:100%;margin-top:7px;border:0;border-bottom:1px solid #999;background:transparent;padding:10px 0;font:600 15px var(--body);outline:none;color:#050505}
.booking-btn{width:100%;box-shadow:none;margin-top:4px}
.booking>small{display:block;margin-top:13px;color:#777;text-align:center;font-size:9px}

footer{padding:70px clamp(20px,6vw,96px) 30px;border-top:1px solid #ffffff15;background:#030303}
.footer-brand{display:flex;gap:18px;align-items:center}
.footer-brand img{width:76px;height:76px;object-fit:contain;filter:invert(1) brightness(2)}
.footer-brand strong{display:block;font:400 38px var(--display);font-synthesis:none;letter-spacing:-.01em}
.footer-brand span{display:block;color:#777;font-size:9px;letter-spacing:.16em}
.footer-links{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:52px}
.footer-links a{text-decoration:none;color:#777;font-size:9px;letter-spacing:.13em;line-height:1.7}
.footer-links strong{color:#fff;font-size:12px;letter-spacing:0}
.footer-bottom{margin-top:55px;border-top:1px solid #ffffff12;padding-top:20px;color:#555;font-size:9px;letter-spacing:.11em}
.footer-bottom>span{margin:0 8px}
.footer-legal{
  display:flex;
  flex-direction:column;
  gap:8px;
  line-height:1.55;
}
.footer-legal-main{font-weight:800;color:#fff}
.footer-legal-main>span{margin:0 6px}
.footer-legal-credit{color:#dcdcdc}
.footer-legal-credit strong{color:var(--lf-imola-cyan);font-weight:900}
.footer-legal-rights{max-width:920px;color:#8c8c8c;font-size:8px;letter-spacing:.09em}

.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.8,.2,1)}
.reveal.visible{opacity:1;transform:none}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes ringSpin{to{transform:rotate(360deg)}}
@keyframes logoFloat{50%{transform:translateY(-13px) rotate(.4deg)}}

@media(max-width:900px){
  .nav{height:68px;padding:0 16px}.nav-brand img{width:48px;height:48px}.nav-brand span{font-size:21px}
  .desktop-nav,.nav-cta{display:none}.menu-toggle{display:grid}
  .mobile-menu{position:fixed;z-index:75;inset:68px 0 0;background:#050505f7;backdrop-filter:blur(14px);padding:40px 24px;align-content:start;gap:2px;transform:translateX(100%);transition:transform .35s cubic-bezier(.2,.8,.2,1);display:grid}
  body.menu-open .mobile-menu{transform:none}
  .mobile-menu a{text-decoration:none;border-bottom:1px solid #ffffff16;padding:16px 0;font:400 32px var(--display);font-synthesis:none;letter-spacing:-.01em}
  .hero{grid-template-columns:1fr;padding:92px 18px 52px;align-content:start;gap:4px;min-height:100svh}
  .hero-copy{order:2;margin-top:-28px}.hero-art{height:42svh;min-height:300px;order:1}
  .display{font-size:clamp(72px,22vw,112px)}.hero-lead{font-size:15px;line-height:1.55;margin-top:18px}
  .hero-actions{margin-top:22px}.btn{width:100%}.micro-row{font-size:8px;margin-top:20px}
  .hero-logo{width:min(84vw,420px)}.paint-ring{display:none}
  .hero-paint-a{width:110vw;left:-65vw;opacity:.28}.hero-paint-b{width:105vw;right:-65vw;top:22vh;opacity:.24}.hero-paint-c{width:90vw;left:8vw;bottom:-8vh;opacity:.14}
  .scroll-cue{display:none}.marquee-track{font-size:25px}
  .section{padding:84px 18px}.display-small{font-size:clamp(50px,15vw,76px)}
  .course-stack{margin-top:42px}.course-card{grid-template-columns:48px 1fr;padding:23px 18px;gap:12px;min-height:0}
  .course-card p{grid-column:2;margin-top:4px}.course-tag{grid-column:2;writing-mode:horizontal-tb;margin-top:8px}.course-num{font-size:34px}.course-title h3{font-size:50px}
  .flow-section{padding:90px 18px;min-height:75vh}.flow-copy{width:100%}.flow-word{font-size:80vw}.flow-paint-a,.flow-paint-b{width:100vw;opacity:.14}
  .schedule-wrap,.open-grid{grid-template-columns:1fr;gap:44px}.schedule-board{box-shadow:9px 9px 0 var(--green)}.schedule-line{grid-template-columns:84px 1fr;padding:18px 10px}.schedule-line strong{font-size:14px}
  .media-grid{grid-template-columns:1fr;grid-template-rows:310px 190px 190px}.media-large{grid-row:auto}.exp-paint{width:100vw}
  .open-day{padding:90px 18px}.open-paint-a,.open-paint-b{width:100vw;opacity:.14}.booking{padding:22px;box-shadow:9px 9px 0 var(--green)}
  footer{padding:55px 18px 25px}.footer-links{grid-template-columns:1fr;gap:18px;margin-top:38px}.footer-brand img{width:64px;height:64px}
  .footer-legal{gap:7px;text-align:center}.footer-legal-rights{margin:0 auto;font-size:7px;line-height:1.65}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.reveal{transition:none;opacity:1;transform:none}.marquee-track,.paint-ring,.logo-halo,.hero-logo{animation:none!important}
}

/* user refinements */
.course-num{display:none !important;}
.flow-section{background:#f7f7f7 !important;border-top:1px solid #e6e6e6 !important;border-bottom:1px solid #e6e6e6 !important;}
.flow-copy .display-small strong{color:#8e8e8e !important;text-decoration:none !important;}
.flow-word{color:#00000008 !important;}
.flow-copy>p:last-of-type{color:#535353 !important;}
.pill-grid span{border-color:#cfcfcf !important;color:#222 !important;background:#f1f1f1 !important;}

/* Layout fix: titles above descriptions in Salsa and Bachata cards */
.course-card{
  display:flex !important;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
  min-height:0;
}
.course-title,
.course-card p,
.course-tag{
  width:100%;
}
.course-card p{
  order:2;
  margin-top:0 !important;
}
.course-tag{
  order:3;
  writing-mode:horizontal-tb;
  margin-top:2px;
}


/* user update: larger top banner logo */
.nav{height:84px !important;}
.nav-brand img{width:72px !important;height:72px !important;}
.nav-brand span{font-size:28px !important;}
@media(max-width:900px){.nav{height:74px !important;padding:0 16px}.nav-brand img{width:58px !important;height:58px !important}.nav-brand span{font-size:23px !important}.mobile-menu{inset:74px 0 0 !important}}


/* Course cards are now detail-page links */
.course-card{text-decoration:none;color:inherit;cursor:pointer;}
.course-more{order:4;margin-top:5px;font-size:9px;font-weight:900;letter-spacing:.15em;color:#d6d6d6;transition:transform .2s ease,color .2s ease;}
.course-card:hover .course-more{transform:translateX(5px);color:#fff;}

/* Course detail pages */
.course-page{min-height:100vh;background:#050505;padding-top:84px;}
.course-detail{position:relative;overflow:hidden;isolation:isolate;padding:clamp(72px,8vw,118px) clamp(20px,6vw,96px) 92px;}
.course-detail:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#050505 0%,#080808 100%);}
.course-detail .detail-paint-a{width:48vw;left:-18vw;top:-10vw;opacity:.16;}
.course-detail .detail-paint-b{width:44vw;right:-14vw;bottom:-16vw;opacity:.13;}
.detail-head{max-width:980px;margin-bottom:54px;}
.detail-head .display-small{font-size:clamp(64px,7.5vw,126px);}
.detail-intro{max-width:690px;margin-top:24px;color:#aaa;font-size:15px;line-height:1.7;}
.detail-cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;}
.detail-schedule{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;align-items:stretch;}
.timeline-card,.levels-card{position:relative;border:1px solid #ffffff1d;background:linear-gradient(135deg,#0d0d0d,#070707);padding:clamp(24px,3vw,40px);overflow:hidden;}
.timeline-card:before,.levels-card:before{content:"";position:absolute;inset:-35%;pointer-events:none;background:radial-gradient(circle at 85% 15%,#ffffff0e,transparent 22%);}
.detail-label{position:relative;z-index:2;display:block;font-size:9px;font-weight:900;letter-spacing:.22em;color:#777;margin-bottom:20px;}
.timeline{position:relative;z-index:2;display:grid;gap:0;}
.timeline-row{display:grid;grid-template-columns:155px 1fr;gap:22px;padding:23px 0;border-bottom:1px solid #ffffff12;align-items:start;}
.timeline-row:last-child{border-bottom:0;}
.timeline-time{font:400 28px var(--display);letter-spacing:.02em;color:#c9c9c9;}
.timeline-copy strong{display:block;font:400 42px/.9 var(--display);letter-spacing:-.01em;margin-bottom:8px;color:#f3f3f3;}
.timeline-copy p{margin:0;color:#8e8e8e;font-size:13px;line-height:1.6;}
.levels-card{display:flex;flex-direction:column;justify-content:space-between;}
.level-list{position:relative;z-index:2;display:grid;gap:14px;}
.level-item{padding:22px;border:1px solid #ffffff16;background:#080808;}
.level-item span{display:block;color:#777;font-size:9px;font-weight:900;letter-spacing:.16em;margin-bottom:8px;}
.level-item strong{font:400 44px/.9 var(--display);letter-spacing:.01em;color:#f1f1f1;}
.level-note{position:relative;z-index:2;color:#858585;line-height:1.65;font-size:12px;margin:24px 0 0;}
.detail-band{background:#f1f1f1;color:#050505;padding:14px 0;overflow:hidden;border-top:1px solid #d8d8d8;border-bottom:1px solid #d8d8d8;}
.detail-band .marquee-track{animation:marquee 19s linear infinite;}
.course-page-footer{margin-top:0;}

@media(max-width:900px){
  .course-page{padding-top:74px;}
  .course-detail{padding:64px 18px 72px;}
  .detail-head{margin-bottom:38px;}
  .detail-head .display-small{font-size:clamp(56px,17vw,82px);}
  .detail-intro{font-size:14px;}
  .detail-schedule{grid-template-columns:1fr;}
  .timeline-card,.levels-card{padding:22px 18px;}
  .timeline-row{grid-template-columns:1fr;gap:8px;padding:20px 0;}
  .timeline-time{font-size:24px;}
  .timeline-copy strong{font-size:38px;}
  .level-item strong{font-size:38px;}
  .detail-cta-row .btn{width:100%;}
}


/* V9 — levels before schedule + simpler time font */
.detail-schedule{
  display:flex !important;
  flex-direction:column;
  gap:22px;
}
.levels-card{
  order:1;
}
.timeline-card{
  order:2;
}
.level-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.timeline-time{
  font-family:var(--body) !important;
  font-weight:800 !important;
  font-size:22px !important;
  letter-spacing:.01em !important;
  line-height:1.2;
}
@media(max-width:900px){
  .level-list{grid-template-columns:1fr;}
  .timeline-time{font-size:18px !important;}
}

/* V11 — slightly smaller home course and experience titles */
#corsi .course-title h3{
  font-size:clamp(34px,4vw,62px) !important;
}
#experience .section-head .display-small{
  font-size:clamp(46px,5.2vw,82px) !important;
  line-height:.82;
}
@media(max-width:900px){
  #corsi .course-title h3{font-size:44px !important;}
  #experience .section-head .display-small{
    font-size:clamp(40px,12vw,60px) !important;
  }
}


/* V78 visibility fix: texture sopra il contenuto trasparente, testi sempre in primo piano */
.nav{
  background-color:rgba(5,5,5,.06) !important;
  backdrop-filter:blur(2px) !important;
  -webkit-backdrop-filter:blur(2px) !important;
}
.nav::after{
  z-index:0 !important;
  opacity:.84 !important;
  background-image:url('menu-paint-splashes-transparent.png') !important;
  mix-blend-mode:normal !important;
}
.nav>*{position:relative;z-index:1}

@media(max-width:900px){
  .mobile-menu{
    background-color:rgba(5,5,5,.06) !important;
    backdrop-filter:blur(2px) !important;
    -webkit-backdrop-filter:blur(2px) !important;
  }
  .mobile-menu::before{
    z-index:0 !important;
    opacity:.9 !important;
    background-image:url('menu-paint-splashes-transparent.png') !important;
    mix-blend-mode:normal !important;
  }
  .mobile-menu a{position:relative !important;z-index:2 !important}
}

/* V78 — trasparenza reale di barra/tendina e sfondo contatti su tutte le pagine */
.nav{
  isolation:isolate;
  overflow:hidden;
  background:rgba(5,5,5,.14) !important;
  backdrop-filter:blur(6px) saturate(1.08) !important;
  -webkit-backdrop-filter:blur(6px) saturate(1.08) !important;
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 8px 26px rgba(0,0,0,.12);
}
.nav::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background-image:url('menu-paint-splashes.png');
  background-repeat:no-repeat;
  background-size:100% auto;
  background-position:center 14%;
  mix-blend-mode:screen;
  opacity:.72;
}

footer,
.course-page-footer{
  background-color:#030303 !important;
  background-image:
    linear-gradient(90deg,rgba(3,3,3,.18),rgba(3,3,3,.05),rgba(3,3,3,.18)),
    url('menu-paint-splashes.png') !important;
  background-repeat:no-repeat !important;
  background-size:cover,100% auto !important;
  background-position:center,center bottom !important;
}

@media(max-width:900px){
  .mobile-menu{
    isolation:isolate;
    overflow:hidden;
    background:rgba(5,5,5,.14) !important;
    backdrop-filter:blur(6px) saturate(1.08) !important;
    -webkit-backdrop-filter:blur(6px) saturate(1.08) !important;
  }
  .mobile-menu::before{
    content:"";
    position:absolute;
    z-index:-1;
    inset:0;
    pointer-events:none;
    background-image:url('menu-paint-splashes.png');
    background-repeat:no-repeat;
    background-size:cover;
    background-position:center top;
    mix-blend-mode:screen;
    opacity:.82;
  }
  .mobile-menu a{
    position:relative;
    z-index:1;
  }

  footer,
  .course-page-footer{
    background-size:cover,auto 125% !important;
    background-position:center,center bottom !important;
  }
}

/* V78 final lock */
.nav{
  isolation:isolate !important;
  overflow:hidden !important;
  background:rgba(5,5,5,.06) !important;
  backdrop-filter:blur(2px) !important;
  -webkit-backdrop-filter:blur(2px) !important;
}
.nav::after{
  content:"" !important;
  position:absolute !important;
  z-index:0 !important;
  inset:0 !important;
  pointer-events:none !important;
  background:url('menu-paint-splashes-transparent.png') center 14%/100% auto no-repeat !important;
  mix-blend-mode:normal !important;
  opacity:.84 !important;
}
.nav>*{position:relative !important;z-index:1 !important}

footer,
.course-page-footer{
  background-color:#030303 !important;
  background-image:
    linear-gradient(90deg,rgba(3,3,3,.12),rgba(3,3,3,.02),rgba(3,3,3,.12)),
    url('menu-paint-splashes.png') !important;
  background-repeat:no-repeat !important;
  background-size:cover,100% auto !important;
  background-position:center,center bottom !important;
}

@media(max-width:900px){
  .mobile-menu{
    isolation:isolate !important;
    overflow:hidden !important;
    background:rgba(5,5,5,.06) !important;
    backdrop-filter:blur(2px) !important;
    -webkit-backdrop-filter:blur(2px) !important;
  }
  .mobile-menu::before{
    content:"" !important;
    position:absolute !important;
    z-index:0 !important;
    inset:0 !important;
    pointer-events:none !important;
    background:url('menu-paint-splashes-transparent.png') center top/cover no-repeat !important;
    mix-blend-mode:normal !important;
    opacity:.9 !important;
  }
  .mobile-menu a{position:relative !important;z-index:2 !important}
  footer,
  .course-page-footer{
    background-size:cover,auto 125% !important;
    background-position:center,center bottom !important;
  }
}


/* V12 — Chi siamo */
.about-page{min-height:100vh;background:#050505;padding-top:84px;}
.about-hero{position:relative;overflow:hidden;isolation:isolate;padding:clamp(82px,10vw,150px) clamp(20px,7vw,110px) 96px;}
.about-hero .about-paint-a{width:46vw;left:-18vw;top:-10vw;opacity:.13;}
.about-hero .about-paint-b{width:43vw;right:-14vw;bottom:-16vw;opacity:.10;}
.about-copy{position:relative;z-index:2;max-width:880px;}
.about-copy .display-small{font-size:clamp(72px,8.8vw,138px);}
.about-copy .display-small strong{color:#929292 !important;}
.about-lead{margin:28px 0 0;max-width:800px;font-size:clamp(20px,2vw,30px);line-height:1.42;font-weight:700;color:#f0f0f0;letter-spacing:-.025em;}
.about-text{margin:22px 0 0;max-width:760px;font-size:15px;line-height:1.75;color:#aaa;}
.about-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px;}
.about-values{padding:96px clamp(20px,7vw,110px);background:#f6f6f6;color:#050505;border-top:1px solid #dedede;border-bottom:1px solid #dedede;}
.about-values-head{max-width:850px;margin-bottom:46px;}
.about-values .kicker{color:#575757;}
.about-values .display-small strong{color:#8d8d8d !important;}
.about-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.about-card{position:relative;min-height:240px;padding:30px;border:1px solid #d4d4d4;background:#ededed;display:flex;flex-direction:column;align-items:flex-start;}
.about-card>span{font-size:10px;font-weight:900;letter-spacing:.22em;color:#8a8a8a;margin-bottom:auto;}
.about-card>strong{font-size:18px;line-height:1.12;letter-spacing:-.02em;margin-top:48px;}
.about-card>p{font-size:13px;line-height:1.65;color:#555;margin:12px 0 0;max-width:520px;}
.staff-section{padding:100px clamp(20px,7vw,110px) 110px;background:#050505;}
.staff-heading{max-width:850px;margin-bottom:40px;}
.staff-heading .display-small strong{color:#8f8f8f !important;}
.staff-heading>p:last-child{color:#999;line-height:1.65;margin:20px 0 0;}
.staff-photo-placeholder{aspect-ratio:16/9;min-height:360px;border:1px solid #ffffff22;background:linear-gradient(135deg,#111,#070707);display:grid;place-items:center;position:relative;overflow:hidden;}
.staff-photo-placeholder:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 49.8%,#ffffff0c 50%,transparent 50.2%),linear-gradient(45deg,transparent 49.8%,#ffffff0c 50%,transparent 50.2%);}
.staff-photo-inner{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;}
.staff-photo-inner span{font-size:9px;font-weight:900;letter-spacing:.28em;color:#777;}
.staff-photo-inner strong{font:400 clamp(44px,7vw,92px)/.8 var(--display);color:#f4f4f4;}
.staff-photo-inner small{font-size:11px;color:#777;letter-spacing:.08em;text-transform:uppercase;}
@media(max-width:900px){
  .about-page{padding-top:74px;}
  .about-hero{padding:72px 18px 72px;}
  .about-copy .display-small{font-size:clamp(60px,19vw,90px);}
  .about-lead{font-size:20px;}
  .about-text{font-size:14px;}
  .about-actions .btn{width:100%;}
  .about-values{padding:74px 18px;}
  .about-grid{grid-template-columns:1fr;}
  .about-card{min-height:210px;padding:24px 20px;}
  .staff-section{padding:76px 18px 86px;}
  .staff-photo-placeholder{aspect-ratio:4/5;min-height:430px;}
}


/* V13 — Chi siamo refinements */
.about-card>span{margin-bottom:10px !important;}
.about-card>strong{margin-top:0 !important;}
.staff-section{padding-top:76px !important;}
.staff-photo-placeholder:before{display:none !important;}
.staff-photo-inner,.staff-heading{display:none !important;}


/* V14 - Staff heading */
.staff-heading{
  margin:0 0 24px;
  font:400 clamp(44px,5.6vw,82px)/.85 var(--display);
  letter-spacing:-.01em;
  color:#f2f2f2;
  text-transform:uppercase;
}
@media(max-width:900px){
  .staff-heading{margin-bottom:18px;font-size:clamp(38px,12vw,58px);}
}


/* Home — CTA verso Chi siamo */
.flow-about-btn{
  margin-top:26px;
  background:#0a0a0a;
  color:#fff;
  border:1px solid #0a0a0a;
}
.flow-about-btn:hover{
  background:#2b2b2b;
  color:#fff;
}
@media(max-width:900px){
  .flow-about-btn{width:auto;min-width:220px;}
}


/* V16 — Livelli cliccabili con spiegazione a tendina */
.level-list{gap:12px !important;}
.level-dropdown{
  padding:0 !important;
  overflow:hidden;
  border:1px solid #ffffff22 !important;
  background:#0a0a0a !important;
  transition:border-color .22s ease, background .22s ease;
}
.level-dropdown:hover,
.level-dropdown[open]{
  border-color:#ffffff55 !important;
  background:#101010 !important;
}
.level-dropdown summary{
  list-style:none;
  cursor:pointer;
  display:grid;
  grid-template-columns:1fr auto 28px;
  align-items:center;
  gap:14px;
  padding:18px 20px;
  user-select:none;
}
.level-dropdown summary::-webkit-details-marker{display:none;}
.level-dropdown summary span{
  font:800 10px/1.2 var(--body);
  letter-spacing:.16em;
  color:#8f8f8f;
}
.level-dropdown summary strong{
  font:700 15px/1.2 var(--body) !important;
  letter-spacing:.08em;
  color:#f4f4f4;
}
.level-dropdown summary i{
  width:28px;
  height:28px;
  border:1px solid #ffffff2e;
  border-radius:50%;
  display:grid;
  place-items:center;
  font:400 18px/1 var(--body);
  color:#e7e7e7;
  font-style:normal;
  transition:transform .22s ease, background .22s ease;
}
.level-dropdown[open] summary i{
  transform:rotate(45deg);
  background:#f1f1f1;
  color:#050505;
}
.level-explainer{
  padding:0 20px 20px;
  border-top:1px solid #ffffff12;
  padding-top:16px;
  color:#b7b7b7;
  font:500 13px/1.7 var(--body);
}
@media(max-width:900px){
  .level-dropdown summary{
    grid-template-columns:1fr auto 26px;
    padding:16px;
    gap:10px;
  }
  .level-dropdown summary strong{font-size:14px !important;}
  .level-explainer{padding:14px 16px 17px;font-size:13px;}
}


/* V17 — Giorno sopra, livello sotto; pulsante leggermente più grande */
.level-dropdown summary{
  grid-template-columns:1fr 34px !important;
  grid-template-areas:
    "day icon"
    "level icon";
  row-gap:5px !important;
  column-gap:18px !important;
  padding:22px 24px !important;
  min-height:82px;
}
.level-dropdown summary span{
  grid-area:day;
  margin:0 !important;
  font-size:11px !important;
}
.level-dropdown summary strong{
  grid-area:level;
  font-size:17px !important;
  letter-spacing:.07em !important;
}
.level-dropdown summary i{
  grid-area:icon;
  width:34px !important;
  height:34px !important;
  font-size:20px !important;
}
@media(max-width:900px){
  .level-dropdown summary{
    grid-template-columns:1fr 32px !important;
    grid-template-areas:
      "day icon"
      "level icon";
    padding:20px !important;
    min-height:78px;
  }
  .level-dropdown summary span{font-size:10px !important;}
  .level-dropdown summary strong{font-size:16px !important;}
  .level-dropdown summary i{
    width:32px !important;
    height:32px !important;
    font-size:19px !important;
  }
}




/* V19 — Titolo staff su due righe e foto senza riga inferiore */
.staff-heading{
  display:block !important;
  margin:0 0 26px !important;
  font:400 clamp(48px,6vw,88px)/.86 var(--display) !important;
  letter-spacing:-.01em;
  color:#f2f2f2;
  text-transform:uppercase;
}
.staff-heading span{
  display:block;
}
.staff-photo{
  margin:0;
  width:100%;
  background:#fff;
  overflow:hidden;
  border:0 !important;
  box-shadow:none !important;
  line-height:0;
}
.staff-photo img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  background:#fff;
  border:0;
  margin:0;
}
@media(max-width:900px){
  .staff-heading{
    margin-bottom:18px !important;
    font-size:clamp(42px,13vw,62px) !important;
  }
  .staff-photo{
    border-left:0;
    border-right:0;
  }
}


/* V21 — Nomi sotto la foto, meno spazio tra sezioni, prolungamento bianco laterale */
.about-hero{padding-bottom:72px !important;}
.staff-section{padding:58px clamp(20px,7vw,110px) 62px !important;}
.about-values{padding:68px clamp(20px,7vw,110px) 72px !important;}
.about-values-head{margin-bottom:32px !important;}
.staff-heading{margin:0 0 18px !important;}
.staff-photo{
  margin:0;
  width:100%;
  background:#fff;
  padding:0 clamp(18px,3.2vw,54px) 18px !important;
  overflow:hidden;
  border:0 !important;
  box-shadow:none !important;
  line-height:0;
}
.staff-photo img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  background:#fff;
  border:0;
  margin:0;
}
.staff-names{
  display:block;
  margin-top:14px;
  text-align:center;
  font-size:12px;
  line-height:1.4;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#050505;
}
@media(max-width:900px){
  .about-hero{padding-bottom:54px !important;}
  .staff-section{padding:48px 18px 52px !important;}
  .about-values{padding:54px 18px 58px !important;}
  .staff-heading{margin-bottom:14px !important;}
  .staff-photo{padding:0 12px 14px !important;}
  .staff-names{font-size:10px; letter-spacing:.16em; margin-top:12px;}
}


/* V22 — sezione staff bianca + banda sotto invertita */
.staff-section{
  background:#ffffff !important;
}
.staff-heading{
  color:#050505 !important;
}
.staff-names{
  color:#050505 !important;
}
.detail-band{
  background:#050505 !important;
  color:#ffffff !important;
  border-top:1px solid #1a1a1a !important;
  border-bottom:1px solid #1a1a1a !important;
}
@media(max-width:900px){
  .staff-section{
    background:#ffffff !important;
  }
  .detail-band{
    background:#050505 !important;
    color:#ffffff !important;
  }
}


/* V24 — fascia ripristinata in fondo e continuità Staff / Il nostro modo */
.staff-section{
  background:#ffffff !important;
  padding-bottom:34px !important;
}
.about-values{
  background:#ffffff !important;
  color:#050505 !important;
  border-top:0 !important;
  padding-top:34px !important;
}
.about-values .kicker{color:#575757 !important;}
.about-values .display-small{color:#050505 !important;}
.about-values .display-small strong{color:#8d8d8d !important;}
.detail-band{
  background:#050505 !important;
  color:#ffffff !important;
  border-top:1px solid #1a1a1a !important;
  border-bottom:1px solid #1a1a1a !important;
}
@media(max-width:900px){
  .staff-section{padding-bottom:26px !important;}
  .about-values{padding-top:26px !important;}
}


/* V26 — Nuovo logo Latin Flow a colori */
.nav-brand img{
  filter:none !important;
  width:66px !important;
  height:66px !important;
}
.hero-logo{
  filter:drop-shadow(0 24px 50px #000) !important;
  width:min(55vw,700px) !important;
}
.footer-brand img{
  filter:none !important;
  width:92px !important;
  height:92px !important;
}
@media(max-width:900px){
  .nav-brand img{width:58px !important;height:58px !important;}
  .hero-logo{width:min(88vw,620px) !important;}
  .footer-brand img{width:82px !important;height:82px !important;}
}


/* V27 — barra superiore senza IMOLA + logo hero più in alto */
.hero-logo{
  top:-58px !important;
}
@media(max-width:900px){
  .hero-logo{top:-34px !important;}
}


/* V28 — logo home un po' più basso, titoli nei colori del logo, barra alta più stretta */
:root{
  --lf-yellow:#f4ea20;
  --lf-orange:#ff8a00;
  --lf-pink:#ff1fa8;
  --lf-cyan:#14cfff;
}

.nav{
  height:72px !important;
  padding:0 clamp(16px,3.5vw,54px) !important;
  gap:28px !important;
}
.nav-brand img{
  width:54px !important;
  height:54px !important;
}
.nav-cta{
  padding:10px 14px !important;
}
.hero-art{
  padding-top:24px !important;
}
.hero-logo{
  margin-top:18px !important;
}

.display,
.display-small,
.course-title h3,
.staff-heading,
.detail-head .display-small,
.about-copy .display-small,
.about-values .display-small,
.section-head .display-small{
  background:linear-gradient(90deg,var(--lf-yellow) 0%,var(--lf-orange) 22%,var(--lf-pink) 58%,var(--lf-cyan) 100%) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  color:transparent !important;
  text-shadow:none !important;
}
.display span,
.display strong,
.display-small strong{
  color:inherit !important;
  text-shadow:none !important;
}

@media(max-width:900px){
  .nav{
    height:64px !important;
    padding:0 14px !important;
  }
  .nav-brand img{
    width:44px !important;
    height:44px !important;
  }
  .mobile-menu{
    inset:64px 0 0 !important;
  }
  .hero-art{
    padding-top:14px !important;
  }
  .hero-logo{
    margin-top:12px !important;
  }
}


/* V29 — titoli fucsia con ombra viola, footer brand fucsia, CTA WhatsApp fucsia/viola */
:root{
  --lf-fuchsia:#ff1fa8;
  --lf-violet:#7b2cff;
}

.display,
.display-small,
.course-title h3,
.staff-heading,
.detail-head .display-small,
.about-copy .display-small,
.about-values .display-small,
.section-head .display-small{
  background:none !important;
  -webkit-background-clip:border-box !important;
  background-clip:border-box !important;
  color:var(--lf-fuchsia) !important;
  text-shadow:0 10px 0 rgba(123,44,255,.45) !important;
  line-height:.9 !important;
  padding-bottom:.08em !important;
  overflow:visible !important;
}
.display span,
.display strong,
.display-small strong{
  color:inherit !important;
  text-shadow:inherit !important;
}
.hero-copy .display,
.section-head .display-small,
.about-copy .display-small,
.about-values .display-small,
.staff-heading,
.detail-head .display-small{
  overflow:visible !important;
}
.footer-brand strong{
  color:var(--lf-fuchsia) !important;
  text-shadow:0 6px 0 rgba(123,44,255,.35) !important;
}
.booking-btn,
.btn.booking-btn,
button.booking-btn{
  background:linear-gradient(90deg,var(--lf-fuchsia),var(--lf-violet)) !important;
  color:#fff !important;
  box-shadow:12px 12px 0 rgba(123,44,255,.35) !important;
  border:0 !important;
}
.booking-btn:hover,
.btn.booking-btn:hover,
button.booking-btn:hover{
  background:linear-gradient(90deg,#ff47ba,#9050ff) !important;
  color:#fff !important;
}
@media(max-width:900px){
  .display,
  .display-small,
  .course-title h3,
  .staff-heading,
  .detail-head .display-small,
  .about-copy .display-small,
  .about-values .display-small,
  .section-head .display-small{
    line-height:.92 !important;
    padding-bottom:.1em !important;
    text-shadow:0 7px 0 rgba(123,44,255,.4) !important;
  }
}


/* V30 — parti grigie dei titoli nel celeste IMOLA del logo */
:root{
  --lf-imola-cyan:#14cfff;
}

/* Porzioni che nella base erano grigie */
.flow-copy .display-small strong,
.about-copy .display-small strong,
.about-values .display-small strong{
  color:var(--lf-imola-cyan) !important;
  text-shadow:0 10px 0 rgba(123,44,255,.45) !important;
}

@media(max-width:900px){
  .flow-copy .display-small strong,
  .about-copy .display-small strong,
  .about-values .display-small strong{
    text-shadow:0 7px 0 rgba(123,44,255,.4) !important;
  }
}


/* V31 — giallo Latin per le parti secondarie dei titoli + ombre nere su sfondo bianco */
:root{
  --lf-yellow:#f4ea20;
}

/* Tutte le porzioni dei titoli che nella base erano grigie */
.display-small strong,
.detail-head .display-small strong,
.about-copy .display-small strong,
.about-values .display-small strong,
.flow-copy .display-small strong{
  color:var(--lf-yellow) !important;
}

/* Ombre nere per i titoli nelle sezioni a sfondo bianco */
.flow-copy .display-small,
.flow-copy .display-small strong,
.about-values .display-small,
.about-values .display-small strong,
.staff-heading,
.staff-heading span{
  text-shadow:0 10px 0 rgba(0,0,0,.28) !important;
}

@media(max-width:900px){
  .flow-copy .display-small,
  .flow-copy .display-small strong,
  .about-values .display-small,
  .about-values .display-small strong,
  .staff-heading,
  .staff-heading span{
    text-shadow:0 7px 0 rgba(0,0,0,.26) !important;
  }
}


/* V32 — energia celeste, FLOW sovraimpresso celeste trasparente, ombre nere piene su sfondo bianco */
:root{
  --lf-imola-cyan:#14cfff;
}

/* Titolo BALLARE È / PIÙ DI UNA FIGURA: ombre nere piene */
.flow-copy .display-small,
.flow-copy .display-small strong{
  text-shadow:0 10px 0 #000 !important;
}

/* Grande FLOW in trasparenza nella sezione bianca */
.flow-word{
  color:rgba(20,207,255,.18) !important;
}

/* Titoli su sfondo bianco nella pagina Chi siamo: ombre nere piene */
.staff-heading,
.staff-heading span,
.about-values .display-small,
.about-values .display-small strong{
  text-shadow:0 10px 0 #000 !important;
}

/* Nella sezione experience, LA NOSTRA ENERGIA! diventa celeste ma mantiene l'ombra corrente */
.experience .display-small .energy-cyan{
  color:var(--lf-imola-cyan) !important;
}

@media(max-width:900px){
  .flow-copy .display-small,
  .flow-copy .display-small strong,
  .staff-heading,
  .staff-heading span,
  .about-values .display-small,
  .about-values .display-small strong{
    text-shadow:0 7px 0 #000 !important;
  }
  .flow-word{
    color:rgba(20,207,255,.16) !important;
  }
}


/* V33 — NEL celeste, open day badges fucsia/giallo, CTA cyan->fuchsia, salsa/bachata bianchi con ombra celeste */
:root{
  --lf-fuchsia:#ff1fa8;
  --lf-violet:#7b2cff;
  --lf-imola-cyan:#14cfff;
  --lf-yellow:#f4ea20;
}

/* Open Day: NEL celeste */
.open-copy .nel-cyan{
  color:var(--lf-imola-cyan) !important;
  text-shadow:inherit !important;
}

/* Open Day badges */
.open-badges span{
  color:var(--lf-yellow) !important;
}
.open-badges span:before{
  color:var(--lf-fuchsia) !important;
}

/* Pulsanti richiesti */
.hero .btn-hot,
.schedule .btn-light{
  background:linear-gradient(90deg,var(--lf-imola-cyan),var(--lf-fuchsia)) !important;
  color:#fff !important;
  box-shadow:12px 12px 0 rgba(123,44,255,.35) !important;
  border:0 !important;
}
.hero .btn-hot:hover,
.schedule .btn-light:hover{
  background:linear-gradient(90deg,#3fe2ff,#ff47ba) !important;
  color:#fff !important;
}

/* Home cards: SALSA / BACHATA */
.course-title h3{
  color:#fff !important;
  text-shadow:0 8px 0 var(--lf-imola-cyan) !important;
  background:none !important;
  -webkit-background-clip:border-box !important;
  background-clip:border-box !important;
}

/* Pagine corsi: SALSA / BACHATA */
.detail-head .title-white-cyan{
  color:#fff !important;
  text-shadow:0 10px 0 var(--lf-imola-cyan) !important;
}

@media(max-width:900px){
  .course-title h3{
    text-shadow:0 6px 0 var(--lf-imola-cyan) !important;
  }
  .detail-head .title-white-cyan{
    text-shadow:0 7px 0 var(--lf-imola-cyan) !important;
  }
}


/* V34 — raffinamenti colori home/open day */
:root{
  --lf-yellow:#f4ea20;
  --lf-orange:#ff8a00;
  --lf-fuchsia:#ff1fa8;
  --lf-violet:#7b2cff;
  --lf-imola-cyan:#14cfff;
}

/* HERO: FLOW giallo -> arancione come il cerchio del logo */
.hero-copy .display strong{
  background:linear-gradient(90deg,var(--lf-yellow),var(--lf-orange)) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  color:transparent !important;
}

/* Pulsante SCOPRI I CORSI: contorno giallo -> arancione, interno nero */
.hero .btn-ghost{
  background:linear-gradient(#060606,#060606) padding-box, linear-gradient(90deg,var(--lf-yellow),var(--lf-orange)) border-box !important;
  border:1px solid transparent !important;
  color:#fff !important;
  box-shadow:none !important;
}
.hero .btn-ghost:hover{
  background:linear-gradient(#111,#111) padding-box, linear-gradient(90deg,var(--lf-yellow),var(--lf-orange)) border-box !important;
  color:#fff !important;
}

/* Riga info sotto hero */
.micro-row span{
  color:var(--lf-imola-cyan) !important;
}
.micro-row i{
  background:#666 !important;
}

/* Fascia che scorre: puntini viola */
.marquee-track b{
  color:var(--lf-violet) !important;
}

/* BALLARE È viola, ombra nera */
.flow-copy .ballare-violet{
  color:var(--lf-violet) !important;
  text-shadow:0 10px 0 #000 !important;
}

/* Pulsante SCOPRI CHI SIAMO: viola -> celeste */
.flow-about-btn{
  background:linear-gradient(90deg,var(--lf-violet),var(--lf-imola-cyan)) !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:12px 12px 0 rgba(20,207,255,.22) !important;
}
.flow-about-btn:hover{
  background:linear-gradient(90deg,#9150ff,#43ddff) !important;
  color:#fff !important;
}

/* SCEGLI IL TUO RITMO: TUO e RITMO gialli, tutti sulla stessa riga */
.courses .section-head .display-small{
  line-height:.9 !important;
}
.courses .section-head .tuo-yellow,
.courses .section-head .display-small strong{
  color:var(--lf-yellow) !important;
}

/* Tabella QUANDO & DOVE: ombra bianca */
.schedule-board{
  box-shadow:20px 20px 0 #fff !important;
}

/* Open day: parole dopo i punti celesti, ombra del riquadro violetto */
.open-badges span{
  color:var(--lf-imola-cyan) !important;
}
.booking{
  box-shadow:18px 18px 0 var(--lf-violet) !important;
}

/* Mobile fine-tuning */
@media(max-width:900px){
  .flow-copy .ballare-violet{
    text-shadow:0 7px 0 #000 !important;
  }
  .schedule-board{
    box-shadow:12px 12px 0 #fff !important;
  }
  .booking{
    box-shadow:12px 12px 0 var(--lf-violet) !important;
  }
}


/* V35 — fix FLOW hero, rimuovi ombra prenota la prova, ombra schedule viola */
.hero-copy .display strong{
  display:inline-block !important;
  background:linear-gradient(90deg,var(--lf-yellow),var(--lf-orange)) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  color:transparent !important;
  opacity:1 !important;
}

.hero .btn-hot{
  box-shadow:none !important;
}
.hero .btn-hot:hover{
  box-shadow:none !important;
}

.schedule-board{
  box-shadow:18px 18px 0 var(--lf-violet) !important;
}

@media(max-width:900px){
  .schedule-board{
    box-shadow:12px 12px 0 var(--lf-violet) !important;
  }
}


/* V36 — spazio nel riquadro orari + fix definitivo FLOW hero */
.schedule-board{
  padding:12px 12px 26px !important;
}
.schedule .btn-light{
  margin-top:18px !important;
  margin-bottom:8px !important;
}

/* Hero title: evita trasparenza e tagli su FLOW */
.hero-copy .display{
  line-height:.9 !important;
  padding-bottom:.12em !important;
  overflow:visible !important;
}
.hero-copy .display span,
.hero-copy .display strong{
  display:block !important;
}
.hero-copy .display strong{
  line-height:1 !important;
  padding-bottom:.08em !important;
  color:var(--lf-orange) !important; /* fallback pieno */
  background-image:linear-gradient(90deg,var(--lf-yellow) 0%, var(--lf-orange) 100%) !important;
  background-repeat:no-repeat !important;
  background-size:100% 100% !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  text-fill-color:transparent !important;
  text-shadow:none !important;
  filter:none !important;
  opacity:1 !important;
  overflow:visible !important;
}

@media(max-width:900px){
  .schedule-board{
    padding:12px 12px 22px !important;
  }
  .schedule .btn-light{
    margin-top:16px !important;
    margin-bottom:6px !important;
  }
  .hero-copy .display{
    line-height:.92 !important;
    padding-bottom:.14em !important;
  }
  .hero-copy .display strong{
    padding-bottom:.1em !important;
  }
}


/* V37 — ombra su FLOW hero + niente taglio + spazio a destra del pulsante orari */
.hero-copy .display{
  line-height:1.02 !important;
  padding-bottom:.18em !important;
  overflow:visible !important;
}
.hero-copy .display strong{
  display:inline-block !important;
  line-height:1.02 !important;
  padding-bottom:.12em !important;
  background-image:linear-gradient(90deg,var(--lf-yellow) 0%, var(--lf-orange) 100%) !important;
  background-repeat:no-repeat !important;
  background-size:100% 100% !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  color:transparent !important;
  text-shadow:0 10px 0 rgba(123,44,255,.45) !important;
  filter:none !important;
  opacity:1 !important;
  overflow:visible !important;
}

.schedule .btn-light{
  width:calc(100% - 14px) !important;
  margin-right:14px !important;
  box-sizing:border-box !important;
}

@media(max-width:900px){
  .hero-copy .display{
    line-height:1.04 !important;
    padding-bottom:.2em !important;
  }
  .hero-copy .display strong{
    line-height:1.04 !important;
    padding-bottom:.14em !important;
    text-shadow:0 7px 0 rgba(123,44,255,.45) !important;
  }
  .schedule .btn-light{
    width:calc(100% - 10px) !important;
    margin-right:10px !important;
  }
}


/* V38 — FLOW hero pieno, non trasparente e non tagliato */
.hero-copy .display{
  line-height: 1.08 !important;
  padding-bottom: .22em !important;
  overflow: visible !important;
}
.hero-copy .display strong{
  display: inline-block !important;
  line-height: 1.05 !important;
  padding-bottom: .14em !important;
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: #ff9800 !important;
  color: #ff9800 !important;
  opacity: 1 !important;
  text-shadow: 0 10px 0 rgba(123,44,255,.45) !important;
  overflow: visible !important;
}

@media(max-width:900px){
  .hero-copy .display{
    line-height: 1.1 !important;
    padding-bottom: .24em !important;
  }
  .hero-copy .display strong{
    line-height: 1.08 !important;
    padding-bottom: .16em !important;
    text-shadow: 0 7px 0 rgba(123,44,255,.45) !important;
  }
}


/* V39 — bottoni chi siamo + hero, e titolo VIVI IL FLOW */
:root{
  --lf-fuchsia:#ff1fa8;
  --lf-violet:#7b2cff;
  --lf-imola-cyan:#14cfff;
}

/* Home hero: VIVI celeste, FLOW fucsia */
.hero-copy .display{
  overflow:visible !important;
}
.hero-copy .display span{
  color:var(--lf-imola-cyan) !important;
  -webkit-text-fill-color:var(--lf-imola-cyan) !important;
  background:none !important;
  text-shadow:0 10px 0 rgba(123,44,255,.45) !important;
}
.hero-copy .display strong{
  color:var(--lf-fuchsia) !important;
  -webkit-text-fill-color:var(--lf-fuchsia) !important;
  background:none !important;
  background-image:none !important;
  text-shadow:0 10px 0 rgba(123,44,255,.45) !important;
}

/* Pulsante pieno: celeste -> fucsia, senza ombra */
.hero .btn-hot,
.about-actions .btn-hot{
  background:linear-gradient(90deg,var(--lf-imola-cyan),var(--lf-fuchsia)) !important;
  color:#fff !important;
  box-shadow:none !important;
  border:0 !important;
}
.hero .btn-hot:hover,
.about-actions .btn-hot:hover{
  background:linear-gradient(90deg,#38deff,#ff47ba) !important;
  color:#fff !important;
  box-shadow:none !important;
}

/* Pulsante bordo: fucsia -> viola */
.hero .btn-ghost,
.about-actions .btn-ghost{
  background:linear-gradient(#060606,#060606) padding-box, linear-gradient(90deg,var(--lf-fuchsia),var(--lf-violet)) border-box !important;
  border:1px solid transparent !important;
  color:#fff !important;
  box-shadow:none !important;
}
.about-actions .btn-ghost{
  background:linear-gradient(#050505,#050505) padding-box, linear-gradient(90deg,var(--lf-fuchsia),var(--lf-violet)) border-box !important;
}
.hero .btn-ghost:hover,
.about-actions .btn-ghost:hover{
  background:linear-gradient(#111,#111) padding-box, linear-gradient(90deg,#ff47ba,#9150ff) border-box !important;
  color:#fff !important;
}

@media(max-width:900px){
  .hero-copy .display span,
  .hero-copy .display strong{
    text-shadow:0 7px 0 rgba(123,44,255,.45) !important;
  }
}


/* V40 — HERO + sezione staff + titolo POCHE */
:root{
  --lf-yellow:#f4ea20;
  --lf-violet:#7b2cff;
  --lf-imola-cyan:#14cfff;
}

/* Home: VIVI celeste, FLOW giallo pieno */
.hero-copy .display{
  overflow:visible !important;
  line-height:1.08 !important;
  padding-bottom:.18em !important;
}
.hero-copy .display span{
  color:var(--lf-imola-cyan) !important;
  -webkit-text-fill-color:var(--lf-imola-cyan) !important;
  background:none !important;
  text-shadow:0 10px 0 rgba(123,44,255,.45) !important;
}
.hero-copy .display strong{
  color:var(--lf-yellow) !important;
  -webkit-text-fill-color:var(--lf-yellow) !important;
  background:none !important;
  background-image:none !important;
  text-shadow:0 10px 0 rgba(123,44,255,.45) !important;
  line-height:1.02 !important;
  padding-bottom:.14em !important;
  overflow:visible !important;
}

/* Sezione staff: foto full width, titolo centrale nero con ombra grigia */
.staff-section{
  padding:82px 0 96px !important;
  background:#fff !important;
}
.staff-heading{
  width:100% !important;
  max-width:none !important;
  margin:0 auto 20px !important;
  text-align:center !important;
  color:#000 !important;
  text-shadow:0 10px 0 rgba(140,140,140,.95) !important;
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.staff-heading span{
  display:block;
  color:#000 !important;
  text-shadow:0 10px 0 rgba(140,140,140,.95) !important;
}
.staff-photo{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  background:#fff !important;
  padding:0 0 16px !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.staff-photo img{
  display:block !important;
  width:100vw !important;
  max-width:100vw !important;
  height:auto !important;
  object-fit:contain !important;
  margin:0 auto !important;
  background:#fff !important;
}
.staff-names{
  text-align:center !important;
  margin-top:14px !important;
}

/* Titolo sezione: POCHE fucsia, PAROLE celeste, ombre viola */
.about-values .display-small,
.about-values .display-small strong,
.about-values .poche-fuchsia,
.about-values .parole-cyan{
  text-shadow:0 10px 0 var(--lf-violet) !important;
}
.about-values .poche-fuchsia{
  color:var(--lf-fuchsia) !important;
}
.about-values .parole-cyan{
  color:var(--lf-imola-cyan) !important;
}

@media(max-width:900px){
  .hero-copy .display{
    line-height:1.1 !important;
    padding-bottom:.2em !important;
  }
  .hero-copy .display span,
  .hero-copy .display strong{
    text-shadow:0 7px 0 rgba(123,44,255,.45) !important;
  }
  .staff-section{
    padding:64px 0 72px !important;
  }
  .staff-heading,
  .staff-heading span{
    text-shadow:0 7px 0 rgba(140,140,140,.95) !important;
  }
  .about-values .display-small,
  .about-values .display-small strong,
  .about-values .poche-fuchsia,
  .about-values .parole-cyan{
    text-shadow:0 7px 0 var(--lf-violet) !important;
  }
  .staff-photo{
    padding:0 0 12px !important;
  }
}


/* V41 — titolo hero: VIVI fucsia, IL celeste */
.hero-copy .display .vivi-fuchsia{
  color:var(--lf-fuchsia) !important;
  -webkit-text-fill-color:var(--lf-fuchsia) !important;
  background:none !important;
  text-shadow:0 10px 0 rgba(123,44,255,.45) !important;
}
.hero-copy .display .il-cyan{
  color:var(--lf-imola-cyan) !important;
  -webkit-text-fill-color:var(--lf-imola-cyan) !important;
  background:none !important;
  text-shadow:0 10px 0 rgba(123,44,255,.45) !important;
}

@media(max-width:900px){
  .hero-copy .display .vivi-fuchsia,
  .hero-copy .display .il-cyan{
    text-shadow:0 7px 0 rgba(123,44,255,.45) !important;
  }
}


/* V42 — VIVI e IL sulla stessa riga */
.hero-copy .display > span{
  display:block !important;
}
.hero-copy .display > span .vivi-fuchsia,
.hero-copy .display > span .il-cyan{
  display:inline-block !important;
  vertical-align:baseline !important;
}

@media(max-width:900px){
  .hero-copy .display > span .vivi-fuchsia,
  .hero-copy .display > span .il-cyan{
    display:inline-block !important;
  }
}

/* V43 — Sfondo nero: Il nostro modo di fare scuola */
.about-values{
  background:#050505 !important;
  border-top-color:#1a1a1a !important;
  border-bottom-color:#1a1a1a !important;
}
.about-values-head .display-small{
  color:#f5f5f5 !important;
}
.about-values .kicker{
  color:#9a9a9a !important;
}

/* V45 — Ombra di POCHE PAROLE MA CHIARE come CHI SIAMO */
.about-values .display-small,
.about-values .display-small strong,
.about-values .poche-fuchsia,
.about-values .parole-cyan{
  text-shadow:0 10px 0 #000 !important;
}

@media(max-width:900px){
  .about-values .display-small,
  .about-values .display-small strong,
  .about-values .poche-fuchsia,
  .about-values .parole-cyan{
    text-shadow:0 7px 0 #000 !important;
  }
}


/* V46 — BALLARE È PIÙ DI UNA FIGURA + CTA salsa/bachata */
.flow-copy .ballare-violet,
.flow-copy .di-una-figura-violet{
  color:var(--lf-violet) !important;
  -webkit-text-fill-color:var(--lf-violet) !important;
  background:none !important;
  text-shadow:0 10px 0 #000 !important;
}
.flow-copy .e-piu-yellow{
  color:var(--lf-yellow) !important;
  -webkit-text-fill-color:var(--lf-yellow) !important;
  background:none !important;
  text-shadow:0 10px 0 #000 !important;
}

.course-page .detail-cta-row .btn-hot{
  background:linear-gradient(90deg,var(--lf-imola-cyan),var(--lf-fuchsia)) !important;
  color:#fff !important;
  box-shadow:none !important;
  border:0 !important;
}
.course-page .detail-cta-row .btn-hot:hover{
  background:linear-gradient(90deg,#38deff,#ff47ba) !important;
  color:#fff !important;
  box-shadow:none !important;
}
.course-page .detail-cta-row .btn-ghost{
  background:linear-gradient(#060606,#060606) padding-box, linear-gradient(90deg,var(--lf-fuchsia),var(--lf-violet)) border-box !important;
  border:1px solid transparent !important;
  color:#fff !important;
  box-shadow:none !important;
}
.course-page .detail-cta-row .btn-ghost:hover{
  background:linear-gradient(#111,#111) padding-box, linear-gradient(90deg,#ff47ba,#9150ff) border-box !important;
  color:#fff !important;
  box-shadow:none !important;
}

@media(max-width:900px){
  .flow-copy .ballare-violet,
  .flow-copy .di-una-figura-violet,
  .flow-copy .e-piu-yellow{
    text-shadow:0 7px 0 #000 !important;
  }
}


/* V47 — FLOW: È PIÙ nel secondo rigo e celeste */
.flow-copy .e-piu-cyan{
  display:inline-block !important;
  color:var(--lf-imola-cyan) !important;
  -webkit-text-fill-color:var(--lf-imola-cyan) !important;
  background:none !important;
  text-shadow:0 10px 0 #000 !important;
}

@media(max-width:900px){
  .flow-copy .e-piu-cyan{
    text-shadow:0 7px 0 #000 !important;
  }
}

/* V48 — Titoli SALSA e BACHATA nelle pagine corsi viola */
.detail-head .title-white-cyan{
  color:var(--lf-violet) !important;
  -webkit-text-fill-color:var(--lf-violet) !important;
}

/* V49 — Titoli SALSA/BACHATA nei riquadri viola + SCOPRI IL CORSO celeste */
#corsi .course-title h3,
.course-title h3{
  color:var(--lf-violet) !important;
  -webkit-text-fill-color:var(--lf-violet) !important;
}

.course-more{
  color:var(--lf-imola-cyan) !important;
}
.course-card:hover .course-more{
  color:var(--lf-imola-cyan) !important;
}

/* V50 — Scegli il tuo ritmo: sottotitoli fucsia, tag gialli */
#corsi .course-title span,
.course-title span{
  color:var(--lf-fuchsia) !important;
}

#corsi .course-tag,
.course-tag,
#corsi .course-tag.pink,
#corsi .course-tag.cyan{
  color:var(--lf-yellow) !important;
}

/* V52 — Ombra di POCHE PAROLE MA CHIARE uguale a CHI SIAMO? */
.about-values .display-small,
.about-values .display-small strong,
.about-values .poche-fuchsia,
.about-values .parole-cyan{
  text-shadow:0 10px 0 rgba(123,44,255,.45) !important;
}

@media(max-width:900px){
  .about-values .display-small,
  .about-values .display-small strong,
  .about-values .poche-fuchsia,
  .about-values .parole-cyan{
    text-shadow:0 7px 0 rgba(123,44,255,.4) !important;
  }
}

/* V53 — Menu mobile trasparente come la barra, separatori cyan->violet, bottone menu colorato */
@media(max-width:900px){
  .mobile-menu{
    background:linear-gradient(180deg,#050505e8,#05050545 72%,transparent) !important;
    backdrop-filter:blur(8px) !important;
    -webkit-backdrop-filter:blur(8px) !important;
  }

  .mobile-menu a{
    position:relative !important;
    border-bottom:0 !important;
  }

  .mobile-menu a::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:1px;
    background:linear-gradient(90deg,var(--lf-imola-cyan),var(--lf-violet));
    opacity:.95;
  }

  .menu-toggle{
    border:1px solid transparent !important;
    background:linear-gradient(#0a0a0aaa,#0a0a0aaa) padding-box,
               linear-gradient(90deg,var(--lf-imola-cyan),var(--lf-violet)) border-box !important;
    box-shadow:none !important;
  }

  .menu-toggle i{
    background:linear-gradient(90deg,var(--lf-yellow),var(--lf-orange)) !important;
    height:2px !important;
  }
}

/* V54 — Sfondo paint splash: bianco sulle sezioni chiare, nero sulle sezioni scure */
:root{
  --lf-bg-black-splash:url('bg-black-splashes.png');
  --lf-bg-white-splash:url('bg-white-splashes.png');
}

/* Sezioni scure */
.hero,
.section.courses,
.schedule,
.experience,
.open-day,
.about-hero,
.staff-section,
.about-values,
.course-detail,
.course-page-footer{
  background-image:var(--lf-bg-black-splash) !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:center !important;
}

/* Sezioni chiare */
.flow-section,
.marquee,
.detail-band{
  background-image:var(--lf-bg-white-splash) !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:center !important;
}

/* Mantiene leggibilità e struttura */
.course-detail:before,
.hero-grid{
  display:none !important;
}

@media(max-width:900px){
  .hero,
  .section.courses,
  .schedule,
  .experience,
  .open-day,
  .about-hero,
  .staff-section,
  .about-values,
  .course-detail,
  .course-page-footer,
  .flow-section,
  .marquee,
  .detail-band{
    background-size:cover !important;
    background-position:center !important;
  }
}


/* V55 — Fasce bianche con testo nero + staff su sfondo bianco */
.marquee,
.detail-band{
  color:#000 !important;
}
.marquee-track,
.detail-band .marquee-track,
.marquee-track span,
.detail-band .marquee-track span,
.marquee-track b,
.detail-band .marquee-track b{
  color:#000 !important;
}

.staff-section,
.staff-photo,
.staff-photo img{
  background:#fff !important;
}
.staff-photo{
  box-shadow:none !important;
  border:0 !important;
}
.staff-photo img{
  object-fit:contain !important;
}


/* V56 — marquee spostata in fondo home + testi Open Day adattivi */
.open-day .kicker,
.open-copy > p:not(.kicker),
.open-badges span{
  color:#fff !important;
}

.booking > small,
.booking label{
  color:#000 !important;
}

.booking input::placeholder,
.booking select,
.booking input{
  color:#050505 !important;
}

/* V57 — placeholder Open Day grigio + testi grigi adattivi fuori dai riquadri */
/* Placeholder nel form Open Day */
.booking input::placeholder{
  color:#8a8a8a !important;
  opacity:1 !important;
}

/* Sfondo scuro: testi grigi fuori dai riquadri -> bianchi */
.hero .kicker,
.hero-lead,
.courses .kicker,
.schedule .kicker,
.experience .kicker,
.experience .section-intro,
.open-day .kicker,
.open-copy > p:not(.kicker),
.about-hero .kicker,
.about-text,
.about-values .kicker,
.course-detail .kicker,
.course-detail .detail-intro,
footer .footer-brand span,
footer .footer-links a,
footer .footer-bottom,
.course-page-footer .footer-brand span,
.course-page-footer .footer-links a,
.course-page-footer .footer-bottom{
  color:#fff !important;
}

/* Sfondo chiaro: testi grigi fuori dai riquadri -> neri */
.flow-section .kicker,
.flow-copy > p:last-of-type,
.staff-names,
.marquee,
.marquee-track,
.marquee-track span,
.marquee-track b,
.detail-band,
.detail-band .marquee-track,
.detail-band .marquee-track span,
.detail-band .marquee-track b{
  color:#000 !important;
}


/* V58 — No parallax + immagine Salsa Casino Cubano nel riquadro home */
.paint-layer,
.flow-word,
.paint-ring,
.logo-halo,
.orbit{
  will-change:auto !important;
}

.salsa-card{
  position:relative !important;
}
.salsa-card .course-title,
.salsa-card p,
.salsa-card .course-tag,
.salsa-card .course-more,
.salsa-card .course-num{
  position:relative;
  z-index:2;
}
.salsa-card .salsa-ghost-art{
  position:absolute;
  right:14px;
  bottom:8px;
  width:min(41%, 260px);
  max-height:88%;
  object-fit:contain;
  opacity:.18;
  pointer-events:none;
  z-index:1;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.35));
  transition:opacity .25s ease, transform .25s ease, filter .25s ease;
}
.salsa-card:hover .salsa-ghost-art{
  opacity:.28;
  transform:scale(1.03) translateX(-6px);
  filter:drop-shadow(0 12px 24px rgba(255,31,168,.18));
}
.salsa-card:active .salsa-ghost-art{
  opacity:.35;
  transform:scale(1.05) translateX(-8px);
  filter:drop-shadow(0 14px 28px rgba(20,207,255,.22));
}
@media(max-width:900px){
  .salsa-card .salsa-ghost-art{
    width:44%;
    right:8px;
    bottom:6px;
    opacity:.16;
  }
  .salsa-card:hover .salsa-ghost-art,
  .salsa-card:active .salsa-ghost-art{
    opacity:.24;
    transform:scale(1.02);
  }
}


/* V60 — Solo fix su base V58: art Salsa a tutta presenza e ballerini colorati */
.salsa-card .salsa-ghost-art{
  position:absolute;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  right:auto !important;
  bottom:auto !important;
  object-fit:cover !important;
  object-position:center right !important;
  opacity:.26 !important;
  pointer-events:none;
  z-index:1;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.35));
  transition:opacity .25s ease, transform .25s ease, filter .25s ease;
}
.salsa-card:hover .salsa-ghost-art{
  opacity:.34 !important;
  transform:scale(1.02) !important;
  filter:drop-shadow(0 12px 24px rgba(255,31,168,.18));
}
.salsa-card:active .salsa-ghost-art{
  opacity:.4 !important;
  transform:scale(1.03) !important;
  filter:drop-shadow(0 14px 28px rgba(20,207,255,.22));
}
.salsa-card .course-title,
.salsa-card p,
.salsa-card .course-tag,
.salsa-card .course-more,
.salsa-card .course-num{
  position:relative;
  z-index:2;
}
.salsa-card .course-title,
.salsa-card p{
  text-shadow:0 2px 10px rgba(0,0,0,.55);
}
@media(max-width:900px){
  .salsa-card .salsa-ghost-art{
    object-position:68% center !important;
    opacity:.22 !important;
  }
  .salsa-card:hover .salsa-ghost-art,
  .salsa-card:active .salsa-ghost-art{
    opacity:.3 !important;
    transform:scale(1.015) !important;
  }
}


/* V61 — Art Bachata a tutta presenza e ballerini colorati */
.bachata-card .bachata-ghost-art{
  position:absolute;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  right:auto !important;
  bottom:auto !important;
  object-fit:cover !important;
  object-position:center right !important;
  opacity:.26 !important;
  pointer-events:none;
  z-index:1;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.35));
  transition:opacity .25s ease, transform .25s ease, filter .25s ease;
}
.bachata-card:hover .bachata-ghost-art{
  opacity:.34 !important;
  transform:scale(1.02) !important;
  filter:drop-shadow(0 12px 24px rgba(255,31,168,.18));
}
.bachata-card:active .bachata-ghost-art{
  opacity:.4 !important;
  transform:scale(1.03) !important;
  filter:drop-shadow(0 14px 28px rgba(20,207,255,.22));
}
.bachata-card .course-title,
.bachata-card p,
.bachata-card .course-tag,
.bachata-card .course-more,
.bachata-card .course-num{
  position:relative;
  z-index:2;
}
.bachata-card .course-title,
.bachata-card p{
  text-shadow:0 2px 10px rgba(0,0,0,.55);
}
@media(max-width:900px){
  .bachata-card .bachata-ghost-art{
    object-position:68% center !important;
    opacity:.22 !important;
  }
  .bachata-card:hover .bachata-ghost-art,
  .bachata-card:active .bachata-ghost-art{
    opacity:.3 !important;
    transform:scale(1.015) !important;
  }
}


/* V62 — Staff section: splash background + nuova foto gruppo */
.staff-section{
  background:#fff url("staff-bg-splash.png") center center / cover no-repeat !important;
}
.staff-photo,
.staff-photo img{
  background:transparent !important;
}


/* V68 — Icone contatti paint style + bottone email Open Day */
.footer-social{
  display:flex;
  gap:16px;
  align-items:center;
  margin-top:34px;
  flex-wrap:wrap;
}
.social-icon{
  width:62px;
  height:62px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:linear-gradient(180deg,#0d0d0d,#050505);
  border:1px solid #ffffff16;
  box-shadow:0 10px 20px rgba(0,0,0,.28);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.social-icon img{
  width:42px;
  height:42px;
  display:block;
  filter:drop-shadow(0 6px 10px rgba(0,0,0,.22));
}
.social-icon:hover{
  transform:translateY(-2px) rotate(-2deg);
  border-color:#ffffff35;
}
.social-icon.ig:hover{box-shadow:0 14px 28px rgba(255,31,168,.20)}
.social-icon.wa:hover{box-shadow:0 14px 28px rgba(20,207,255,.20)}
.social-icon.mail:hover{box-shadow:0 14px 28px rgba(123,44,255,.20)}

.booking-mail-btn,
.btn.booking-mail-btn,
button.booking-mail-btn{
  width:100%;
  margin-top:10px;
  box-shadow:none !important;
}

@media(max-width:900px){
  .footer-social{margin-top:26px;gap:12px}
  .social-icon{width:56px;height:56px;border-radius:16px}
  .social-icon img{width:38px;height:38px}
}


/* V69 — icone inline nei contatti + pulsante email open day nero con bordo fucsia->viola */
.footer-links{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
  margin-top:52px;
}
.footer-links a.footer-link-item{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:#777;
  font-size:9px;
  letter-spacing:.13em;
  line-height:1.7;
}
.footer-links a.footer-link-item span{
  display:block;
}
.footer-inline-icon{
  width:32px;
  height:32px;
  flex:0 0 32px;
  display:block;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.22));
}
.footer-links a.footer-link-item strong{
  color:#fff;
  font-size:12px;
  letter-spacing:0;
}
.footer-links a.footer-link-item:hover .footer-inline-icon{
  transform:translateY(-1px) rotate(-3deg);
}
.footer-social{
  display:none !important;
}

.booking-mail-btn,
.btn.booking-mail-btn,
button.booking-mail-btn{
  width:100%;
  margin-top:10px;
  color:#fff !important;
  background:
    linear-gradient(#050505,#050505) padding-box,
    linear-gradient(90deg,var(--lf-fuchsia),var(--lf-violet)) border-box !important;
  border:1px solid transparent !important;
  box-shadow:none !important;
}
.booking-mail-btn:hover,
.btn.booking-mail-btn:hover,
button.booking-mail-btn:hover{
  color:#fff !important;
  background:
    linear-gradient(#111,#111) padding-box,
    linear-gradient(90deg,#ff47ba,#9150ff) border-box !important;
  border:1px solid transparent !important;
  box-shadow:none !important;
}

@media(max-width:900px){
  .footer-links{grid-template-columns:1fr;gap:18px;margin-top:38px}
  .footer-links a.footer-link-item{gap:10px}
  .footer-inline-icon{width:28px;height:28px;flex-basis:28px}
}


/* V74 — Rimossi i vecchi schizzi grigi/parallax di sfondo */
.paint-layer{
  display:none !important;
}

/* V75 — Link "La sala" e pagina dedicata */
.room-media-card{
  color:inherit;
  text-decoration:none;
  cursor:pointer;
  transition:transform .28s ease,border-color .28s ease,background .28s ease;
}
.room-media-card:hover{
  transform:translateY(-5px);
  border-color:rgba(20,207,255,.7);
  background:#101010;
}
.room-media-card:focus-visible{
  outline:3px solid var(--lf-imola-cyan);
  outline-offset:4px;
}
.room-card-photo{
  position:absolute;
  z-index:0;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .35s ease;
  filter:saturate(.92) contrast(1.04) brightness(.78);
}
.room-media-card::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 20%,rgba(5,5,5,.22) 50%,rgba(5,5,5,.94) 100%);
}
.room-media-card:hover .room-card-photo{
  transform:scale(1.035);
  filter:saturate(1) contrast(1.03) brightness(.88);
}
.room-media-card .media-glow{z-index:1;opacity:.12}
.room-media-card>div:last-child{position:static;z-index:3}
.room-media-card small{color:#e6e6e6}
.room-media-card .media-more{
  position:absolute;
  z-index:4;
  right:24px;
  bottom:20px;
  text-align:right;
}
.media-more{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-top:18px;
  color:var(--lf-imola-cyan);
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
}
.media-more b{
  font-size:17px;
  transition:transform .25s ease;
}
.room-media-card:hover .media-more b{transform:translateX(5px)}

.room-location-heading-link{
  color:inherit;
  text-decoration:none;
}
.room-location-heading-link h2{
  transition:filter .2s ease;
}
.room-location-heading-link:hover h2,
.room-location-heading-link:focus-visible h2{
  filter:brightness(1.14);
}
.room-location-heading-link:focus-visible{
  outline:3px solid var(--lf-imola-cyan);
  outline-offset:6px;
}

.room-page{
  min-height:100vh;
  background:#050505;
}
.room-hero{
  position:relative;
  min-height:88svh;
  padding:clamp(138px,14vw,190px) clamp(20px,6vw,96px) clamp(82px,9vw,130px);
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:7vw;
  align-items:center;
  overflow:hidden;
  isolation:isolate;
  background-image:var(--lf-bg-black-splash);
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center;
}
.room-hero::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:min(62vw,820px);
  aspect-ratio:1;
  right:-18vw;
  top:5%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(123,44,255,.3),rgba(255,31,168,.12) 36%,transparent 70%);
  filter:blur(12px);
}
.room-copy{position:relative;z-index:2;max-width:980px}
.room-title{
  margin:0;
  font:400 clamp(88px,12vw,190px)/.72 var(--display);
  letter-spacing:-.01em;
  text-transform:uppercase;
  color:var(--lf-fuchsia);
  text-shadow:0 12px 0 rgba(123,44,255,.55);
}
.room-lead{
  max-width:720px;
  margin:38px 0 0;
  color:#fff;
  font-size:clamp(18px,1.6vw,24px);
  font-weight:700;
  line-height:1.55;
}
.room-text{
  max-width:690px;
  margin:18px 0 0;
  color:#fff;
  font-size:16px;
  line-height:1.75;
}
.room-size{
  display:inline-block;
  color:var(--lf-yellow);
  font-size:1.3em;
  font-weight:900;
  letter-spacing:.01em;
  text-shadow:0 2px 0 #000;
}
.room-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.room-actions .btn{width:auto}
.room-actions .room-map-btn{
  color:#fff !important;
  background:linear-gradient(#060606,#060606) padding-box,
             linear-gradient(90deg,var(--lf-imola-cyan),var(--lf-violet)) border-box !important;
  border:1px solid transparent !important;
}
.room-photo-band{
  position:relative;
  z-index:3;
  width:100%;
  margin:0;
  overflow:hidden;
  background:#050505;
  border-top:1px solid rgba(255,255,255,.13);
  border-bottom:1px solid rgba(255,255,255,.13);
  line-height:0;
}
.room-photo-band img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1672/941;
  object-fit:cover;
  object-position:center;
}
.room-highlight{
  position:relative;
  min-height:430px;
  padding:0;
  display:block;
  border:1px solid rgba(255,255,255,.16);
  background:#0b0b0b;
  box-shadow:20px 20px 0 var(--lf-violet);
  overflow:hidden;
}
.room-map-frame{
  position:absolute;
  inset:-3%;
  width:106%;
  height:106%;
  border:0;
  pointer-events:none;
  filter:saturate(.42) contrast(1.08) brightness(.9);
}
.room-map-tint{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(5,5,5,.48),transparent 30%,transparent 66%,rgba(5,5,5,.62)),
    linear-gradient(135deg,rgba(123,44,255,.16),transparent 50%,rgba(20,207,255,.1));
}
.room-map-cover{
  position:absolute;
  inset:0;
  z-index:2;
  padding:30px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  color:#fff;
  text-decoration:none;
}
.room-map-kicker{
  color:#fff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.22em;
}
.room-map-pin{
  align-self:center;
  padding:16px 18px;
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:12px;
  align-items:center;
  background:rgba(5,5,5,.56);
  border:1px solid rgba(255,255,255,.46);
  box-shadow:6px 6px 0 rgba(123,44,255,.78);
  backdrop-filter:blur(3px);
}
.room-map-pin i{
  grid-row:1/3;
  width:18px;
  height:18px;
  border:5px solid var(--lf-fuchsia);
  border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);
}
.room-map-pin strong{
  font:400 36px/.8 var(--display);
  color:#fff;
}
.room-map-pin small{
  margin-top:5px;
  color:#fff;
  font-size:8px;
  font-weight:800;
  letter-spacing:.09em;
}
.room-map-open{
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#fff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
}
.room-map-open b{color:var(--lf-imola-cyan);font-size:18px}

/* Mappa orizzontale e scheda sede, ispirata al riferimento ma in stile Latin Flow */
.room-location{
  position:relative;
  padding:clamp(78px,9vw,130px) clamp(20px,6vw,96px);
  overflow:hidden;
  background-image:var(--lf-bg-black-splash);
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center;
}
.room-location-card{
  width:min(calc(100% - 18px),1240px);
  margin:0 auto;
  border:1px solid rgba(255,255,255,.18);
  background:#080808;
  box-shadow:16px 16px 0 var(--lf-violet);
  overflow:hidden;
}
.room-location-map{
  position:relative;
  height:clamp(420px,50vw,610px);
  background:#e9e9e9;
  overflow:hidden;
}
.room-location-map iframe{
  position:absolute;
  inset:-2%;
  width:104%;
  height:104%;
  border:0;
  pointer-events:none;
  filter:saturate(.72) contrast(1.04);
}
.room-location-map::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow:inset 0 -80px 90px rgba(5,5,5,.24);
}
.room-location-open{
  position:absolute;
  z-index:3;
  left:24px;
  top:24px;
  padding:15px 18px;
  display:inline-flex;
  align-items:center;
  gap:18px;
  color:#fff;
  text-decoration:none;
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  border:1px solid transparent;
  background:linear-gradient(rgba(5,5,5,.84),rgba(5,5,5,.84)) padding-box,
             linear-gradient(90deg,var(--lf-imola-cyan),var(--lf-fuchsia)) border-box;
  backdrop-filter:blur(8px);
}
.room-location-open b{color:var(--lf-imola-cyan);font-size:17px}
.room-location-info{
  padding:clamp(42px,6vw,76px);
  text-align:center;
  background:
    radial-gradient(circle at 50% 0,rgba(123,44,255,.2),transparent 42%),
    #080808;
}
.room-location-info .kicker{color:#fff !important}
.room-location-info h2{
  margin:0;
  font:400 clamp(62px,7.4vw,112px)/.78 var(--display);
  color:#fff;
  text-transform:uppercase;
}
.room-location-info h2 strong{
  color:var(--lf-fuchsia);
  font-weight:400;
  text-shadow:0 9px 0 rgba(123,44,255,.55);
}
.room-location-address{
  margin:34px 0 0;
  color:var(--lf-imola-cyan);
  font-size:clamp(15px,1.6vw,21px);
  font-weight:900;
  letter-spacing:.1em;
}
.room-location-address span{color:var(--lf-yellow);margin:0 8px}
.room-location-note{
  max-width:680px;
  margin:18px auto 0;
  color:#fff;
  font-size:15px;
  line-height:1.7;
}
.room-location-actions{
  margin-top:32px;
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}
.room-location-actions .room-map-btn{
  color:#fff !important;
  background:linear-gradient(#060606,#060606) padding-box,
             linear-gradient(90deg,var(--lf-imola-cyan),var(--lf-violet)) border-box !important;
  border:1px solid transparent !important;
}
.room-features{
  position:relative;
  padding:clamp(88px,10vw,145px) clamp(20px,6vw,96px);
  background-color:#fff;
  background-image:linear-gradient(rgba(255,255,255,.56),rgba(255,255,255,.56)),url('bg-room-light-splashes.png');
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center;
  color:#050505;
  overflow:hidden;
}
.room-features-head{max-width:820px}
.room-features .kicker{color:#000 !important}
.room-features-title{
  margin:0;
  font:400 clamp(62px,8vw,124px)/.78 var(--display);
  text-transform:uppercase;
  color:var(--lf-violet);
  text-shadow:0 9px 0 rgba(20,207,255,.38);
}
.room-feature-grid{
  margin-top:62px;
  width:100%;
  max-width:100%;
  min-width:0;
  padding:0 12px 12px 0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.room-feature{
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:245px;
  padding:26px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border:1px solid #d7d7d7;
  background:#fff;
  box-shadow:10px 10px 0 var(--lf-violet) !important;
  overflow:hidden;
}
.room-feature span{
  color:var(--lf-fuchsia);
  font-size:10px;
  font-weight:900;
  letter-spacing:.2em;
}
.room-feature strong{
  display:block;
  max-width:100%;
  font:400 clamp(30px,2.55vw,42px)/.9 var(--display);
  color:#050505;
  overflow-wrap:normal;
}
.room-feature p{margin:14px 0 0;color:#000;font-size:13px;line-height:1.6}
.room-closing{
  padding:clamp(90px,10vw,145px) clamp(20px,6vw,96px);
  text-align:center;
  background-image:var(--lf-bg-black-splash);
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center;
}
.room-closing .display-small{max-width:1000px;margin:0 auto}
.room-closing .display-small strong{color:var(--lf-fuchsia)}
.room-closing .btn{margin-top:34px}

/* Testi adattivi: bianco sullo scuro, nero sul chiaro */
.room-hero .kicker,
.room-hero .room-text,
.room-closing .kicker{color:#fff !important}
.room-features .kicker,
.room-features .room-feature p{color:#000 !important}

/* CTA uguali ai pulsanti principali del resto del sito */
.room-page .btn-hot{
  background:linear-gradient(90deg,var(--lf-imola-cyan),var(--lf-fuchsia)) !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:none !important;
}
.room-page .btn-hot:hover{
  background:linear-gradient(90deg,#38deff,#ff47ba) !important;
  color:#fff !important;
  box-shadow:none !important;
}

@media(max-width:900px){
  .room-hero{min-height:auto;grid-template-columns:1fr;gap:55px;padding:118px 18px 82px}
  .room-title{font-size:clamp(88px,27vw,132px);text-shadow:0 8px 0 rgba(123,44,255,.55)}
  .room-lead{margin-top:30px;font-size:18px}
  .room-text{font-size:15px}
  .room-actions .btn{width:100%}
  .room-photo-band img{
    min-height:265px;
    aspect-ratio:auto;
    object-position:center;
  }
  .room-highlight{min-height:360px;padding:0;box-shadow:10px 10px 0 var(--lf-violet)}
  .room-map-cover{padding:24px}
  .room-map-pin{width:min(100%,290px)}
  .room-map-pin strong{font-size:31px}
  .room-location{padding:58px 0}
  .room-location-card{width:100%;border-left:0;border-right:0;box-shadow:none}
  .room-location-map{height:430px}
  .room-location-open{left:16px;top:16px;padding:13px 15px;font-size:10px}
  .room-location-info{padding:42px 18px 48px}
  .room-location-info h2{font-size:clamp(52px,14.4vw,72px);text-shadow:none}
  .room-location-info h2 strong{text-shadow:0 6px 0 rgba(123,44,255,.55)}
  .room-location-address{font-size:14px;line-height:1.6}
  .room-location-note{font-size:14px}
  .room-location-actions{display:grid}
  .room-location-actions .btn{width:100%}
  .room-features{padding:84px 18px;background-size:auto 100%;background-position:center top}
  .room-features-title{font-size:clamp(62px,19vw,90px);text-shadow:0 6px 0 rgba(20,207,255,.38)}
  .room-feature-grid{grid-template-columns:minmax(0,1fr);margin-top:45px;gap:20px;padding:0 10px 10px 0}
  .room-feature{width:100%;max-width:100%;min-width:0;min-height:190px;padding:24px 20px;box-shadow:8px 8px 0 var(--lf-violet) !important;overflow:hidden}
  .room-feature strong{max-width:100%;font-size:clamp(30px,9.4vw,40px);line-height:.94;letter-spacing:-.01em;white-space:normal;overflow-wrap:break-word}
  .room-feature p{max-width:100%;overflow-wrap:break-word}
  .room-closing{padding:84px 18px}
}

/* V75 — sede semplificata e nuovo pulsante menu ispirato all'anello del logo */
.room-location-card{
  width:min(100%,1100px);
  border:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.room-location-info{
  padding:0 0 42px;
  background:transparent;
}
.room-location-info h2{
  font-size:clamp(56px,6.5vw,94px);
}
.room-location-address{
  margin-top:26px;
}
.room-location-map{
  width:calc(100% - 18px);
  height:clamp(380px,43vw,540px);
  margin:0 18px 18px 0;
  border:2px solid transparent;
  background:
    linear-gradient(#e9e9e9,#e9e9e9) padding-box,
    linear-gradient(110deg,var(--lf-yellow),var(--lf-fuchsia),var(--lf-imola-cyan)) border-box;
  box-shadow:14px 14px 0 var(--lf-violet);
}
.room-location-map iframe{
  inset:0;
  width:100%;
  height:100%;
  filter:saturate(.56) contrast(1.05);
}
.room-location-map::after{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}

@media(max-width:900px){
  .menu-toggle{
    position:relative !important;
    width:50px !important;
    height:50px !important;
    padding:0 !important;
    border:3px solid transparent !important;
    border-radius:50% !important;
    background:
      linear-gradient(#050505,#050505) padding-box,
      conic-gradient(from 210deg,var(--lf-yellow),var(--lf-orange),var(--lf-fuchsia),var(--lf-violet),var(--lf-imola-cyan),var(--lf-yellow)) border-box !important;
    box-shadow:0 0 18px rgba(255,31,168,.26),5px 5px 0 rgba(123,44,255,.34) !important;
    overflow:visible;
    transition:transform .28s ease,box-shadow .28s ease !important;
  }
  .menu-toggle::before{
    content:"";
    position:absolute;
    inset:4px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:50%;
    pointer-events:none;
  }
  .menu-toggle i{
    position:absolute !important;
    z-index:2;
    left:50% !important;
    top:50% !important;
    width:23px !important;
    height:3px !important;
    margin:0 !important;
    border-radius:999px !important;
    transition:transform .3s ease,background .3s ease !important;
  }
  .menu-toggle i:first-child{
    background:linear-gradient(90deg,var(--lf-yellow),var(--lf-fuchsia)) !important;
    transform:translate(-50%,-6px) rotate(-7deg);
  }
  .menu-toggle i:last-child{
    background:linear-gradient(90deg,var(--lf-imola-cyan),var(--lf-violet)) !important;
    transform:translate(-50%,5px) rotate(7deg);
  }
  body.menu-open .menu-toggle{
    transform:rotate(8deg) scale(1.04);
    box-shadow:0 0 22px rgba(20,207,255,.3),5px 5px 0 rgba(255,31,168,.34) !important;
  }
  body.menu-open .menu-toggle i:first-child{
    background:linear-gradient(90deg,var(--lf-yellow),var(--lf-fuchsia)) !important;
    transform:translate(-50%,-50%) rotate(45deg);
  }
  body.menu-open .menu-toggle i:last-child{
    background:linear-gradient(90deg,var(--lf-imola-cyan),var(--lf-violet)) !important;
    transform:translate(-50%,-50%) rotate(-45deg);
  }

  .room-location{
    padding:70px 18px;
  }
  .room-location-card{
    width:100%;
  }
  .room-location-info{
    padding:0 0 32px;
  }
  .room-location-info h2{
    font-size:clamp(46px,12.6vw,62px);
    line-height:.82;
  }
  .room-location-address{
    margin-top:22px;
    font-size:13px;
  }
  .room-location-map{
    width:calc(100% - 10px);
    height:330px;
    margin:0 10px 10px 0;
    box-shadow:8px 8px 0 var(--lf-violet);
  }
  .room-location-open{
    left:14px;
    top:14px;
  }
}

/* V77 — texture paint trasparente nella barra e nel menu mobile */
.nav{
  background-image:
    linear-gradient(90deg,rgba(5,5,5,.58),rgba(5,5,5,.34),rgba(5,5,5,.58)),
    url('menu-paint-splashes.png') !important;
  background-color:rgba(5,5,5,.42) !important;
  background-repeat:no-repeat !important;
  background-size:cover,100% auto !important;
  background-position:center,center 14% !important;
  background-blend-mode:normal,screen;
  backdrop-filter:blur(12px) saturate(1.12) !important;
  -webkit-backdrop-filter:blur(12px) saturate(1.12) !important;
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 8px 30px rgba(0,0,0,.18);
}

@media(max-width:900px){
  .mobile-menu{
    background-image:
      linear-gradient(rgba(5,5,5,.52),rgba(5,5,5,.42)),
      url('menu-paint-splashes.png') !important;
    background-color:rgba(5,5,5,.42) !important;
    background-repeat:no-repeat !important;
    background-size:cover !important;
    background-position:center top !important;
    background-blend-mode:normal,screen;
    backdrop-filter:blur(13px) saturate(1.14) !important;
    -webkit-backdrop-filter:blur(13px) saturate(1.14) !important;
  }

  .mobile-menu a,
  .mobile-menu a::after{
    border:0 !important;
  }
  .mobile-menu a::after{
    content:none !important;
    display:none !important;
  }

  .mobile-menu a{
    padding:15px 2px !important;
    font-size:clamp(34px,10vw,46px) !important;
    line-height:.88 !important;
    letter-spacing:.01em !important;
    transition:transform .22s ease,filter .22s ease !important;
  }
  .mobile-menu a:nth-child(odd){
    color:var(--lf-fuchsia) !important;
    text-shadow:3px 4px 0 var(--lf-violet),0 0 16px rgba(255,31,168,.2) !important;
  }
  .mobile-menu a:nth-child(even){
    color:var(--lf-yellow) !important;
    text-shadow:3px 4px 0 var(--lf-violet),0 0 16px rgba(123,44,255,.28) !important;
  }
  .mobile-menu a:hover,
  .mobile-menu a:focus-visible{
    transform:translateX(7px);
    filter:brightness(1.16);
    outline:none;
  }
}

/* V81 final overrides — Reel & Eventi */
.reels-media-card{
  color:#fff;
  text-decoration:none;
  cursor:pointer;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.reels-card-photo{
  position:absolute;
  z-index:0;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.96) contrast(1.04) brightness(.72);
  transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .35s ease;
}
.reels-media-card::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(4,4,4,.08) 0%,rgba(4,4,4,.22) 44%,rgba(4,4,4,.78) 100%);
}
.reels-media-card:hover{
  transform:translateY(-4px);
  border-color:rgba(20,207,255,.55);
  box-shadow:0 20px 50px rgba(20,207,255,.12);
}
.reels-media-card:hover .reels-card-photo{
  transform:scale(1.035);
  filter:saturate(1.04) contrast(1.04) brightness(.8);
}
.reels-media-card .media-glow{z-index:1;opacity:.08}
.reels-media-card>div:last-child{position:static;z-index:3}
.reels-card-title{
  position:absolute;
  z-index:2;
  top:60%;
  left:24px;
  transform:translateY(-50%);
  display:block !important;
  color:#fff !important;
  font:400 34px var(--display) !important;
  line-height:1 !important;
  letter-spacing:-.01em !important;
  text-shadow:none !important;
  white-space:nowrap;
}
.reels-media-card .media-more{
  position:absolute;
  z-index:3;
  right:24px;
  bottom:20px;
  color:var(--lf-imola-cyan) !important;
  text-align:right;
}
.reels-media-card:hover .media-more b{transform:translateX(5px)}

.reels-page{
  min-height:100vh;
  padding-top:84px;
  background:#050505;
  color:#fff;
  overflow:hidden;
}
.reels-hero{
  position:relative;
  isolation:isolate;
  width:100vw;
  max-width:none;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  min-height:72vh;
  display:flex;
  align-items:center;
  padding:clamp(90px,12vw,170px) clamp(20px,7vw,110px);
  background-color:#050505 !important;
  background-image:var(--lf-bg-black-splash) !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:center !important;
}
.reels-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,rgba(5,5,5,.2),rgba(5,5,5,.48));
}
.reels-hero::before{
  content:none;
  display:none;
}
.reels-paint{width:42vw;right:-16vw;bottom:-20vw;opacity:.12}
.reels-hero-copy{position:relative;z-index:2;max-width:900px}
.reels-hero .kicker{color:#fff !important}
.reels-title{
  margin:8px 0 24px;
  font:400 clamp(88px,11vw,178px)/.72 var(--display);
  letter-spacing:-.025em;
  text-transform:uppercase;
}
.reels-title span{color:var(--lf-fuchsia);text-shadow:0 10px 0 var(--lf-violet)}
.reels-title strong{color:var(--lf-violet);font-weight:400;text-shadow:0 10px 0 var(--lf-imola-cyan)}
.reels-title strong em{color:var(--lf-yellow);font-style:normal;text-shadow:0 10px 0 var(--lf-imola-cyan)}
.reels-hero-copy>p:last-child{max-width:650px;font-size:clamp(18px,2vw,26px);line-height:1.45;color:#fff !important}
.reels-gallery{
  padding:clamp(70px,9vw,120px) clamp(16px,5vw,76px);
  background:#080808;
}
.reels-grid{
  width:min(100%,1280px);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:start;
}
.reel-card{
  min-width:0;
  padding:12px;
  background:#030303;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:10px 10px 0 var(--lf-violet);
  overflow:hidden;
}
.reel-card:nth-child(even){box-shadow:10px 10px 0 var(--lf-imola-cyan)}
.reel-card .instagram-media{width:100% !important;min-width:0 !important;margin:0 !important}
.reels-closing{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  width:100vw;
  max-width:none;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:110px 20px;
  text-align:center;
  background-color:#050505 !important;
  background-image:var(--lf-bg-black-splash) !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:center !important;
}
.reels-closing::before{
  content:none;
  display:none;
}
.reels-closing>div{position:relative;z-index:1}
.reels-closing .display-small strong{color:var(--lf-yellow) !important}
.reels-closing .btn{margin-top:28px}
.reels-page .btn-hot{
  background:linear-gradient(90deg,var(--lf-imola-cyan),var(--lf-fuchsia)) !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:none !important;
}
.reels-page .btn-hot:hover{
  background:linear-gradient(90deg,#38deff,#ff47ba) !important;
  color:#fff !important;
  box-shadow:none !important;
}

@media(max-width:1000px){
  .reels-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .reels-page{padding-top:74px}
  .reels-hero{min-height:62vh;padding:90px 18px 80px;background-position:65% center}
  .reels-title{font-size:clamp(68px,23vw,108px);line-height:.76}
  .reels-title span{text-shadow:0 7px 0 var(--lf-violet)}
  .reels-title strong{text-shadow:0 7px 0 var(--lf-imola-cyan)}
  .reels-title strong em{text-shadow:0 7px 0 var(--lf-imola-cyan)}
  .reels-gallery{padding:64px 15px}
  .reels-grid{grid-template-columns:1fr;gap:28px}
  .reel-card{padding:7px;box-shadow:7px 7px 0 var(--lf-violet)}
  .reel-card:nth-child(even){box-shadow:7px 7px 0 var(--lf-imola-cyan)}
  .reels-closing{padding:86px 18px}
  .reels-card-title{top:60%;left:20px;font-size:34px !important}
  .reels-media-card .media-more{right:20px;bottom:18px}
  .room-media-card .media-more{right:20px;bottom:18px}
}

/* V79 — staff, contatti e trasparenze */
.staff-heading,
.staff-heading span{
  text-shadow:0 10px 0 rgba(20,207,255,.92) !important;
}

.nav{
  isolation:isolate !important;
  overflow:hidden !important;
  background-color:rgba(4,4,4,.42) !important;
  background-image:none !important;
  backdrop-filter:blur(7px) saturate(1.08) !important;
  -webkit-backdrop-filter:blur(7px) saturate(1.08) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  box-shadow:0 8px 28px rgba(0,0,0,.26) !important;
}
.nav::after{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
  background:url('menu-paint-splashes-transparent.png') center 14%/100% auto no-repeat;
  mix-blend-mode:normal;
  opacity:.68;
}
.nav>*{position:relative !important;z-index:1 !important}

footer,
.course-page-footer{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  width:100% !important;
  max-width:none !important;
  background:#030303 !important;
  background-image:none !important;
}
footer::before,
.course-page-footer::before{
  content:"";
  position:absolute;
  z-index:0;
  top:0;
  bottom:0;
  left:50%;
  width:100vw;
  transform:translateX(-50%);
  pointer-events:none;
  background-image:
    linear-gradient(90deg,rgba(3,3,3,.10),rgba(3,3,3,.02),rgba(3,3,3,.10)),
    url('menu-paint-splashes.png');
  background-repeat:no-repeat;
  background-size:cover,cover;
  background-position:center,center;
}
footer > *,
.course-page-footer > *{
  position:relative;
  z-index:1;
}

@media(max-width:900px){
  .staff-heading,
  .staff-heading span{
    text-shadow:0 7px 0 rgba(20,207,255,.92) !important;
  }
  .mobile-menu{
    isolation:isolate !important;
    overflow:hidden !important;
    background-color:rgba(4,4,4,.56) !important;
    background-image:none !important;
    backdrop-filter:blur(7px) saturate(1.08) !important;
    -webkit-backdrop-filter:blur(7px) saturate(1.08) !important;
  }
  .mobile-menu::before{
    content:"";
    position:absolute;
    z-index:0;
    inset:0;
    pointer-events:none;
    background:url('menu-paint-splashes-transparent.png') center top/cover no-repeat;
    mix-blend-mode:normal;
    opacity:.72;
  }
  .mobile-menu a{position:relative !important;z-index:2 !important}
  footer::before,
  .course-page-footer::before{
    background-size:cover,cover;
    background-position:center,center;
  }
}
