@import url('https://fonts.googleapis.com/css2?family=Nanum+Myeongjo:wght@400;700;800&family=Noto+Sans+KR:wght@400;500;700&display=swap');

.cp-webpage{position:relative;color:#222}.cp-webpage img{max-width:100%;height:auto;display:block}.cp-webpage .overview-wrap{position:relative;padding:20px 0 10px}.cp-webpage .overview-hero-image{margin-bottom:48px}.cp-webpage .overview-hero-copy h2{font-size:clamp(2rem,4vw,3.25rem);line-height:1.4;font-weight:400;margin:0}.cp-webpage .overview-hero-copy h2 strong{color:#0f766e}.cp-webpage .overview-hero-copy .body{font-size:1rem;line-height:1.95;color:#555}.cp-webpage .overview-hero-copy .sign{margin-top:28px;text-align:right;font-weight:700;color:#222}.cp-webpage .overview-values{margin:40px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.cp-webpage .overview-value{border:1px solid #dfdfdf;border-radius:999px;padding:46px 28px;min-height:280px;display:flex;flex-direction:column;justify-content:center;text-align:center;background:#fff}.cp-webpage .overview-value .en{font-size:2rem;font-weight:700;color:#222}.cp-webpage .overview-value .ko{margin-top:8px;font-size:1rem;color:#666;font-weight:600}.cp-webpage .overview-value p{margin:18px 0 0;line-height:1.85;color:#555}.cp-webpage .overview-bottom{padding-top:8px;font-size:1rem;line-height:1.95;color:#555}.cp-webpage .overview-extra{padding-top:20px}.cp-webpage .basic-html-wrap{padding:20px 0}.wp-admin-shortcut{margin-bottom:14px;text-align:right}.wp-admin-shortcut a{display:inline-block;padding:8px 12px;border-radius:6px;background:#111827;color:#fff;text-decoration:none;font-size:13px}@media(max-width:1199px){.cp-webpage .overview-hero-image{margin-bottom:30px}.cp-webpage .overview-values{grid-template-columns:1fr}.cp-webpage .overview-value{border-radius:26px;min-height:auto}}

.cp-greetings{font-family:'Noto Sans KR',sans-serif}.cp-greetings .ebcontents{position:relative;max-width:1320px;margin:0 auto;padding:0 20px}
.cp-greetings .master-title{position:relative;margin-bottom:30px}
.cp-greetings .item .item-image{margin-bottom:40px;padding:0 10px 10px 0}
.cp-greetings .item .item-image img{box-shadow:10px 10px 0 #1e88e5}
.cp-greetings .item .item-image h4{line-height:1.45em;font-family:'Nanum Myeongjo',serif;font-size:22px;font-weight:400;color:#222;word-break:keep-all}
.cp-greetings .item .item-image h4 strong{color:#005cb2}
.cp-greetings .item .item-content h5{margin-bottom:20px;padding-bottom:20px;line-height:1.45em;font-size:28px;font-weight:700;border-bottom:1px solid #919ea1;color:#222;word-break:keep-all}
.cp-greetings .item .item-content p{line-height:1.9em;font-size:16px;color:#707070;word-break:keep-all}
.cp-greetings .item .item-content h6{margin-top:20px;font-size:17px;text-align:right;color:#222}
.cp-greetings .greetings-extra{margin-top:24px}
.cp-greetings .greetings-second{margin-top:30px}

@media (min-width:992px){
  .cp-greetings .ebcontents{display:flex;flex-wrap:wrap}
  .cp-greetings .master-title{width:20%;padding-right:10px}
  .cp-greetings .ebc-page-inner{width:80%}
  .cp-greetings .master-title h2{padding-top:140px;line-height:2em;letter-spacing:.2em;font-size:20px;font-weight:400;color:#222;margin:0}
  .cp-greetings .master-title h2 span{display:block}
  .cp-greetings .master-title h2 strong{display:block;border-top:3px solid #1e88e5;font-weight:700;color:#111;padding-top:2px}
  .cp-greetings .item .item-image{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center}
  .cp-greetings .item .item-image img{width:50%}
  .cp-greetings .item .item-image h4{width:45%}
  .cp-greetings .item .item-content{padding:0 20px}
  .cp-greetings .item .item-content h5{font-size:20px}
  .cp-greetings .item .item-content p{font-size:18px}
}
@media (min-width:1200px){
  .cp-greetings .master-title h2{padding-top:160px}
  .cp-greetings .item .item-image h4{font-size:28px}
}
@media (max-width:991px){
  .cp-greetings .ebcontents{padding:0 15px}
  .cp-greetings .item .item-image h4{margin-top:40px;font-size:22px}
  .cp-greetings .item .item-content h5{font-size:18px}
  .cp-greetings .item .item-content p{font-size:14px;line-height:1.85em}
}
@media (max-width:767px){
  .cp-greetings .item .item-image h4{font-size:20px}
  .cp-greetings .item .item-content h5{margin-bottom:10px;font-size:16px}
}

/* =========================================================
   웹페이퍼 공통 CTA 버튼 애니메이션 + 모바일 자동 최적화 v1
   - 회사소개/오시는길/견적문의/인증서 등 공통 웹페이퍼용
   - 기존 디자인을 유지하면서 버튼 반응/모바일 터치 영역만 보강
   ========================================================= */
.cp-webpage a,
.wp-admin-shortcut a,
.clean-contact-003 .map-actions a,
.estimate-submit,
.estimate-photo-btn span{
    -webkit-tap-highlight-color:transparent;
}
.clean-contact-003 .map-actions a,
.wp-admin-shortcut a,
.estimate-submit,
.estimate-photo-btn span{
    position:relative;
    overflow:hidden;
    transition:transform .22s ease, box-shadow .22s ease, filter .22s ease, background .22s ease !important;
    will-change:transform;
}
.clean-contact-003 .map-actions a:after,
.wp-admin-shortcut a:after,
.estimate-submit:after,
.estimate-photo-btn span:after{
    content:"";
    position:absolute;
    top:-70%;
    left:-46%;
    width:34%;
    height:240%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);
    transform:rotate(22deg) translateX(-170%);
    transition:transform .72s ease;
    pointer-events:none;
}
.clean-contact-003 .map-actions a:hover,
.wp-admin-shortcut a:hover,
.estimate-submit:hover,
.estimate-photo-btn span:hover{
    transform:translateY(-2px) !important;
    filter:saturate(1.04) contrast(1.02);
}
.clean-contact-003 .map-actions a:hover:after,
.wp-admin-shortcut a:hover:after,
.estimate-submit:hover:after,
.estimate-photo-btn span:hover:after{
    transform:rotate(22deg) translateX(420%);
}
.estimate-submit{
    animation:npsWpCtaPulse 3s ease-in-out infinite;
}
@keyframes npsWpCtaPulse{
    0%,100%{box-shadow:0 12px 28px rgba(31,127,109,.18)}
    50%{box-shadow:0 16px 40px rgba(31,127,109,.32)}
}
@media (max-width:991px){
    .cp-webpage{overflow-x:hidden;}
    .cp-webpage .overview-wrap,
    .cp-greetings .ebcontents,
    .clean-contact-003{padding-left:16px !important;padding-right:16px !important;}
    .clean-contact-003 .contact-grid{grid-template-columns:1fr !important;gap:30px !important;}
    .clean-contact-003 .map-wrap{border-radius:20px !important;}
    .clean-contact-003 .kakao-map{height:360px !important;min-height:360px !important;}
}
@media (max-width:640px){
    .clean-contact-003 h1{font-size:30px !important;line-height:1.32 !important;}
    .clean-contact-003 .hero-text{font-size:15px !important;}
    .clean-contact-003 .map-actions{right:12px !important;bottom:12px !important;}
    .clean-contact-003 .map-actions a,
    .wp-admin-shortcut a,
    .estimate-submit,
    .estimate-photo-btn span{min-height:44px !important;}
    .estimate-submit{width:100% !important;}
    .cp-greetings .item .item-image img{width:100% !important;height:auto !important;}
}
@media (prefers-reduced-motion:reduce){
    .clean-contact-003 .map-actions a,
    .wp-admin-shortcut a,
    .estimate-submit,
    .estimate-photo-btn span{animation:none !important;transition:none !important;}
    .clean-contact-003 .map-actions a:after,
    .wp-admin-shortcut a:after,
    .estimate-submit:after,
    .estimate-photo-btn span:after{display:none !important;}
}

/* 안전 리팩토링 전용 CSS - 항상 마지막에 로드 */
@import url('./nps-service-safe-refactor.css?v=20260502_safe_refactor_v1');

/* =========================================================
   회사소개 CEO 인사말 하단 Mission / Vision 원형 섹션
   - 텍스트는 이미지가 아닌 HTML 텍스트로 출력
   - 기존 인사말 영역 아래 선을 하나 더 만들고 그 아래 표시
   ========================================================= */
.cp-greetings .nps-mission-vision-wrap{
    margin-top:34px;
    padding-top:0;
}
.cp-greetings .nps-ceo-bottom-line{
    width:100%;
    height:1px;
    background:#919ea1;
    margin:0 0 54px;
}
.cp-greetings .nps-mv-circles{
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:0;
    max-width:980px;
    margin:0 auto 20px;
    padding:0 0 14px;
}
.cp-greetings .nps-mv-circle{
    position:relative;
    width:390px;
    height:390px;
    border:50px solid #075f9c;
    border-radius:50%;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    z-index:2;
}
.cp-greetings .nps-mv-circle + .nps-mv-circle{
    margin-left:-34px;
    border-color:#005f9b;
    z-index:1;
}
.cp-greetings .nps-mv-circle:before{
    content:"";
    position:absolute;
    inset:-50px;
    border-radius:50%;
    background:linear-gradient(135deg,#005b95 0%,#0486c9 100%);
    z-index:-1;
}
.cp-greetings .nps-mv-inner{
    width:100%;
    padding:0 26px;
    text-align:center;
    word-break:keep-all;
}
.cp-greetings .nps-mv-inner h3{
    margin:0;
    font-size:28px;
    line-height:1.2;
    font-weight:800;
    color:#005cb9;
    font-family:Arial,'Noto Sans KR',sans-serif;
}
.cp-greetings .nps-mv-inner strong{
    display:block;
    margin-top:10px;
    font-size:16px;
    font-weight:700;
    color:#6aa9ff;
}
.cp-greetings .nps-mv-inner span{
    display:block;
    width:100%;
    height:1px;
    margin:22px auto 23px;
    background:#77a9ff;
}
.cp-greetings .nps-mv-inner p{
    margin:0;
    font-size:14px !important;
    line-height:1.75 !important;
    color:#111 !important;
    font-weight:400;
}
@media (max-width:1199px){
    .cp-greetings .nps-mv-circle{width:340px;height:340px;border-width:42px;}
    .cp-greetings .nps-mv-circle:before{inset:-42px;}
    .cp-greetings .nps-mv-inner h3{font-size:25px;}
    .cp-greetings .nps-mv-inner p{font-size:13px !important;}
}
@media (max-width:767px){
    .cp-greetings .nps-ceo-bottom-line{margin-bottom:28px;}
    .cp-greetings .nps-mv-circles{display:block;max-width:360px;}
    .cp-greetings .nps-mv-circle,
    .cp-greetings .nps-mv-circle + .nps-mv-circle{
        width:300px;
        height:300px;
        margin:0 auto 24px;
        border-width:34px;
    }
    .cp-greetings .nps-mv-circle:before{inset:-34px;}
    .cp-greetings .nps-mv-inner{padding:0 16px;}
    .cp-greetings .nps-mv-inner h3{font-size:23px;}
    .cp-greetings .nps-mv-inner strong{font-size:14px;margin-top:7px;}
    .cp-greetings .nps-mv-inner span{margin:15px auto 15px;}
    .cp-greetings .nps-mv-inner p{font-size:12.5px !important;line-height:1.6 !important;}
}


/* =========================================================
   CEO 하단 Mission / Vision - overview_009 원본형 보정 v2
   - 파란 원형 테두리 + 안쪽 흰 원 + 겹치는 2원 구조
   - 기존 추가 CSS보다 아래에서 강제 보정
   ========================================================= */
.cp-greetings .nps-mission-vision-wrap{
    margin-top:36px !important;
    padding-top:0 !important;
}
.cp-greetings .nps-ceo-bottom-line{
    width:100% !important;
    height:1px !important;
    background:#919ea1 !important;
    margin:0 0 54px !important;
}
.cp-greetings .nps-mv-circles{
    position:relative !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    gap:0 !important;
    max-width:950px !important;
    margin:0 auto 12px !important;
    padding:0 !important;
}
.cp-greetings .nps-mv-circle{
    position:relative !important;
    flex:0 0 390px !important;
    width:390px !important;
    height:390px !important;
    border:0 !important;
    border-radius:50% !important;
    box-sizing:border-box !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    background:
        radial-gradient(circle at center, #fff 0 63.5%, rgba(255,255,255,0) 64%),
        linear-gradient(135deg,#005b95 0%,#0077b6 48%,#008fd3 100%) !important;
    z-index:2 !important;
}
.cp-greetings .nps-mv-circle + .nps-mv-circle{
    margin-left:-42px !important;
    z-index:1 !important;
    background:
        radial-gradient(circle at center, #fff 0 63.5%, rgba(255,255,255,0) 64%),
        linear-gradient(135deg,#005b95 0%,#0079b8 48%,#0091d2 100%) !important;
}
.cp-greetings .nps-mv-circle:before,
.cp-greetings .nps-mv-circle:after{
    display:none !important;
    content:none !important;
}
.cp-greetings .nps-mv-inner{
    position:relative !important;
    z-index:3 !important;
    width:63% !important;
    min-height:230px !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
    word-break:keep-all !important;
}
.cp-greetings .nps-mv-inner h3{
    margin:0 0 8px !important;
    padding:0 !important;
    line-height:1.15 !important;
    font-family:Arial,'Noto Sans KR',sans-serif !important;
    font-size:28px !important;
    font-weight:800 !important;
    color:#005cb9 !important;
    letter-spacing:-.02em !important;
}
.cp-greetings .nps-mv-inner strong{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1.5 !important;
    font-size:16px !important;
    font-weight:700 !important;
    color:#69a9ff !important;
}
.cp-greetings .nps-mv-inner span{
    display:block !important;
    width:100% !important;
    height:1px !important;
    margin:22px 0 23px !important;
    padding:0 !important;
    background:#75a9ff !important;
}
.cp-greetings .nps-mv-inner p{
    margin:0 !important;
    padding:0 !important;
    line-height:1.72 !important;
    font-size:14px !important;
    font-weight:400 !important;
    color:#111 !important;
    letter-spacing:-.02em !important;
}
@media (min-width:1200px){
    .cp-greetings .nps-mv-circles{max-width:980px !important;}
    .cp-greetings .nps-mv-circle{flex-basis:400px !important;width:400px !important;height:400px !important;}
}
@media (max-width:991px){
    .cp-greetings .nps-ceo-bottom-line{margin-bottom:38px !important;}
    .cp-greetings .nps-mv-circle{flex-basis:330px !important;width:330px !important;height:330px !important;}
    .cp-greetings .nps-mv-circle + .nps-mv-circle{margin-left:-32px !important;}
    .cp-greetings .nps-mv-inner{width:64% !important;min-height:200px !important;}
    .cp-greetings .nps-mv-inner h3{font-size:24px !important;}
    .cp-greetings .nps-mv-inner strong{font-size:14px !important;}
    .cp-greetings .nps-mv-inner p{font-size:12.5px !important;line-height:1.65 !important;}
}
@media (max-width:767px){
    .cp-greetings .nps-mv-circles{display:block !important;max-width:360px !important;}
    .cp-greetings .nps-mv-circle,
    .cp-greetings .nps-mv-circle + .nps-mv-circle{
        width:310px !important;
        height:310px !important;
        margin:0 auto 22px !important;
        flex-basis:auto !important;
    }
    .cp-greetings .nps-mv-inner{width:64% !important;min-height:190px !important;}
    .cp-greetings .nps-mv-inner h3{font-size:23px !important;}
    .cp-greetings .nps-mv-inner span{margin:16px 0 16px !important;}
}

/* =========================================================
   CEO Mission / Vision 선 위치 고정 보정 v5
   - Mission / Vision 본문 길이가 달라도 제목 아래 가로선 위치 동일 유지
   - 선 아래 텍스트만 자유롭게 변경 가능
   ========================================================= */
.cp-greetings .nps-mv-inner{
    justify-content:flex-start !important;
    height:230px !important;
    min-height:230px !important;
    padding-top:56px !important;
    box-sizing:border-box !important;
}
.cp-greetings .nps-mv-inner h3{
    height:33px !important;
    line-height:33px !important;
    margin:0 0 6px !important;
}
.cp-greetings .nps-mv-inner strong{
    height:24px !important;
    line-height:24px !important;
    margin:0 !important;
}
.cp-greetings .nps-mv-inner span{
    flex:0 0 auto !important;
    width:100% !important;
    margin:20px 0 22px !important;
}
.cp-greetings .nps-mv-inner p{
    width:100% !important;
    margin:0 !important;
}
@media (max-width:991px){
    .cp-greetings .nps-mv-inner{
        height:200px !important;
        min-height:200px !important;
        padding-top:45px !important;
    }
    .cp-greetings .nps-mv-inner h3{
        height:29px !important;
        line-height:29px !important;
        margin-bottom:5px !important;
    }
    .cp-greetings .nps-mv-inner strong{
        height:22px !important;
        line-height:22px !important;
    }
    .cp-greetings .nps-mv-inner span{
        margin:16px 0 17px !important;
    }
}
@media (max-width:767px){
    .cp-greetings .nps-mv-inner{
        height:190px !important;
        min-height:190px !important;
        padding-top:38px !important;
    }
    .cp-greetings .nps-mv-inner h3{
        height:28px !important;
        line-height:28px !important;
        margin-bottom:4px !important;
    }
    .cp-greetings .nps-mv-inner strong{
        height:21px !important;
        line-height:21px !important;
    }
    .cp-greetings .nps-mv-inner span{
        margin:14px 0 14px !important;
    }
}


/* CEO Mission / Vision exact balance final */
.cp-greetings .nps-mv-inner{
    justify-content:flex-start !important;
    height:245px !important;
    min-height:245px !important;
    padding-top:62px !important;
    box-sizing:border-box !important;
}
.cp-greetings .nps-mv-inner h3{
    margin:0 0 8px !important;
    line-height:1.1 !important;
    font-size:32px !important;
}
.cp-greetings .nps-mv-inner strong{
    margin:0 !important;
    line-height:1.4 !important;
    font-size:16px !important;
}
.cp-greetings .nps-mv-inner span{
    display:block !important;
    width:100% !important;
    height:1px !important;
    margin:24px 0 30px !important;
    background:#75a9ff !important;
}
.cp-greetings .nps-mv-inner p{
    font-size:16px !important;
    line-height:1.95 !important;
    letter-spacing:-0.03em !important;
    color:#111 !important;
    margin:0 !important;
}
.cp-greetings .nps-mv-vision .nps-mv-inner p{
    font-size:14px !important;
    line-height:1.9 !important;
}


/* ===== FINAL OVERRIDE FIX ===== */
.cp-greetings .nps-mv-circle{
    overflow:hidden !important;
}

.cp-greetings .nps-mv-inner{
    position:absolute !important;
    top:50% !important;
    left:50% !important;
    transform:translate(-50%,-50%) !important;
    width:66% !important;
    height:auto !important;
    min-height:auto !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
}

.cp-greetings .nps-mv-inner h3{
    font-size:32px !important;
    margin:0 0 8px !important;
    line-height:1.1 !important;
}

.cp-greetings .nps-mv-inner strong{
    font-size:16px !important;
    margin:0 !important;
}

.cp-greetings .nps-mv-inner span{
    width:100% !important;
    height:1px !important;
    margin:24px 0 28px !important;
    background:#75a9ff !important;
}

.cp-greetings .nps-mv-inner p{
    margin:0 !important;
    font-size:16px !important;
    line-height:1.9 !important;
    text-align:center !important;
}

.cp-greetings .nps-mv-vision .nps-mv-inner p{
    font-size:14px !important;
    line-height:1.8 !important;
}

@media (max-width:991px){
    .cp-greetings .nps-mv-inner h3{
        font-size:26px !important;
    }
    .cp-greetings .nps-mv-inner p{
        font-size:13px !important;
    }
    .cp-greetings .nps-mv-vision .nps-mv-inner p{
        font-size:11.5px !important;
    }
}
