
.lc-page *{margin:0;padding:0;box-sizing:border-box}
.lc-page{
  --red:#EC1D25;--red-l:#EC6A68;--red-d:#D41A21;
  --blue:#2471A3;--blue-l:#5DADE2;--blue-d:#1A5276;
  --cream:#FFFFFF;--cream2:#FAFAFA;
  --gold:#D4A843;
}

html{scroll-behavior:smooth;overflow-x:hidden;max-width:100vw}

body.lc-page{position:relative;margin:0;font-family:'Inter',sans-serif;color:#2C2C2C;overflow-x:hidden;max-width:100vw;background:var(--cream);scrollbar-width:thin;scrollbar-color:var(--red) var(--blue);cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M2,1.5 L2,17 L6,13.3 L8.3,19 L10.6,18.1 L8.2,12.5 L13.6,12.5 Z' fill='%23EC1D25' stroke='%231a1a2e' stroke-width='1' stroke-linejoin='round'/%3E%3Ccircle cx='4.3' cy='6' r='0.9' fill='%231a1a2e'/%3E%3Ccircle cx='4.6' cy='10.2' r='0.8' fill='%231a1a2e'/%3E%3Ccircle cx='7.3' cy='8.6' r='0.7' fill='%231a1a2e'/%3E%3Ccircle cx='7.6' cy='14.5' r='0.7' fill='%231a1a2e'/%3E%3C/svg%3E") 2 2, auto}
body.lc-page a,body.lc-page button,body.lc-page .members-btn,body.lc-page .loc-chip,body.lc-page [onclick]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M2,1.5 L2,17 L6,13.3 L8.3,19 L10.6,18.1 L8.2,12.5 L13.6,12.5 Z' fill='%23EC1D25' stroke='%231a1a2e' stroke-width='1' stroke-linejoin='round'/%3E%3Ccircle cx='4.3' cy='6' r='0.9' fill='%231a1a2e'/%3E%3Ccircle cx='4.6' cy='10.2' r='0.8' fill='%231a1a2e'/%3E%3Ccircle cx='7.3' cy='8.6' r='0.7' fill='%231a1a2e'/%3E%3Ccircle cx='7.6' cy='14.5' r='0.7' fill='%231a1a2e'/%3E%3C/svg%3E") 2 2, pointer}

.bg-wrap{
  position:absolute;top:0;left:0;right:0;bottom:0;width:100%;
  z-index:0;pointer-events:none;
}
.bg-img-left,.bg-img-right{
  position:absolute;top:0;bottom:0;
  width:29.8%;max-width:420px;display:block;
  background-repeat:repeat-y;
  background-position:top center;
  background-size:100% auto;
  image-rendering:-webkit-optimize-contrast;
  image-rendering:auto;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}
.bg-img-left{
  left:0;background-image:url('../img/bg-left-tile.jpg');
  -webkit-mask-image:linear-gradient(to right, black 55%, transparent 96%);
  mask-image:linear-gradient(to right, black 55%, transparent 96%);
}
.bg-img-right{
  right:0;width:32.9%;max-width:465px;background-image:url('../img/bg-right-tile.jpg');
  -webkit-mask-image:linear-gradient(to left, black 55%, transparent 96%);
  mask-image:linear-gradient(to left, black 55%, transparent 96%);
}

.bg-img-left,.bg-img-right{background-color:var(--cream2)!important}
.bg-img-left{
  background-image:
    radial-gradient(circle 5px at 26px 20px, transparent 0 3.5px, #d9cfb8 3.5px 5px, transparent 5px),
    linear-gradient(to right, transparent 0 40px, rgba(226,40,37,.4) 40px 42px, transparent 42px 100%)!important;
  background-size:100% 40px, 100% 100%;
  background-position:top, top;
  background-repeat:repeat-y, no-repeat;
}
.bg-img-right{
  background-image:
    radial-gradient(circle 5px at calc(100% - 26px) 20px, transparent 0 3.5px, #d9cfb8 3.5px 5px, transparent 5px),
    linear-gradient(to left, transparent 0 40px, rgba(226,40,37,.4) 40px 42px, transparent 42px 100%)!important;
  background-size:100% 40px, 100% 100%;
  background-position:top, top;
  background-repeat:repeat-y, no-repeat;
}

@media(min-width:901px){
  .bg-img-left{
    background-image:
      url('../img/stamp-waking-up.png'),
      radial-gradient(circle 5px at 26px 20px, transparent 0 3.5px, #d9cfb8 3.5px 5px, transparent 5px),
      linear-gradient(to right, transparent 0 40px, rgba(226,40,37,.4) 40px 42px, transparent 42px 100%)!important;
    background-size:150px auto, 100% 40px, 100% 100%;
    background-position:46px 90px, top, top;
    background-repeat:no-repeat, repeat-y, no-repeat;
  }
}

.bg-top-fade{
  position:absolute;top:0;left:0;right:0;height:120px;z-index:1;pointer-events:none;
  background:linear-gradient(to bottom, var(--cream) 0%, rgba(255,248,240,.6) 55%, transparent 100%);
}

.lc-page .page{position:relative;z-index:10;max-width:720px;margin:0 auto;padding:0 30px}

.lc-nav{position:fixed;top:0;left:0;right:0;z-index:100;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:14px 30px;padding-top:max(14px, env(safe-area-inset-top));transition:all .5s ease}
.lc-nav.solid{background:rgba(255,255,255,0.92);backdrop-filter:blur(20px);box-shadow:0 2px 30px rgba(0,0,0,0.06)}

.lc-menu-left,.lc-menu-right{display:flex;align-items:center;gap:22px}
.lc-menu-left{justify-content:flex-end}
.lc-menu-right{justify-content:flex-start}
.members-btn-wrap{justify-self:center}

.lc-menu-left a,.lc-menu-right a,.lc-menu a{
  font-family:'Inter',sans-serif;font-weight:700;font-size:12.5px;letter-spacing:.5px;
  color:#4a4038;text-decoration:none;text-transform:uppercase;position:relative;padding:4px 0;
  transition:color .2s ease;white-space:nowrap;
}
.lc-menu-left a::after,.lc-menu-right a::after{content:'';position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--red);transition:right .25s ease}
.lc-menu-left a:hover,.lc-menu-right a:hover{color:var(--red)}
.lc-menu-left a:hover::after,.lc-menu-right a:hover::after{right:0}

.lc-lang-switch{
  position:relative;display:inline-flex;align-items:stretch;flex-shrink:0;gap:4px;
  padding:4px;border-radius:29px;border:none;cursor:pointer;
  background:rgba(226,40,37,.08);
  box-shadow:inset 0 1px 3px rgba(0,0,0,.08);
}
.lc-lang-seg{
  display:inline-flex;align-items:center;gap:7px;padding:6px 14px;border-radius:23px;
  font-family:'Inter',sans-serif;font-weight:800;font-size:13px;letter-spacing:.3px;
  white-space:nowrap;color:#4a4038;background:transparent;
  transition:background .3s ease,color .3s ease,box-shadow .3s ease;
}
.lc-lang-flag{width:20px;height:20px;border-radius:50%;flex-shrink:0;background-size:cover;background-position:center;box-shadow:0 0 0 1px rgba(0,0,0,.15) inset}
.lc-flag-ar{background-image:url('../img/flag-ar.png')}
.lc-flag-us{background-image:url('../img/flag-us.png')}

.lc-lang-seg.lc-lang-es{
  background:linear-gradient(180deg,var(--red-l),var(--red) 65%,var(--red-d));color:#fff;
  box-shadow:0 2px 6px rgba(226,40,37,.4),inset 0 1px 0 rgba(255,255,255,.45),inset 0 -2px 3px rgba(0,0,0,.15);
}
.lc-lang-switch.on .lc-lang-seg.lc-lang-es{background:transparent;color:#4a4038;box-shadow:none}
.lc-lang-switch.on .lc-lang-seg.lc-lang-en{
  background:linear-gradient(180deg,var(--red-l),var(--red) 65%,var(--red-d));color:#fff;
  box-shadow:0 2px 6px rgba(226,40,37,.4),inset 0 1px 0 rgba(255,255,255,.45),inset 0 -2px 3px rgba(0,0,0,.15);
}

.lc-lang-switch-hero{display:none;position:absolute;top:72px;left:50%;transform:translateX(-50%);z-index:5}

.lc-home-btn-mobile{display:none}

.lc-menu-right{display:flex}

.lc-menu-right .lc-lang-switch{margin-left:auto}

@media(max-width:600px),(max-height:600px){
  .lc-nav{gap:6px}
  .lc-menu-left{gap:8px}
  .lc-menu-left a{font-size:10.5px;letter-spacing:.3px}

  .lc-home-link{display:none}
  .lc-menu-anchor{display:none}
  .lc-home-btn-mobile{display:inline-block;position:absolute;top:70px;left:50%;transform:translateX(-50%);z-index:15;padding:9px 26px 9px 22px;font-size:11px}

  .lc-menu-right{display:none}
  .lc-lang-switch-hero{display:inline-flex}
  .lc-lang-switch{padding:3px;gap:3px}
  .lc-lang-seg{padding:5px 10px;font-size:11.5px;gap:5px}
  .lc-lang-flag{width:18px;height:18px}
}
.members-btn{
  position:relative;width:278px;padding:13px 0;
  display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;
  font-family:'Inter',sans-serif;font-weight:800;font-size:13px;
  letter-spacing:4px;text-transform:uppercase;color:white;
  background:linear-gradient(135deg,var(--red),var(--blue));
  border:none;border-radius:50px;cursor:pointer;
  box-shadow:0 6px 25px rgba(226,40,37,0.3),0 6px 25px rgba(36,113,163,0.2);
  transition:all .4s cubic-bezier(.175,.885,.32,1.275);overflow:hidden;
}
.members-btn::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent);transition:left .6s ease}
.members-btn:hover::after{left:100%}
.members-btn:hover{transform:translateY(-3px) scale(1.06);box-shadow:0 12px 40px rgba(226,40,37,0.4),0 12px 40px rgba(36,113,163,0.3)}

.members-btn-wrap{position:relative;display:inline-block;border-radius:50px}
.comet{
  position:absolute;top:0;left:0;border-radius:50%;
  pointer-events:none;offset-anchor:center;
  animation:cometFly 3.2s linear infinite;
  background:radial-gradient(circle,#fff 0%,#ffe9a8 45%,rgba(212,168,67,0) 78%);
}
.comet.c1{width:7px;height:7px;filter:drop-shadow(0 0 4px rgba(255,244,214,.9))}
.comet.c2{width:6px;height:6px;opacity:.6; animation-delay:-.11s}
.comet.c3{width:5px;height:5px;opacity:.38;animation-delay:-.22s}
.comet.c4{width:4px;height:4px;opacity:.2; animation-delay:-.33s}
.comet.c5{width:3px;height:3px;opacity:.1; animation-delay:-.44s}
@keyframes cometFly{to{offset-distance:100%}}

.lc-ripple{
  position:absolute;width:8px;height:8px;margin:-4px 0 0 -4px;
  border-radius:50%;background:rgba(255,255,255,0.55);
  transform:scale(0);pointer-events:none;
  animation:lcRipple .55s ease-out forwards;
}
@keyframes lcRipple{to{transform:scale(22);opacity:0}}

.logo-section{
  position:relative;
  min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;
  justify-content:center;align-items:center;text-align:center;
  padding:100px 20px 60px;
}

.logo-container{position:relative;width:200px;height:200px;margin-bottom:64px}
.logo-glow{
  position:absolute;inset:-25px;border-radius:50%;
  background:radial-gradient(circle,rgba(226,40,37,0.1) 0%,transparent 70%);
  animation:lcPulseGlow 4s ease-in-out infinite;
}
@keyframes lcPulseGlow{0%,100%{transform:scale(1);opacity:.5}50%{transform:scale(1.12);opacity:1}}

.logo-ring{
  position:absolute;inset:-10px;border-radius:50%;
  border:2px dashed rgba(226,40,37,0.2);
  animation:lcSpinSlow 25s linear infinite;
}
@keyframes lcSpinSlow{to{transform:rotate(360deg)}}

.logo-img{
  width:100%;height:100%;object-fit:contain;
  border-radius:50%;
  animation:lcLogoAppear 1.5s cubic-bezier(.175,.885,.32,1.275) .3s both;
  filter:drop-shadow(0 8px 30px rgba(226,40,37,0.25));
  position:relative;z-index:2;
}
@keyframes lcLogoAppear{from{opacity:0;transform:scale(.5) rotate(-10deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}

.sparkle{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--gold);z-index:3;animation:lcSparkleFloat 3s ease-in-out infinite}
.sparkle:nth-child(1){top:0%;left:50%;animation-delay:0s}
.sparkle:nth-child(2){top:20%;right:-8%;animation-delay:.6s}
.sparkle:nth-child(3){bottom:15%;right:0%;animation-delay:1.2s}
.sparkle:nth-child(4){bottom:0%;left:45%;animation-delay:1.8s}
.sparkle:nth-child(5){top:25%;left:-8%;animation-delay:2.4s}
@keyframes lcSparkleFloat{0%,100%{transform:translateY(0) scale(1);opacity:.3}50%{transform:translateY(-8px) scale(1.5);opacity:1}}

.float-icon{position:absolute;width:30px;height:30px;margin:-15px 0 0 -15px;z-index:3;border-radius:50%;display:flex;align-items:center;justify-content:center;animation:lcIconFloat 4s ease-in-out infinite;box-shadow:0 3px 10px rgba(0,0,0,0.18),0 1px 3px rgba(0,0,0,0.1)}
.float-icon svg{width:58%;height:58%}
.float-icon.fi-red{background:linear-gradient(135deg,var(--red),#ff5c5c);color:#fff}
.float-icon.fi-blue{background:linear-gradient(135deg,var(--blue),#4fa3d1);color:#fff}
@keyframes lcIconFloat{0%,100%{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-6px) rotate(5deg)}75%{transform:translateY(4px) rotate(-3deg)}}

.logo-text h1{font-family:'Playfair Display',serif;font-size:clamp(38px,7vw,68px);font-weight:900;line-height:1.05;margin-bottom:5px}
.logo-text .red{
  background:linear-gradient(100deg,var(--red-d) 20%,var(--red-l) 40%,var(--gold) 50%,var(--red-l) 60%,var(--red-d) 80%);
  background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:lcShimmer 6s ease-in-out infinite;
}
.logo-text .blue{
  background:linear-gradient(100deg,var(--blue-d) 20%,var(--blue-l) 40%,#8fd1ff 50%,var(--blue-l) 60%,var(--blue-d) 80%);
  background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:lcShimmer 6s ease-in-out infinite .3s;
}
@keyframes lcShimmer{0%{background-position:200% 0}100%{background-position:-50% 0}}
.logo-tagline{font-family:'Caveat',cursive;font-size:clamp(22px,3.5vw,36px);color:var(--blue);margin-bottom:12px}
.logo-section p{font-size:16px;line-height:1.8;color:#555;max-width:500px;animation:lcFadeUp 1s ease 1.4s both;margin-bottom:30px;background:rgba(255,255,255,0.7);padding:14px 22px;border-radius:14px;backdrop-filter:blur(8px)}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;animation:lcFadeUp 1s 1.6s both}

.hero-cta .btn{width:200px;text-align:center}
.lc-page .btn{padding:13px 34px;border-radius:50px;font-weight:700;font-size:13px;letter-spacing:1px;text-decoration:none;transition:all .4s cubic-bezier(.175,.885,.32,1.275);cursor:pointer;display:inline-block;border:none;font-family:'Inter',sans-serif}

.btn-red{background:var(--red);color:white;box-shadow:0 6px 20px rgba(226,40,37,0.25),inset 0 1px 1px rgba(255,255,255,.55),inset 0 -3px 5px rgba(0,0,0,.18)}
.btn-red:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(226,40,37,0.4),inset 0 1px 1px rgba(255,255,255,.55),inset 0 -3px 5px rgba(0,0,0,.18)}

.btn-icon-cta{position:relative}
.btn-icon-cta svg{position:absolute;top:50%;right:16px;transform:translateY(-50%)}

.btn-icon-cta-left svg{left:8px;right:auto}

.scroll-hint{margin-top:35px;display:flex;flex-direction:column;align-items:center;gap:8px;animation:lcFadeUp 1s 1.8s both}
.scroll-hint span{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:#aaa}
.scroll-arrow{width:18px;height:18px;border-right:2px solid var(--red);border-bottom:2px solid var(--red);transform:rotate(45deg);animation:lcBounce 2s ease infinite}
@keyframes lcBounce{0%,100%{transform:rotate(45deg) translate(0,0)}50%{transform:rotate(45deg) translate(5px,5px)}}

.content-card{background:rgba(255,255,255,0.82);backdrop-filter:blur(18px);border-radius:22px;padding:40px 34px;margin-bottom:35px;border:1px solid rgba(255,255,255,0.6);box-shadow:0 8px 40px rgba(0,0,0,0.06);opacity:0;transform:translateY(28px);transition:all .7s cubic-bezier(.175,.885,.32,1.275);will-change:opacity,transform}
.content-card.vis{opacity:1;transform:translateY(0)}
.content-card:hover{box-shadow:0 12px 50px rgba(0,0,0,0.1)}

.section-label{display:inline-block;padding:5px 16px;border:2px solid var(--red);border-radius:30px;font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--red);font-weight:700;margin-bottom:16px}
.section-label.blue{border-color:var(--blue);color:var(--blue)}
.section-title{font-family:'Playfair Display',serif;font-size:clamp(26px,4.5vw,40px);font-weight:900;line-height:1.15;margin-bottom:14px;color:var(--red-d)}
.section-title .blue{color:var(--blue)}
.section-desc{font-size:15px;line-height:1.8;color:#666}
.annotation{font-family:'Caveat',cursive;font-size:20px;color:var(--blue);display:inline-block;margin:10px 0 0}
#franchise .btn{margin-top:20px}
.hand-underline{position:relative;display:inline-block}
.hand-underline::after{content:'';position:absolute;bottom:-4px;left:0;width:100%;height:7px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 10'%3E%3Cpath d='M2 8 C40 2, 80 2, 100 6 S160 2, 198 5' stroke='%23EC1D25' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat;background-size:100% 100%}
.tape{display:flex;align-items:center;justify-content:center;padding:6px 0}
.tape-line{width:70px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--red),var(--blue))}
.tape-dot{width:7px;height:7px;background:var(--gold);border-radius:50%;margin:0 10px;box-shadow:0 0 8px rgba(212,168,67,0.3)}

.cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:30px}
.scard{background:rgba(255,255,255,0.6);backdrop-filter:blur(8px);border-radius:16px;padding:25px 20px;border:1px solid rgba(255,255,255,0.5);position:relative;overflow:hidden;transition:all .5s cubic-bezier(.175,.885,.32,1.275);opacity:0;transform:translateY(22px)}
.scard.vis{opacity:1;transform:translateY(0)}
.scard:hover{transform:translateY(-5px)!important;box-shadow:0 12px 30px rgba(0,0,0,0.07)}
.scard::before{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.scard:nth-child(odd)::before{background:var(--red)}
.scard:nth-child(even)::before{background:var(--blue)}
.scard-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:12px;color:white}
.scard:nth-child(odd) .scard-icon{background:linear-gradient(135deg,var(--red),var(--red-l))}
.scard:nth-child(even) .scard-icon{background:linear-gradient(135deg,var(--blue),var(--blue-l))}
.scard h3{font-family:'Playfair Display',serif;font-size:17px;font-weight:700;margin-bottom:6px;color:#1a1a1a}
.scard p{font-size:13px;line-height:1.7;color:#777}

.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:25px}
.stat.vis{opacity:1;transform:scale(1)}
.stat-lbl{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#999;font-weight:600}
.course{border-radius:18px;padding:28px 25px;color:white;position:relative;overflow:hidden;transition:all .5s cubic-bezier(.175,.885,.32,1.275);opacity:0;transform:translateY(22px);cursor:pointer}
.course.vis{opacity:1;transform:translateY(0)}
.course:nth-child(1){background:linear-gradient(135deg,var(--red),#EC6A68,#EC1D25)}
.course:nth-child(2){background:linear-gradient(135deg,var(--blue),#5DADE2,#2471A3)}
.course:nth-child(3){background:linear-gradient(135deg,var(--red-d),#6C3483,var(--blue-d))}
.course:hover{transform:translateY(-5px)!important;box-shadow:0 18px 45px rgba(0,0,0,0.2)}
.course h3{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;margin-bottom:5px}
.course p{font-size:12px;line-height:1.6;opacity:.85}
.course::after{content:'';position:absolute;top:10px;right:10px;width:40px;height:16px;background:rgba(255,255,255,0.1);border-radius:3px;transform:rotate(12deg)}

.clist{display:flex;flex-direction:column;gap:12px;margin-top:25px}
.citem{display:flex;gap:12px;align-items:flex-start;padding:16px;background:rgba(255,255,255,0.6);border-radius:13px;border:1px solid rgba(255,255,255,0.5);transition:all .4s ease;opacity:0;transform:translateX(-18px)}
.citem.vis{opacity:1;transform:translateX(0)}
.citem:hover{transform:translateX(4px)!important;box-shadow:0 6px 20px rgba(0,0,0,0.04)}
.cicon{width:40px;height:40px;min-width:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:17px;color:white}
.citem:nth-child(odd) .cicon{background:linear-gradient(135deg,var(--red),var(--red-l))}
.citem:nth-child(even) .cicon{background:linear-gradient(135deg,var(--blue),var(--blue-l))}

#lcWhatsapp .cicon{background:#25D366;box-shadow:0 3px 10px rgba(37,211,102,.35)}
.ctext h4{font-size:13px;font-weight:700;margin-bottom:2px;color:#1a1a1a}
.ctext p{font-size:12px;color:#888;line-height:1.5}

.map-wrap{border-radius:16px;overflow:hidden;border:2px solid rgba(255,255,255,0.6);margin-top:6px;background:#f0f0f0;box-shadow:0 5px 20px rgba(0,0,0,0.05)}
.map-wrap iframe{width:100%;height:260px;border:none;display:block}

.loc-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;margin-bottom:16px}
.loc-chip{padding:8px 16px;border-radius:30px;border:1.5px solid rgba(226,40,37,0.25);background:rgba(255,255,255,0.7);color:#555;font-size:12px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;transition:all .3s ease;backdrop-filter:blur(6px)}
.loc-chip:hover{border-color:var(--red);color:var(--red)}
.loc-chip.active{background:linear-gradient(135deg,var(--red),var(--blue));color:white;border-color:transparent;box-shadow:0 4px 14px rgba(226,40,37,0.25)}

.lc-footer{padding:50px 20px 25px;text-align:center;position:relative;z-index:10}
.lc-footer .footer-divider{width:50px;height:2px;border-radius:2px;margin:0 auto 25px;background:linear-gradient(90deg,var(--red),var(--blue))}
.lc-footer h2{font-family:'Playfair Display',serif;font-size:clamp(22px,3.5vw,34px);font-weight:900;color:var(--red-d);margin-bottom:6px}
.lc-footer .hand{font-family:'Caveat',cursive;font-size:20px;color:var(--blue);margin-bottom:22px}

.socials{display:flex;justify-content:center;gap:16px;margin-bottom:30px}
.slink{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:all .4s cubic-bezier(.175,.885,.32,1.275);border:2px solid rgba(255,255,255,0.6);background:rgba(255,255,255,0.7);backdrop-filter:blur(8px);position:relative;overflow:hidden}
.slink::before{content:'';position:absolute;inset:0;border-radius:12px;opacity:0;transition:opacity .4s ease}
.slink.fb::before{background:linear-gradient(135deg,#1877F2,#0D5BBF)}
.slink.ig::before{background:linear-gradient(135deg,#F58529,#DD2A7B,#8134AF)}
.slink.wa::before{background:linear-gradient(135deg,#25D366,#128C7E)}
.slink:hover::before{opacity:1}
.slink:hover{transform:translateY(-6px) scale(1.08);box-shadow:0 10px 30px rgba(0,0,0,0.15);border-color:transparent}
.slink svg{width:22px;height:22px;fill:#444;position:relative;z-index:1;transition:fill .3s}
.slink img{width:22px;height:22px;position:relative;z-index:1}
.slink:hover svg{fill:white}
.footer-copy{font-size:11px;color:#bbb;letter-spacing:1px}

.modal-overlay{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,0.5);backdrop-filter:blur(12px);display:none;align-items:center;justify-content:center;padding:20px}
.modal-overlay.open{display:flex}
.modal-card{background:white;border-radius:24px;padding:38px 30px;width:100%;max-width:380px;position:relative;box-shadow:0 25px 80px rgba(0,0,0,0.15);max-height:88vh;overflow-y:auto}
.modal-card .modal-head{position:relative;margin-bottom:2px}
.modal-card h2{font-family:'Playfair Display',serif;font-size:24px;font-weight:900;color:var(--red-d);text-align:center}
.modal-card .modal-head button{position:absolute;top:-8px;right:-14px;width:30px;height:30px;border-radius:50%;background:#f5f5f5;border:none;color:#666;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;flex-shrink:0}
.modal-card .modal-head button:hover{background:#eee;color:#333;transform:rotate(90deg)}
.modal-card .msub{text-align:center;font-size:12px;color:#999;margin-bottom:18px}
.modal-body .fg{margin-bottom:14px}
.modal-body .fg label{display:block;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#999;margin-bottom:4px}
.modal-body .fg input{width:100%;padding:11px 13px;border-radius:10px;border:1.5px solid #e0e0e0;background:#fafafa;color:#333;font-size:14px;font-family:'Inter',sans-serif;outline:none;transition:all .3s ease}
.modal-body .fg input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(36,113,163,0.1);background:white}
.modal-body .fg input::placeholder{color:#ccc}
.form-err{background:#fef2f2;border:1.5px solid #fca5a5;color:#b91c1c;border-radius:10px;padding:10px 14px;text-align:center;font-size:13px;font-weight:700;margin-bottom:14px}
.btn-full{width:100%;padding:13px;border-radius:12px;border:none;background:linear-gradient(135deg,var(--red),var(--blue));color:white;font-size:14px;font-weight:700;font-family:'Inter',sans-serif;letter-spacing:1px;cursor:pointer;transition:all .4s ease;position:relative;overflow:hidden}
.btn-full:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,0.12)}
.btn-full:disabled{opacity:.7;cursor:default;transform:none}
.form-switch{text-align:center;font-size:12px;color:#999;margin-top:16px}
.form-switch a{color:var(--red);text-decoration:none;font-weight:600;cursor:pointer}
.demo-box.open{max-height:280px;margin-top:10px}
.role-admin{background:#FDF1F1;color:#be123c}

@keyframes lcFadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}

body.lc-login-success{overflow:hidden}
body.lc-login-success .lc-nav,
body.lc-login-success .content-card,
body.lc-login-success .tape,
body.lc-login-success .lc-footer,
body.lc-login-success .bg-wrap,
body.lc-login-success .modal-overlay{
  opacity:0!important;pointer-events:none!important;
  transition:opacity .3s ease;
}
body.lc-login-success .logo-text,
body.lc-login-success .logo-tagline,
body.lc-login-success .hero-cta,
body.lc-login-success .scroll-hint{
  opacity:0!important;transition:opacity .25s ease;
}
body.lc-login-success .float-icon,
body.lc-login-success .sparkle{
  opacity:0!important;transition:opacity .2s ease;
}
body.lc-login-success .logo-section{
  position:fixed;inset:0;z-index:1000;
  background-color:var(--cream);
  min-height:100vh;min-height:100dvh;
  display:flex;align-items:center;justify-content:center;
  padding:0;
  animation:lcBgToWhite 2.5s ease-in forwards;
}
@keyframes lcBgToWhite{
  0%{background-color:var(--cream)}
  100%{background-color:#fff}
}
body.lc-login-success .logo-container{
  will-change:transform,filter,opacity;
}

@media(max-width:1279px) and (min-width:601px){

  a.lc-menu-anchor{font-size:11px;letter-spacing:.2px}
  .lc-menu-left,.lc-menu-right{gap:12px}
  .lc-nav{padding-left:18px;padding-right:18px}
  .members-btn{width:240px;font-size:12px;letter-spacing:3px}
}

@media(max-width:900px){
  .lc-page .page{padding:0 22px}
}

@media(max-width:600px),(max-height:600px){
  .lc-page .page{padding:0 16px}
  .lc-nav{padding:12px 16px;padding-top:max(12px, env(safe-area-inset-top))}
  .members-btn{width:223px;padding:11px 0;font-size:11px;letter-spacing:2.5px}

  .bg-img-left,.bg-img-right{width:8%}

  .bg-img-left{
    background-image:
      radial-gradient(circle 2px at 10px 12px, transparent 0 1.4px, #d9cfb8 1.4px 2px, transparent 2px),
      linear-gradient(to right, transparent 0 16px, rgba(226,40,37,.4) 16px 17px, transparent 17px 100%)!important;
    background-size:100% 22px, 100% 100%;
    background-position:top, top;
    background-repeat:repeat-y, no-repeat;
  }
  .bg-img-right{
    background-image:
      radial-gradient(circle 2px at calc(100% - 10px) 12px, transparent 0 1.4px, #d9cfb8 1.4px 2px, transparent 2px),
      linear-gradient(to left, transparent 0 16px, rgba(226,40,37,.4) 16px 17px, transparent 17px 100%)!important;
    background-size:100% 22px, 100% 100%;
    background-position:top, top;
    background-repeat:repeat-y, no-repeat;
  }

  .logo-section{justify-content:flex-start;padding:162px 14px 50px}
  .logo-container{width:150px;height:150px;margin-bottom:56px}
  .float-icon{width:24px;height:24px;margin:-12px 0 0 -12px}
  .logo-section p{font-size:14px;padding:12px 16px}

  .cards-grid{grid-template-columns:1fr;gap:12px}
  .stats{grid-template-columns:repeat(2,1fr)}
  .content-card{padding:28px 20px;margin-bottom:24px;border-radius:18px}

  .loc-chips{gap:6px}
  .loc-chip{padding:7px 13px;font-size:11px}
  .map-wrap iframe{height:210px}

  .modal-card{padding:28px 20px;border-radius:20px;max-height:92vh}
  .modal-overlay{padding:14px;padding-bottom:max(14px, env(safe-area-inset-bottom))}

  .socials{gap:12px}
  .slink{width:46px;height:46px}
}

@media(max-width:360px){
  .logo-container{width:130px;height:130px}
  .hero-cta .btn{padding:12px 26px;font-size:12px}
}

@media(prefers-reduced-motion:reduce){
  .lc-page *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

.logo-text h1, .logo-tagline, .hero-cta,
.section-title, .scard h3, .stat-num, .course h3, .lc-footer h2, .modal-card h2{
  opacity:0;
  transition:opacity .5s ease;
}
body.fonts-ready .logo-text h1, body.fonts-ready .logo-tagline, body.fonts-ready .hero-cta,
body.fonts-ready .section-title, body.fonts-ready .scard h3, body.fonts-ready .stat-num,
body.fonts-ready .course h3, body.fonts-ready .lc-footer h2, body.fonts-ready .modal-card h2{
  opacity:1;
}

.logo-text h1, .logo-tagline{
  transform:translateY(20px);
  transition:opacity .85s ease, transform .85s cubic-bezier(.2,.8,.2,1);
  will-change:opacity, transform;
}
.logo-tagline{ transition-delay:.18s; }
body.fonts-ready .logo-text h1,
body.fonts-ready .logo-tagline{
  transform:translateY(0);
}

.bg-wrap, .content-card, .tape{
  visibility:hidden;
}
body.lc-loaded .bg-wrap, body.lc-loaded .content-card, body.lc-loaded .tape{
  visibility:visible;
}

.scard-icon svg{width:24px;height:24px;display:block}
@media(max-width:600px),(max-height:600px){
  .scard-icon svg{width:22px;height:22px;stroke-width:1.7}
}

.loc-address {
  margin-top: 10px;
  text-align: center;
  font-size: 13.5px;
  color: #5a5a5a;
  letter-spacing: .2px;
}

.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}
.news-card{display:block;background:rgba(255,255,255,0.6);backdrop-filter:blur(8px);border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,0.5);text-decoration:none;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}
.news-card:hover{transform:translateY(-5px);box-shadow:0 12px 30px rgba(0,0,0,0.07)}
.news-card img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.news-card-body{padding:16px 18px}
.news-card-body h3{font-family:'Playfair Display',serif;font-size:15px;font-weight:700;color:#1a1a1a;line-height:1.35;margin:0}
@media(max-width:600px){ .news-grid{grid-template-columns:1fr} }

.franchise-stat{display:flex;align-items:baseline;gap:8px;justify-content:center;margin-top:22px}
.franchise-stat-num{font-family:'Playfair Display',serif;font-size:clamp(34px,6vw,52px);font-weight:900;color:var(--red-d)}
.franchise-stat-label{font-family:'Caveat',cursive;font-size:20px;color:var(--blue)}
