@charset "utf-8";

/* =========================
   공통
========================= */
/* 준비중 */
.img_ready {display:flex;justify-content:center;align-items:center;padding:10rem 5rem;background:var(--wm10);border-radius:2rem;}
.img_ready .left img {width:41.7rem;}
.img_ready .right {padding-left:2rem;}
.img_ready .right strong {line-height:1.2;font-size:4rem;color:var(--black);}
.img_ready .right strong em {color:var(--primary);}
.img_ready .right p {margin-top:2.5rem;line-height:1.5;font-size:1.8rem;}
	@media only screen and (max-width:767px){
		.img_ready {flex-direction:column;gap:4rem;text-align:center;}
		.img_ready .right strong em br {display:none;}
	}

/* 컨텐츠 공통 */
.con_flex {display:flex;flex-wrap:wrap;}
.con_flex .title {width:30rem;}
.h4_title {font-weight:700;font-size:3rem;color:var(--primary);position:relative;}
.con_flex .title .h4_title::before {content:"";position:absolute;top:2.2rem;left:calc(-100% - 2rem);width:100%;height:1px;background:var(--wm50);}
.con_flex .con_box {position:relative;width:calc(100% - 30rem);}
	@media only screen and (max-width:1023px){
		.con_flex .title {width:20rem;}
		.con_flex .title .h4_title::before {left:calc(-100% - 1rem);}
		.con_flex .con_box {width:calc(100% - 20rem);}
	}
	@media only screen and (max-width:767px){
		.title {width:100%;}
		.con_flex .con_box {width:100%;margin-top:2rem;}
	}


/* =========================
   회사소개
========================= */
/* sub0101_인사말 */
.ceo_message_wrap {display:flex;gap:10rem;}
.ceo_img_area {flex:1;border-radius:2rem;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,0.1);position:relative;max-width:65rem;}
.ceo_img_area::before {content:'';display:block;padding-top:130%;}
.ceo_img_area img {position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease;}
.ceo_txt_area {flex:1.2;}
.ceo_slogan {font-size:3.6rem;font-weight:300;line-height:1.4;color:var(--black);margin-bottom:4rem;position:relative;padding-top:5rem;text-wrap:balance;}
.ceo_slogan::before {content:'';position:absolute;left:0;top:0;display:block;width:31px;height:25px;font-size:10rem;color:var(--primary);opacity:0.15;line-height:1;background:url("../../images/fs/content/sub01/dot.png") left top no-repeat;}
.ceo_slogan strong {display:block;font-weight:800;color:var(--primary2);}
.ceo_slogan span {color:var(--primary);font-weight:600;}
.ceo_desc {line-height:1.7;margin-bottom:1.5rem;}
.ceo_desc:last-of-type {margin-bottom:6rem;}
.ceo_sign {text-align:right;font-size:2.2rem;font-weight:700;color:var(--black);border-top:1px solid var(--border);padding-top:3rem;}
    @media only screen and (max-width:1199px) {
        .ceo_message_wrap {gap:6rem;}
        .ceo_slogan {font-size:3.2rem;}
    }
    @media only screen and (max-width:1023px) {
        .ceo_message_wrap {flex-direction:column;gap:6rem;}
        .ceo_img_area {width:100%;margin:0 auto;}
        .ceo_img_area::before {padding-top:70%;}
        .ceo_txt_area {width:100%;}
        .ceo_desc:last-of-type {margin-bottom:4rem;}
    }
    @media only screen and (max-width:767px) {
        .ceo_slogan {font-size:2.6rem;padding-top:3rem;}
        .ceo_slogan::before {font-size:7rem;top:-1.5rem;}
        .ceo_desc {font-size:1.6rem;}
        .ceo_desc:last-of-type {margin-bottom:3rem;}
        .ceo_sign {font-size:1.8rem;}
        .ceo_sign span::after {width:3.2rem;height:3.2rem;font-size:1.4rem;}
    }

/* sub0102_연혁 */
.con_body:has(.history_wrap) {overflow:visible;}
.history_wrap .intro_wrap {position:relative;height:300dvh;margin-top:-23rem;}
.intro_history {position:sticky;top:0;width:100%;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.intro_bg {position:absolute;inset:0;overflow:hidden;z-index:1;transform:translateZ(0);backface-visibility:hidden;will-change:clip-path;}
.intro_bg img {width:100%;height:100%;object-fit:cover;transform:translateZ(0);backface-visibility:hidden;will-change:transform;}
.intro_text {position:relative;z-index:3;font-family:var(--tit_font);font-size:5rem;color:#fff;line-height:1.3;text-align:center;text-wrap:balance;}
.timeline {display:flex;position:relative;padding-top:15rem;}
.timeline_left {width:40%;flex-shrink:0;position:sticky;top:15rem;align-self:flex-start;padding-right:5rem;}
.timeline_year_display {font-family:var(--tit_font);font-weight:800;font-size:10rem;color:var(--primary);line-height:1;}
.timeline_line {position:absolute;left:40%;top:0;width:2px;background:#e7e7ef;}
.timeline_line_active {position:absolute;top:0;left:0;width:100%;height:0;background:var(--primary);}
.timeline_cont {flex:1;padding-left:8rem;position:relative;}
.timeline_year {margin-bottom:12rem;}
.timeline_year:last-child {margin-bottom:0;}
.timeline_items {display:flex;flex-direction:column;gap:5rem;}
.timeline_item {display:flex;align-items:flex-start;gap:4rem;position:relative;}
.timeline_item::before {content:'';position:absolute;left:-7.9rem;top:0.8rem;width:1.2rem;height:1.2rem;border-radius:50%;background:#fff;border:3px solid #ccc;transform:translateX(-50%);z-index:2;transition:all 0.25s ease;}
.timeline_item.active::before {background:var(--primary);border-color:var(--wm30);box-shadow:0 0 0 4px rgba(0,124,216,0.18);}
.timeline_item .month {flex-shrink:0;width:7rem;font-weight:700;font-size:2.2rem;color:var(--black);white-space:nowrap;}
.timeline_list {flex:1;display:flex;flex-direction:column;gap:1.6rem;}
.timeline_list li {color:var(--text-main);line-height:1.6;padding-bottom:1.6rem;border-bottom:1px dashed var(--border);}
.timeline_list li:last-child {padding-bottom:0;border-bottom:none;}
	@media only screen and (max-width:1199px){
		.history_wrap .intro_wrap {margin-top:-21rem;height:280dvh;}
		.timeline {padding-top:12rem;}
		.timeline_left {top:12rem;padding-right:4rem;}
		.timeline_cont {padding-left:6rem;}
		.timeline_item {gap:3rem;}
		.timeline_item::before {left:-6rem;}
		.timeline_year {margin-bottom:10rem;}
	}
	@media only screen and (max-width:1023px){
		.history_wrap .intro_wrap {margin-top:-18rem;height:250dvh;}
		.intro_text {font-size:3.8rem;padding:0 3rem;}
		.timeline {padding-top:10rem;}
		.timeline_left {width:32%;top:10rem;padding-right:3rem;}
		.timeline_year_display {font-size:7.5rem;}
		.timeline_line {left:32%;}
		.timeline_cont {padding-left:4.5rem;}
		.timeline_year {margin-bottom:8rem;}
		.timeline_items {gap:4rem;}
		.timeline_item {gap:2.5rem;}
		.timeline_item::before {left:-4.5rem;top:0.6rem;}
		.timeline_item .month {width:6.2rem;font-size:1.9rem;}
		.timeline_list {gap:1.4rem;}
		.timeline_list li {padding-bottom:1rem;}
	}
	@media only screen and (max-width:767px){
		.history_wrap .intro_wrap {margin-top:-15rem;height:220dvh;}
		.intro_text {font-size:2.6rem;padding:0 2rem;line-height:1.4;}
		.timeline {padding-top:6rem;}
		.timeline_left {display:none;}
		.timeline_line {left:-1px;}
		.timeline_cont {padding-left:2.5rem;}
		.timeline_year {margin-bottom:6rem;}
		.timeline_year::before {content:attr(data-year);display:block;font-family:var(--tit_font);font-size:4rem;color:var(--primary);line-height:1;margin-bottom:2.5rem;}
		.timeline_items {gap:3rem;}
		.timeline_item {gap:1.2rem;}
		.timeline_item::before {left:-2.5rem;top:0.7rem;border-width:2px;}
		.timeline_item.active::before {box-shadow:0 0 0 3px rgba(0,124,216,0.18);}
		.timeline_item .month {width:5.2rem;font-size:1.6rem;}
		.timeline_list {gap:1rem;}
	}

/* sub0105_오시는길 */
.location_wrp .mapbox {height:60rem;display:block;position:relative;}
.location_wrp .mapbox iframe {width:100%;height:100%;}
.location_wrp .mapbox .root_daum_roughmap {width:100% !important;height:100% !important;margin:0 !important;padding:0 !important;}
.location_wrp .mapbox .root_daum_roughmap .wrap_map {width:100% !important;height:100% !important;}
.location_wrp .mapbox .root_daum_roughmap .map {width:100% !important;height:100% !important;}
.location_wrp .mapbox .root_daum_roughmap .map_border {display:none !important;}
.location_wrp .mapbox .root_daum_roughmap .cont,
.location_wrp .mapbox .root_daum_roughmap .section_address,
.location_wrp .mapbox .root_daum_roughmap .wrap_controllers,
.location_wrp .mapbox .root_daum_roughmap .address,
.location_wrp .mapbox .root_daum_roughmap .phone {display:none !important;}
.location_wrp .map_info {margin-top:-15rem;background:linear-gradient(135deg,var(--primary) 0%, var(--bm50) 100%);color:#fff;display:block;position:relative;z-index:1;padding:8rem 5rem;width:70%;float:right;}
.location_wrp .map_info:after {content:'';position:absolute;right:3rem;bottom:3rem;background:url("../../images/fs/layout/logo.png") no-repeat center;width:22.5rem;height:7.5rem;opacity:0.1;filter:brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(255deg) brightness(104%) contrast(101%);background-size:contain;}
.location_wrp .map_info .tit {font-size:3.6rem;font-weight:bold;margin-bottom:2rem;}
.location_wrp .map_info .info_list {display:flex;flex-wrap:wrap;gap:1.2rem 4rem;}
.location_wrp .map_info .info_list > li {display:flex;flex-wrap:wrap;}
.location_wrp .map_info .info_list > li:first-of-type {width:100%;}
.location_wrp .map_info .info_list > li strong {display:inline-block;margin-right:2rem;letter-spacing:0;}
.location_wrp .map_info .info_list > li strong i {font-weight:400;padding-right:0.5rem;}
.location_wrp .map_info .info_list > li p {opacity:0.8;}
    @media only screen and (max-width:1023px){
        .location_wrp .mapbox {height:45rem;}
        .location_wrp .map_info {margin-top:-5rem;padding:6rem 4rem;}
        .location_wrp .map_info .tit {font-size:3.2rem;}
        .location_wrp .map_info .info_list > li.address strong {width:100%;margin-bottom:1rem;}
        .location_wrp .map_info .info_list > li.address p {padding-left:2.5rem;}
    }
    @media only screen and (max-width:767px){
        .location_wrp .map_info {margin-top:2rem;padding:4rem 2rem;width:100%;float:none;}
        .location_wrp .map_info .info_list > li {width:100%;}
        .location_wrp .map_info .info_list > li strong {width:100%;margin-bottom:1rem;}
        .location_wrp .map_info .info_list > li p {padding-left:2.5rem;}
    }


/* =========================
   사업소개
========================= */
/* sub0201_빗물 집수 및 정화 */
.biz_hero_banner {background:var(--wm5);border:1px solid rgba(0,124,216,0.15);border-radius:2.4rem;padding:6rem 5rem;margin-bottom:7rem;position:relative;overflow:hidden;}
.biz_hero_banner .hero_badge {display:inline-flex;align-items:center;gap:0.8rem;background:var(--wm10);color:var(--primary);font-size:1.5rem;font-weight:700;padding:0.8rem 1.8rem;border-radius:5rem;margin-bottom:2.5rem;}
.biz_hero_banner .hero_badge i {font-size:1.6rem;color:var(--primary);}
.biz_hero_banner .hero_slogan {font-family:var(--tit_font);font-size:3.4rem;font-weight:800;color:var(--black);margin-bottom:3.5rem;text-wrap:balance;}
.biz_hero_banner .hero_desc_box {border-top:1px solid rgba(0,124,216,0.12);padding-top:3rem;display:flex;flex-direction:column;gap:1rem;}
.business_wrap:has(.biz_mvis) .biz_hero_banner {border-radius:2.4rem 2.4rem 0 0;margin-bottom:0;}
.biz_mvis {margin-bottom:7rem;border-radius:0 0 2.4rem 2.4rem;overflow:hidden;}
.biz_sec_tit_area {margin-bottom:3rem;text-align:center;}
.biz_sec_tit_area .sec_kicker {display:block;font-family:var(--tit_font);font-size:1.6rem;font-weight:700;color:var(--primary);margin-bottom:.5rem;}
.biz_sec_tit_area .sec_title {font-family:var(--tit_font);font-size:3.8rem;font-weight:800;color:var(--black);}
.biz_section:not(:last-child) {margin-bottom:8rem;}
.process_flow {display:flex;align-items:stretch;justify-content:space-between;gap:1.5rem;}
.process_card {flex:1;min-width:0;border:1px solid var(--border);border-radius:2rem;padding:4rem 3rem;display:flex;flex-direction:column;position:relative;}
.process_card .card_head {display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem;}
.process_card .step_num {font-family:var(--tit_font);font-size:2.6rem;font-weight:800;color:var(--primary);opacity:0.9;}
.process_card .step_icon {width:5.4rem;height:5.4rem;aspect-ratio:1/1;flex-shrink:0;border-radius:1.6rem;background:var(--wm10);display:flex;align-items:center;justify-content:center;color:var(--primary);font-size:2.6rem;}
.process_card .step_title {font-family:var(--tit_font);font-size:2.2rem;font-weight:700;color:var(--black);margin-bottom:1.6rem;}
.process_card .step_desc {font-size:1.6rem;}
.process_arrow {display:flex;align-items:center;justify-content:center;color:#b8c7d6;font-size:2.8rem;flex-shrink:0;}
.features_grid {display:grid;grid-template-columns:repeat(2,1fr);gap:3rem;}
.feature_card {border:1px solid var(--border);border-radius:2rem;padding:4.5rem 4rem;display:flex;align-items:flex-start;gap:2.8rem;}
.feature_card .feat_icon {width:6.4rem;height:6.4rem;aspect-ratio:1/1;flex-shrink:0;border-radius:1.8rem;background:linear-gradient(135deg,var(--wm10) 0%,var(--wm5) 100%);display:flex;align-items:center;justify-content:center;color:var(--primary);font-size:3rem;}
.feature_card .feat_cont {flex:1;min-width:0;}
.feature_card .feat_tit {display:block;font-family:var(--tit_font);font-size:2.2rem;font-weight:700;color:var(--black);margin-bottom:1.2rem;}
.feature_card .feat_desc {font-size:1.7rem;}
.system_grid {display:grid;grid-template-columns:repeat(2,1fr);gap:3.5rem;max-width:96rem;margin:0 auto;}
.system_card {border:1px solid var(--border);border-radius:1.8rem;overflow:hidden;}
.system_img_box {position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.system_img_box img {width:100%;height:100%;object-fit:cover;}
.system_name {padding:1.5rem;font-weight:600;color:var(--black);text-align:center;border-top:1px solid var(--border);}
    @media only screen and (max-width:1199px){
        .biz_hero_banner {padding:5rem 4rem;}
        .biz_hero_banner .hero_slogan {font-size:3rem;}
        .process_card {padding:3.5rem 2.2rem;}
        .process_arrow {font-size:2.2rem;}
        .features_grid {gap:2.2rem;}
        .feature_card {padding:3.5rem 3rem;gap:2rem;}
        .feature_card .feat_icon {width:5.4rem;height:5.4rem;font-size:2.6rem;}
    }
    @media only screen and (max-width:1023px){
        .biz_hero_banner {padding:4.5rem 3rem;margin-bottom:5rem;}
        .biz_hero_banner .hero_slogan {font-size:2.6rem;}
        .biz_hero_banner .hero_desc_box .desc_p {font-size:1.65rem;}
        .biz_mvis {margin-bottom:5rem;}
        .biz_sec_tit_area .sec_title {font-size:3.2rem;}
        .process_flow {display:grid;grid-template-columns:repeat(2,1fr);gap:2.5rem;}
        .process_arrow {display:none;}
        .features_grid {grid-template-columns:1fr;gap:2rem;}
        .system_grid {gap:2.5rem;}
        .system_name {font-size:1.9rem;padding:1.8rem 1.5rem;}
    }
    @media only screen and (max-width:767px){
        .biz_hero_banner {padding:3.5rem 2rem;}
        .biz_hero_banner .hero_badge {font-size:1.3rem;padding:0.6rem 1.4rem;margin-bottom:1.8rem;}
        .biz_hero_banner .hero_slogan {font-size:2.2rem;margin-bottom:2.5rem;}
        .biz_hero_banner .hero_desc_box {padding-top:2.2rem;gap:1.4rem;}
        .biz_hero_banner .hero_desc_box .desc_p {font-size:1.55rem;}
        .biz_sec_tit_area .sec_kicker {font-size:1.4rem;}
        .biz_sec_tit_area .sec_title {font-size:2.6rem;}
        .biz_section:not(:last-child) {margin-bottom:6rem;}
        .process_flow {grid-template-columns:1fr;gap:1.8rem;}
        .process_card {padding:3rem 2.2rem;border-radius:1.6rem;}
        .process_card .step_title {font-size:2rem;}
        .feature_card {flex-direction:column;padding:3rem 2.2rem;border-radius:1.6rem;gap:1.8rem;}
        .feature_card .feat_tit {font-size:1.9rem;}
        .feature_card .feat_desc {font-size:1.55rem;}
        .system_grid {grid-template-columns:1fr;gap:2.5rem;}
        .system_name {font-size:1.8rem;padding:1.6rem 1.5rem;}
    }

/* sub0202_초기 우수 배재 */
.sorting_diag_wrap {position:relative;border:1px solid var(--border);border-radius:2.4rem;padding:5.5rem 5rem 4.5rem;margin-top:3rem;}
.sorting_diag_inner {max-width:86rem;margin:0 auto;position:relative;}
.diag_control_area {position:relative;display:flex;justify-content:center;margin-bottom:4.5rem;}
.diag_control_badge {position:relative;z-index:2;display:inline-flex;align-items:center;gap:0.8rem;background:#fff;border:1.5px solid var(--primary);color:var(--primary);font-size:2rem;font-weight:600;padding:0.9rem 2.6rem;border-radius:5rem;}
.diag_bracket {position:absolute;top:50%;left:7rem;right:7rem;height:5.2rem;border:2px solid #b8c7d6;border-bottom:none;pointer-events:none;z-index:1;}
.diag_bracket::before {content:"";position:absolute;left:-6px;bottom:0;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:8px solid #b8c7d6;}
.diag_bracket::after {content:"";position:absolute;right:-6px;bottom:0;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:8px solid #b8c7d6;}
.diag_flow_area {position:relative;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;}
.diag_step_item {display:flex;flex-direction:column;align-items:center;text-align:center;width:14rem;}
.diag_icon_circle {width:9.6rem;height:9.6rem;aspect-ratio:1/1;border-radius:50%;border:2.5px solid #9bb7d4;outline:4px solid rgba(0,102,204,0.07);outline-offset:4px;display:flex;align-items:center;justify-content:center;color:var(--primary);font-size:3.6rem;margin-bottom:1.8rem;}
.diag_item_tit {font-family:var(--tit_font);font-size:2rem;font-weight:700;color:var(--black);line-height:1.3;}
.diag_item_sub {font-size:1.6rem;font-weight:600;color:#e53e3e;margin-top:0.4rem;}
.diag_flow_arrow {display:flex;align-items:center;justify-content:center;height:9.6rem;color:#a4b7c9;font-size:2.4rem;flex-shrink:0;}
    @media only screen and (max-width:1023px){
        .sorting_diag_wrap {padding:4.5rem 3rem 4rem;margin-top:2.5rem;}
        .sorting_diag_inner {max-width:74rem;}
        .diag_step_item {width:12rem;}
        .diag_bracket {left:6rem;right:6rem;height:4.6rem;}
        .diag_icon_circle {width:8rem;height:8rem;font-size:3rem;margin-bottom:1.4rem;}
        .diag_flow_arrow {height:8rem;font-size:2rem;}
        .diag_item_tit {font-size:1.8rem;}
    }
    @media only screen and (max-width:767px){
        .sorting_diag_wrap {padding:3.5rem 2rem 3rem;border-radius:1.8rem;margin-top:2.5rem;}
        .sorting_diag_inner {max-width:44rem;}
        .diag_control_badge {font-size:1.6rem;padding:0.8rem 2rem;margin-bottom:1rem;}
        .diag_bracket {display:none;}
        .diag_flow_area {display:grid;grid-template-columns:repeat(2,1fr);gap:2.5rem 1.5rem;}
        .diag_step_item {width:100%;}
        .diag_flow_arrow {display:none;}
        .diag_icon_circle {width:7.2rem;height:7.2rem;font-size:2.8rem;}
        .diag_item_tit {font-size:1.7rem;}
        .diag_item_sub {font-size:1.3rem;}
    }

/* sub0204_모듈러 시스템 */
.biz_hero_banner:not(:has(.hero_desc_box)) .hero_slogan {margin-bottom:0;}
.adv_bullet_box {background:#fff;border:1px solid var(--border);border-radius:2rem;padding:3.5rem 4rem;margin-bottom:3rem;}
.adv_bullet_list {display:flex;flex-direction:column;gap:1.6rem;}
.adv_bullet_list li {display:flex;align-items:flex-start;gap:1.2rem;font-size:1.7rem;line-height:1.6;}
.adv_bullet_list li .bullet_icon {color:var(--primary);font-size:2rem;line-height:normal;flex-shrink:0;}
.adv_bullet_list li .bullet_txt {flex:1;}
.adv_bullet_list li .bullet_txt strong {font-family:var(--tit_font);font-weight:700;color:var(--black);margin-right:0.8rem;}
.adv_bullet_list li .bullet_txt span {color:#475569;}
.metric_grid {display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;}
.metric_card {border:1px solid var(--border);border-radius:1.8rem;padding:3.2rem 2.4rem;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;}
.metric_tit {font-size:1.7rem;font-weight:600;color:#64748b;margin-bottom:1rem;}
.metric_val {font-family:var(--tit_font);font-size:2.4rem;font-weight:800;color:var(--black);}
.metric_val.highlight {color:var(--primary);}
.step_cat {display:inline-flex;align-items:center;align-self:flex-start;margin-top:1.2rem;padding:0.5rem 1.3rem;background:var(--wm10);color:var(--primary);font-size:1.5rem;font-weight:600;border-radius:5rem;}
.biz_table_wrap {width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:2rem;border:1px solid var(--border);background:#fff;}
.biz_compare_table {width:100%;border-collapse:collapse;text-align:center;min-width:760px;}
.biz_compare_table thead th {padding:2.2rem 2rem;font-family:var(--tit_font);font-size:1.8rem;font-weight:700;background:#f8fafc;color:var(--black);border-bottom:1px solid var(--border);}
.biz_compare_table thead th.highlight {background:var(--wm10);color:var(--primary);font-weight:800;}
.biz_compare_table tbody th,
.biz_compare_table tbody td {padding:2rem 2.2rem;font-size:1.6rem;line-height:1.6;border-top:1px solid var(--border);vertical-align:middle;}
.biz_compare_table tbody th {background:#fafbfc;font-family:var(--tit_font);font-weight:700;color:var(--black);text-align:center;}
.biz_compare_table tbody td.conventional {color:#64748b;background:#fff;}
.biz_compare_table tbody td.preventer {color:var(--black);background:rgba(0,124,216,0.03);}
.biz_compare_table tbody td.preventer strong {color:var(--primary);font-weight:700;}
.cases_grid {display:grid;grid-template-columns:repeat(2,1fr);gap:3rem;}
.case_card {border:1px solid var(--border);border-radius:2rem;padding:4rem 3.5rem;display:flex;flex-direction:column;justify-content:space-between;}
.case_head {margin-bottom:2.2rem;}
.case_badge {display:inline-block;font-family:var(--tit_font);font-size:1.4rem;font-weight:700;color:var(--primary);background:var(--wm10);padding:0.4rem 1.4rem;border-radius:5rem;margin-bottom:1.2rem;}
.case_title {font-family:var(--tit_font);font-size:2.4rem;font-weight:800;color:var(--black);}
.case_list {display:flex;flex-direction:column;gap:1.2rem;padding-bottom:2.4rem;border-bottom:1px dashed var(--border);}
.case_list li {display:flex;align-items:flex-start;font-size:1.7rem;}
.case_list li .label {width:5rem;flex-shrink:0;font-weight:600;color:#64748b;}
.case_list li .val {flex:1;color:var(--black);font-weight:500;}
.case_result {margin-top:2rem;display:flex;align-items:center;gap:0.8rem;background:var(--wm5);border:1px solid rgba(0,124,216,0.15);padding:1.4rem 1.8rem;border-radius:1.2rem;font-size:1.55rem;font-weight:700;color:var(--primary);}
.case_result i {font-size:1.8rem;flex-shrink:0;}
    @media only screen and (max-width:1199px){
        .metric_card {padding:2.8rem 1.8rem;}
        .metric_tit {font-size:1.6rem;}
        .metric_val {font-size:2.2rem;}
        .case_card {padding:3.5rem 3rem;}
        .case_title {font-size:2.2rem;}
    }
    @media only screen and (max-width:1023px){
        .adv_bullet_box {padding:3rem;}
        .metric_grid {grid-template-columns:repeat(2,1fr);gap:1.8rem;}
        .cases_grid {grid-template-columns:1fr;gap:2.2rem;}
    }
    @media only screen and (max-width:767px){
        .adv_bullet_box {padding:2.5rem 2rem;border-radius:1.6rem;}
        .adv_bullet_list li {font-size:1.55rem;gap:1rem;}
        .adv_bullet_list li .bullet_icon {font-size:1.8rem;}
        .metric_grid {grid-template-columns:1fr 1fr;gap:1.2rem;}
        .metric_card {padding:2.2rem 1.5rem;border-radius:1.5rem;}
        .metric_tit {font-size:1.5rem;margin-bottom:0.6rem;}
        .metric_val {font-size:1.9rem;}
        .case_card {padding:3rem 2.2rem;border-radius:1.6rem;}
        .case_title {font-size:2rem;}
        .case_list li {font-size:1.5rem;}
        .case_result {font-size:1.45rem;padding:1.2rem 1.4rem;}
        .biz_compare_table thead th {font-size:1.6rem;padding:1.8rem 1.4rem;}
        .biz_compare_table tbody th,
        .biz_compare_table tbody td {font-size:1.45rem;padding:1.6rem 1.4rem;}
    }


/* =========================
   제품소개
========================= */
/* sub0301_레인베이션 */
.system_grid.col4 {display:grid;grid-template-columns:repeat(4,1fr);gap:2.4rem;max-width:100%;margin:0 auto;}
.system_grid.col4 .system_card {border:1px solid var(--border);border-radius:1.8rem;overflow:hidden;background:#fff;}
.system_grid.col4 .system_img_box {position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;display:block;}
.system_grid.col4 .system_img_box img {width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.system_grid.col4 .system_card:hover .system_img_box img {transform:scale(1.06);}
.system_img_box .cate {position:absolute;top:1.4rem;right:1.4rem;z-index:2;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem 1.6rem;background:var(--primary);border:2px solid rgba(255,255,255,.25);color:#fff;font-size:1.5rem;font-weight:600;line-height:1.2;border-radius:5rem;box-shadow:0 4px 12px rgba(0,0,0,0.15);pointer-events:none;}
.system_img_box .cate i {font-size:1.7rem;line-height:1;}
    @media only screen and (max-width:1199px){
        .system_grid.col4 {gap:2rem;}
    }
    @media only screen and (max-width:1023px){
        .system_grid.col4 {grid-template-columns:repeat(2,1fr);gap:2rem;}
        .system_img_box .cate {padding:.4rem 1.4rem;font-size:1.4rem;top:1.2rem;right:1.2rem;}
        .system_img_box .cate i {font-size:1.6rem;}
    }
    @media only screen and (max-width:767px){
        .system_grid.col4 {grid-template-columns:1fr;gap:2rem;}
        .system_card[data-aos] {transition-delay:0s !important;}
        .system_img_box .cate {padding:.4rem 1.3rem;font-size:1.35rem;top:1.2rem;right:1.2rem;}
    }


/* =========================
   솔루션
========================= */
/* sub0401_지붕 냉각 시스템 */
/* 20261027 추가 */
.sol_top_banner {width:100%;height:55rem;overflow:hidden;}
.sol_top_banner img {display:block;width:100%;height:100%;object-fit:cover;object-position:center;}
/* //20261027 추가 */
.sol_system_banner {background:url("../../images/fs/content/sub04/sub0401_bg01.jpg") no-repeat center / cover;padding:10rem 0;overflow:hidden;}
.sol_system_banner .biz_sec_tit_area .sec_title {color:#fff;margin-bottom:5.5rem;}
.sol_system_banner .wrap {display:flex;align-items:center;justify-content:space-between;gap:3.5rem;}
.sol_col {width:26rem;flex-shrink:0;text-align:center;color:#fff;padding:4rem 2rem;border-radius:2rem;background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.15);backdrop-filter:blur(1rem);box-shadow:0 1.5rem 3.5rem rgba(0,0,0,0.25);}
.sol_icon {width:7rem;height:7rem;border-radius:50%;margin:0 auto 2rem;display:flex;align-items:center;justify-content:center;font-size:3rem;color:var(--wm50);background:rgba(255,255,255,0.2);}
.sol_col_title {font-size:2.4rem;font-weight:500;margin-bottom:1.5rem;}
.sol_col_desc {font-size:1.7rem;opacity:.7;}
.sol_process {flex:1;display:flex;align-items:flex-end;justify-content:center;gap:2.5rem;padding:1rem 0;}
.sol_img_step {display:flex;flex-direction:column;align-items:center;justify-content:flex-end;}
.sol_img_step img {display:block;width:auto;object-fit:contain;}
.sol_img_step.step01 img {height:15rem;}
.sol_img_step.step02 img {height:19rem;}
.sol_img_step.step03 img {height:24.5rem;}
.sol_arrow {align-self:center;margin-bottom:4rem;color:rgba(90,213,255,0.7);font-size:3.2rem;display:flex;align-items:center;justify-content:center;animation:arrowGlow 2.4s infinite ease-in-out;}
@keyframes arrowGlow { 0%,100% {opacity:0.45;transform:translateX(0);} 50% {opacity:1;transform:translateX(5px);color:var(--primary);text-shadow:0 0 14px rgba(90,213,255,0.85);} }
.sol_icon_grid {display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;color:#fff;text-align:center;}
.sol_icon_grid li {padding:3.2rem 2.4rem;border-radius:2rem;transition:all 0.35s cubic-bezier(0.16,1,0.3,1);background:linear-gradient(135deg,var(--primary),var(--bm50));}
.sol_icon_grid .icon_circle {display:flex;align-items:center;justify-content:center;font-size:3.8rem;margin-bottom:1.6rem;}
.sol_icon_grid .icon_txt {font-size:1.8rem;font-weight:600;line-height:1.45;letter-spacing:-0.01em;}
.sol_point_box {margin-top:6.5rem;background:var(--wm5);border:1.5px solid var(--wm30);border-top:4px solid var(--primary);border-radius:2.4rem;padding:6rem 5rem;text-align:center;position:relative;}
.sol_point_box .point_tit {margin-bottom:4rem;padding-bottom:3.5rem;border-bottom:1px dashed var(--wm40);}
.sol_point_box .tit_sub {font-size:2.2rem;font-weight:600;color:#333;line-height:1.4;margin-bottom:1.2rem;}
.sol_point_box .tit_main {font-size:3.4rem;font-weight:800;color:var(--black);line-height:1.35;}
.sol_point_box .tit_main strong {color:var(--primary);font-weight:800;}
.sol_point_box .point_desc {display:flex;flex-direction:column;gap:1rem;}
.sol_point_box .desc_p {font-size:1.9rem;font-weight:500;}
    @media only screen and (max-width:1199px){
        .sol_point_box {padding:5rem 4rem;}
        .sol_point_box .tit_main {font-size:3rem;}
        .sol_point_box .desc_p {font-size:1.8rem;}
    }
    @media only screen and (max-width:1023px){
        .sol_system_banner .wrap {flex-direction:column;gap:3.5rem;}
        .sol_col {width:100%;max-width:46rem;}
        .sol_process {width:100%;gap:2rem;}
        .sol_icon_grid {grid-template-columns:repeat(2,1fr);gap:2rem;}
        .sol_point_box {margin-top:5rem;padding:4.5rem 3rem;}
        .sol_point_box .point_tit {margin-bottom:3rem;padding-bottom:2.5rem;}
        .sol_point_box .tit_sub {font-size:2rem;}
        .sol_point_box .tit_main {font-size:2.6rem;}
        .sol_point_box .point_desc {gap:2.2rem;}
        .sol_point_box .desc_p {font-size:1.75rem;}
    }
    @media only screen and (max-width:767px){
        /* 20261027 추가 */
        .sol_top_banner {height:22rem;}
        /* //20261027 추가 */
        .sol_system_banner {padding:6rem 0;}
        .sol_system_banner .wrap {gap:2.5rem;}
        .sol_col {padding:3rem 1.6rem;border-radius:1.6rem;}
        .sol_col_title {font-size:2.1rem;}
        .sol_col_desc {font-size:1.5rem;}
        .sol_process {gap:1rem;}
        .sol_img_step.step01 img {height:10rem;}
        .sol_img_step.step02 img {height:12.5rem;}
        .sol_img_step.step03 img {height:16rem;}
        .sol_arrow {font-size:2rem;margin-bottom:1.5rem;}
        .sol_icon_grid {grid-template-columns:1fr;gap:1.4rem;}
        .sol_icon_grid li {padding:2.5rem 1.8rem;}
        .sol_icon_grid .icon_circle {font-size:3.2rem;margin-bottom:1.2rem;}
        .sol_icon_grid .icon_txt {font-size:1.6rem;}
        .sol_point_box {margin-top:4rem;padding:3.5rem 2rem;border-radius:1.8rem;}
        .sol_point_box .point_tit {margin-bottom:2.5rem;padding-bottom:2rem;}
        .sol_point_box .tit_sub {font-size:1.7rem;}
        .sol_point_box .tit_main {font-size:2.2rem;line-height:1.4;}
        .sol_point_box .point_desc {gap:1.8rem;}
        .sol_point_box .desc_p {font-size:1.55rem;line-height:1.65;}
    }

/* sub0402_에너지캐쉬백 */
.cashback_intro {display:flex;}
.cashback_tit {width:30%;padding-right:6rem;font-weight:700;font-size:4.2rem;color:var(--black);line-height:1.2;letter-spacing:-0.04em;}
.cashback_intro .biz_section {width:70%;}
.cashback_intro .desc_p strong {color:var(--primary);}
.energy_cashback .system_grid {max-width:none;margin:4rem auto 0;}
    @media only screen and (max-width:1023px){
        .cashback_intro {flex-direction:column;}
        .cashback_tit {width:100%;padding-right:0;padding-bottom:3rem;font-size:3.6rem;}
        .cashback_intro .biz_section {width:100%;}
    }

/* sub0403_에너지 세이빙 */
.roi_grid {display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem;}
.roi_card {border:1px solid var(--border);border-radius:2rem;padding:4.5rem 3rem;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;}
.roi_card .roi_tit {font-family:var(--tit_font);font-size:1.8rem;font-weight:700;color:var(--black);margin-bottom:1.6rem;}
.roi_card .roi_val {font-family:var(--tit_font);font-size:3.4rem;font-weight:800;color:var(--black);margin-bottom:1.6rem;line-height:1.2;}
.roi_card .roi_desc {font-size:1.6rem;color:#64748b;line-height:1.5;word-break:keep-all;}
    @media only screen and (max-width:1199px){
        .roi_card .roi_val {font-size:3rem;}
    }
    @media only screen and (max-width:767px){
        .roi_grid {grid-template-columns:1fr;gap:1.6rem;}
        .roi_card {padding:3.5rem 2rem;border-radius:1.6rem;}
        .roi_card .roi_val {font-size:2.8rem;}
    }
