@import url('https://fonts.googleapis.com/css2?family=Spicy+Rice&family=Work+Sans:ital,wght@0,400;0,500;0,600;0,700;1,500&display=swap');

body.home { margin: 0; background: #fff; color: #222; font-family: "Work Sans", Arial, sans-serif; }
body.home #site-header, body.home .elementor-location-header { display:none !important; }
body.home .elementor-location-single, body.home .elementor-widget-html, body.home .elementor-widget-html .elementor-widget-container { width: 100%; }
body.home .elementor-location-single > .elementor-element { padding: 0 !important; }
.mf-home, .mf-home * { box-sizing: border-box; }
.mf-home { --blue:#087fc5; --gold:#d2a64f; --ink:#252525; --muted:#8b8f96; --soft:#f5f6fa; font-family:"Work Sans",Arial,sans-serif; color:var(--ink); overflow:hidden; }
.mf-home img { max-width:100%; display:block; }
.mf-home a { color:inherit; text-decoration:none; }
.mf-wrap { width:min(1170px,calc(100% - 48px)); margin-inline:auto; }
.mf-display, .mf-section-title { font-family:"Spicy Rice",cursive; font-weight:400; }
.mf-section-title { margin:0 0 52px; text-align:center; font-size:32px; line-height:1.1; color:#2a2a2a; }
.mf-btn { display:inline-flex; min-height:48px; align-items:center; justify-content:center; padding:0 28px; border-radius:3px; background:var(--gold); color:#fff !important; font-size:13px; font-weight:700; letter-spacing:.02em; text-transform:uppercase; transition:transform .18s ease,background-color .18s ease; }
.mf-btn:hover { background:#bd8d34; transform:translateY(-2px); }
.mf-top { background:#fff; }
.mf-top-inner { min-height:112px; display:grid; grid-template-columns:230px 1fr; align-items:center; gap:45px; }
.mf-logo img { width:172px; height:auto; }
.mf-contact { display:grid; grid-template-columns:1fr 1.25fr 1.45fr; gap:28px; align-items:center; }
.mf-contact-item { display:grid; grid-template-columns:40px 1fr; align-items:center; gap:12px; min-width:0; color:#a4a8ae; font-size:13px; line-height:1.35; }
.mf-contact-icon { width:38px; height:38px; display:grid; place-items:center; border:1px solid #e9ecef; border-radius:50%; color:var(--blue); font-size:15px; }
.mf-navbar { background:var(--blue); color:#fff; }
.mf-nav { min-height:66px; display:flex; justify-content:center; align-items:center; gap:30px; }
.mf-nav a { font-size:12px; line-height:1.15; font-weight:700; text-align:center; max-width:125px; }
.mf-nav a:first-child { color:#ffe54b; }
.mf-mobile-menu { display:none; }
.mf-hero { min-height:568px; position:relative; display:flex; align-items:center; background:url('https://lovm.ie/wp-content/uploads/2026/08/BFEA5D72-155D-D234-0A4366468447BF84.jpeg') center 43%/cover no-repeat; color:#fff; }
.mf-hero::before { content:""; position:absolute; inset:0; background:rgba(0,0,0,.38); pointer-events:none; }
.mf-hero > * { position:relative; z-index:1; }
.mf-hero-inner { padding-block:78px; }
.mf-hero h1 { max-width:760px; margin:0 0 30px; font-family:"Spicy Rice",cursive; font-size:64px; font-weight:400; line-height:.98; letter-spacing:.01em; text-shadow:0 2px 10px rgba(0,0,0,.22); }
.mf-hero-dots { position:absolute; left:max(24px,calc((100% - 1170px)/2)); bottom:35px; display:flex; gap:9px; }
.mf-hero-dots span { color:#fff; font-size:11px; font-weight:700; opacity:.8; }
.mf-hero-dots span.active { width:28px; height:28px; margin-top:-8px; display:grid; place-items:center; border-radius:50%; background:var(--gold); opacity:1; }
.mf-about { padding:92px 0; }
.mf-about-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:100px; align-items:center; }
.mf-about-image img { width:100%; aspect-ratio:570/368; object-fit:cover; }
.mf-about h2 { margin:0 0 28px; font-family:"Spicy Rice",cursive; font-size:37px; line-height:1.12; font-weight:400; }
.mf-about p { max-width:525px; margin:0 0 34px; color:#90949b; font-size:15px; line-height:1.65; }
.mf-blog { padding:86px 0 90px; background:var(--soft); }
.mf-blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.mf-post img { width:100%; aspect-ratio:370/264; object-fit:cover; }
.mf-post time { display:block; margin:19px 0 17px; color:#b5b8bd; font-size:11px; }
.mf-post h3 { margin:0 0 16px; color:var(--gold); font-size:19px; line-height:1.3; font-weight:500; }
.mf-post p { margin:0; color:#9a9ea5; font-size:13px; line-height:1.55; }
.mf-center { margin-top:52px; text-align:center; }
.mf-lessons { padding:86px 0 78px; }
.mf-lessons-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:58px 45px; }
.mf-lesson { text-align:center; }
.mf-lesson img { width:75px; height:75px; margin:0 auto 18px; object-fit:contain; }
.mf-lesson h3 { margin:0 0 9px; color:#7d8188; font-size:17px; font-weight:400; }
.mf-lesson p { margin:0 auto; max-width:290px; color:#a6a9ae; font-size:12px; line-height:1.45; }
.mf-facts { min-height:420px; position:relative; display:flex; align-items:center; padding:70px 0; background:url('parallax-counter.jpg') center/cover fixed; color:#fff; text-align:center; }
.mf-facts::before { content:""; position:absolute; inset:0; background:rgba(20,22,24,.72); pointer-events:none; }
.mf-facts > * { position:relative; z-index:1; }
.mf-facts h2 { margin-bottom:22px; color:#fff; }
.mf-facts-intro { max-width:740px; margin:0 auto 48px; color:#d2d5d8; font-size:13px; line-height:1.55; }
.mf-facts-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.mf-fact-icon { display:block; margin-bottom:12px; font-size:27px; line-height:1; }
.mf-fact strong { display:block; margin-bottom:8px; font-family:"Spicy Rice",cursive; font-size:43px; line-height:1; font-weight:400; }
.mf-fact span:last-child { color:#d3d6da; font-size:13px; }
.mf-teachers { padding:86px 0 92px; }
.mf-teacher-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:30px; }
.mf-teacher img { width:100%; aspect-ratio:1/1; object-fit:cover; }
.mf-teacher h3 { margin:18px 0 7px; color:var(--gold); font-size:15px; font-weight:500; }
.mf-teacher p { margin:0; color:#969aa0; font-size:11px; line-height:1.45; }
.mf-teacher p strong { display:block; color:#666b71; font-size:11px; }
.mf-cta { padding:31px 0; background:#76828c; color:#fff; }
.mf-cta-inner { display:flex; align-items:center; justify-content:center; gap:42px; }
.mf-cta h2 { margin:0; font-family:"Spicy Rice",cursive; font-size:21px; font-weight:400; }
.mf-cta em { font-family:"Work Sans",sans-serif; font-weight:500; }
.mf-footer { padding:82px 0 28px; background:#76828c; color:#dbe0e4; border-top:1px solid rgba(255,255,255,.1); }
.mf-footer-grid { display:grid; grid-template-columns:1fr 1fr 1.15fr; gap:80px; }
.mf-footer h3 { margin:0 0 25px; color:#fff; font-family:"Spicy Rice",cursive; font-size:17px; font-weight:400; }
.mf-footer p { margin:0 0 18px; font-size:12px; line-height:1.65; }
.mf-footer-post { margin-bottom:20px; }
.mf-footer-post a { display:block; margin-bottom:6px; font-size:12px; line-height:1.45; }
.mf-footer-meta { font-size:10px; color:#f2cf78; }
.mf-footer-meta a { display:inline; margin-left:9px; color:#fff; text-decoration:underline; }
.mf-gallery-mini { display:grid; grid-template-columns:repeat(4,1fr); gap:5px; }
.mf-gallery-mini img { width:100%; aspect-ratio:1/1; object-fit:cover; }
.mf-copyright { margin-top:70px; padding-top:22px; text-align:center; font-size:10px; color:#c7cdd1; border-top:1px solid rgba(255,255,255,.08); }
.mf-copyright a { color:#fff; text-decoration:underline; }

@media (max-width: 960px) {
  .mf-top-inner { min-height:88px; grid-template-columns:180px 1fr; gap:20px; }
  .mf-contact { grid-template-columns:1fr 1fr; }
  .mf-contact-item:last-child { display:none; }
  .mf-nav { gap:18px; }
  .mf-nav a { font-size:10px; }
  .mf-hero { min-height:500px; }
  .mf-hero h1 { font-size:52px; }
  .mf-about-grid { gap:48px; }
  .mf-footer-grid { gap:40px; }
}

@media (max-width: 720px) {
  .mf-wrap { width:min(100% - 34px,570px); }
  .mf-section-title { margin-bottom:34px; font-size:28px; }
  .mf-top-inner { min-height:80px; display:flex; justify-content:space-between; }
  .mf-logo img { width:146px; }
  .mf-contact, .mf-nav { display:none; }
  .mf-navbar { min-height:52px; }
  .mf-mobile-menu { display:block; position:relative; }
  .mf-mobile-menu summary { min-height:52px; display:flex; align-items:center; justify-content:space-between; color:#fff; font-size:13px; font-weight:700; cursor:pointer; list-style:none; }
  .mf-mobile-menu summary::-webkit-details-marker { display:none; }
  .mf-mobile-menu summary::after { content:'☰'; font-size:23px; }
  .mf-mobile-menu[open] summary::after { content:'×'; font-size:30px; }
  .mf-mobile-links { display:grid; padding:4px 0 18px; }
  .mf-mobile-links a { padding:9px 0; color:#fff; font-size:13px; border-top:1px solid rgba(255,255,255,.16); }
  .mf-hero { min-height:430px; background-position:60% center; }
  .mf-hero-inner { padding-block:60px 90px; }
  .mf-hero h1 { max-width:320px; font-size:41px; line-height:1.02; }
  .mf-about, .mf-blog, .mf-lessons, .mf-teachers { padding:64px 0; }
  .mf-about-grid { grid-template-columns:1fr; gap:34px; }
  .mf-about h2 { font-size:31px; }
  .mf-blog-grid { grid-template-columns:1fr; gap:48px; }
  .mf-lessons-grid { grid-template-columns:1fr 1fr; gap:42px 20px; }
  .mf-facts { min-height:auto; background-attachment:scroll; }
  .mf-facts-grid { grid-template-columns:1fr 1fr; gap:42px 20px; }
  .mf-teacher-grid { grid-template-columns:1fr 1fr; gap:38px 18px; }
  .mf-cta-inner { flex-direction:column; gap:20px; text-align:center; }
  .mf-footer-grid { grid-template-columns:1fr; gap:38px; }
  .mf-copyright { margin-top:46px; line-height:1.7; }
}

@media (max-width: 420px) {
  .mf-lessons-grid, .mf-teacher-grid { grid-template-columns:1fr; }
  .mf-teacher { max-width:310px; margin-inline:auto; }
}

@media (prefers-reduced-motion: reduce) {
  .mf-home *, .mf-home *::before, .mf-home *::after { scroll-behavior:auto !important; transition:none !important; }
}

/* Elementor-native component bridge. Every visible unit remains an Elementor
   container or widget; these rules preserve the reference site's proportions. */
.mf-home.e-con, .mf-home .e-con { --container-max-width:1170px; }
.mf-home.e-con { padding:0 !important; gap:0 !important; }
.mf-home .mf-wrap.e-con { width:min(1170px,calc(100% - 48px)); max-width:1170px; margin-inline:auto; padding-inline:0; flex-direction:column !important; }
.mf-home.e-con .mf-top-inner.e-con { min-height:112px; display:grid !important; grid-template-columns:230px 1fr; align-items:center; gap:45px; }
.mf-home.e-con .mf-contact.e-con { display:grid !important; grid-template-columns:1fr 1.25fr 1.45fr; gap:28px; align-items:center; }
.mf-home.e-con .mf-contact-item.e-con { display:grid !important; grid-template-columns:40px 1fr; align-items:center; gap:12px; }
.mf-home.e-con .mf-hero.e-con { min-height:568px; display:flex !important; flex-direction:column !important; justify-content:center; align-items:stretch; background:url('https://lovm.ie/wp-content/uploads/2026/08/BFEA5D72-155D-D234-0A4366468447BF84.jpeg') center 43%/cover no-repeat !important; }
.mf-home.e-con .mf-hero-dots-wrap.e-con { position:absolute; left:max(24px,calc((100% - 1170px)/2)); bottom:35px; width:auto; }
.mf-home.e-con .mf-hero-dots { position:static; }
.mf-home.e-con .mf-about.e-con { padding:92px 0 !important; background:#FFFFFF !important; }
.mf-home.e-con .mf-about-grid.e-con { display:grid !important; grid-template-columns:1.05fr .95fr; gap:100px; align-items:center; }
.mf-home.e-con .mf-about-copy.e-con, .mf-home.e-con .mf-post.e-con, .mf-home.e-con .mf-lesson.e-con, .mf-home.e-con .mf-fact.e-con, .mf-home.e-con .mf-teacher.e-con, .mf-home.e-con .mf-footer-column.e-con { flex-direction:column !important; }
.mf-home.e-con .mf-about-copy.e-con { gap:28px; align-items:flex-start; }
.mf-home.e-con .mf-blog.e-con { padding:86px 0 90px !important; background:#F5F6FA !important; }
.mf-home.e-con .mf-blog-grid.e-con { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.mf-home.e-con .mf-post.e-con { gap:16px; align-items:stretch; }
.mf-home.e-con .mf-lessons.e-con { padding:86px 0 78px !important; background:#FFFFFF !important; }
.mf-home.e-con .mf-lessons-grid.e-con { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:58px 45px; }
.mf-home.e-con .mf-lesson.e-con { gap:9px; align-items:center; text-align:center; }
.mf-home.e-con .mf-facts.e-con { min-height:420px; padding:70px 0 !important; background-image:url('https://lovm.ie/wp-content/plugins/musica-fusion-site/assets/parallax-counter.jpg') !important; background-position:center !important; background-size:cover !important; background-repeat:no-repeat !important; background-attachment:fixed !important; }
.mf-home.e-con .mf-facts.e-con::after { content:""; position:absolute; inset:0; z-index:0; background:url('https://lovm.ie/wp-content/plugins/musica-fusion-site/assets/parallax-counter.jpg') center/cover no-repeat; pointer-events:none; }
.mf-home.e-con .mf-facts.e-con::before { z-index:1; }
.mf-home.e-con .mf-facts.e-con > * { position:relative; z-index:2; }
.mf-home.e-con .mf-facts .mf-section-title .elementor-heading-title { color:#FFFFFF; }
.mf-home.e-con .mf-facts-grid.e-con { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.mf-home.e-con .mf-fact.e-con { gap:8px; align-items:center; text-align:center; }
.mf-home.e-con .mf-teachers.e-con { padding:86px 0 92px !important; background:#FFFFFF !important; }
.mf-home.e-con .mf-teacher-grid.e-con { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; }
.mf-home.e-con .mf-teacher.e-con { gap:7px; align-items:stretch; }
.mf-home.e-con .mf-cta.e-con { padding:31px 0 !important; background:#76828C !important; }
.mf-home.e-con .mf-cta-inner.e-con { display:flex !important; flex-direction:row !important; align-items:center; justify-content:center; gap:42px; }
.mf-home.e-con .mf-footer.e-con { padding:82px 0 28px !important; background:#76828C !important; }
.mf-home.e-con .mf-footer-grid.e-con { display:grid !important; grid-template-columns:1fr 1fr 1.15fr; gap:80px; }
.mf-home.e-con .mf-gallery-mini.e-con { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
.mf-home.e-con .mf-gallery-mini .elementor-widget-image img { width:100%; aspect-ratio:1/1; object-fit:cover; }
.mf-home.e-con .mf-center.e-con { margin-top:52px; align-items:center; }
.mf-home .elementor-widget { margin-bottom:0; }
.mf-home .mf-section-title .elementor-heading-title { font-family:"Spicy Rice",cursive; font-size:32px; line-height:1.1; font-weight:400; color:#2a2a2a; text-align:center; }
.mf-home .mf-section-title { width:100%; }
.mf-home .mf-btn { display:block; min-height:0; padding:0; background:none; }
.mf-home .mf-btn .elementor-button { min-height:48px; display:inline-flex; align-items:center; justify-content:center; padding:0 28px; border-radius:3px; background:#D2A64F; color:#fff; font-size:13px; font-weight:700; text-transform:uppercase; }
.mf-home .mf-btn .elementor-button:hover { background:#bd8d34; transform:translateY(-2px); }
.mf-home .mf-logo.elementor-widget-image img { width:172px; }
.mf-home .mf-contact-icon { width:38px; }
.mf-home .mf-contact-icon .elementor-icon { width:38px; height:38px; display:grid; place-items:center; border:1px solid #e9ecef; border-radius:50%; color:#087FC5; font-size:15px; }
.mf-home.e-con .mf-contact-icon .elementor-icon { color:#087FC5 !important; font-size:15px !important; }
.mf-home.e-con .mf-contact-icon .elementor-icon svg { width:15px; height:15px; }
.mf-home .mf-contact-item .elementor-heading-title { color:#a4a8ae; font-family:"Work Sans",sans-serif; font-size:13px; line-height:1.35; font-weight:400; }
.mf-home .mf-nav-native { width:100%; }
.mf-home .mf-nav-native .elementor-nav-menu--main .elementor-nav-menu { width:100%; display:flex; justify-content:center; align-items:center; gap:24px; }
.mf-home .mf-nav-native .elementor-item { padding:0; color:#fff; font-family:"Work Sans",sans-serif; font-size:11px; line-height:1.15; font-weight:700; text-align:center; }
.mf-home .mf-nav-native .elementor-item.elementor-item-active { color:#ffe54b; }
.mf-home .mf-nav-native .elementor-menu-toggle { margin-left:auto; color:#fff; background:transparent; }
.mf-home .mf-hero .elementor-heading-title { max-width:760px; color:#fff; font-family:"Spicy Rice",cursive; font-size:64px; line-height:.98; font-weight:400; text-shadow:0 2px 10px rgba(0,0,0,.22); }
.mf-home .mf-hero-dots p { margin:0; display:flex; align-items:center; gap:9px; color:#fff; font-size:11px; font-weight:700; }
.mf-home .mf-hero-dots p span { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:#D2A64F; }
.mf-home .mf-about-copy .elementor-heading-title { color:#252525; font-family:"Spicy Rice",cursive; font-size:37px; line-height:1.12; font-weight:400; }
.mf-home .mf-about-copy .elementor-widget-text-editor { color:#8B8F96; font-size:15px; line-height:1.65; }
.mf-home .mf-post .elementor-widget-image img { width:100%; aspect-ratio:370/264; object-fit:cover; }
.mf-home .mf-post-time { color:#8B8F96; font-size:11px; }
.mf-home .mf-post-title .elementor-heading-title { color:#D2A64F; font-family:"Work Sans",sans-serif; font-size:19px; line-height:1.3; font-weight:500; }
.mf-home .mf-post-copy { color:#8B8F96; font-size:13px; line-height:1.55; }
.mf-home .mf-lesson .elementor-widget-image img { width:75px; height:75px; object-fit:contain; }
.mf-home .mf-lesson-title .elementor-heading-title { color:#7d8188; font-family:"Work Sans",sans-serif; font-size:17px; font-weight:400; }
.mf-home .mf-lesson-copy { color:#8B8F96; font-size:12px; line-height:1.45; }
.mf-home .mf-fact-icon { color:#fff; font-size:27px; }
.mf-home .mf-fact-number .elementor-heading-title { color:#fff; font-family:"Spicy Rice",cursive; font-size:43px; line-height:1; font-weight:400; }
.mf-home .mf-fact-label .elementor-heading-title { color:#d3d6da; font-family:"Work Sans",sans-serif; font-size:13px; font-weight:400; }
.mf-home .mf-teacher .elementor-widget-image img { width:100%; aspect-ratio:1/1; object-fit:cover; }
.mf-home .mf-teacher-name .elementor-heading-title { color:#D2A64F; font-family:"Work Sans",sans-serif; font-size:15px; font-weight:500; }
.mf-home .mf-teacher-copy { color:#8B8F96; font-size:11px; line-height:1.45; }
.mf-home .mf-cta .elementor-heading-title { color:#fff; font-family:"Spicy Rice",cursive; font-size:21px; font-weight:400; }
.mf-home .mf-footer .elementor-heading-title { color:#fff; font-family:"Spicy Rice",cursive; font-size:17px; font-weight:400; }
.mf-home .mf-footer .elementor-widget-text-editor { color:#dbe0e4; font-size:12px; line-height:1.65; }
.mf-home .mf-gallery-mini .gallery { display:grid; grid-template-columns:repeat(4,1fr); gap:5px; }
.mf-home .mf-gallery-mini .gallery-item { margin:0; max-width:none; }
.mf-home .mf-gallery-mini img { width:100%; aspect-ratio:1/1; object-fit:cover; border:0; }

@media (max-width:720px) {
  .mf-home .mf-wrap.e-con { width:min(100% - 34px,570px); }
  .mf-home .mf-logo.elementor-widget-image img { width:146px; }
  .mf-home .mf-nav-native .elementor-nav-menu--main { display:none; }
  .mf-home .mf-nav-native .elementor-menu-toggle { display:flex; }
  .mf-home .mf-hero .elementor-heading-title { max-width:320px; font-size:41px; line-height:1.02; }
  .mf-home .mf-section-title .elementor-heading-title { font-size:28px; }
  .mf-home .mf-about-copy .elementor-heading-title { font-size:31px; }
  .mf-home.e-con .mf-top-inner.e-con { display:flex !important; flex-direction:row !important; justify-content:space-between; min-height:80px; }
  .mf-home.e-con .mf-contact.e-con { display:none !important; }
  .mf-home.e-con .mf-hero.e-con { min-height:430px; background-position:60% center !important; }
  .mf-home.e-con .mf-about.e-con, .mf-home.e-con .mf-blog.e-con, .mf-home.e-con .mf-lessons.e-con, .mf-home.e-con .mf-teachers.e-con { padding:64px 0 !important; }
  .mf-home.e-con .mf-about-grid.e-con, .mf-home.e-con .mf-blog-grid.e-con { grid-template-columns:1fr; gap:34px; }
  .mf-home.e-con .mf-lessons-grid.e-con, .mf-home.e-con .mf-facts-grid.e-con, .mf-home.e-con .mf-teacher-grid.e-con { grid-template-columns:1fr 1fr; gap:42px 20px; }
  .mf-home.e-con .mf-cta-inner.e-con { flex-direction:column !important; gap:20px; text-align:center; }
  .mf-home.e-con .mf-footer-grid.e-con { grid-template-columns:1fr; gap:38px; }
}

@media (max-width:420px) {
  .mf-home.e-con .mf-lessons-grid.e-con, .mf-home.e-con .mf-teacher-grid.e-con { grid-template-columns:1fr; }
}
