@charset "utf-8";


.contTitle{font-size:5.2rem;font-weight:600;letter-spacing:-0.02em;color:#000;}

.mainBanner{position:relative;}
.mainBanner .slick-slide{font-size:0;vertical-align:top;}
.mainBanner .inner{height:100%;}
.mainBanner .mainBannerText{color:#fff;position:absolute;z-index:1;top:50%;transform:translateY(-50%);}
.mainBanner .mainBannerText .bigText{font-size:8rem;font-weight:600;margin-bottom:0;padding-top:5px;line-height:1.1385;letter-spacing:-0.025em;}
.mainBanner .mainBannerText .bigText span{font-size:5.4rem;}
.mainBanner .mainBannerText dl{font-weight:300;}
.mainBanner .mainBannerText dl dt{font-size:2.8rem;margin:6.427% 0 2.478%;}
.mainBanner .mainBannerText dl dd{font-size:2rem;color:#ffffff;line-height:1.5;}
.mainBanner .slick-dots{display:none !important;}

.mainBanner .slick-controls{display:none}

.inner{max-width:1560px;margin:0 auto;}

.slide-pause{width:28px;height:28px;position:relative;background:#0bae4b;border-radius:50%;border:0;}
.slide-pause:before{width:3px;height:10px;background:#fff;position:absolute;left:10px;top:9px;content:'';}
.slide-pause:after{width:3px;height:10px;background:#fff;position:absolute;left:15px;top:9px;content:'';}
.slide-play{width:28px;height:28px;position:relative;background:#0bae4b;border-radius:50%;border:0;}
.slide-play:before{width:0;height:0;display:inline-block;position:absolute;left:50%;top:50%;content:"";border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:6px solid transparent;border-left:6px solid #fff;transform:translate(-50%, -50%);margin-left:4px;}

.mainProducts{padding:142px 0 147px;background:#eee;overflow:hidden;}
.mainProducts .contTitle{text-align:center;margin-bottom:71px;}
.mainProducts .slick-controls{display:flex;align-items:center;justify-content:center;margin-top:47px;}
.mainProducts .slick-controls .pagingInfo{margin:0 20px;}
.mainProducts .slick-controls .visual-progress-box .visual-progress{display:block;width:200px;height:2px;overflow:hidden;background-color:#c1c1c1;background-image:linear-gradient(to right, #000, #000);background-repeat:no-repeat;background-size:11.111% 100%;transition:background-size .4s ease-in-out;}

.mainProducts .productSlider{text-align:center;font-size:2.2rem;}
.mainProducts .productSlider .imgBox{position:relative;margin-bottom:27px;}
.mainProducts .productSlider .imgBox .productIcon{display:none;position:absolute;top:0;left:0;}
.mainProducts .productSlider .imgBox:hover:before{display:block;}
.mainProducts .productSlider .imgBox:hover .productIcon{width:100%;height:100%;display:flex;align-items:center;justify-content:center;}
.mainProducts .productSlider .imgBox:before{display:none;background-color: rgba( 0, 0, 0, 0.5 );width:100%;height:100%;border-radius:100%;content:'';position:absolute;content:'';top:50%;left:50%;transform:translate(-50%, -50%);}

.mainProducts .slick-list{margin:0 -20px;}
.mainProducts .slick-slide{margin:0 20px;}

.mainRecruit{height:535px;position:relative;display:flex;align-items:center;background-image:url("../images/main/mainrecruit_bg_img02.jpg");background-attachment:fixed;background-size:cover;background-position:center;background-repeat:no-repeat;}
.mainRecruit .contTitle{color:#fff;}
.mainRecruit .inner .flexCont{text-align:center;}
.mainRecruit .inner .flexCont > div p{color:#fff;font-size:2.2rem;margin:16px 0 70px;line-height:1.4;}
.mainRecruit .inner .flexCont > ul{display:flex;align-items:center;justify-content:center;margin:20px 0 0 20px;flex-shrink:0;}
.mainRecruit .inner .flexCont > ul li{position:relative;padding:0 35px;text-align:center;}
.mainRecruit .inner .flexCont > ul li:last-child{padding-right:0;}
.mainRecruit .inner .flexCont > ul li:after{width:1px;height:69px;background:#998e89;right:0;top:50%;transform:translateY(-50%);content:'';position:absolute}
.mainRecruit .inner .flexCont > ul li:last-child:after{display:none;}
.mainRecruit .inner .flexCont > ul li dl dd{color:#fff;margin-top:11px;}

.mainGraph{padding:150px 0;}
.mainGraph .inner .flexCont{display:flex;justify-content:space-between;}
.mainGraph .inner .flexCont dl dt{font-size:4.4rem;font-weight:600;line-height:1.3637;letter-spacing:-0.03em;}
.mainGraph .inner .flexCont dl dd{font-size:2.2rem;line-height:1.546;color:#555;margin-top:20px;}
.mainGraph .inner .arrowDesign{display:inline-block;margin-top:6px;font-size:1.8rem;letter-spacing:-0.02em;color:#000;}

.arrowDesign{position:relative;}
.arrowDesign:after{width:29px;height:1px;content:'';background:#da291c;right:-38px;top:50%;position:absolute;}
.arrowDesign span:after{width:13px;height:1px;content:'';background:#da291c;right:-40px;top:50%;transform:rotate(-45deg) translateY(-50%);position:absolute;margin-top:5px;}
.arrowDesign span:before{width:13px;height:1px;content:'';background:#da291c;right:-39px;top:50%;transform:rotate(45deg) translateY(-50%);;position:absolute;margin-top:-4px;}


.mainGraph .inner .flexCont > .imgBox{margin-left:2.693%;flex-shrink:0;padding-right:5px;}


.mainMedia{padding-bottom:143px;overflow:hidden;}
.mainMedia .inner{max-width:1400px;position:relative;padding:0 !important;}
.mainMedia .contTitle{text-align:center;margin-bottom:46px;}
.mainMedia .mediaSlider{letter-spacing:-0.02em;}
.mainMedia .mediaSlider .title{font-size:2rem;margin:32px 0 7px;}
.mainMedia .mediaSlider .date{color:#8f8f8f;font-size:1.4rem;}


.mainMedia .arrowBox button{width:70px;height:70px;background:#555;border-radius:50%;border:0;position:absolute;top:50%;transform:translateY(-50%);margin-top:-42px;}
.mainMedia .arrowBox button:hover{background:#0baf4d;}
.mainMedia .arrowBox button:after{width:24px;height:2px;content:'';background:#fff;right:24px;top:50%;margin-top:-1px;position:absolute;}
.mainMedia .arrowBox button span:after{width:15px;height:2px;content:'';background:#fff;top:50%;position:absolute;margin-top:4px;}
.mainMedia .arrowBox button span:before{width:16px;height:2px;content:'';background:#fff;top:50%;position:absolute;margin-top:-6px;}
.mainMedia .arrowBox .slick-prev:after{right:21px;}
.mainMedia .arrowBox .slick-prev span:after{transform:rotate(45deg);left:21px;}
.mainMedia .arrowBox .slick-prev span:before{transform:rotate(-45deg);left:21px;}
.mainMedia .arrowBox .slick-next span:after{transform:rotate(-45deg);right:20px;}
.mainMedia .arrowBox .slick-next span:before{transform:rotate(45deg);right:20px;}

.mainMedia .arrowBox .slick-prev{left:-35px;}
.mainMedia .arrowBox .slick-next{right:-35px;} 

.mediaSlider .slick-slide{max-width:427px;margin:0 30px;}
.mediaSlider .slick-list{overflow:unset;}


@media all and (max-width:1600px){
.inner{max-width:100%;padding:0 20px;}
.mainBanner .inner .mainBannerCont{width:40%;margin-left:5%;}
.mainBanner .inner .mainBannerCont img{max-width:100%;}

.mainBanner .inner .mainBannerText .bigText{font-size:11rem;}
.mainBanner .inner .mainBannerText dl dt{font-size:2.6rem;line-height:1.5;}
.mainBanner .inner .mainBannerText dl dd{font-size:1.9rem;}




.mainGraph{word-break:keep-all;}
.mainGraph .inner .flexCont dl br{display:none;}
}

@media all and (max-width:1520px){

.mainBanner .inner .mainBannerText .bigText{font-size:6rem;}
.mainBanner .mainBannerText .bigText span{font-size:5rem;}

.mainMedia .arrowBox .slick-prev{left:20px;}
.mainMedia .arrowBox .slick-next{right:20px;} 

}

@media all and (max-width:1440px){
.mainMedia .inner{max-width:1400px;position:relative;padding:0 20px !important;}
}

@media all and (max-width:1279px){


.mainGraph .inner .flexCont > .imgBox{width:40%;}
.mainGraph .inner .arrowDesign{margin-top:50px;}

@charset "utf-8";


.contTitle{font-size:5.2rem;font-weight:600;letter-spacing:-0.02em;color:#000;}

.mainBanner{position:relative;}
.mainBanner .slick-slide{font-size:0;vertical-align:top;}
.mainBanner .inner{height:100%;}
.mainBanner .mainBannerText{color:#fff;position:absolute;z-index:1;top:50%;transform:translateY(-50%);}
.mainBanner .mainBannerText .bigText{font-size:8rem;font-weight:600;margin-bottom:0;padding-top:5px;line-height:1.1385;letter-spacing:-0.025em;}
.mainBanner .mainBannerText .bigText span{font-size:5.4rem;}
.mainBanner .mainBannerText dl{font-weight:300;}
.mainBanner .mainBannerText dl dt{font-size:2.8rem;margin:6.427% 0 2.478%;}
.mainBanner .mainBannerText dl dd{font-size:2rem;color:#ffffff;line-height:1.5;}
.mainBanner .slick-dots{display:none !important;}

.mainBanner .slick-controls{display:none}

.inner{max-width:1560px;margin:0 auto;}

.slide-pause{width:28px;height:28px;position:relative;background:#0bae4b;border-radius:50%;border:0;}
.slide-pause:before{width:3px;height:10px;background:#fff;position:absolute;left:10px;top:9px;content:'';}
.slide-pause:after{width:3px;height:10px;background:#fff;position:absolute;left:15px;top:9px;content:'';}
.slide-play{width:28px;height:28px;position:relative;background:#0bae4b;border-radius:50%;border:0;}
.slide-play:before{width:0;height:0;display:inline-block;position:absolute;left:50%;top:50%;content:"";border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:6px solid transparent;border-left:6px solid #fff;transform:translate(-50%, -50%);margin-left:4px;}

.mainProducts{padding:142px 0 147px;background:#eee;overflow:hidden;}
.mainProducts .contTitle{text-align:center;margin-bottom:71px;}
.mainProducts .slick-controls{display:flex;align-items:center;justify-content:center;margin-top:47px;}
.mainProducts .slick-controls .pagingInfo{margin:0 20px;}
.mainProducts .slick-controls .visual-progress-box .visual-progress{display:block;width:200px;height:2px;overflow:hidden;background-color:#c1c1c1;background-image:linear-gradient(to right, #000, #000);background-repeat:no-repeat;background-size:11.111% 100%;transition:background-size .4s ease-in-out;}

.mainProducts .productSlider{text-align:center;font-size:2.2rem;}
.mainProducts .productSlider .imgBox{position:relative;margin-bottom:27px;}
.mainProducts .productSlider .imgBox .productIcon{display:none;position:absolute;top:0;left:0;}
.mainProducts .productSlider .imgBox:hover:before{display:block;}
.mainProducts .productSlider .imgBox:hover .productIcon{width:100%;height:100%;display:flex;align-items:center;justify-content:center;}
.mainProducts .productSlider .imgBox:before{display:none;background-color: rgba( 0, 0, 0, 0.5 );width:100%;height:100%;border-radius:100%;content:'';position:absolute;content:'';top:50%;left:50%;transform:translate(-50%, -50%);}

.mainProducts .slick-list{margin:0 -20px;}
.mainProducts .slick-slide{margin:0 20px;}

.mainRecruit{height:535px;position:relative;display:flex;align-items:center;background-image:url("../images/main/mainrecruit_bg_img02.jpg");background-attachment:fixed;background-size:cover;background-position:center;background-repeat:no-repeat;}
.mainRecruit .contTitle{color:#fff;}
.mainRecruit .inner .flexCont{text-align:center;}
.mainRecruit .inner .flexCont > div p{color:#fff;font-size:2.2rem;margin:16px 0 70px;line-height:1.4;}
.mainRecruit .inner .flexCont > ul{display:flex;align-items:center;justify-content:center;margin:20px 0 0 20px;flex-shrink:0;}
.mainRecruit .inner .flexCont > ul li{position:relative;padding:0 35px;text-align:center;}
.mainRecruit .inner .flexCont > ul li:last-child{padding-right:0;}
.mainRecruit .inner .flexCont > ul li:after{width:1px;height:69px;background:#998e89;right:0;top:50%;transform:translateY(-50%);content:'';position:absolute}
.mainRecruit .inner .flexCont > ul li:last-child:after{display:none;}
.mainRecruit .inner .flexCont > ul li dl dd{color:#fff;margin-top:11px;}

.mainGraph{padding:150px 0;}
.mainGraph .inner .flexCont{display:flex;justify-content:space-between;}
.mainGraph .inner .flexCont dl dt{font-size:4.4rem;font-weight:600;line-height:1.3637;letter-spacing:-0.03em;}
.mainGraph .inner .flexCont dl dd{font-size:2.2rem;line-height:1.546;color:#555;margin-top:20px;}
.mainGraph .inner .arrowDesign{display:inline-block;margin-top:6px;font-size:1.8rem;letter-spacing:-0.02em;color:#000;}

.arrowDesign{position:relative;}
.arrowDesign:after{width:29px;height:1px;content:'';background:#da291c;right:-38px;top:50%;position:absolute;}
.arrowDesign span:after{width:13px;height:1px;content:'';background:#da291c;right:-40px;top:50%;transform:rotate(-45deg) translateY(-50%);position:absolute;margin-top:5px;}
.arrowDesign span:before{width:13px;height:1px;content:'';background:#da291c;right:-39px;top:50%;transform:rotate(45deg) translateY(-50%);;position:absolute;margin-top:-4px;}


.mainGraph .inner .flexCont > .imgBox{margin-left:2.693%;flex-shrink:0;padding-right:5px;}


.mainMedia{padding-bottom:143px;overflow:hidden;}
.mainMedia .inner{max-width:1400px;position:relative;padding:0 !important;}
.mainMedia .contTitle{text-align:center;margin-bottom:46px;}
.mainMedia .mediaSlider{letter-spacing:-0.02em;}
.mainMedia .mediaSlider .title{font-size:2rem;margin:32px 0 7px;}
.mainMedia .mediaSlider .date{color:#8f8f8f;font-size:1.4rem;}


.mainMedia .arrowBox button{width:70px;height:70px;background:#555;border-radius:50%;border:0;position:absolute;top:50%;transform:translateY(-50%);margin-top:-42px;}
.mainMedia .arrowBox button:hover{background:#0baf4d;}
.mainMedia .arrowBox button:after{width:24px;height:2px;content:'';background:#fff;right:24px;top:50%;margin-top:-1px;position:absolute;}
.mainMedia .arrowBox button span:after{width:15px;height:2px;content:'';background:#fff;top:50%;position:absolute;margin-top:4px;}
.mainMedia .arrowBox button span:before{width:16px;height:2px;content:'';background:#fff;top:50%;position:absolute;margin-top:-6px;}
.mainMedia .arrowBox .slick-prev:after{right:21px;}
.mainMedia .arrowBox .slick-prev span:after{transform:rotate(45deg);left:21px;}
.mainMedia .arrowBox .slick-prev span:before{transform:rotate(-45deg);left:21px;}
.mainMedia .arrowBox .slick-next span:after{transform:rotate(-45deg);right:20px;}
.mainMedia .arrowBox .slick-next span:before{transform:rotate(45deg);right:20px;}

.mainMedia .arrowBox .slick-prev{left:-35px;}
.mainMedia .arrowBox .slick-next{right:-35px;} 

.mediaSlider .slick-slide{max-width:427px;margin:0 30px;}
.mediaSlider .slick-list{overflow:unset;}


@media all and (max-width:1600px){
.inner{max-width:100%;padding:0 20px;}
.mainBanner .inner .mainBannerCont{width:40%;margin-left:5%;}
.mainBanner .inner .mainBannerCont img{max-width:100%;}

.mainBanner .inner .mainBannerText .bigText{font-size:11rem;}
.mainBanner .inner .mainBannerText dl dt{font-size:2.6rem;line-height:1.5;}
.mainBanner .inner .mainBannerText dl dd{font-size:1.9rem;}




.mainGraph{word-break:keep-all;}
.mainGraph .inner .flexCont dl br{display:none;}
}

@media all and (max-width:1520px){

.mainBanner .inner .mainBannerText .bigText{font-size:6rem;}
.mainBanner .mainBannerText .bigText span{font-size:5rem;}

.mainMedia .arrowBox .slick-prev{left:20px;}
.mainMedia .arrowBox .slick-next{right:20px;} 

}

@media all and (max-width:1440px){
.mainMedia .inner{max-width:1400px;position:relative;padding:0 20px !important;}
}

@media all and (max-width:1279px){


.mainGraph .inner .flexCont > .imgBox{width:40%;}
.mainGraph .inner .arrowDesign{margin-top:50px;}

.mainRecruit{height:450px;}
.mainRecruit .inner .flexCont{display:block;}
.mainRecruit .inner .flexCont > ul{margin:50px 0 0;}

}

@media all and (max-width:979px){
/* Banner inner flex fix for old product-image layout — not needed for full-bleed slider */
.mainGraph .inner .flexCont{display:block;}
.mainGraph .inner .flexCont > .imgBox{width:60%;margin:50px auto 0;}
}

@media all and (max-width:767px){


.mainProducts{padding:71px 0 73.5px;}
.mainProducts .contTitle{margin-bottom:35px;}
.mainProducts .slick-list{margin:0 -10px;}
.mainProducts .slick-slide{margin:0 10px;}
.mainProducts .productSlider .imgBox{margin-bottom:13.5px;}

.mainBanner .inner .mainBannerText{order:1;margin-top:0;}
.mainBanner .inner .mainBannerText .bigText{padding-top:0;}

.mainGraph{padding:75px 0;}
.mainGraph .inner .flexCont dl dt{font-size:3.8rem;line-height:1.25;}
.mainGraph .inner .flexCont dl dd{font-size:2rem;margin-top:10px;}
.mainGraph .inner .flexCont > .imgBox{width:80%;margin:50px auto 0;}

.mainRecruit{height:365px;}
.mainRecruit .inner .flexCont > ul li{flex:1;padding:0;}
.mainRecruit .inner .flexCont > ul li img{width:32px;}
.mainRecruit .inner .flexCont > div p{margin:16px 0 30px;}
.mainRecruit .inner .flexCont > div p br{display:none;}

.mediaSlider .slick-slide{margin:0 15px;}



.mainMedia{padding-bottom:71.5px;}
.mainMedia .contTitle{margin-bottom:23px;}
.mainMedia .mediaSlider .title{margin:16px 0 3.5px;}
.mainMedia .mediaSlider .slick-slide{max-width:300px;}
.mainMedia .arrowBox button{width:50px;height:50px;margin-top:-20px;}
.mainMedia .arrowBox button:after{width:18px;right:18px;}
.mainMedia .arrowBox button span:after{width:12px;margin-top:3px;}
.mainMedia .arrowBox button span:before{width:13px;margin-top:-5px;}
.mainMedia .arrowBox .slick-prev:after{right:13px;}
.mainMedia .arrowBox .slick-prev span:after{left:15px;}
.mainMedia .arrowBox .slick-prev span:before{left:15px;}
.mainMedia .arrowBox .slick-next span:after{right:15px;}
.mainMedia .arrowBox .slick-next span:before{right:15px;}

.arrowDesign:after{width:23px;right:-32px;}
.arrowDesign span:after{width:11px;right:-35px;top:50%;margin-top:4px;}
.arrowDesign span:before{width:11px;right:-34px;top:50%;margin-top:-4px;}


}

@media all and (max-width:501px){
.mainBanner .inner .mainBannerCont{width:80%;}

.mainBanner .inner .mainBannerText .bigText{font-size:5.2rem;}
.mainBanner .mainBannerText .bigText span{font-size:4rem;}
.mainBanner .inner .mainBannerText dl dt{margin:30px 0 15px;}


.mainRecruit{height:600px;}
.mainRecruit .inner .flexCont > ul{flex-wrap:wrap;justify-content:flex-start;}
.mainRecruit .inner .flexCont > ul li{width:50%;flex:unset;}
.mainRecruit .inner .flexCont > ul li:nth-child(n+3){margin-top:45px;}
.mainRecruit .inner .flexCont > ul li:nth-child(2n):after{display:none;}
.mainRecruit .inner .flexCont > ul li:last-child:after{display:block;}

.mediaSlider .slick-slide{margin:0 10px;}

}

@media all and (max-width:480px){
.mainRecruit{background-attachment:unset;}
}
/* Custom Data Widget to replace Pie Chart */
.mainGraph .inner .flexCont > .dataBox {
    margin-left: 2.693%;
    flex-shrink: 0;
    width: 40%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
    font-family: 'Inter', sans-serif;
}
.dataBox .dataItem {
    background: #ffffff;
    padding: 30px;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
    transition: transform 0.3s ease;
}
.dataBox .dataItem:hover {
    transform: translateY(-5px);
}
.dataBox .mainData {
    background: linear-gradient(135deg, #112d4e 0%, #3f72af 100%);
    color: #fff;
    text-align: center;
    padding: 40px 30px;
}
.dataBox .mainData .label {
    font-size: 1.8rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    opacity: 0.8;
}
.dataBox .mainData .value {
    font-size: 5rem;
    font-weight: 700;
    margin-top: 15px;
    text-shadow: 0 2px 10px rgba(0,0,0,0.2);
}
.dataBox .dataSubItems {
    display: flex;
    gap: 20px;
}
.dataBox .dataSubItems .dataItem {
    flex: 1;
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
}
.dataBox .dataSubItems .label {
    font-size: 1.6rem;
    color: #6c757d;
    font-weight: 600;
}
.dataBox .dataSubItems .value {
    font-size: 2.8rem;
    font-weight: 700;
    color: #212529;
    margin: 15px 0;
}
.dataBox .progressBar {
    height: 6px;
    background: #e9ecef;
    border-radius: 3px;
    width: 100%;
}
.dataBox .progressBar .progress {
    height: 100%;
    border-radius: 3px;
}
.dataBox .progress-domestic { background: #3f72af; }
.dataBox .progress-export { background: #112d4e; }

@media (max-width: 1279px) {
    .mainGraph .inner .flexCont > .dataBox { width: 60%; margin: 50px auto 0; }
}
@media (max-width: 967px) {
    .mainGraph .inner .flexCont > .dataBox { width: 80%; }
}
@media (max-width: 767px) {
    .mainGraph .inner .flexCont > .dataBox { width: 100%; margin-left: 0; }
    .dataBox .dataSubItems { flex-direction: column; }
    .dataBox .mainData .value { font-size: 4rem; }
}

/* Redesigned Section */
.redesignedSection {
    padding: 100px 0;
}
.redesignedSection .contentWrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    max-width: 1400px;
    margin: 0 auto;
}
.redesignedSection .singleLineTitle {
    font-size: clamp(1.4rem, 1.8vw, 2.4rem);
    font-weight: 700;
    color: #112d4e;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
    margin-bottom: 25px;
    font-family: 'Inter', sans-serif;
}
.redesignedSection .multiLineDesc {
    font-size: 1.8rem;
    line-height: 1.8;
    color: #555;
    max-width: 900px;
    margin-bottom: 40px;
}
.redesignedSection .primaryCTA {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #000;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 600;
    padding: 14px 40px;
    border-radius: 50px;
    transition: all 0.3s ease;
    text-decoration: none;
}
.redesignedSection .primaryCTA:hover {
    background-color: #333;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}
.redesignedSection .primaryCTA .arrow {
    margin-left: 10px;
    font-size: 1.8rem;
}
@media (max-width: 1200px) {
    .redesignedSection .singleLineTitle { white-space: normal; }
}

/* =============================================
   Responsive Home Page Banner Slider
   Full-bleed fix: image fills slide, text overlays
   ============================================= */

/* Base: make every slide a positioning context */
.mainBannerCont > div {
    position: relative;
}

/* Picture fills the slide absolutely */
.mainBannerCont > div picture {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

/* Image crops to fill with object-fit */
.mainBannerCont > div img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Inner overlay sits on top of the image */
.mainBannerCont > div .inner {
    position: absolute;
    inset: 0;
    height: 100% !important;
    display: flex;
    align-items: center;
    max-width: 100%;
    margin: 0;
    padding: 0 5%;
    box-sizing: border-box;
}

/* Text block stays centered vertically via flex parent */
.mainBannerCont > div .mainBannerText {
    position: static !important;
    transform: none !important;
    top: auto !important;
}

/* Slick-specific: force all track/list/slide children to match height */
@media all and (max-width: 1024px) {
    .mainBanner,
    .mainBanner .bannerWrap {
        overflow: hidden;
    }
    .mainBanner .mainBannerCont,
    .mainBanner .mainBannerCont .slick-list,
    .mainBanner .mainBannerCont .slick-track,
    .mainBanner .mainBannerCont .slick-slide,
    .mainBanner .mainBannerCont .slick-slide > div {
        height: 100% !important;
    }
}

/* Tablet */
@media all and (max-width: 979px) {
    .mainBanner,
    .mainBanner .bannerWrap {
        height: 55vw;
        min-height: 300px;
        max-height: 480px;
    }
    .mainBannerCont > div .mainBannerText .bigText {
        font-size: 4rem !important;
        line-height: 1.2;
    }
    .mainBannerCont > div .mainBannerText .bigText span {
        font-size: 3.2rem !important;
    }
    .mainBannerCont > div .mainBannerText dl dt {
        font-size: 1.8rem !important;
        margin: 16px 0 8px !important;
        line-height: 1.4;
    }
    .mainBannerCont > div .mainBannerText dl dd {
        font-size: 1.5rem !important;
        line-height: 1.5;
    }
}

/* Mobile */
@media all and (max-width: 767px) {
    .mainBanner,
    .mainBanner .bannerWrap {
        height: 60vw;
        min-height: 260px;
        max-height: 380px;
    }
    .mainBannerCont > div .inner {
        padding: 0 20px;
    }
    .mainBannerCont > div .mainBannerText .bigText {
        font-size: 3rem !important;
    }
    .mainBannerCont > div .mainBannerText .bigText span {
        font-size: 2.4rem !important;
    }
    .mainBannerCont > div .mainBannerText dl dt {
        font-size: 1.5rem !important;
        margin: 10px 0 6px !important;
    }
    .mainBannerCont > div .mainBannerText dl dd {
        font-size: 1.3rem !important;
        line-height: 1.4;
    }
}

/* Small mobile */
@media all and (max-width: 480px) {
    .mainBanner,
    .mainBanner .bannerWrap {
        height: 65vw;
        min-height: 240px;
        max-height: 320px;
    }
    .mainBannerCont > div .mainBannerText .bigText {
        font-size: 2.4rem !important;
    }
    .mainBannerCont > div .mainBannerText .bigText span {
        font-size: 1.8rem !important;
    }
    .mainBannerCont > div .mainBannerText dl dt {
        font-size: 1.3rem !important;
    }
    .mainBannerCont > div .mainBannerText dl dd {
        font-size: 1.1rem !important;
    }
}
