/* =================================================
   COMPANY PREMIUM PAGE CSS
   PART 5 - BASIC + HERO
================================================= */


*{

margin:0;
padding:0;
box-sizing:border-box;

}


html{

scroll-behavior:smooth;

}


body{

font-family:
"Pretendard",
"Noto Sans KR",
sans-serif;

font-size:16px;

line-height:1.6;

color:#222;

background:#f7f9fc;

}


img{

width:100%;

display:block;

}


a{

text-decoration:none;

color:inherit;

}



.company_wrap{

width:1200px;

margin:0 auto;

}




/* =========================
HEADER
========================= */


.company_header{

position:fixed;

top:0;

left:0;

width:100%;

height:82px;

background:rgba(255,255,255,.92);

backdrop-filter:blur(15px);

border-bottom:1px solid #eee;

z-index:999;

}


.company_header .company_wrap{

height:82px;

display:flex;

align-items:center;

justify-content:space-between;

}



.company_logo{

font-size:28px;

font-weight:900;

color:#111;

}



.company_menu{

display:flex;

gap:35px;

}


.company_menu a{

font-size:16px;

font-weight:600;

transition:.3s;

}


.company_menu a:hover{

color:#2563eb;

}





/* =========================
HERO
========================= */


.company_hero{

padding-top:160px;

padding-bottom:120px;

background:

linear-gradient(
135deg,
#f0f6ff,
#ffffff
);

}



.hero_grid{

display:grid;

grid-template-columns:

1fr 650px;

gap:50px;

align-items:center;

}


.rating{

display:inline-flex;

align-items:center;

gap:15px;

padding:10px 20px;

background:#fff;

border-radius:50px;

box-shadow:

0 10px 30px rgba(0,0,0,.06);

color:#ffb400;

font-size:20px;

margin-bottom:30px;

}



.rating span{

font-size:14px;

color:#555;

font-weight:600;

}



.hero_text h1{

font-size:50px;

line-height:1.25;

font-weight:900;

letter-spacing:-2px;

margin-bottom:30px;

}



.hero_text p{

font-size:20px;

color:#666;

margin-bottom:40px;

}




/* =========================
INFO NUMBER
========================= */


.hero_info{

display:flex;

gap:30px;

margin-bottom:45px;

}



.hero_info div{

display:flex;

flex-direction:column;

}



.hero_info strong{

font-size:30px;

font-weight:900;

color:#2563eb;

}



.hero_info span{

font-size:15px;

color:#777;

}




/* =========================
BUTTON
========================= */


.hero_btn{

display:flex;

gap:15px;

}



.call_btn,
.quote_btn{


height:58px;

padding:0 38px;

border-radius:50px;

display:flex;

align-items:center;

justify-content:center;

font-size:17px;

font-weight:700;

transition:.35s;

}



.call_btn{

background:#2563eb;

color:#fff;

}



.quote_btn{

background:#fff;

border:1px solid #ddd;

}

.quote_btn i{

font-size: 22px;
padding-right:10px;

}


.call_btn:hover{

transform:translateY(-5px);

box-shadow:

0 20px 40px rgba(37,99,235,.35);

}



.quote_btn:hover{

background:#2563eb;

color:#fff;

}





/* =========================
MAIN IMAGE
========================= */


.hero_image{

position:relative;

}



.image_box img{

height:500px;

width:100%;

object-fit:cover;

border-radius:22px;

transition:.5s;

}



.image_box img{

height:500px;

object-fit:cover;

border-radius:22px;

transition:.5s;

}



.image_box:hover img{

transform:scale(1.05);

}





/* =========================
LIVE CARD
========================= */


.live_card{

position:absolute;

bottom:-40px;

right:-20px;

left:auto;

background:#2563eb;

color:#fff;

padding:18px 30px;

border-radius:22px;

box-shadow:

0 15px 40px rgba(37,99,235,.35);

text-align:center;

}


.live_card div{

font-size:18px;

font-weight:800;

color:#fff;

}



.live_card div i{font-size: 20px;
    color: #fff;
	padding-right: 10px;}


.live_card p{

font-size:14px;

color:#fff;

margin-top:8px;

}







/* =================================================
   COMPANY PREMIUM PAGE CSS
   PART 6 - SERVICE / TRUST / GALLERY
================================================= */


/* =========================
SERVICE
========================= */

.company_service{

padding:110px 0;

background:#fff;

}


.company_service h2,
.live_work h2,
.company_gallery h2,
.company_review h2,
.company_video h2,
.company_blog h2,
.company_map h2{

font-size:42px;

font-weight:900;

text-align:center;

margin-bottom:60px;

}



.service_grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:25px;

}



.service_card{

background:#fff;

border-radius:25px;

padding:40px 25px;

text-align:center;

box-shadow:

0 15px 40px rgba(0,0,0,.06);

transition:.35s;

border:1px solid #f0f0f0;

}



.service_card:hover{

transform:translateY(-12px);

background:#2563eb;

color:#fff;

box-shadow:

0 30px 60px rgba(37,99,235,.25);

}



.service_icon{

width:75px;

height:75px;

margin:0 auto 25px;

display:flex;

align-items:center;

justify-content:center;

font-size:38px;

background:#eff6ff;

border-radius:50%;

}



.service_card:hover .service_icon{

background:#bed7f7;

}



.service_card h3{

font-size:23px;

margin-bottom:15px;

font-weight:800;

}



.service_card p{

font-size:15px;

color:#666;

word-break: keep-all;

}



.service_card:hover p{

color:#fff;

}




/* =========================
TRUST
========================= */


.trust_section{

padding:80px 0;

background:

linear-gradient(
135deg,
#2563eb,
#4f8cff
);

color:#fff;

}



.trust_grid{

display:grid;

grid-template-columns:repeat(4,1fr);

text-align:center;

}



.trust_box{

border-right:1px solid rgba(255,255,255,.25);

}



.trust_box:last-child{

border:0;

}



.trust_box strong{

display:block;

font-size:55px;

font-weight:900;

line-height:1;

margin-bottom:15px;

}



.trust_box span{

font-size:17px;

opacity:.9;

}





/* =========================
LIVE WORK
========================= */


.live_work{

padding:110px 0;

background:#f7f9fc;

}



.work_list{

max-width:850px;

margin:auto;

}



.work_item{

background:#fff;

border-radius:20px;

padding:25px 35px;

margin-bottom:18px;

display:flex;

align-items:center;

gap:30px;

box-shadow:

0 10px 30px rgba(0,0,0,.05);

transition:.3s;

}



.work_item:hover{

transform:translateX(10px);

}



.work_time{

font-size:20px;

font-weight:800;

color:#2563eb;

width:80px;

}



.work_item strong{

font-size:20px;

}



.work_item p{

color:#666;

margin-top:5px;

}



.complete,
.ing{

margin-left:auto;

padding:7px 18px;

border-radius:50px;

font-size:14px;

font-weight:700;

}



.complete{

background:#dcfce7;

color:#16a34a;

}


.ing{

background:#fef3c7;

color:#d97706;

}




/* =========================
GALLERY
========================= */


.company_gallery{

padding:110px 0;

background:#fff;

}



.gallery_grid{

columns:3;

column-gap:25px;

}



.gallery_item{

break-inside:avoid;

margin-bottom:25px;

border-radius:22px;

overflow:hidden;

position:relative;

background:#eee;

}



.gallery_item img{

width:100%;

transition:.5s;

}



.gallery_item:hover img{

transform:scale(1.08);

}



.gallery_overlay{

position:absolute;

left:0;

bottom:0;

width:100%;

padding:18px;

background:

linear-gradient(
transparent,
rgba(0,0,0,.7)
);

color:#fff;

font-weight:700;

opacity:0;

transition:.35s;

}



.gallery_item:hover .gallery_overlay{

opacity:1;

}





/* =================================================
   COMPANY PREMIUM PAGE CSS
   PART 7 - REVIEW / VIDEO / BLOG
================================================= */


/* =========================
REVIEW
========================= */

.company_review{

padding:110px 0;

background:#f7f9fc;

}



.review_grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}



.review_card{

background:#fff;

border-radius:25px;

padding:30px;

box-shadow:

0 15px 40px rgba(0,0,0,.07);

transition:.35s;

}



.review_card:hover{

transform:translateY(-10px);

box-shadow:

0 30px 60px rgba(0,0,0,.12);

}




.review_header{

display:flex;

align-items:center;

gap:15px;

}



.review_avatar{

width:55px;

height:55px;

border-radius:50%;

overflow:hidden;

background:#eee;

}



.review_avatar img{

width:100%;

height:100%;

object-fit:cover;

}



.review_header strong{

font-size:18px;

}



.review_header p{

font-size:13px;

color:#999;

}



.stars{

margin:22px 0;

font-size:22px;

letter-spacing:3px;

color:#ffb400;

}



.review_text{

font-size:16px;

line-height:1.8;

color:#555;

min-height:110px;

}



.review_photo{

margin-top:25px;

border-radius:18px;

overflow:hidden;

}



.review_photo img{

height:220px;

object-fit:cover;

transition:.5s;

}



.review_photo:hover img{

transform:scale(1.08);

}



.review_like{

margin-top:20px;

padding-top:18px;

border-top:1px solid #eee;

font-size:14px;

color:#777;

}




/* =========================
VIDEO
========================= */


.company_video{

padding:110px 0;

background:#fff;

}



.video_grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}



.video_box{

background:#000;

border-radius:25px;

overflow:hidden;

box-shadow:

0 20px 50px rgba(0,0,0,.15);

}



.video_box iframe{

width:100%;

height:280px;

display:block;

}




/* =========================
BLOG
========================= */


.company_blog{

padding:110px 0;

background:#f7f9fc;

}



.blog_grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}



.blog_card{

background:#fff;

padding:35px;

border-radius:25px;

box-shadow:

0 12px 35px rgba(0,0,0,.06);

transition:.35s;

}



.blog_card:hover{

transform:translateY(-10px);

}



.blog_card span{

display:inline-block;

padding:6px 15px;

background:#eff6ff;

color:#2563eb;

border-radius:50px;

font-size:13px;

font-weight:700;

margin-bottom:20px;

}



.blog_card h3{

font-size:23px;

font-weight:800;

margin-bottom:15px;

}



.blog_card p{

color:#666;

margin-bottom:25px;

}



.blog_card a{

color:#2563eb;

font-weight:700;

}




/* =========================
GOOGLE REVIEW BOX
========================= */


.google_review{

margin-top:60px;

background:#fff;

border-radius:25px;

padding:35px;

display:flex;

justify-content:center;

align-items:center;

gap:25px;

box-shadow:

0 15px 40px rgba(0,0,0,.08);

}



.google_score{

font-size:55px;

font-weight:900;

color:#2563eb;

}



.google_star{

font-size:25px;

color:#ffb400;

letter-spacing:3px;

}



/* =================================================
   COMPANY PREMIUM PAGE CSS
   PART 8 - CONTACT / MAP / FLOAT / FOOTER
================================================= */


/* =========================
CONTACT
========================= */


.contact_section{

padding:120px 0;

background:

linear-gradient(
135deg,
#eff6ff,
#ffffff
);

}



.contact_box{

max-width:700px;

margin:auto;

background:#fff;

padding:55px;

border-radius:30px;

box-shadow:

0 30px 70px rgba(0,0,0,.10);

}



.contact_box h2{

font-size:40px;

font-weight:900;

text-align:center;

margin-bottom:15px;

}



.contact_box > p{

text-align:center;

color:#666;

margin-bottom:40px;

}



.contact_box input,
.contact_box select,
.contact_box textarea{

width:100%;

height:58px;

border:1px solid #ddd;

border-radius:15px;

padding:0 20px;

font-size:16px;

margin-bottom:15px;

outline:none;

transition:.3s;

}



.contact_box textarea{

height:130px;

padding-top:18px;

resize:none;

}



.contact_box input:focus,
.contact_box select:focus,
.contact_box textarea:focus{

border-color:#2563eb;

box-shadow:

0 0 0 4px rgba(37,99,235,.12);

}



.contact_box button{

width:100%;

height:60px;

border:0;

border-radius:50px;

background:#2563eb;

color:#fff;

font-size:18px;

font-weight:800;

cursor:pointer;

transition:.3s;

}



.contact_box button:hover{

background:#1748b8;

transform:translateY(-3px);

}





/* =========================
MAP
========================= */


.company_map{

padding:110px 0;

background:#fff;

}



.map_box{

height:420px;

border-radius:30px;

overflow:hidden;

background:#eee;

box-shadow:

0 20px 50px rgba(0,0,0,.08);

}



#map{

width:100%;

height:100%;

display:flex;

align-items:center;

justify-content:center;

font-size:20px;

color:#777;

}




/* =========================
FLOATING MENU
========================= */


.floating_menu{

position:fixed;

right:30px;

bottom:40px;

z-index:999;

display:flex;

flex-direction:column;

gap:15px;

}



.floating_menu a{

width:60px;

height:60px;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

font-size:25px;

background:#2563eb;

color:#fff;

box-shadow:

0 15px 35px rgba(37,99,235,.35);

transition:.3s;

}



.floating_menu a:hover{

transform:translateY(-7px);

}





/* =========================
FOOTER
========================= */


.company_footer{

padding:60px 0;

background:#111827;

color:#fff;

}



.company_footer h3{

font-size:28px;

font-weight:900;

margin-bottom:15px;

}



.company_footer p{

color:#aaa;

margin-top:8px;

}






/* =========================
SCROLL EFFECT
========================= */


.fade_show{

animation:

showUp .8s ease forwards;

}



@keyframes showUp{


from{

opacity:0;

transform:translateY(40px);

}


to{

opacity:1;

transform:translateY(0);

}


}



/* =========================
DESKTOP SMALL
========================= */


@media(max-width:1250px){


.company_wrap{

width:92%;

}


.hero_grid{

gap:40px;

}


}





/* =========================
MOBILE
========================= */


@media(max-width:768px){

.live_work{padding: 50px 0;}

.work_item{padding: 25px 15px; gap: 10px;}

.company_service{padding: 50px 0;}

.company_wrap{

width:92%;

}



.company_header{

height:70px;

}



.company_header .company_wrap{

height:70px;

}



.company_menu{

display:none;

}



.company_logo{

font-size:22px;

}



.company_hero{

padding-top:120px;

padding-bottom:70px;

}



.hero_grid{

display:block;

}



.hero_text h1{

font-size:38px;

}



.hero_text p{

font-size:17px;

}



.hero_info{

gap:20px;

}



.hero_info strong{

font-size:23px;

}



.hero_btn{

display:block;

}



.call_btn,
.quote_btn{

margin-bottom:12px;

width:100%;

}



.hero_image{

margin-top:40px;

}



.image_box img{

height:350px;

}



.live_card{
position: relative;
left:0;
right:0;

}



.service_grid,
.review_grid,
.video_grid,
.blog_grid{

grid-template-columns:repeat(1,1fr);

}



.trust_grid{

grid-template-columns:repeat(2,1fr);

gap:35px;

}



.trust_box{

border:0;

}


.trust_section{padding: 40px 0;}

.trust_box strong{font-size: 30px;}

.gallery_grid{

columns:2;

}

.company_service h2, .live_work h2, .company_gallery h2, .company_review h2, .company_video h2, .company_blog h2, .company_map h2 {
    font-size: 30px; margin-bottom: 30px;}

.company_service h2,
.company_gallery h2,
.company_review h2,
.company_video h2,
.company_blog h2{

font-size:32px;
word-break: keep-all;
}

.before_after h2 {font-size: 30px!important; margin-bottom: 30px!important;}

.before_after {padding: 50px 0!important;}

.contact_box{

padding:30px 20px;

}

.company_gallery{padding: 50px 0}


}


@media (max-width: 360px) {
    .hero_info strong {font-size:20px;}
}


/* =========================
 CONTACT + BOARD
========================= */


.contact_board{

padding:100px 0;

background:#f7f9fc;

}



.contact_board_grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:35px;

}



.contact_form_box,
.free_board_box{

background:#fff;

border-radius:30px;

padding:55px;

box-shadow:

0 20px 50px rgba(0,0,0,.08);

}



.contact_form_box h2,
.free_board_box h2{

font-size:40px;

font-weight:900;

margin-bottom:10px;

}



.contact_form_box p{

color:#777;

margin-bottom:30px;

}



.contact_form_box input,
.contact_form_box select,
.contact_form_box textarea{

width:100%;

height:55px;

border:1px solid #ddd;

border-radius:15px;

padding:0 18px;

margin-bottom:15px;

font-size:15px;

}



.contact_form_box textarea{

height:130px;

padding-top:15px;

}



.contact_form_box button{

width:100%;

height:58px;

border:0;

border-radius:50px;

background:#2563eb;

color:#fff;

font-size:18px;

font-weight:700;

}




/* ÀÚÀ¯°Ô½ÃÆÇ */


.board_title{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:30px;

}



.board_title a{

color:#2563eb;

font-weight:700;

}



.board_list li{

border-bottom:1px solid #eee;

padding:18px 0;

list-style: none;

}



.board_list a{

display:flex;

justify-content:space-between;

font-size:16px;

}



.board_list span{

color:#999;

font-size:14px;

}



.board_notice{

margin-top:30px;

padding:18px;

border-radius:15px;

background:#eff6ff;

color:#2563eb;

font-weight:700;

}






@media(max-width:768px){
.company_blog{padding: 50px 0;}
.company_map{padding: 50px 0;}
.company_video{padding: 50px 0;}
.contact_section{padding: 50px 0;}
.contact_form_box h2, .free_board_box h2 {font-size: 30px;}
.contact_box h2 {font-size: 30px;} 
.contact_board_grid{
.board_title{margin-bottom:0;}
grid-template-columns:1fr;

}


.contact_form_box,
.free_board_box{

padding:30px 20px;

}

}




/* =========================
 BEFORE AFTER
========================= */


.before_after{

padding:100px 0;

background:#f7f9fc;

}



.before_after h2{

font-size:42px;

font-weight:900;

text-align:center;

margin-bottom:60px;

}




.compare_box{

display:flex;

align-items:center;

justify-content:center;

gap:35px;

}



.compare_card{

width:500px;

background:#fff;

border-radius:25px;

overflow:hidden;

box-shadow:

0 20px 50px rgba(0,0,0,.1);

}



.compare_card img{

width:500px;

height:400px;

object-fit:cover;

}



.compare_title{

padding:15px;

font-size:22px;

font-weight:900;

text-align:center;

}



.compare_title.before{

background:#03a9f4a3;

color:#fff;

}



.compare_title.after{

background:#2563eb;

color:#fff;

}



.compare_card p{

padding:20px;

text-align:center;

font-size:16px;

color:#666;

}




.compare_arrow{

font-size:50px;

font-weight:900;

color:#2563eb;

}





@media(max-width:768px){


.compare_box{

display:block;

}


.compare_card{

width:100%;

margin-bottom:25px;

}



.compare_card img{

width:100%;

height:300px;

}



.compare_arrow{

text-align:center;

transform:rotate(90deg);

margin:20px;

}


}


/* =====================
½Ã°ø»ç·Ê 4¿­ µðÀÚÀÎ
===================== */

.gallery_slider{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:20px;

width:100%;

}


.gallery_slide_item{

background:#fff;

border-radius:15px;

overflow:hidden;

box-shadow:0 5px 15px rgba(0,0,0,.08);

}


.gallery_image_box{

width:100%;

height:220px;

overflow:hidden;

position:relative;

}


.gallery_image_box img{

width:100%;

height:100%;

object-fit:cover;

display:block;

}



.gallery_caption{

}

.gallery_hover{

position:absolute;

bottom:0;

left:0;

right:0;

background:rgba(0,0,0,.55);

color:#fff;

padding:8px;

text-align:center;

font-size:14px;

}



.gallery_caption{

padding:15px;

text-align:center;

}


.gallery_caption h3{

font-size:17px;

margin-bottom:5px;

}


.gallery_caption p{

font-size:14px;

color:#777;

}

.floating_menu a p{display:none;}


/* ÅÂºí¸´ */

@media(max-width:900px){


.gallery_slider{

grid-template-columns:repeat(2,1fr);

}


}



/* ¸ð¹ÙÀÏ */

@media(max-width:600px){


.gallery_slider{

grid-template-columns:repeat(1,1fr);

}


.gallery_image_box{

height:240px;

}


}



.map_box{
    position:relative;
    border-radius:20px;
    overflow:hidden;
}

#map{
    width:100%;
    height:500px;
}

.map_info_card{

    position:absolute;

    left:60%;
    bottom:40px;

  

    width:420px;
    max-width:90%;

    background: rgb(255 255 255 / 85%);

    padding:30px;

    border-radius:20px;

    text-align:center;

    box-shadow:0 15px 40px rgba(0,0,0,.18);

    z-index:10;

}

.map_info_card h3{

    font-size:28px;
    margin-bottom:12px;
    color:#222;

}

.map_address{

    margin-top:15px;
    color:#666;
    line-height:1.7;

}

.map_tel{

    margin:18px 0;
    font-size:20px;
    font-weight:bold;
    color:#0066ff;

}

.map_call_btn{

    display:inline-block;

    background:#0066ff;
    color:#fff;

    padding:14px 35px;

    border-radius:40px;

    text-decoration:none;

    font-weight:bold;

}




/* ==========================
   MOBILE
========================== */

@media(max-width:768px){

#map{

    height:420px;

}


.map_info_card{

    left:15px;
    right:15px;
    bottom:20px;

    width:auto;

    transform:none;

    padding:20px;

    border-radius:16px;

}


.map_info_card h3{

    font-size:20px;

}


.map_address{

    font-size:14px;
    line-height:1.6;

}


.map_tel{

    font-size:17px;
    margin:15px 0;

}


.map_call_btn{

    display:block;

    width:100%;

    padding:14px 0;

    font-size:16px;

}

.floating_menu{
width:100%;

right:0;

bottom:0;

gap: 0;

flex-direction: row;
}



.floating_menu a{

width:50%;

height:52px;

font-size:20px;

border-radius: 0;
border-right: 1px solid;
}


.top{bottom: 80px;
    position: absolute!important;
    right: 0!important;
	width: 52px!important;
	height: 52px!important;
	font-size: 20px!important;
	border-radius: 50%!important;
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
    background: #2563eb!important;
    color: #fff!important;
    box-shadow: 0 15px 35px rgba(37, 99, 235, .35)!important;
    transition: .3s!important;
	border-right:none!important;
	
	}


.floating_menu {width: 100%;}
.floating_menu a p{display:inline-block;}

.floating_menu a i{padding-right:10px;}

.floating_menu a:hover{transform:none;}



.company_footer{margin-bottom: 50px;}



}



