/* ============================================================
   FIX포렌식 — 데이터 복구 · 디지털 포렌식
   style.css  (순수 CSS, 프레임워크 없음)
   ============================================================ */

:root{
  --ac:#ff5a2b;      /* accent */
  --acd:#e84a1f;     /* accent dark (hover) */
  --ink:#141414;
  --ink-2:#1a1a1a;
  --ink-3:#0e0e0e;
  --paper:#ffffff;
  --paper-2:#f7f6f4;
  --line:#e8e6e2;
  --text:#141414;
  --text-muted:#55524d;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:clip;}
body{margin:0;font-family:'Pretendard',-apple-system,BlinkMacSystemFont,sans-serif;background:#ffffff;color:#141414;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip;width:100%;}
::selection{background:var(--ac);color:#fff;}
a{color:inherit;}
section{scroll-margin-top:72px;}
input,textarea,select,button{font-family:inherit;}
input::placeholder,textarea::placeholder{color:#a8a5a0;}
img{max-width:100%;}

/* ---------- keyframes ---------- */
@keyframes fixpulse{0%,100%{opacity:.35;transform:scaleX(.4);}50%{opacity:1;transform:scaleX(1);}}
@keyframes herofade{0%,31%,100%{opacity:0;}4%,27%{opacity:1;}}

/* ---------- hero rotating background (3 images crossfade) ---------- */
#hero-bg [data-hero-img]{position:absolute;inset:0;background-size:cover;background-position:center right;opacity:0;animation:herofade 18s infinite;}
#hero-bg [data-hero-img]:nth-child(1){animation-delay:0s;}
#hero-bg [data-hero-img]:nth-child(2){animation-delay:6s;}
#hero-bg [data-hero-img]:nth-child(3){animation-delay:12s;}
[data-section-visual] img{width:100%;height:100%;object-fit:cover;display:block;}
[data-section-visual]{isolation:isolate;}
@media(prefers-reduced-motion:reduce){
  #hero-bg [data-hero-img]{animation:none;opacity:0;}
  #hero-bg [data-hero-img]:first-child{opacity:1;}
}

/* ---------- loader ---------- */
#loader[data-fade="1"]{opacity:0!important;pointer-events:none!important;}

/* ---------- mobile menu / biz panel ---------- */
#mobilemenu[data-open="1"]{transform:translateX(0)!important;}
#bizpanel[data-open="1"]{max-height:560px!important;opacity:1!important;margin-top:16px!important;}

/* ---------- sidebar reveal-on-hover phone/kakao row ---------- */
[data-reveal] [data-lbl]{max-width:0;opacity:0;overflow:hidden;white-space:nowrap;transition:max-width .32s ease,opacity .28s ease,margin .32s ease;}
[data-reveal]:hover [data-lbl]{max-width:120px;opacity:1;margin-left:9px;}
[data-revealrow] [data-reveal]{flex:1 1 0;min-width:0;overflow:hidden;transition:flex-grow .34s ease,background .25s ease,border-color .25s ease,color .25s ease;}
[data-revealrow]:hover [data-reveal]{flex-grow:1;}
[data-revealrow] [data-reveal]:hover{flex-grow:3;}
[data-revealrow] [data-kind="tel"]:hover{background:var(--ac)!important;border-color:var(--ac)!important;color:#fff!important;}
[data-revealrow] [data-kind="kakao"]:hover{background:#FEE500!important;border-color:#FEE500!important;color:#181600!important;}

/* ---------- quick TOP button (rotating accent border on hover) ---------- */
@property --qa{syntax:"<angle>";inherits:false;initial-value:0deg;}
@keyframes qspin{to{--qa:360deg;}}
#topwrap{position:relative;background:transparent;}
#topwrap:hover{transform:translateY(-3px);background:conic-gradient(from var(--qa),var(--ac),rgba(255,90,43,0) 27%,var(--ac) 50%,rgba(255,90,43,0) 77%,var(--ac));animation:qspin 1.1s linear infinite;}

/* ---------- process timeline active step ---------- */
[data-step] [data-node]{transition:all .35s ease;}
[data-step] [data-box]{transition:all .35s ease;}
[data-step][data-active="1"] [data-node]{border-color:var(--ac)!important;background:var(--ac)!important;color:#fff!important;transform:scale(1.06);box-shadow:0 0 0 6px rgba(255,90,43,.14);}
[data-step][data-active="1"] [data-box]{border-color:rgba(255,90,43,.5)!important;background:rgba(255,90,43,.07)!important;transform:translateX(6px);}

/* ============================================================
   HOVER / FOCUS interactions (was style-hover / style-focus)
   ============================================================ */
.nav-link{transition:all .2s ease;}
.nav-link:hover{background:rgba(255,255,255,.07);color:#fff!important;}

.btn-accent{transition:background .2s ease;}
.btn-accent:hover{background:var(--acd)!important;}
.btn-accent-lift{transition:transform .2s ease,background .2s ease;}
.btn-accent-lift:hover{background:var(--acd)!important;transform:translateY(-2px);}

.btn-outline{transition:all .2s ease;}
.btn-outline:hover{background:rgba(255,255,255,.12)!important;}

.sol-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
.sol-card:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(20,20,20,.09);border-color:var(--ac);}

.social-btn{transition:all .2s ease;}
.social-btn:hover{border-color:var(--ac)!important;color:#fff!important;background:rgba(255,255,255,.04);}

.foot-link{transition:color .2s;}
.foot-link:hover{color:#fff!important;}

.btn-price{transition:opacity .2s ease;}
.btn-price:hover{opacity:.88;}

.btn-kakao{transition:filter .2s ease;}
.btn-kakao:hover{filter:brightness(.96);}

.home-btn{transition:all .2s;}
.home-btn:hover{border-color:var(--ac)!important;color:#fff!important;}

.field{transition:border-color .2s;}
.field:focus{border-color:var(--ac)!important;}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:980px){
  #side{display:none!important;}
  #topbar{display:flex!important;}
  #main{margin-left:0!important;padding-top:60px!important;}
  #quick{display:none!important;}
  #mobilebar{display:flex!important;}
  [data-g]{grid-template-columns:1fr!important;}
  [data-g="4s"]{grid-template-columns:1fr 1fr!important;}
  [data-sec]{padding-left:22px!important;padding-right:22px!important;padding-top:64px!important;padding-bottom:64px!important;}
  [data-h1]{font-size:40px!important;}
  [data-hide-mob]{display:none!important;}
  #reco{display:none!important;}
  #reco-track{font-size:64px!important;}
  #pricing-viewport{overflow:hidden;}
  [data-pricing]{flex-direction:row!important;flex-wrap:nowrap!important;align-items:stretch!important;gap:0!important;transition:transform .45s ease;will-change:transform;}
  [data-pricing] > div{flex:0 0 100%!important;width:100%!important;margin:0!important;border-radius:16px!important;box-shadow:none!important;}
  #pricing-controls{display:flex!important;}
  /* 가격: 물리적 복구를 가장 먼저 */
  #pricing-viewport [data-pricing] > div:nth-child(1){order:1!important;}
  #pricing-viewport [data-pricing] > div:nth-child(2){order:0!important;}
  #pricing-viewport [data-pricing] > div:nth-child(3){order:2!important;}
  /* 솔루션: 핀 가로 스크롤용 트랙 */
  #solutions [data-section-visual]{display:none!important;}
  #sol-cards{display:flex!important;flex-wrap:nowrap!important;grid-template-columns:none!important;gap:14px!important;overflow-x:auto!important;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:4px 14vw 4px 0!important;margin:0 -2px;}
  #sol-cards::-webkit-scrollbar{display:none;}
  #sol-cards > div{flex:0 0 82%!important;width:82%!important;scroll-snap-align:start;}
  #sol-controls{display:flex!important;}
  /* 문의: 폼 위 텍스트 여백 축소 */
  #contact-grid{gap:18px!important;}
  #contact-grid > div:first-child > p{margin-bottom:0!important;}
  [data-section-visual]{height:230px!important;min-height:230px!important;margin-top:26px!important;}
  [data-section-visual] img{position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:100%!important;object-fit:cover!important;transform:none!important;}
  [data-foot-grid]{grid-template-columns:1fr 1fr!important;gap:34px!important;}
}
@media(max-width:560px){
  [data-g="4s"]{grid-template-columns:1fr!important;}
  #about-stats{grid-template-columns:1fr 1fr!important;}
  [data-foot-grid]{grid-template-columns:1fr!important;}
}

/* ---------- policy pages ---------- */
@keyframes pageIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
@media(max-width:720px){
  [data-pad]{padding-left:22px!important;padding-right:22px!important;}
  [data-hero]{padding:54px 22px!important;}
  [data-card]{padding:34px 24px!important;}
}

/* ============================================================
   MOBILE 추가: FAQ 아코디언 · 가격 슬라이더 컨트롤
   ============================================================ */
.faq-chev{display:none;align-items:center;color:var(--ac);transition:transform .3s ease;flex:none;}
.price-dot{width:9px;height:9px;border-radius:50%;border:none;background:#d9d6d1;cursor:pointer;padding:0;transition:all .3s ease;}
.price-dot[data-active="1"]{background:var(--ac);width:26px;border-radius:5px;}
@media(max-width:980px){
  [data-faq-item] .faq-a{display:none;}
  [data-faq-item][data-open="1"] .faq-a{display:block;}
  .faq-q{cursor:pointer;}
  .faq-chev{display:inline-flex;}
  [data-faq-item][data-open="1"] .faq-chev{transform:rotate(180deg);}
}
