
/* =========================================================
   CHANGE CLEAN AI ENTERPRISE FINAL
   확정 로고 원형 유지 / 기업형 인터랙션 / 가독성 중심 모션
========================================================= */
:root{
  --cc-blue:#0878ff;
  --cc-cyan:#22cbe9;
  --cc-deep:#041b31;
  --cc-panel:#071f37;
  --cc-ice:#eef8ff;
}
.brand-logo-img{width:150px!important;height:96px!important;object-fit:contain!important}
.footer-brand img{width:148px!important;height:96px!important;object-fit:contain!important;filter:none!important;background:#fff;border-radius:12px;padding:4px}
.footer-brand>div{display:none}
.academy-brand img{width:132px!important;height:86px!important;object-fit:contain!important;background:#fff;border-radius:12px;padding:4px}
.academy-brand>div{margin-left:4px}
.academy-nav-link{border:1px solid rgba(8,120,255,.22);background:linear-gradient(135deg,rgba(8,120,255,.08),rgba(34,203,233,.12));padding:9px 12px!important;border-radius:999px;color:#0864ba!important}

.enterprise-planner-section{position:relative;overflow:hidden;background:linear-gradient(150deg,#0a2c4b 0%,#0e5075 55%,#0d6f80 100%);color:#fff}
.enterprise-planner-section:before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,#000,transparent)}
.enterprise-planner-section .wrap{position:relative;z-index:2}
.enterprise-planner-section h2{color:#fff}.enterprise-planner-section .lead{color:rgba(255,255,255,.74)}
.planner-shell{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;margin-top:40px}
.planner-input,.planner-result{border-radius:28px;padding:28px;border:1px solid rgba(255,255,255,.12);box-shadow:0 28px 70px rgba(0,0,0,.2)}
.planner-input{background:rgba(255,255,255,.07);backdrop-filter:blur(18px)}
.planner-result{background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(238,248,255,.96));color:#17313f}
.planner-label{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px;font-size:13px;font-weight:900;color:#8cecf2;letter-spacing:.06em}
.planner-group+.planner-group{margin-top:22px}
.planner-options{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.planner-options button{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;border-radius:14px;padding:13px 12px;font-weight:900;cursor:pointer;text-align:left;transition:.22s}
.planner-options button:hover,.planner-options button.active{transform:translateY(-2px);background:linear-gradient(135deg,var(--cc-blue),var(--cc-cyan));border-color:transparent;box-shadow:0 12px 30px rgba(8,120,255,.24)}
.planner-range-row{display:grid;grid-template-columns:1fr 72px;gap:12px;align-items:center}.planner-range-row input{width:100%;accent-color:var(--cc-cyan)}.planner-range-value{background:rgba(255,255,255,.1);border-radius:12px;padding:8px;text-align:center;font-weight:900}
.result-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.result-head small{color:#1785a6;font-weight:900;letter-spacing:.1em}.result-head h3{font-size:28px;margin:8px 0 0}.result-score{display:grid;place-items:center;width:78px;height:78px;border-radius:50%;background:conic-gradient(var(--cc-blue) var(--score,76%),#dceaf2 0);position:relative}.result-score:before{content:'';position:absolute;inset:8px;border-radius:50%;background:#fff}.result-score strong{position:relative;font-size:18px;color:#053b61}.result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:24px 0}.result-item{padding:16px;border-radius:17px;background:#fff;border:1px solid #dce8ee;box-shadow:0 10px 24px rgba(15,60,90,.05)}.result-item small{display:block;color:#64808d;font-weight:800}.result-item b{display:block;margin-top:5px;color:#082f4b}.result-tags{display:flex;gap:8px;flex-wrap:wrap}.result-tags span{padding:7px 10px;border-radius:999px;background:#e7f5ff;color:#07527d;font-size:12px;font-weight:900}.planner-actions{display:flex;gap:10px;margin-top:20px}.planner-print,.planner-contact{border:0;border-radius:12px;padding:13px 16px;font-weight:900;cursor:pointer}.planner-print{background:#e7f2f8;color:#0b4667}.planner-contact{background:linear-gradient(135deg,var(--cc-blue),var(--cc-cyan));color:#fff}

.process-intelligence{background:#f5f9fb}.process-track{position:relative;display:grid;grid-template-columns:repeat(7,1fr);gap:12px;margin-top:34px}.process-track:before{content:'';position:absolute;left:5%;right:5%;top:30px;height:4px;background:#dce8ed;border-radius:999px}.process-track:after{content:'';position:absolute;left:5%;top:30px;width:var(--process,0%);height:4px;background:linear-gradient(90deg,var(--cc-blue),var(--cc-cyan));border-radius:999px;transition:width 2s cubic-bezier(.2,.7,.2,1)}.process-track.is-visible{--process:90%}.process-node{position:relative;z-index:2;text-align:center}.process-node b{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 14px;border-radius:50%;background:#fff;border:4px solid #dce8ed;color:#768d98;box-shadow:0 10px 24px rgba(10,45,70,.06);transition:.45s}.process-track.is-visible .process-node b{border-color:var(--cc-cyan);color:#075b8d;box-shadow:0 12px 30px rgba(34,203,233,.18)}.process-node:nth-child(2) b{transition-delay:.12s}.process-node:nth-child(3) b{transition-delay:.24s}.process-node:nth-child(4) b{transition-delay:.36s}.process-node:nth-child(5) b{transition-delay:.48s}.process-node:nth-child(6) b{transition-delay:.6s}.process-node:nth-child(7) b{transition-delay:.72s}.process-node h3{font-size:16px;margin:0 0 6px}.process-node p{font-size:13px;color:#6a7c85;margin:0}


.operations-board{background:#0b3357;color:#fff}.operations-board h2{color:#fff}.operations-board .lead{color:rgba(255,255,255,.72)}.ops-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;margin-top:32px}.ops-panel{border-radius:26px;padding:24px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09);box-shadow:0 20px 50px rgba(0,0,0,.16)}.ops-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.ops-head strong{font-size:18px}.ops-live{display:inline-flex;align-items:center;gap:7px;color:#7ceaf0;font-size:12px;font-weight:900}.ops-live:before{content:'';width:8px;height:8px;border-radius:50%;background:#27e09a;box-shadow:0 0 0 7px rgba(39,224,154,.12);animation:opsPulse 1.5s infinite}.ops-list{display:grid;gap:10px}.ops-row{display:grid;grid-template-columns:100px 1fr auto;gap:12px;align-items:center;padding:13px 14px;border-radius:15px;background:rgba(255,255,255,.055)}.ops-row span{font-size:12px;color:#80e2ef;font-weight:900}.ops-row b{font-size:14px}.ops-row em{font-style:normal;font-size:12px;color:#b9cad2}.ops-matrix{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ops-cell{min-height:102px;border-radius:16px;background:linear-gradient(145deg,rgba(8,120,255,.16),rgba(34,203,233,.06));border:1px solid rgba(103,211,236,.14);padding:16px}.ops-cell small{color:#7ccddd;font-weight:900}.ops-cell strong{display:block;font-size:22px;margin-top:9px}.ops-cell p{font-size:12px;color:rgba(255,255,255,.62);margin:4px 0 0}@keyframes opsPulse{50%{opacity:.45;transform:scale(.82)}}

.archive-toolbar{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;margin-bottom:20px}.archive-search{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:11px 14px}.archive-search input{width:100%;border:0;outline:0;font:inherit}.archive-count{padding:10px 13px;border-radius:999px;background:#eaf6f3;color:var(--green);font-size:13px;font-weight:900}.archive-card.is-hidden{display:none}.ba-autoplay{position:absolute;right:16px;bottom:16px;z-index:8;border:1px solid rgba(255,255,255,.45);background:rgba(6,29,45,.74);color:#fff;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:900;cursor:pointer;backdrop-filter:blur(8px)}

.academy-equipment{background:#071b2e;color:#fff}.academy-equipment h2{color:#fff}.academy-equipment .lead{color:rgba(255,255,255,.7)}.equipment-shell{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px;margin-top:28px}.equipment-tabs{display:grid;gap:10px}.equipment-tabs button{padding:16px 18px;border:1px solid rgba(255,255,255,.11);border-radius:16px;background:rgba(255,255,255,.055);color:#fff;text-align:left;font-weight:900;cursor:pointer}.equipment-tabs button.active,.equipment-tabs button:hover{background:linear-gradient(135deg,#1677ff,#20d6e7);border-color:transparent}.equipment-view{padding:28px;border-radius:24px;background:#fff;color:#18323f}.equipment-view small{font-weight:900;color:#1683a2;letter-spacing:.1em}.equipment-view h3{font-size:28px;margin:10px 0}.equipment-view p{color:#5f747f}.equipment-spec{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.equipment-spec div{padding:14px;border-radius:14px;background:#eef7fb}.equipment-spec b{display:block;color:#063b5d}.equipment-spec span{font-size:12px;color:#657d89}

@media(max-width:980px){.planner-shell,.ops-grid,.equipment-shell{grid-template-columns:1fr}.process-track{grid-template-columns:repeat(4,1fr);row-gap:28px}.process-track:before,.process-track:after{display:none}}
@media(max-width:620px){.brand-logo-img{width:118px!important;height:76px!important}.footer-brand img{width:118px!important;height:76px!important}.planner-input,.planner-result{padding:21px}.planner-options{grid-template-columns:1fr}.result-grid{grid-template-columns:1fr}.planner-actions{display:grid}.process-track{grid-template-columns:repeat(2,1fr)}.ops-grid{grid-template-columns:1fr}.ops-row{grid-template-columns:76px 1fr}.ops-row em{grid-column:2}.ops-matrix{grid-template-columns:repeat(2,1fr)}.archive-toolbar{grid-template-columns:1fr}.equipment-spec{grid-template-columns:1fr}.academy-brand img{width:102px!important;height:66px!important}.academy-brand>div strong{font-size:15px}.academy-brand>div span{font-size:11px}}
@media print{.header,.topbar,.subnav,.mobile-bottom-cta,.footer,.planner-input,.planner-actions{display:none!important}.enterprise-planner-section{background:#fff!important;color:#111!important}.planner-result{box-shadow:none;border:1px solid #ddd}.planner-result *{color:#111!important}}

/* =========================================================
   PREMIUM POLISH (전 페이지 공통 보강 / 가독성·접근성 우선)
   - 스크롤 진행바 / 맨위로 버튼 / 포커스 링 / 카운트업 팝
   - 모든 신규 모션은 prefers-reduced-motion 존중
========================================================= */

/* 스크롤 진행바 */
.cc-scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:60;
  background:linear-gradient(90deg,var(--cc-blue),var(--cc-cyan));
  box-shadow:0 0 12px rgba(34,203,233,.5);transition:width .08s linear;pointer-events:none}

/* 맨 위로 버튼 */
.cc-top-btn{position:fixed;right:22px;bottom:24px;z-index:70;width:50px;height:50px;
  display:grid;place-items:center;border:0;border-radius:50%;cursor:pointer;
  background:linear-gradient(145deg,#072744,#0c4a6b);color:#eafcff;
  box-shadow:0 14px 34px rgba(5,25,40,.32);
  opacity:0;visibility:hidden;transform:translateY(14px) scale(.9);
  transition:opacity .3s ease,transform .3s ease,visibility .3s}
.cc-top-btn.show{opacity:1;visibility:visible;transform:none}
.cc-top-btn:hover{background:linear-gradient(145deg,var(--cc-blue),var(--cc-cyan));transform:translateY(-3px)}
.cc-top-btn svg{width:20px;height:20px}
.cc-top-btn:focus-visible{outline:3px solid rgba(34,203,233,.6);outline-offset:3px}
@media(max-width:760px){.cc-top-btn{right:14px;bottom:90px;width:46px;height:46px}}

/* 카운트업 완료 시 살짝 팝 */
.stat-card.is-counted .stat-number strong{animation:ccCountPop .5s cubic-bezier(.2,.9,.3,1.3)}
@keyframes ccCountPop{0%{transform:scale(1)}40%{transform:scale(1.08)}100%{transform:scale(1)}}

/* 운영보드 매트릭스 셀 살짝 떠오름(호버) */
.ops-cell{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.ops-cell:hover{transform:translateY(-3px);border-color:rgba(103,211,236,.4);box-shadow:0 16px 36px rgba(0,0,0,.28)}

/* 접근성: 키보드 포커스 링(전 인터랙티브 요소) */
a:focus-visible,button:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:3px solid rgba(34,203,233,.55);outline-offset:2px;border-radius:6px}
.ai-mode-tabs button:focus-visible,.ai-choice:focus-visible,
.planner-options button:focus-visible,.equipment-tabs button:focus-visible,
.case-filter button:focus-visible,.diagnosis-options button:focus-visible{
  outline:3px solid rgba(255,255,255,.7);outline-offset:2px}

/* 스티키 헤더가 #앵커 콘텐츠를 가리지 않도록 */
section[id]{scroll-margin-top:96px}

/* 범위 슬라이더(면적) 핸들 살짝 키워 터치 편의 */
.planner-range-row input[type="range"]{height:26px}

@media(prefers-reduced-motion:reduce){
  .cc-scroll-progress{transition:none}
  .cc-top-btn{transition:opacity .2s ease}
  .stat-card.is-counted .stat-number strong{animation:none}
  .ops-cell{transition:none}
}

/* =========================================================
   FAQ 아코디언 (접기/펴기) — 콘텐츠는 DOM 유지(SEO 안전)
========================================================= */
.faq-item{cursor:pointer}
.faq-item .faq-q{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0}
.faq-item h3{margin:0;font-size:18px;flex:1}
.faq-item .faq-icon{flex:0 0 26px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;
  background:#eaf6f3;color:var(--green);position:relative;transition:transform .3s ease,background .3s ease}
.faq-item .faq-icon:before,.faq-item .faq-icon:after{content:'';position:absolute;background:currentColor;border-radius:2px}
.faq-item .faq-icon:before{width:11px;height:2px}
.faq-item .faq-icon:after{width:2px;height:11px;transition:transform .3s ease,opacity .3s ease}
.faq-item.is-open .faq-icon{background:var(--navy);color:#fff;transform:rotate(90deg)}
.faq-item.is-open .faq-icon:after{opacity:0}
.faq-item .faq-a{overflow:hidden;max-height:0;opacity:0;transition:max-height .35s ease,opacity .3s ease,margin .3s ease;margin-top:0}
.faq-item.is-open .faq-a{opacity:1;margin-top:12px}
.faq-item .faq-a p{margin:0}
.faq-item:hover{border-color:rgba(11,117,107,.22)}
@media(prefers-reduced-motion:reduce){
  .faq-item .faq-icon,.faq-item .faq-icon:after,.faq-item .faq-a{transition:none}
}

/* =========================================================
   견적·상담 문의 폼 (검증 + 개인정보 동의 + 성공 화면)
========================================================= */
.cc-inquiry-section{background:linear-gradient(160deg,#0a2c4b 0%,#0e5075 58%,#0d6f80 100%);color:#fff;position:relative;overflow:hidden}
.cc-inquiry-section:before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(to bottom,#000,transparent)}
.cc-inquiry-section .wrap{position:relative;z-index:2}
.cc-inquiry-section h2{color:#fff}.cc-inquiry-section .eyebrow{color:#7ce8e9}.cc-inquiry-section .lead{color:rgba(255,255,255,.76)}
.cc-inquiry-shell{max-width:760px;margin:34px auto 0}
.cc-inquiry-form[hidden],.cc-inquiry-success[hidden],.cc-quick[hidden]{display:none!important}
.cc-inquiry-form,.cc-inquiry-success{background:linear-gradient(155deg,#ffffff,#eef7fb);color:#16313f;border-radius:28px;padding:30px;box-shadow:0 30px 70px rgba(0,0,0,.22)}
.cc-field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cc-field{margin-bottom:16px;display:flex;flex-direction:column}
.cc-field label{font-weight:900;color:#0b2f47;font-size:14px;margin-bottom:7px}
.cc-req{color:#e0584f}.cc-opt{color:#7f95a1;font-weight:700;font-size:12px}
.cc-field input,.cc-field select,.cc-field textarea{width:100%;border:1.5px solid #d4e2ea;border-radius:13px;padding:13px 14px;font:inherit;color:#16313f;background:#fff;transition:border-color .18s ease,box-shadow .18s ease}
.cc-field input:focus,.cc-field select:focus,.cc-field textarea:focus{outline:0;border-color:var(--cc-blue);box-shadow:0 0 0 4px rgba(8,120,255,.13)}
.cc-field textarea{resize:vertical;min-height:104px}
.cc-field.has-error input,.cc-field.has-error select{border-color:#e0584f;box-shadow:0 0 0 4px rgba(224,88,79,.12)}
.cc-err{color:#d84b41;font-size:12px;font-weight:800;margin-top:6px;min-height:0}
.cc-consent{display:flex;align-items:flex-start;gap:11px;background:#f1f7fb;border:1.5px solid #dbe8ef;border-radius:14px;padding:14px 15px;cursor:pointer;margin-top:4px}
.cc-consent input{margin-top:3px;width:18px;height:18px;accent-color:var(--cc-blue);flex:0 0 auto}
.cc-consent span{font-size:14px;color:#33505e;line-height:1.55}.cc-consent b{color:#0b2f47}
.cc-consent-toggle{border:0;background:none;color:var(--cc-blue);font-weight:900;cursor:pointer;text-decoration:underline;padding:0 2px;font-size:13px}
.cc-consent-detail{background:#f7fbfd;border:1px dashed #cfe0e9;border-radius:12px;padding:13px 15px;margin-top:10px}
.cc-consent-detail p{margin:0;font-size:12px;color:#566c79;line-height:1.7}
.cc-consent.has-error{border-color:#e0584f;box-shadow:0 0 0 4px rgba(224,88,79,.1)}
.cc-err-agree{display:block;margin-top:4px}
.cc-submit{width:100%;margin-top:18px;border:0;border-radius:14px;padding:16px;font-size:16px;font-weight:900;color:#fff;cursor:pointer;
  background:linear-gradient(135deg,var(--cc-blue),var(--cc-cyan));box-shadow:0 16px 34px rgba(8,120,255,.28);transition:transform .2s ease,box-shadow .2s ease}
.cc-submit:hover{transform:translateY(-2px);box-shadow:0 20px 42px rgba(8,120,255,.36)}
.cc-submit:active{transform:translateY(0)}
.cc-form-note{margin:14px 0 0;font-size:12px;color:#6b818d;text-align:center}
.cc-inquiry-success{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;min-height:340px}
.cc-success-icon{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;font-size:32px;color:#fff;background:linear-gradient(135deg,#13b981,#0b9f6e);box-shadow:0 14px 30px rgba(13,180,120,.3);margin-bottom:18px}
.cc-inquiry-success h3{font-size:22px;color:#0b2f47;margin:0 0 10px}
.cc-inquiry-success p{color:#526976;margin:0 0 22px;max-width:360px}
.cc-reset{border:1.5px solid #cddbe4;background:#fff;color:#0b4667;border-radius:12px;padding:12px 22px;font-weight:900;cursor:pointer}
/* 빠른 상담(연락처 설정 시에만 노출) */
.cc-quick{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);border-radius:24px;padding:22px 24px;backdrop-filter:blur(14px);margin-top:18px}
.cc-quick h4{margin:0 0 16px;font-size:18px;color:#fff;letter-spacing:-.02em}
.cc-quick-btns{display:grid;gap:11px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.cc-quick-btn{display:flex;align-items:center;gap:12px;padding:15px 16px;border-radius:15px;font-weight:900;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);transition:transform .2s ease,background .2s ease}
.cc-quick-btn:hover{transform:translateY(-2px)}
.cc-quick-btn:before{content:'';width:30px;height:30px;border-radius:9px;flex:0 0 auto;background-size:62%;background-position:center;background-repeat:no-repeat}
.cc-quick-btn.call{background:linear-gradient(135deg,#0b9f6e,#13b981)}
.cc-quick-btn.call:before{background:rgba(255,255,255,.2) center/60% no-repeat;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.2.4 2.4.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.4 0 .8-.3 1z'/></svg>") center/contain no-repeat}
.cc-quick-btn.kakao{background:linear-gradient(135deg,#fae100,#f7d000);color:#3b1e1e}
.cc-quick-btn.naver{background:linear-gradient(135deg,#03c75a,#02b150)}
.cc-quick-note{margin:14px 0 0;font-size:12px;color:rgba(255,255,255,.6)}
@media(max-width:560px){.cc-field-row{grid-template-columns:1fr}.cc-inquiry-form,.cc-inquiry-success{padding:22px}}
@media(prefers-reduced-motion:reduce){.cc-submit,.cc-quick-btn{transition:none}}

/* 개인정보 처리방침 본문 */
.privacy-body{max-width:820px;background:#fff;border:1px solid #e3ecf1;border-radius:22px;padding:34px 36px;box-shadow:0 18px 44px rgba(7,31,51,.06)}
.privacy-body h3{font-size:16px;color:var(--navy);margin:26px 0 10px;letter-spacing:-.02em}
.privacy-body h3:first-child{margin-top:0}
.privacy-body p{color:#42525c;line-height:1.75;margin:0 0 8px}
.privacy-body ul{margin:6px 0 14px;padding-left:20px;color:#42525c;line-height:1.8}
.privacy-date{margin-top:24px;font-size:13px;color:#7c8e98}
.footer-copy a{color:#9fc3c0;text-decoration:underline;text-underline-offset:3px}
@media(max-width:560px){.privacy-body{padding:24px 20px}}

/* 서비스 상세 페이지: 실제 작업 전후 미리보기 */
.cc-ba-strip .cc-ba-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:28px}
.cc-ba-pair{background:#fff;border:1px solid #e2ebf0;border-radius:20px;overflow:hidden;box-shadow:0 16px 38px rgba(7,31,51,.08)}
.cc-ba-imgs{display:grid;grid-template-columns:1fr 1fr;gap:0;position:relative}
.cc-ba-imgs figure{margin:0;position:relative;aspect-ratio:4/3;overflow:hidden}
.cc-ba-imgs img{width:100%;height:100%;object-fit:cover;display:block}
.cc-ba-tag{position:absolute;top:10px;left:10px;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.06em;color:#fff;background:rgba(7,31,51,.78)}
.cc-ba-imgs figure:last-child .cc-ba-tag{left:auto;right:10px;background:linear-gradient(135deg,var(--cc-blue),var(--cc-cyan))}
.cc-ba-meta{padding:16px 18px}
.cc-ba-meta strong{display:block;color:var(--navy);font-size:15px;letter-spacing:-.02em}
.cc-ba-meta p{margin:6px 0 0;font-size:13px;color:#5b6e79;line-height:1.6}
.cc-ba-more{display:inline-flex;align-items:center;gap:8px;margin-top:24px;padding:13px 20px;border-radius:12px;font-weight:900;color:#fff;background:linear-gradient(135deg,var(--navy),#0c4a6b);transition:transform .2s ease,box-shadow .2s ease}
.cc-ba-more:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(7,31,51,.25)}
@media(prefers-reduced-motion:reduce){.cc-ba-more{transition:none}}


/* =========================================================
   품질 관리 시스템 섹션 (통계 수치 대체 / 움직이는 파이프라인)
========================================================= */
.cc-quality-section{background:linear-gradient(160deg,#0a2c4b 0%,#0e5075 55%,#0d6f80 100%);color:#fff;position:relative;overflow:hidden}
.cc-quality-section:before{content:'';position:absolute;inset:0;background:radial-gradient(900px 460px at 78% 8%,rgba(34,203,233,.22),transparent 70%);pointer-events:none}
.cc-quality-section .wrap{position:relative;z-index:2}
.cc-quality-section h2{color:#fff}.cc-quality-section .eyebrow{color:#7ce8e9}.cc-quality-section .lead{color:rgba(255,255,255,.74)}

/* 파이프라인 */
.cc-pipeline{margin:42px 0 38px}
.cc-pipe-stages{display:flex;justify-content:space-between;position:relative}
.cc-stage{flex:1;text-align:center;position:relative;min-width:0}
.cc-stage:not(:first-child):before{content:'';position:absolute;top:31px;left:-50%;width:100%;height:3px;border-radius:3px;
  background:linear-gradient(90deg,#1677ff,#22cbe9,#1677ff);background-size:220% 100%;background-position:120% 0;
  opacity:.18;transition:opacity .5s ease;z-index:0}
.cc-pipeline.is-visible .cc-stage:not(:first-child):before{opacity:1;animation:ccFlow 2.4s linear infinite}
.cc-stage-node{position:relative;z-index:2;width:64px;height:64px;border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;
  font-size:22px;font-weight:900;color:#bfeefc;background:rgba(255,255,255,.06);border:2px solid rgba(123,232,237,.35);
  box-shadow:0 8px 22px rgba(0,0,0,.22);transform:scale(.55);opacity:0;
  transition:transform .55s cubic-bezier(.2,.9,.3,1.4),opacity .5s ease,background .4s ease,border-color .4s ease,box-shadow .4s ease}
.cc-pipeline.is-visible .cc-stage-node{transform:scale(1);opacity:1;transition-delay:calc(var(--i)*.16s)}
.cc-pipeline.is-visible .cc-stage-node{background:linear-gradient(145deg,#1677ff,#22cbe9);color:#fff;border-color:rgba(255,255,255,.5);box-shadow:0 10px 26px rgba(8,120,255,.4)}
.cc-pipeline.is-visible .cc-stage:last-child .cc-stage-node{animation:ccPulse 2.6s ease-in-out 1.6s infinite}
.cc-stage-label{font-size:15px;font-weight:800;color:#eaf4f8;letter-spacing:-.02em;opacity:0;transform:translateY(8px);transition:opacity .5s ease,transform .5s ease}
.cc-pipeline.is-visible .cc-stage-label{opacity:1;transform:none;transition-delay:calc(var(--i)*.16s + .12s)}
.cc-stage-sub{display:block;font-size:12px;font-weight:600;color:rgba(255,255,255,.55);margin-top:3px}
@keyframes ccFlow{to{background-position:-120% 0}}
@keyframes ccPulse{0%,100%{box-shadow:0 10px 26px rgba(8,120,255,.4),0 0 0 0 rgba(34,203,233,.5)}50%{box-shadow:0 10px 26px rgba(8,120,255,.4),0 0 0 12px rgba(34,203,233,0)}}

/* 품질 관리 항목 카드 4개 */
.cc-quality-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:8px}
.cc-q-card{background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.12);
  border-radius:20px;padding:24px 22px;backdrop-filter:blur(10px);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.cc-q-card:hover{transform:translateY(-4px);border-color:rgba(123,232,237,.4);box-shadow:0 18px 40px rgba(0,0,0,.28)}
.cc-q-ico{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;margin-bottom:16px;
  background:linear-gradient(145deg,rgba(34,203,233,.22),rgba(22,119,255,.18));border:1px solid rgba(123,232,237,.3)}
.cc-q-ico svg{width:24px;height:24px;stroke:#7ce8e9;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cc-q-card h3{font-size:16px;color:#fff;margin:0 0 8px;letter-spacing:-.02em}
.cc-q-card p{font-size:13px;color:rgba(255,255,255,.66);line-height:1.6;margin:0}
@media(max-width:900px){.cc-quality-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){
  .cc-pipe-stages{display:grid;grid-template-columns:repeat(3,1fr);gap:24px 6px}
  .cc-stage{flex:none}
  .cc-stage:not(:first-child):before{display:none}
  .cc-stage-node{width:54px;height:54px;font-size:18px;margin-bottom:9px}
  .cc-stage-label{font-size:13px}
  .cc-quality-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .cc-pipeline.is-visible .cc-stage:not(:first-child):before{animation:none}
  .cc-pipeline.is-visible .cc-stage:last-child .cc-stage-node{animation:none}
  .cc-stage-node,.cc-stage-label{transition:none}
  .cc-q-card{transition:none}
}

/* 상단바 대표번호 */
.topbar .inner{display:flex;align-items:center;justify-content:space-between;gap:12px}

/* =========================================================
   디자인 디테일 보정 (인터랙션 상태 / 대비 / 마감)
========================================================= */
/* 1) 메인 버튼·헤더 CTA 호버·클릭 피드백 (기존엔 무반응이었음) */
.btn{border-radius:10px;transition:transform .18s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn.gold:hover{background:#d6b262;box-shadow:0 12px 26px rgba(199,160,75,.36)}
.btn.white:hover{background:#eaf1f4;box-shadow:0 12px 26px rgba(7,31,51,.16)}
.header-cta{transition:transform .18s ease,box-shadow .2s ease,background-color .2s ease}
.header-cta:hover{transform:translateY(-1px);background:#0c2c46;box-shadow:0 10px 22px rgba(7,31,51,.3)}
.header-cta:active{transform:translateY(0)}

/* 2) 폼 보조 텍스트 대비 보정 (AA 통과: #586f7b) */
.cc-opt{color:#586f7b}
.cc-form-note{color:#586f7b}
.privacy-date{color:#5e7682}

/* 3) 입력 플레이스홀더 색 통일 */
.cc-field input::placeholder,.cc-field textarea::placeholder{color:#8b9aa3}

/* 4) 텍스트 선택색을 브랜드 톤으로 */
::selection{background:rgba(11,117,107,.2);color:#06241a}
::-moz-selection{background:rgba(11,117,107,.2);color:#06241a}

@media(prefers-reduced-motion:reduce){
  .btn,.header-cta{transition:none}
  .btn:hover,.header-cta:hover{transform:none}
}

/* =========================================================
   대표번호 노출 — 히어로 큰 번호 + 우측 플로팅 전화 버튼
========================================================= */
/* 히어로·플로팅 전화버튼 → 아래 PREMIUM CALL BUTTON 섹션에서 재정의 */

/* =========================================================
   BRIGHT THEME — 더 밝고 깨끗하게 (화이트·하늘색 위주 / 포인트 시안·청록 유지)
   ※ 색감 재정의를 한 곳에 모음. 시안/청록 포인트는 유지.
========================================================= */

/* ---- 품질 관리 섹션: 다크 → 라이트 ---- */
.cc-quality-section{background:linear-gradient(180deg,#f6fbff,#e8f3fb);color:var(--navy)}
.cc-quality-section:before{display:none}
.cc-quality-section h2{color:var(--navy)}
.cc-quality-section .eyebrow{color:#0b756b}
.cc-quality-section .lead{color:#4a5b64}
.cc-stage-node{background:#e9f3fa;border-color:rgba(15,116,170,.28);color:#0e5a8a;box-shadow:0 6px 16px rgba(8,34,50,.07)}
.cc-pipeline.is-visible .cc-stage-node{background:linear-gradient(145deg,#1486f0,#22cbe9);color:#fff;border-color:transparent;box-shadow:0 9px 22px rgba(8,120,255,.3)}
.cc-stage:not(:first-child):before{opacity:.28}
.cc-stage-label{color:var(--navy)}
.cc-stage-sub{color:#586f7b}
.cc-q-card{background:#fff;border:1px solid #e3ecf3;box-shadow:0 14px 32px rgba(8,34,50,.06)}
.cc-q-card:hover{border-color:rgba(34,203,233,.55);box-shadow:0 20px 42px rgba(8,34,50,.1)}
.cc-q-ico{background:linear-gradient(145deg,#e7f9fb,#e8f1ff);border:1px solid rgba(34,203,233,.32)}
.cc-q-ico svg{stroke:#0b8076}
.cc-q-card h3{color:var(--navy)}
.cc-q-card p{color:#5b6e79}

/* ---- 견적 문의 섹션: 다크 → 라이트 ---- */
.cc-inquiry-section{background:linear-gradient(180deg,#eef6fd,#e2eff9);color:var(--navy)}
.cc-inquiry-section:before{display:none}
.cc-inquiry-section h2{color:var(--navy)}
.cc-inquiry-section .eyebrow{color:#0b756b}
.cc-inquiry-section .lead{color:#4a5b64}
.cc-inquiry-form{border:1px solid #e3ecf3}
.cc-quick{background:#fff;border:1px solid #e3ecf3;backdrop-filter:none;box-shadow:0 14px 32px rgba(8,34,50,.06)}
.cc-quick h4{color:var(--navy)}
.cc-quick-note{color:#6a7c86}

/* ---- 어두운 '기능 패널'들: 더 밝은 하늘-청록 톤 (흰 글씨 유지) ---- */
.ai-console{background:linear-gradient(145deg,#10456e,#1a78ab)}
.enterprise-planner-section{background:linear-gradient(150deg,#103f64 0%,#1668a0 55%,#0e8478 130%)}
.operations-board{background:linear-gradient(150deg,#103f64,#155f93)}
.final-cta{background:linear-gradient(135deg,#0f4068,#0e8478)}
.diagnosis-result{background:linear-gradient(135deg,#13507e,#0e8478)}
.academy-recommend{background:linear-gradient(145deg,#10456e,#0e8478)}

/* ---- 푸터: 살짝 밝은 네이비로(여전히 앵커 역할) ---- */
.footer{background:linear-gradient(180deg,#0a2942,#0c3350)}

/* =========================================================
   PREMIUM TYPOGRAPHY — 고급 타이포 마감
   - 안티앨리어싱/커닝으로 더 선명·정교한 텍스트
   - 제목 줄바꿈 균형(balance)로 '의도적으로 조판한' 인상
========================================================= */
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body{font-feature-settings:"kern" 1,"calt" 1;letter-spacing:-.003em}
h1,h2,h3,h4{text-wrap:balance}
.section-head h2,.hero h1,.service-hero h1,.category-hero h1,.special-hero h1{text-wrap:balance}
p,.lead,.cc-q-card p,.flow-card p{text-wrap:pretty}
/* 큰 제목 트래킹 살짝 조여 더 단단한 인상 */
.section-head h2{letter-spacing:-.025em}
.lead{letter-spacing:-.01em}
/* 본문 가독 폭 살짝 제한(긴 줄 방지 = 더 정돈된 느낌)은 lead만 이미 적용됨 */

/* 카드 호버 일관성(누락분) + 여백 마감 */
.archive-card,.ba-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.archive-card:hover,.ba-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(8,34,50,.1);border-color:rgba(34,203,233,.35)}
.cc-ba-pair{transition:transform .25s ease,box-shadow .25s ease}
.cc-ba-pair:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(8,34,50,.12)}
@media(prefers-reduced-motion:reduce){.archive-card,.ba-card,.cc-ba-pair{transition:none}}

/* =========================================================
   ACADEMY — 밝은 톤 통일 (별도 사업 브랜딩/콘텐츠는 유지)
========================================================= */
.academy-equipment{background:linear-gradient(150deg,#103f64,#155f93)}
.academy-step{background:#fff;color:#16252e;border:1px solid #e3ecf3;box-shadow:0 14px 30px rgba(8,34,50,.06);transition:transform .25s ease,box-shadow .25s ease}
.academy-step:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(8,34,50,.1)}
.academy-step h3{color:var(--navy)}
.academy-step p{color:#5b6e79}
.academy-topbar{background:#0a2942}
.academy-footer{background:linear-gradient(180deg,#0a2942,#0c3350)}
@media(prefers-reduced-motion:reduce){.academy-step{transition:none}}

/* 고정높이 없는 풀폭 이미지: 비율 자동(왜곡 방지 + CLS 방지) */
.detail-design-img{height:auto}

/* 등장 애니메이션(슬라이드)의 화면 밖 시작점이 만드는 가로 넘침 차단 */
html,body{overflow-x:clip}

/* =========================================================
   PREMIUM CALL BUTTON — 전화버튼 완전 리디자인
   (플로팅 · 히어로 · 모바일 · 상단바 통합)
========================================================= */

/* ── 플로팅 전화 버튼 (데스크톱 우하단) ── */
.cc-float-call{
  position:fixed;right:28px;bottom:88px;z-index:70;
  display:flex;flex-direction:column;
  border-radius:20px;
  background:linear-gradient(160deg,#0d2438 0%,#0a1e30 100%);
  border:1px solid rgba(255,255,255,.1);
  box-shadow:
    0 20px 48px rgba(0,0,0,.42),
    0 4px 12px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.08),
    0 0 0 1px rgba(11,117,107,.18);
  opacity:0;transform:translateY(20px) scale(.92);
  transition:opacity .38s cubic-bezier(.2,.8,.2,1),
             transform .38s cubic-bezier(.2,.8,.2,1),
             box-shadow .25s ease;
  overflow:hidden}

/* 글로스 상단 하이라이트 */
.cc-float-call::after{
  content:'';position:absolute;top:0;left:0;right:0;height:50%;
  background:linear-gradient(180deg,rgba(255,255,255,.06),transparent);
  border-radius:20px 20px 0 0;pointer-events:none}

.cc-float-call.show{opacity:1;transform:none}

.cc-float-call:hover{
  box-shadow:
    0 26px 58px rgba(0,0,0,.48),
    0 6px 18px rgba(0,0,0,.3),
    inset 0 1px 0 rgba(255,255,255,.1),
    0 0 0 1px rgba(11,185,130,.45),
    0 0 28px rgba(11,185,130,.18);
  transform:translateY(-3px) scale(1.01)}

.cc-float-call:active{transform:translateY(0) scale(.99)}

/* 대표번호 메인 행 */
.cc-float-main{
  position:relative;display:inline-flex;align-items:stretch;gap:0;
  text-decoration:none}

/* 왼쪽 아이콘 블록 */
.cc-float-main .ico{
  position:relative;
  width:58px;min-height:62px;
  align-self:stretch;
  flex:0 0 58px;
  display:grid;place-items:center;
  background:linear-gradient(145deg,#0e9e72,#12c487);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset -1px 0 0 rgba(0,0,0,.1)}
.cc-float-main .ico::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.18),transparent 55%)}
.cc-float-main .ico svg{
  position:relative;z-index:1;
  width:24px;height:24px;fill:#fff;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.28));
  animation:ccCallShake 2.6s ease-in-out infinite}

@keyframes ccCallShake{
  0%,85%,100%{transform:rotate(0deg)}
  88%{transform:rotate(-16deg)}
  91%{transform:rotate(12deg)}
  94%{transform:rotate(-8deg)}
  97%{transform:rotate(4deg)}}

/* 오른쪽 텍스트 블록 */
.cc-float-main .num{
  display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
  padding:13px 22px 13px 16px;
  line-height:1;white-space:nowrap;gap:5px}

.cc-float-main .num small{
  display:inline-flex;align-items:center;gap:5px;
  font-size:10px;font-weight:900;letter-spacing:.13em;
  color:rgba(255,255,255,.52);text-transform:uppercase}
.cc-float-main .num small::before{
  content:'';width:6px;height:6px;border-radius:50%;
  background:#12c487;
  box-shadow:0 0 8px rgba(18,196,135,.9);
  animation:liveDot 1.6s ease-in-out infinite}
@keyframes liveDot{0%,100%{opacity:1}50%{opacity:.35}}

.cc-float-main .num b{
  font-size:20px;font-weight:900;letter-spacing:.07em;
  color:#fff;
  text-shadow:0 1px 5px rgba(0,0,0,.28)}

/* 보조(직통)번호 리스트 */
.cc-float-sub-wrap{
  border-top:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.14)}
.cc-float-sub{
  display:flex;align-items:center;gap:10px;
  padding:9px 22px 9px 16px;
  text-decoration:none;white-space:nowrap;
  transition:background .18s ease}
.cc-float-sub:hover{background:rgba(255,255,255,.05)}
.cc-float-sub+.cc-float-sub{border-top:1px solid rgba(255,255,255,.05)}
.cc-float-sub .lbl{
  font-size:10px;font-weight:900;letter-spacing:.1em;
  color:rgba(255,255,255,.4);text-transform:uppercase;
  flex:0 0 auto}
.cc-float-sub .n{
  font-size:13px;font-weight:800;letter-spacing:.02em;
  color:rgba(255,255,255,.82)}

@media(max-width:760px){.cc-float-call{display:none!important}}

@media(prefers-reduced-motion:reduce){
  .cc-float-call,.cc-float-main .ico svg{
    transition:opacity .2s ease,transform .2s ease;animation:none}
  .cc-float-call:hover{transform:none}
  .cc-float-main .num small::before{animation:none}}

/* ── 히어로 대표번호 블록 ── */
.cc-hero-tel{
  display:inline-flex;flex-direction:column;
  margin-top:30px;border-radius:18px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.24);
  backdrop-filter:blur(18px) saturate(1.5);
  box-shadow:0 8px 28px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.16);
  transition:background .25s ease,transform .25s ease,box-shadow .25s ease;
  overflow:hidden}
.cc-hero-tel:hover{
  background:rgba(255,255,255,.14);
  transform:translateY(-2px);
  box-shadow:0 14px 38px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.2)}
.cc-hero-tel-main{
  display:inline-flex;align-items:center;gap:15px;
  padding:13px 26px 13px 13px;text-decoration:none}
.cc-hero-tel-main .ico{
  width:48px;height:48px;border-radius:13px;flex:0 0 auto;
  display:grid;place-items:center;
  background:linear-gradient(145deg,#0d9e72,#13c487);
  box-shadow:0 6px 18px rgba(13,180,120,.45),inset 0 1px 0 rgba(255,255,255,.28)}
.cc-hero-tel-main .ico svg{width:24px;height:24px;fill:#fff}
.cc-hero-tel-main .txt small{
  display:block;font-size:10px;font-weight:900;letter-spacing:.17em;
  color:rgba(196,220,255,.8);margin-bottom:4px;text-transform:uppercase}
.cc-hero-tel-main .txt b{
  font-size:30px;font-weight:900;color:#fff;
  letter-spacing:.06em;line-height:1;
  text-shadow:0 2px 8px rgba(0,0,0,.22)}
.cc-hero-tel-sub-wrap{
  border-top:1px solid rgba(255,255,255,.16);
  padding:8px 13px 10px;
  display:flex;flex-direction:column;gap:2px}
.cc-hero-tel-sub{
  display:flex;align-items:center;gap:10px;
  padding:5px 13px;border-radius:10px;
  text-decoration:none;transition:background .18s ease}
.cc-hero-tel-sub:hover{background:rgba(255,255,255,.08)}
.cc-hero-tel-sub .lbl{
  font-size:10px;font-weight:900;letter-spacing:.08em;
  color:rgba(196,220,255,.65);text-transform:uppercase;flex:0 0 auto}
.cc-hero-tel-sub .n{
  font-size:14px;font-weight:800;color:rgba(255,255,255,.88);letter-spacing:.02em}
@media(max-width:620px){
  .cc-hero-tel{margin-top:22px;border-radius:14px}
  .cc-hero-tel-main{padding:11px 18px 11px 11px;gap:11px}
  .cc-hero-tel-main .ico{width:42px;height:42px;border-radius:11px}
  .cc-hero-tel-main .txt b{font-size:24px}
  .cc-hero-tel-sub-wrap{padding:6px 11px 8px}
  .cc-hero-tel-sub .n{font-size:13px}}

/* ── 모바일 하단 전화 버튼 ── */
.mobile-bottom-btn.cc-call{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:linear-gradient(135deg,#0c9e70 0%,#14ce8e 100%);
  color:#fff;border:0;
  font-size:15px;font-weight:900;letter-spacing:-.01em;
  box-shadow:0 6px 22px rgba(12,158,112,.42),0 2px 6px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.22)}
.mobile-bottom-btn.cc-call svg{width:18px;height:18px;fill:currentColor;flex:0 0 auto}
.mobile-bottom-btn.cc-call:active{transform:scale(.97)}

/* ── 상단바 대표번호 ── */
.cc-topbar-tel{
  display:inline-flex;align-items:center;gap:7px;
  color:#c8e6f8;font-weight:800;font-size:13px;letter-spacing:.005em;
  white-space:nowrap;
  padding:5px 13px 5px 9px;border-radius:999px;
  background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);
  transition:background .2s ease,border-color .2s ease}
.cc-topbar-tel:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.26)}
.cc-topbar-tel svg{width:13px;height:13px;fill:currentColor;opacity:.85}
.cc-topbar-tel b{color:#fff;letter-spacing:.04em;font-weight:900}
@media(max-width:620px){.cc-topbar-tel span.cc-tel-label{display:none}}


/* =========================================================
   PHOTO ATTACHMENT — 사진 첨부 UI (드래그&드롭 스타일)
========================================================= */
.cc-photo-field label{font-weight:900;color:#0b2f47;font-size:14px;margin-bottom:10px;display:block}
.cc-photo-drop{
  position:relative;border:2px dashed #ccdde8;border-radius:18px;
  background:linear-gradient(180deg,#f8fbfd,#eef5fb);
  padding:28px 20px;text-align:center;cursor:pointer;
  transition:border-color .22s ease,background .22s ease,box-shadow .22s ease}
.cc-photo-drop:hover,.cc-photo-drop.drag-over{
  border-color:var(--cc-blue);border-style:solid;
  background:rgba(8,120,255,.04);
  box-shadow:0 0 0 4px rgba(8,120,255,.08)}
.cc-photo-drop input[type="file"]{
  position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.cc-photo-drop-ico{
  width:52px;height:52px;margin:0 auto 14px;border-radius:16px;
  background:linear-gradient(135deg,#e9f5fb,#deeef7);
  border:1px solid #cddde9;display:grid;place-items:center}
.cc-photo-drop-ico svg{width:26px;height:26px;stroke:#0b6fa8;fill:none;stroke-width:1.8}
.cc-photo-drop-title{font-size:15px;font-weight:900;color:#0b2f47;margin-bottom:6px}
.cc-photo-drop-sub{font-size:13px;color:#637c8a;line-height:1.6}
.cc-photo-drop-sub b{color:var(--cc-blue)}
.cc-photo-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;justify-content:center}
.cc-photo-chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 11px;border-radius:999px;
  background:#e7f3fb;border:1px solid #c8dde9;
  font-size:12px;font-weight:900;color:#0b5a7a}
.cc-photo-chip svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2}
.cc-photo-preview-row{
  display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;
  min-height:0;transition:min-height .25s ease}
.cc-photo-thumb{
  position:relative;width:70px;height:70px;border-radius:12px;overflow:hidden;
  border:1px solid #cddde9;box-shadow:0 4px 12px rgba(8,34,50,.08)}
.cc-photo-thumb img{width:100%;height:100%;object-fit:cover}
.cc-photo-thumb-del{
  position:absolute;top:3px;right:3px;width:20px;height:20px;border-radius:50%;
  background:rgba(6,29,45,.72);border:0;cursor:pointer;
  display:grid;place-items:center;backdrop-filter:blur(4px)}
.cc-photo-thumb-del svg{width:11px;height:11px;stroke:#fff;fill:none;stroke-width:2.5}
.cc-photo-note{margin-top:10px;font-size:12px;color:#7a8f99;text-align:center}
@media(max-width:560px){
  .cc-photo-drop{padding:22px 16px}
  .cc-photo-drop-ico{width:44px;height:44px}}


/* =========================================================
   PREMIUM EFFECTS — 전 페이지 고급 이펙트
========================================================= */

/* ── 섹션 제목 eyebrow 그라데이션 ── */
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  background:linear-gradient(90deg,#0b756b 0%,#1176ee 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
  letter-spacing:.13em;font-weight:900;font-size:13px}
.eyebrow::before{
  content:'';flex:0 0 3px;height:13px;border-radius:3px;
  background:linear-gradient(180deg,#1176ee,#0b756b);
  -webkit-text-fill-color:initial;
  -webkit-background-clip:initial;background-clip:initial}
/* 다크 배경 위 eyebrow는 밝게 */
.enterprise-planner-section .eyebrow,
.cc-inquiry-section .eyebrow,
.operations-board .eyebrow,
.ai-control-section .eyebrow{
  background:linear-gradient(90deg,#7ce8e9,#a5d8ff);
  -webkit-background-clip:text;background-clip:text}
.enterprise-planner-section .eyebrow::before,
.cc-inquiry-section .eyebrow::before,
.operations-board .eyebrow::before,
.ai-control-section .eyebrow::before{background:linear-gradient(180deg,#a5d8ff,#7ce8e9)}

/* ── 카드 이미지 — 호버 시 scale 이펙트 ── */
.service-link-card,.special-link-card,.cat-link-card,.review-card{overflow:hidden}
.service-link-card img,.special-link-card img,.cat-link-card img,.review-card img{
  transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.service-link-card:hover img,.special-link-card:hover img,
.cat-link-card:hover img,.review-card:hover img{transform:scale(1.06)}

/* ── 헤더 CTA 버튼 — 고급 그라데이션 ── */
.header-cta{
  background:linear-gradient(135deg,#071f33,#0c3a58);
  border:1px solid rgba(8,120,255,.22);
  box-shadow:0 4px 14px rgba(7,31,51,.22),inset 0 1px 0 rgba(255,255,255,.07);
  transition:background .22s ease,box-shadow .22s ease,transform .18s ease}
.header-cta:hover{
  background:linear-gradient(135deg,#0c2c46,#0e5f96);
  box-shadow:0 8px 26px rgba(8,120,255,.3),inset 0 1px 0 rgba(255,255,255,.1);
  transform:translateY(-2px)}

/* ── .btn.gold — 프리미엄 골드 버튼 ── */
.btn.gold{
  background:linear-gradient(135deg,#c49a36,#d9b257,#c49a36);
  background-size:200%;
  box-shadow:0 6px 18px rgba(199,160,75,.38),inset 0 1px 0 rgba(255,255,255,.28);
  animation:goldShimmer 4s linear infinite}
@keyframes goldShimmer{
  0%{background-position:200% center}
  100%{background-position:-200% center}}
.btn.gold:hover{
  box-shadow:0 10px 28px rgba(199,160,75,.52),inset 0 1px 0 rgba(255,255,255,.32);
  transform:translateY(-2px)}

/* ── .btn.white — 하이엔드 화이트 버튼 ── */
.btn.white{
  background:rgba(255,255,255,.95);
  border:1px solid rgba(255,255,255,.5);
  backdrop-filter:blur(8px);
  box-shadow:0 4px 14px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.9)}
.btn.white:hover{
  background:#fff;
  box-shadow:0 8px 22px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.9)}

/* ── 섹션 구분선 — 그라데이션 라인 ── */
.section+.section.alt::before,.section.alt+.section::before{
  content:'';display:block;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(8,120,255,.18),rgba(11,117,107,.18),transparent);
  margin-bottom:-1px}

/* ── stat 카드 번호 — 계수 완료 시 글로우 ── */
.stat-card.is-counted .stat-number strong{
  text-shadow:0 0 24px rgba(34,203,233,.35)}

/* ── 스크롤 진행바 업그레이드 ── */
.cc-scroll-progress{
  background:linear-gradient(90deg,#0878ff,#22cbe9,#0b756b);
  background-size:200%;
  animation:progressMove 2s linear infinite;
  height:3px;
  box-shadow:0 0 14px rgba(34,203,233,.6)}
@keyframes progressMove{
  0%{background-position:0%}100%{background-position:200%}}

/* ── 카드 전반 호버 리프트 ── */
.service-link-card,.special-link-card,.cat-link-card{
  transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s ease}
.service-link-card:hover,.special-link-card:hover,.cat-link-card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 48px rgba(4,22,36,.14),0 6px 16px rgba(4,22,36,.08)}

/* ── .promise-card · .info-box · .quote-box — 호버 리프트 ── */
.promise-card{transition:transform .28s ease,box-shadow .28s ease}
.promise-card:hover{transform:translateY(-5px);box-shadow:0 24px 50px rgba(4,22,36,.32)}
.info-box,.quote-box{
  box-shadow:0 14px 36px rgba(7,55,90,.16),inset 0 1px 0 rgba(255,255,255,.1)}

/* ── subnav 탭 호버 ── */
.subnav a,.cat-subnav a,.service-subnav a{
  transition:color .18s ease,border-color .18s ease,background .18s ease}
.subnav a:hover,.cat-subnav a:hover,.service-subnav a:hover{
  color:var(--green)}

/* ── nav 링크 밑줄 슬라이드 ── */
.nav a{position:relative}
.nav a::after{
  content:'';position:absolute;bottom:-4px;left:0;right:0;
  height:2px;border-radius:999px;
  background:linear-gradient(90deg,#0878ff,#0b756b);
  transform:scaleX(0);transform-origin:left;
  transition:transform .22s ease}
.nav a:hover::after,.nav a.active::after{transform:scaleX(1)}
.nav a.active{color:var(--green)}

/* ── final-cta 섹션 ── */
.final-cta{
  box-shadow:0 24px 56px rgba(7,55,90,.22),inset 0 1px 0 rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.08)}

/* ── 폼 섹션 입력 포커스 — 글로우 ── */
.cc-field input:focus,.cc-field select:focus,.cc-field textarea:focus{
  outline:0;border-color:var(--cc-blue);
  box-shadow:0 0 0 4px rgba(8,120,255,.12),0 2px 8px rgba(8,120,255,.1)}

/* ── cc-submit 버튼 — 시머 이펙트 ── */
.cc-submit{
  background:linear-gradient(135deg,#0878ff 0%,#22cbe9 50%,#0878ff 100%);
  background-size:200%;
  animation:submitShimmer 5s linear infinite}
@keyframes submitShimmer{
  0%{background-position:0%}100%{background-position:200%}}
.cc-submit:hover{
  animation-play-state:paused;
  transform:translateY(-2px);
  box-shadow:0 20px 44px rgba(8,120,255,.38)}

/* ── 맨 위로 버튼 업그레이드 ── */
.cc-top-btn{
  background:linear-gradient(145deg,#071f33,#0f5080);
  border:1px solid rgba(8,120,255,.22);
  box-shadow:0 14px 34px rgba(5,25,40,.32),inset 0 1px 0 rgba(255,255,255,.06)}
.cc-top-btn:hover{
  background:linear-gradient(145deg,#0878ff,#22cbe9);
  box-shadow:0 18px 42px rgba(8,120,255,.4),inset 0 1px 0 rgba(255,255,255,.15)}

/* ── 이미지 섹션 — 그라데이션 하이라이트 프레임 ── */
.photo{
  box-shadow:0 24px 56px rgba(5,25,40,.18),0 0 0 1px rgba(8,120,255,.08)}

/* ── 카드 그룹 — 스태거 등장 애니메이션 ── */
@keyframes cardFadeUp{
  from{opacity:0;transform:translateY(22px)}
  to{opacity:1;transform:none}}
.service-link-card:nth-child(1),.special-link-card:nth-child(1),.cat-link-card:nth-child(1){animation:cardFadeUp .5s .05s both}
.service-link-card:nth-child(2),.special-link-card:nth-child(2),.cat-link-card:nth-child(2){animation:cardFadeUp .5s .12s both}
.service-link-card:nth-child(3),.special-link-card:nth-child(3),.cat-link-card:nth-child(3){animation:cardFadeUp .5s .19s both}
.service-link-card:nth-child(4),.cat-link-card:nth-child(4){animation:cardFadeUp .5s .26s both}
@media(prefers-reduced-motion:reduce){
  .service-link-card,.special-link-card,.cat-link-card{animation:none}
  .btn.gold,.cc-submit,.cc-scroll-progress{animation:none}}

/* =========================================================
   SIGNATURE FX — 시네마틱 히어로 / 3D 인터랙션 / 키네틱 타이포
   (premium-fx: JS가 주입하는 요소들의 스타일 — JS 미작동 시 무해)
========================================================= */

/* ── 히어로 공통: FX 레이어를 담는 무대 ── */
.hero,.service-hero,.special-hero,.category-hero,.academy-hero{
  overflow:hidden;isolation:isolate}

/* ── 켄번즈 줌 배경 레이어 ── */
.cc-hero-bg{
  position:absolute;inset:-3.5%;z-index:0;
  background-position:center;background-size:cover;background-repeat:no-repeat;
  animation:ccKenBurns 26s ease-in-out infinite alternate;
  will-change:transform;pointer-events:none}
@keyframes ccKenBurns{
  from{transform:scale(1) translate3d(0,0,0)}
  to{transform:scale(1.085) translate3d(0,-1.2%,0)}}

/* ── 3D 플로팅 버블(청소 테마 글래스 오브) ── */
.cc-hero-fx{position:absolute;inset:0;z-index:1;pointer-events:none}
.cc-orb{
  position:absolute;width:var(--s);height:var(--s);left:var(--x);top:var(--y);
  transform:translate3d(calc(var(--mx,0px)*var(--d,1)),calc(var(--my,0px)*var(--d,1)),0);
  transition:transform .9s cubic-bezier(.15,.6,.2,1);will-change:transform}
.cc-orb i{
  display:block;width:100%;height:100%;border-radius:50%;opacity:var(--o,.6);
  background:
    radial-gradient(circle at 32% 28%,rgba(255,255,255,.55),rgba(255,255,255,.14) 34%,rgba(255,255,255,.02) 60%,transparent 72%),
    radial-gradient(circle at 70% 76%,rgba(34,203,233,.28),transparent 56%);
  border:1px solid rgba(255,255,255,.26);
  box-shadow:inset 0 0 24px rgba(255,255,255,.14),inset -6px -8px 22px rgba(34,203,233,.12),0 18px 40px rgba(3,20,34,.16);
  animation:ccOrbFloat var(--t,10s) ease-in-out var(--dl,0s) infinite alternate}
@keyframes ccOrbFloat{
  from{transform:translate3d(0,16px,0) scale(.95)}
  to{transform:translate3d(0,-18px,0) scale(1.05)}}

/* ── 라이트 스윕(고급 쇼룸 조명 느낌) ── */
.cc-hero-sheen{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.cc-hero-sheen::before{
  content:'';position:absolute;top:-25%;bottom:-25%;left:-38%;width:36%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.07) 40%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.07) 60%,transparent);
  transform:skewX(-14deg);
  animation:ccHeroSheen 9s ease-in-out 2.4s infinite}
@keyframes ccHeroSheen{
  0%{left:-45%}
  46%,100%{left:140%}}

/* ── 히어로 텍스트 등장: 블러 → 선명 (기존 keyframes 재정의) ── */
@keyframes heroFadeUp{
  from{opacity:0;transform:translate3d(0,30px,0);filter:blur(9px)}
  62%{filter:blur(0)}
  to{opacity:1;transform:none;filter:none}}

/* ── 3D 틸트 카드 + 커서 추적 글레어 (데스크톱 전용, JS가 클래스 부여) ── */
@media (hover:hover) and (pointer:fine){
  .cc-tilt{
    position:relative;transform-style:preserve-3d;will-change:transform;
    transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--ty,0px)) scale(var(--sc,1))!important;
    transition:transform .18s ease-out,box-shadow .3s ease,border-color .3s ease!important}
}
.cc-glare{
  position:absolute;inset:0;z-index:6;pointer-events:none;opacity:0;border-radius:inherit;
  background:radial-gradient(480px circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.26),rgba(255,255,255,.05) 44%,transparent 66%);
  transition:opacity .35s ease}
.cc-tilt:hover .cc-glare{opacity:1}

/* ── 버튼 리플(클릭 파동) ── */
.btn,.header-cta,.cc-submit,.planner-contact,.planner-print,.mobile-bottom-btn,.cc-ba-more,.academy-primary,.academy-secondary{
  position:relative;overflow:hidden}
.cc-ripple{
  position:absolute;z-index:3;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(255,255,255,.55) 0%,rgba(255,255,255,.22) 42%,transparent 70%);
  transform:scale(0);opacity:.9;
  animation:ccRipple .65s ease-out forwards}
@keyframes ccRipple{to{transform:scale(1);opacity:0}}

/* ── 키네틱 타이포: 섹션 제목 단어별 라이즈 (JS가 .cc-words 부여) ── */
.cc-words .cc-w{
  display:inline-block;overflow:hidden;vertical-align:top;
  padding-bottom:.1em;margin-bottom:-.1em}
.cc-words .cc-w>span{
  display:inline-block;transform:translateY(114%);
  transition:transform .8s cubic-bezier(.19,.8,.22,1)}
.cc-words.cc-in .cc-w>span{transform:none}

/* ── 사진 스크롤 패럴랙스 대상 ── */
.cc-par{will-change:transform}

/* ── 운영보드 카운트업 완료 팝 ── */
.ops-cell strong.cc-counted{animation:ccCountPop .5s cubic-bezier(.2,.9,.3,1.3)}

/* ── 헤더: 스크롤 시 깊이감 ── */
.header{transition:box-shadow .35s ease}
.header.is-scrolled{box-shadow:0 14px 38px rgba(7,31,51,.1)}

/* ── 폼·버튼도 브랜드 서체(Pretendard) 상속 ── */
button,input,select,textarea{font-family:inherit}

/* ── 푸터 상단 시그니처 라인 ── */
.footer{position:relative}
.footer::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,rgba(34,203,233,.5),rgba(11,117,107,.5),transparent)}

/* ── 커스텀 스크롤바 (데스크톱) ── */
@media (hover:hover) and (pointer:fine){
  ::-webkit-scrollbar{width:11px;height:9px}
  ::-webkit-scrollbar-track{background:#eef4fb}
  ::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#0f4a72,#0b756b);border-radius:8px;border:3px solid #eef4fb}
  ::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#0878ff,#0b756b)}
}

/* ── 모션 최소화 사용자: 신규 FX 전부 정지 ── */
@media(prefers-reduced-motion:reduce){
  .cc-hero-bg,.cc-orb i,.cc-hero-sheen::before,.cc-ripple,
  .ops-cell strong.cc-counted{animation:none!important}
  .cc-orb,.cc-glare{transition:none}
  .cc-words .cc-w>span{transform:none;transition:none}
}

/* =========================================================
   MOBILE FINAL POLISH — 모바일 레이아웃 통일·마감
========================================================= */
@media(max-width:760px){

  /* index(.hero) / 서비스(.service-hero)도 회사·카테고리 히어로와 동일한 프리미엄 처리 */
  .hero,.service-hero{
    min-height:440px!important;
    align-items:flex-end!important;
    background-position:center!important}
  .hero:after,.service-hero:after{
    background:linear-gradient(180deg,rgba(3,20,34,.20),rgba(3,20,34,.72) 48%,rgba(3,20,34,.92))!important}
  .hero .content,.service-hero .content{
    padding:72px 22px 52px!important}
  .hero h1,.service-hero h1{
    font-size:34px!important;line-height:1.18!important;
    letter-spacing:-.06em!important;margin:14px 0!important;word-break:keep-all}
  .hero p,.service-hero p{
    font-size:16px!important;line-height:1.72!important;
    max-width:100%!important;margin-bottom:22px!important;word-break:keep-all}

  /* index/회사 상단 .subnav 도 카드형 그리드로 통일 */
  .subnav{position:relative!important;z-index:5;overflow:visible!important}
  .subnav .inner{
    padding:12px 14px!important;
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;overflow:visible!important}
  .subnav a{
    display:flex!important;align-items:center!important;justify-content:center!important;
    min-height:46px!important;text-align:center!important;white-space:normal!important;
    padding:12px 10px!important;font-size:14px!important;font-weight:900!important;line-height:1.25!important;
    border-bottom:none!important;border-radius:14px!important;
    background:#fff!important;border:1px solid rgba(6,29,45,.07)!important;
    box-shadow:0 8px 18px rgba(8,34,50,.035)}
  .subnav a.active{
    background:#e7f4f8!important;color:var(--green)!important;
    border-color:rgba(11,122,104,.16)!important}

  /* 하단 CTA: 아이폰 홈바(safe-area) 대응 */
  .mobile-bottom-cta{bottom:calc(10px + env(safe-area-inset-bottom,0px))!important}
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))!important}

  /* 모바일 히어로 버블은 더 은은하게 */
  .cc-orb i{opacity:calc(var(--o,.6)*.72)}
}

/* ── 터치 기기: 탭 피드백(호버 대체) ── */
@media(hover:none){
  .service-link-card:active,.special-link-card:active,.cat-link-card:active,
  .review-card:active,.story-item:active,.card:active,.contact-card:active,
  .cc-q-card:active,.promise-mini:active,.field-record-card:active{
    transform:scale(.984)!important;transition:transform .12s ease!important}
  .btn:active,.mobile-bottom-btn:active,.header-cta:active,.cc-submit:active{
    transform:scale(.97)!important;transition:transform .1s ease!important}
}
