/* LaraPress 2.4: quiet Fabric surfaces, accessible mobile navigation and performance-conscious transitions. */
.lm24-mobile-cta{display:none}
@media(max-width:1200px){
  .lm-header--fabric .lm-header__actions{display:flex!important;align-items:center;gap:6px;margin-left:0;flex:0 0 auto}
  .lm-header--fabric .lm-header__cta{display:none!important}
  .lm-header--fabric .lm-header__inner{gap:9px!important;min-width:0}
  .lm-header--fabric .lm-brand{flex:1 1 auto;min-width:0}
  .lm-header--fabric .lm-brand img,.lm-header--fabric .lm-brand .custom-logo{max-width:min(160px,39vw)!important;height:auto}
  .lm-header--fabric .lm-mobile-toggle{margin-left:auto!important;flex:0 0 43px}
  .lm-header--fabric .lm-header__search{display:grid!important;place-items:center;min-width:43px;width:43px;height:43px;margin:0!important;border:1px solid #e1d9ea;border-radius:11px;background:#fff;color:#51317f}
  .lm-header--fabric .lm-header__search svg{width:22px;height:22px}
  .lm-header--fabric .lm-main-menu>.lm-menu-item>.lm-menu-link{font-size:17px!important;line-height:1.35;font-weight:760}
  .lm-header--fabric .lm-fabric-mega__group li a{font-size:16px!important;line-height:1.45;padding:11px 10px!important}
  .lm-header--fabric .lm-fabric-mega__grouphead h3{font-size:17px!important}
  .lm-header--fabric .lm-submenu a{font-size:16px!important;line-height:1.4;padding:12px!important}
  .lm24-mobile-cta{display:block;padding:15px 20px 24px;background:linear-gradient(120deg,#f7f0ff,#fff)}
  .lm24-mobile-cta a{display:flex;justify-content:space-between;align-items:center;padding:15px 19px;background:#633bb2;border-radius:13px;color:#fff!important;text-decoration:none;font-weight:800;line-height:1.35;font-size:16px}
  .lm23-header-search-panel{z-index:1000;position:absolute;left:0;right:0;top:100%;box-shadow:0 15px 35px #31234c22}
}
@media(max-width:440px){.lm-header--fabric .lm-brand img,.lm-header--fabric .lm-brand .custom-logo{max-width:min(143px,35vw)!important}.lm-header--fabric .lm-header__inner{gap:7px!important}.lm-header--fabric .lm-header__search,.lm-header--fabric .lm-mobile-toggle{width:42px!important;min-width:42px!important;flex-basis:42px!important}}
/* General reusable page surfaces */
.lm24-page{overflow:clip;color:#211a33;background:#fff}.lm24-wrap{width:min(1140px,calc(100% - 40px));margin:0 auto;min-width:0}
.lm24-hero{padding:clamp(56px,7vw,105px) 0;background:radial-gradient(circle at 85% 5%,#ded0ff 0,transparent 42%),linear-gradient(120deg,#fbf9ff,#edf7ff);border-bottom:1px solid #e9e2f3}
.lm24-kicker{font-size:.77rem;letter-spacing:.16em;text-transform:uppercase;color:#6941b0;font-weight:850}
.lm24-hero h1{font-size:clamp(2.2rem,5.2vw,4.7rem);line-height:1.07;letter-spacing:-.045em;margin:17px 0;color:#241b39;max-width:850px}
.lm24-hero p{font-size:clamp(1rem,1.6vw,1.25rem);line-height:1.65;max-width:670px;color:#635a71}
.lm24-btn{display:inline-flex;align-items:center;justify-content:center;background:#6239a9;border-radius:13px;color:#fff!important;font-weight:800;padding:14px 20px;text-decoration:none!important;line-height:1.3;transition:transform .2s ease,box-shadow .2s ease}
.lm24-btn:hover{transform:translateY(-2px);box-shadow:0 12px 23px #6240b02b}.lm24-btn-alt{background:#fff;color:#54358d!important;border:1px solid #d9cdec}.lm24-inline{display:block;margin-top:18px;color:#6239a9;font-weight:800}
.lm24-faq-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.lm24-faq-nav a{border:1px solid #ddd2ed;background:#fff;border-radius:100px;padding:10px 15px;font-size:.92rem;color:#5b358d;text-decoration:none;font-weight:750}
.lm24-faq-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:48px;padding:60px 0 85px;align-items:start}.lm24-faq-cluster{scroll-margin-top:115px;margin-bottom:43px}.lm24-faq-cluster h2,.lm24-ref-section h2{font-size:clamp(1.5rem,2.7vw,2.3rem);margin:0 0 22px;color:#251d3a;letter-spacing:-.025em}
.lm24-faq-item{border:1px solid #e6dfef;border-radius:14px;margin:9px 0;background:#fff;overflow:hidden}.lm24-faq-item summary{cursor:pointer;font-size:1.04rem;font-weight:770;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 19px;list-style:none}.lm24-faq-item summary::-webkit-details-marker{display:none}.lm24-faq-item summary span{color:#7751ae;font-size:1.4rem;transition:transform .2s}.lm24-faq-item[open] summary span{transform:rotate(45deg)}.lm24-faq-item p{margin:0;padding:0 20px 20px;color:#625b6d;line-height:1.6;font-size:1rem;max-width:700px}
.lm24-faq-aside{position:sticky;top:110px;border-radius:22px;background:#f5effd;border:1px solid #e5d9f4;padding:27px}.lm24-faq-aside h2{font-size:1.4rem;line-height:1.2;margin:0}.lm24-faq-aside p{color:#675d73;line-height:1.6}.lm24-user-content{padding-bottom:70px}
.lm24-ref-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(25px,5vw,65px);align-items:center}.lm24-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.lm24-ref-visual{display:grid;gap:12px;transform:rotate(2deg)}.lm24-ref-visual>div{background:#fff;padding:21px 26px;border:1px solid #e4dcef;border-radius:19px;box-shadow:0 12px 24px #3825520c;display:flex;align-items:center;gap:18px}.lm24-ref-visual span{color:#7b53c0;font-weight:900}.lm24-ref-visual strong{font-size:1.3rem}.lm24-ref-visual small{margin-left:auto;color:#736b80}
.lm24-ref-section{padding:65px 0 10px}.lm24-ref-section>h2{margin:12px 0 30px}.lm24-ref-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.lm24-ref-card,.lm24-ref-empty{padding:28px;border:1px solid #e7e1ef;border-radius:23px;background:linear-gradient(130deg,#fff,#fcfaff);min-width:0;transition:transform .2s}.lm24-ref-card:hover{transform:translateY(-3px)}.lm24-ref-card>span{font-size:3rem;line-height:.9;color:#7b57be}.lm24-ref-card b{color:#7650b4}.lm24-ref-card h3{font-size:1.2rem;line-height:1.3}.lm24-ref-card p,.lm24-ref-card .lm24-ref-quote,.lm24-ref-empty p{color:#675e72;line-height:1.6}.lm24-ref-card a,.lm24-ref-empty a{font-weight:800;color:#6037a6}.lm24-ref-empty{max-width:790px}.lm24-ref-cta{background:radial-gradient(circle at right,#e8ddfa,#f4edff);border-radius:25px;padding:clamp(24px,4vw,44px);margin:55px 0 85px}.lm24-ref-cta h2{font-size:clamp(1.6rem,3vw,2.35rem);margin:0}.lm24-ref-cta p{line-height:1.6;color:#635871}
/* Course page: sticky anchors and visible section links without increasing LCP workload. */
.lm24-course-nav{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:18px 0 25px;padding:12px 0;border-bottom:1px solid #ede6f5}.lm24-course-nav a{text-decoration:none;color:#5d3b98;font-weight:750;font-size:.9rem;border:1px solid #e5d9f4;background:#faf7ff;border-radius:50px;padding:9px 14px}.lm24-course-nav a:hover{background:#eee3fc}.lm24-course-nav a:focus-visible,.lm24-btn:focus-visible{outline:3px solid #9770d0;outline-offset:3px}
.lm24-course-note{padding:15px 18px;border-radius:15px;background:#f7f4fc;border:1px solid #eee4f5;color:#5c5268;margin:0 0 22px;font-size:.95rem;line-height:1.55}
.lm24-course-nav a:focus-visible,.lm24-faq-item summary:focus-visible{outline:3px solid #865ac0;outline-offset:3px}
/* Landing course collections stay compact, and the enquiry widget stays clear of live chat. */
.lm18-page .lm21-course-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.lm18-page .lm21-course-row{min-width:0;box-sizing:border-box}
.lm18-page .lm20-cities .lm20-city-links{display:flex;flex-wrap:wrap;gap:9px}
.lm-footer__column a{overflow-wrap:anywhere}
@media(max-width:850px){.lm24-faq-layout{grid-template-columns:1fr;gap:10px}.lm24-faq-aside{position:static}.lm24-ref-hero-grid{grid-template-columns:1fr}.lm24-ref-visual{transform:none}.lm24-ref-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.lm24-wrap{width:calc(100% - 32px)}.lm24-hero{padding:45px 0}.lm24-faq-nav{gap:7px}.lm24-faq-nav a{font-size:.82rem}.lm24-faq-layout{padding:34px 0}.lm24-faq-cluster{margin-bottom:34px}.lm24-ref-grid{grid-template-columns:1fr}.lm24-ref-visual>div{padding:14px;gap:10px}.lm24-ref-visual strong{font-size:1.03rem}.lm24-ref-visual small{font-size:.75rem}.lm18-page .lm21-course-list{grid-template-columns:1fr}.lm24-course-nav{gap:6px}.lm24-course-nav a{font-size:.82rem;padding:8px 11px}}
@media(prefers-reduced-motion:reduce){.lm24-btn,.lm24-ref-card,.lm24-faq-item summary span{transition:none!important}}
.lm24-landing-quick{display:flex;flex-wrap:wrap;gap:9px;padding:20px 0 0}.lm24-landing-quick a,.lm24-landing-quick button{display:inline-flex;align-items:center;border-radius:50px;border:1px solid #e8dfef;background:#fff;color:#67409b;padding:10px 15px;font-size:.91rem;font-weight:760;cursor:pointer;text-decoration:none}.lm24-landing-quick a:hover,.lm24-landing-quick button:hover{background:#f4edfd}
@media(max-width:650px){.lm24-landing-quick{padding-top:18px}.lm24-landing-quick a,.lm24-landing-quick button{font-size:.82rem;padding:9px 11px}}
/* Footer: readable columns, clear links and enough room near the chat widget. */
.lm-footer__contact>a{display:inline-block;margin:5px 0;color:#dfcbff;text-decoration:underline;text-underline-offset:3px}
.lm-footer__column li a:focus-visible,.lm-footer__contact a:focus-visible{outline:2px solid #dbc4ff;outline-offset:4px;border-radius:2px}
@media(max-width:650px){.lm-footer__column ul{display:grid;gap:6px}.lm-footer__column li{line-height:1.55}.lm-footer__bottom{padding-bottom:86px}}
@media(max-width:420px){.lm-footer__main{grid-template-columns:1fr!important;gap:23px!important}.lm-footer__identity,.lm-footer__column:last-child{grid-column:auto!important}.lm-footer__column{border-bottom:1px solid #ffffff19;padding-bottom:17px}.lm-footer__main .lm-footer__column h3{margin-bottom:10px}}
.lm24-topic-hint{display:block;font-size:.74rem!important;margin-top:2px;color:#6b5d78;font-weight:600}.lm19-results a{line-height:1.4}
