/* =========================================================
   Leaforge Academy V29 - Home Slider Section
   Rebuilt from V28 active styles.
   ========================================================= */

/* Source: slider.css */
body.home-page .lf-home-hero-slider{position:relative; width:100%; height:800px; min-height:800px; overflow:hidden; margin:0; padding:0; background:#02151F;}
body.home-page .lf-home-slide{position:absolute; inset:0; min-height:800px; opacity:0; visibility:hidden; z-index:0;
  background-size:cover; background-position:center center; background-repeat:no-repeat;
  transition:opacity .55s ease, visibility .55s ease;}
body.home-page .lf-home-slide.active, body.home-page .lf-home-slide.is-active{opacity:1; visibility:visible; z-index:2;}
body.home-page .lf-home-slide::before{content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(90deg,rgba(2,21,31,.98) 0%,rgba(2,21,31,.93) 31%,rgba(2,21,31,.72) 47%,rgba(2,21,31,.18) 67%,rgba(2,21,31,.02) 100%);}
body.home-page .lf-home-slide::after{content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(0deg,rgba(2,21,31,.22),transparent 38%);}
.lf-home-slide-image-1{background-image:url("../images/Sliders/Slider1.webp");}
.lf-home-slide-image-2{background-image:url("../images/Sliders/Slider1.webp");}
.lf-home-slide-image-3{background-image:url("../images/Sliders/Slider1.webp");}
body.home-page .lf-home-slide-content{position:relative; z-index:3; width:min(760px,calc(100% - 12vw)); max-width:760px; height:100%;
  margin-left:clamp(70px,6vw,118px); margin-right:auto; padding:150px 0 95px; box-sizing:border-box;
  display:flex; flex-direction:column; justify-content:center; align-items:flex-start; text-align:left; color:#fff;}
body.home-page .lf-home-slide-kicker{margin:0 0 18px; color:#fff; font-family:"Poppins",Arial,Helvetica,sans-serif;
  font-size:clamp(15px,1.15vw,20px); font-weight:600; line-height:1.3; letter-spacing:.015em; text-transform:uppercase;}
body.home-page .lf-home-slide-content :is(h1, h2){max-width:720px; margin:0; color:#fff; font-family:"Poppins",Arial,Helvetica,sans-serif;
  font-size:clamp(42px,3.25vw,61px); font-weight:700; line-height:1.13; letter-spacing:-.025em;
  text-transform:none; text-align:left; text-shadow:0 3px 16px rgba(0,0,0,.22);}
body.home-page .lf-home-title-accent{display:block; margin-top:4px; color:#fff;}
body.home-page .lf-home-title-line{display:block; width:74px; height:3px; margin:28px 0; background:#fff; border-radius:99px;}
body.home-page .lf-home-slide-content p{width:min(610px,100%); max-width:610px; margin:0 0 30px; color:rgba(255,255,255,.96);
  font-family:"Poppins",Arial,Helvetica,sans-serif; font-size:clamp(16px,1.15vw,20px); font-weight:400; line-height:1.65;
  text-align:left; text-shadow:0 2px 12px rgba(0,0,0,.22);}
body.home-page .lf-home-reference-cta{min-height:58px; padding:13px 22px 13px 24px; display:inline-flex; align-items:center; justify-content:center; gap:24px;
  border:2px solid #fff; border-radius:5px; background:#fff; color:#000;
  font-family:"Poppins",Arial,Helvetica,sans-serif; font-size:17px; font-weight:600; line-height:1.2; text-decoration:none;
  transition:background-color .22s ease,border-color .22s ease,transform .22s ease;}
body.home-page .lf-home-reference-cta:hover, body.home-page .lf-home-reference-cta:focus-visible{background:rgba(255,255,255,.92); border-color:#fff; color:#000; transform:translateY(-1px);}
body.home-page .lf-home-reference-cta:focus-visible{outline:3px solid rgba(255,255,255,.55); outline-offset:3px;}
body.home-page .lf-home-reference-arrow{font-size:30px; font-weight:300; line-height:.7; transform:translateY(-1px);}
body.home-page .lf-home-slider-arrow{position:absolute; top:50%; z-index:6; width:48px; height:48px; margin-top:-24px; display:grid; place-items:center;
  border:1px solid rgba(255,255,255,.35); border-radius:50%; background:#02151F; color:#fff;
  font-size:32px; line-height:1; cursor:pointer; backdrop-filter:blur(5px); transition:background .2s ease,border-color .2s ease;}
body.home-page .lf-home-slider-arrow:hover, body.home-page .lf-home-slider-arrow:focus-visible{background:#02151F; border-color:#02151F;}
body.home-page .lf-home-slider-prev{left:24px;}
body.home-page .lf-home-slider-next{right:24px;}
body.home-page .lf-home-slider-dots{position:absolute; left:50%; bottom:30px; z-index:7; transform:translateX(-50%); display:flex; align-items:center; gap:10px;}
body.home-page .lf-home-slider-dots button{width:10px; height:10px; padding:0; border:1px solid #02151F; border-radius:50%; background:transparent; cursor:pointer;}
body.home-page .lf-home-slider-dots button.active, body.home-page .lf-home-slider-dots button.is-active{background:#02151F; border-color:#02151F;}
@media (max-width:1180px){body.home-page .lf-home-hero-slider, body.home-page .lf-home-slide{height:760px; min-height:760px;}
body.home-page .lf-home-slide{background-position:62% center;}
body.home-page .lf-home-slide-content{width:min(680px,calc(100% - 80px)); max-width:680px; margin-left:40px; padding:125px 0 90px;}
body.home-page .lf-home-slide-content :is(h1, h2){font-size:clamp(38px,4.7vw,54px);}
body.home-page .lf-home-slide-content p{font-size:17px;}}
@media (max-width:991px){body.home-page .lf-home-slider-arrow{display:none;}}
@media (max-width:767.98px){body.home-page .lf-home-hero-slider, body.home-page .lf-home-slide{height:730px; min-height:730px;}
body.home-page .lf-home-slide{background-position:66% center;}
body.home-page .lf-home-slide::before{background:linear-gradient(90deg,rgba(2,21,31,.98) 0%,rgba(2,21,31,.93) 31%,rgba(2,21,31,.72) 47%,rgba(2,21,31,.18) 67%,rgba(2,21,31,.02) 100%);}
body.home-page .lf-home-slide-content{width:calc(100% - 40px); max-width:calc(100% - 40px); margin:0 20px; padding:110px 0 82px;}
body.home-page .lf-home-slide-kicker{margin-bottom:13px; font-size:13px;}
body.home-page .lf-home-slide-content :is(h1, h2){font-size:clamp(30px,9vw,42px); line-height:1.14;}
body.home-page .lf-home-title-line{width:58px; margin:20px 0;}
body.home-page .lf-home-slide-content p{max-width:92%; margin-bottom:24px; font-size:15px; line-height:1.58;}
body.home-page .lf-home-reference-cta{min-height:52px; gap:18px; padding:11px 17px 11px 19px; font-size:15px;}
body.home-page .lf-home-reference-arrow{font-size:26px;}
body.home-page .lf-home-slider-dots{bottom:28px;}}
@media (max-width:430px){body.home-page .lf-home-hero-slider, body.home-page .lf-home-slide{height:750px; min-height:750px;}}
@media (prefers-reduced-motion:reduce){body.home-page .lf-home-slide{transition:none;}}

/* Source: responsive-base.css */
@media (max-width: 1100px){img, picture, svg{max-width: 100%;}}
@media (max-width: 767px){body{font-size: 16px;
    line-height: 1.6;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;}
main, section, article, aside, header, footer, div{min-width: 0;}
h1, h2, h3, p, li, a, label, button, input, select, textarea{overflow-wrap: anywhere;
    word-break: normal;}
p, li{line-height: 1.68;}
section[class]{scroll-margin-top: 82px;}
img{height: auto;}
button, a[class*="btn"], a[class*="button"]{min-height: 44px;}}
@media (max-width: 767px){input, select, textarea, button{max-width: 100%;
    font-size: 16px;}
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea{width: 100% !important;}
textarea{min-height: 135px;}}

/* Source: responsive-final.css */
@media (max-width: 1100px){html, body{width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: clip !important;}
*, *::before, *::after{box-sizing: border-box;}
body > main, main, main section, main article, main div{min-width: 0;}
img, picture{max-width: 100% !important;}
main [class*="container"]{max-width: 100% !important;}}
@media (max-width: 767.98px){html{-webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;}
body{font-size: 16px !important;
    line-height: 1.65 !important;
    overflow-x: clip !important;}
main, main section, main article, main div, main header{min-width: 0 !important;
    max-width: 100%;}
h1, h2, h3, p, li, a, span, strong, label, button, summary{overflow-wrap: anywhere;
    word-break: normal;}
main h1{font-size: clamp(30px, 9vw, 40px) !important;
    line-height: 1.14 !important;
    letter-spacing: -0.6px !important;}
main h2{font-size: clamp(25px, 7.2vw, 32px) !important;
    line-height: 1.2 !important;
    letter-spacing: -0.35px !important;}
main h3{font-size: clamp(18px, 5.2vw, 22px) !important;
    line-height: 1.35 !important;}
main p, main li{font-size: 14.5px;
    line-height: 1.72 !important;}
img, picture{width: auto;
    max-width: 100% !important;
    height: auto;}
main [class*="container"]{width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;}
main [class*="grid"]{grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;}
main [class*="row"]{min-width: 0 !important;}
main [class*="card"]{max-width: 100% !important;}
button, input, select, textarea, a[class*="btn"], a[class*="button"]{max-width: 100% !important;}
button, a[class*="btn"], a[class*="button"]{min-height: 46px !important;
    white-space: normal !important;
    line-height: 1.35 !important;
    text-align: center !important;}
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea{width: 100% !important;
    font-size: 16px !important;}}
@media (max-width: 767.98px){textarea{min-height: 130px !important;}}
@media (max-width: 430px){main h1{font-size: clamp(28px, 9.2vw, 35px) !important;}
main h2{font-size: clamp(24px, 7.4vw, 29px) !important;}}
@media (prefers-reduced-motion: reduce){*, *::before, *::after{scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;}}
@media (max-width: 767.98px){main a[class*="btn"], main a[class*="button"]{max-width: 100% !important;
    white-space: normal !important;}}
@media (max-width: 1100px){body{padding-top: 120px !important; /* 42px topbar + 78px navigation */}
body.lf-header-scrolled{padding-top: 78px !important;}}
@media (max-width: 767.98px){body{padding-top: 114px !important; /* 42px topbar + 72px navigation */}
body.lf-header-scrolled{padding-top: 72px !important;}}
