/* 침해사고 조사 상세페이지 시안 — 공통 (밝은 배경 · 큰 글씨 · 아이콘 중심) */
.ip-page,.ip-hub{
 --ink:#16202c;--text:#2a3544;--sub:#4a5565;--line:#e1e6ec;--soft:#f4f6f9;
 --orange:#ee7330;--orange-soft:#fde7d6;--orange-ink:#a8521f;
 --blue:#2f6fde;--blue-soft:#e0ecfc;--blue-ink:#1f56b8;
 --green:#1f9d6b;--green-soft:#dcf3e8;--green-ink:#16764f;
 --red:#c0362a;--ip-header:93px;--radius:16px;--shadow:0 1px 2px rgba(20,29,41,.05),0 12px 32px rgba(20,29,41,.08);
}
html:has(body.ip-page){scroll-padding-top:150px}
.ip-main{display:block;background:#fff;color:var(--text);font-size:17px;line-height:1.7;word-break:keep-all;overflow-wrap:break-word;padding-top:var(--ip-offset,0px)}
:where(.ip-main,.ip-hub) *,:where(.ip-main,.ip-hub) *::before,:where(.ip-main,.ip-hub) *::after{box-sizing:border-box}
:where(.ip-main,.ip-hub) :where(h1,h2,h3,h4,p,ul,ol,figure){margin:0}
:where(.ip-main,.ip-hub) :where(ul,ol){padding:0;list-style:none}
:where(.ip-main,.ip-hub) svg{flex:none}
/* the live site sets .dp-page svg{42px}; scene art fills its box */
.ip-main :is(.pa-hero__art,.pa-ch__art,.pb-node__art,.pc-pick__art) svg{width:100%!important;height:auto!important}
.ip-main .contact-band{margin-top:0}
.ip-wrap{width:min(1200px,calc(100% - 48px));margin-inline:auto}

/* plan bar */
.ip-planbar{background:#1d2b45;color:#fff;font-size:14px}
.ip-planbar .ip-wrap{display:flex;align-items:center;justify-content:space-between;gap:10px 20px;flex-wrap:wrap;min-height:48px;padding-block:4px}
.ip-planbar b{display:inline-block;margin-right:8px;padding:2px 8px;border-radius:5px;background:var(--orange);font-weight:800;font-size:13px}
.ip-planbar nav{display:flex;gap:4px;flex-wrap:wrap}
.ip-planbar a{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border-radius:999px;color:#dfe6f0;text-decoration:none;font-weight:600;white-space:nowrap;flex:none}
.ip-planbar a:hover{background:rgba(255,255,255,.1);color:#fff}
.ip-planbar a[aria-current]{background:#fff;color:#1d2b45}

/* type */
.ip-crumb{display:flex;gap:8px;font-size:15px;color:var(--sub);margin-bottom:22px}
.ip-crumb a{color:var(--sub);text-decoration:none;display:inline-flex;align-items:center;min-height:32px}.ip-crumb a:hover{text-decoration:underline}
.ip-crumb span:last-child{color:var(--ink);font-weight:700}
.ip-kicker{font:800 14px/1.3 Manrope,'Noto Sans KR',sans-serif;letter-spacing:.14em;color:var(--orange-ink);text-transform:uppercase}
.ip-main h1{font-size:clamp(34px,4vw,54px);line-height:1.25;letter-spacing:-.045em;font-weight:800;color:var(--ink);margin-top:12px;text-wrap:balance}
.ip-main h2{font-size:clamp(30px,3.2vw,44px);line-height:1.3;letter-spacing:-.04em;font-weight:800;color:var(--ink)}
.ip-main h3{font-size:22px;line-height:1.4;letter-spacing:-.02em;font-weight:800;color:var(--ink)}
.ip-lead{font-size:clamp(17px,1.4vw,19px);line-height:1.75;color:var(--sub);margin-top:14px}
.ip-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0;border:0;background:none;font:700 17px/1 'Noto Sans KR',sans-serif;color:var(--ink);border-bottom:2px solid var(--orange);cursor:pointer}

/* buttons */
.ip-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.ip-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:0 24px;border-radius:10px;border:1.5px solid transparent;font:700 18px/1 'Noto Sans KR',sans-serif;text-decoration:none;cursor:pointer;white-space:nowrap}
.ip-btn--primary{background:#c25a1e;border-color:#c25a1e;color:#fff}
.ip-btn--primary:hover{background:#a8521f}
.ip-btn--line{background:#fff;border-color:#cfd6df;color:var(--ink)}
.ip-btn--line:hover{border-color:var(--ink)}
:where(.ip-main,.ip-hub) :is(a,button):focus-visible{outline:3px solid #2463c7;outline-offset:3px;border-radius:6px}

/* sub nav */
.ip-subnav{position:sticky;top:var(--ip-header);z-index:20;background:rgba(255,255,255,.97);border-block:1px solid var(--line);backdrop-filter:blur(6px)}
.ip-subnav ul{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:9px 0}
.ip-subnav ul::-webkit-scrollbar{display:none}
.ip-subnav a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;font-size:16px;font-weight:700;color:var(--sub);text-decoration:none;white-space:nowrap}
.ip-subnav a:hover{background:var(--soft);color:var(--ink)}
.ip-subnav a[aria-current]{background:var(--ink);color:#fff}
.ip-dot{width:10px;height:10px;border-radius:50%}
.ip-dot--orange{background:var(--orange)}.ip-dot--blue{background:var(--blue)}.ip-dot--green{background:var(--green)}

/* signs (이럴 때) */
.ip-signs{display:flex;flex-wrap:wrap;gap:8px}
.ip-signs li{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:6px 14px 6px 6px;border-radius:999px;font-size:16px;font-weight:700;color:var(--ink);background:#fff;border:1.5px solid var(--line)}
.ip-signs li>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%}
.ip-sign--orange>span{background:var(--orange-soft);color:var(--orange-ink)}
.ip-sign--blue>span{background:var(--blue-soft);color:var(--blue-ink)}
.ip-sign--green>span{background:var(--green-soft);color:var(--green-ink)}
.ip-signs--stack{flex-direction:column;align-items:stretch}
.ip-signs--stack li{border-radius:12px}

/* mini steps */
.ip-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:18px;position:relative}
.ip-steps li{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.ip-steps li>span{position:relative;z-index:1;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;border:2px solid currentColor}
.ip-steps li:not(:last-child)::after{content:'';position:absolute;top:22px;left:calc(50% + 26px);right:calc(-50% + 26px);height:2px;background:currentColor;opacity:.35}
.ip-steps em{font-style:normal;font-size:14px;font-weight:700;line-height:1.35;color:var(--ink)}
.ip-steps--orange{color:var(--orange-ink)}.ip-steps--blue{color:var(--blue-ink)}.ip-steps--green{color:var(--green-ink)}

/* result, note, badge */
.ip-result{display:flex;align-items:center;gap:10px;margin-top:18px;padding:12px 14px;border-radius:12px;background:var(--green-soft);font-size:16px;font-weight:700;color:var(--ink);line-height:1.4}
.ip-result small{display:block;font-size:13px;font-weight:700;color:var(--green-ink)}
.ip-note{display:flex;align-items:flex-start;gap:6px;margin-top:10px;font-size:14px;line-height:1.55;color:var(--sub)}
.ip-note svg{margin-top:3px;color:#9a5b00}
.ip-badge{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:6px 12px;border-radius:999px;background:#fff7ef;border:1.5px solid #f6c7a4;font-size:14px;font-weight:700;color:var(--orange-ink)}

/* first aid band */
.ip-aid{padding:44px 0;background:#fff8f2;border-block:1px solid #f8dcc6}
.ip-aid__head{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.ip-aid__badge{display:grid;place-items:center;width:56px;height:56px;border-radius:14px;background:var(--orange);color:#fff}
.ip-aid h2{font-size:clamp(22px,2.2vw,28px)!important}
.ip-aid__head p{font-size:14px;color:var(--sub);margin-top:4px}
.ip-aid__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ip-aid__list li{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;padding:16px;border-radius:14px;background:#fff;border:1px solid #f3d5bf}
.ip-aid__icon{grid-row:1/3;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--orange-soft);color:var(--orange-ink)}
.ip-aid__list b{display:none}
.ip-aid__list strong{font-size:18px;color:var(--ink)}
.ip-aid__list small{font-size:15px;color:var(--sub)}

/* process */
.ip-process{padding:72px 0;background:var(--soft);text-align:center}
.ip-process h2{margin-top:10px}
.ip-process ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:36px;position:relative}
.ip-process ol::before{content:'';position:absolute;left:12%;right:12%;top:44px;height:3px;background:linear-gradient(90deg,var(--orange),var(--blue),var(--green));border-radius:3px;opacity:.5}
.ip-process li{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px}
.ip-process__icon{display:grid;place-items:center;width:88px;height:88px;border-radius:50%;background:#fff;border:2px solid var(--line);color:var(--ink);box-shadow:var(--shadow)}
.ip-process b{margin-top:8px;font:800 13px/1 Manrope,sans-serif;letter-spacing:.08em;color:var(--orange-ink)}
.ip-process strong{font-size:20px;color:var(--ink)}
.ip-process small{font-size:15px;color:var(--sub)}
.ip-process__note{margin-top:26px!important;font-size:15px;color:var(--sub)}

/* hub */
.ip-hub{margin:0;background:#fff;color:var(--text);font:17px/1.7 'Noto Sans KR',Manrope,sans-serif;word-break:keep-all}
.ip-hub__top{border-bottom:1px solid var(--line)}
.ip-hub__top .ip-wrap{display:flex;align-items:center;gap:14px;min-height:66px;font-weight:700;color:var(--sub)}
.ip-hub__logo{font:800 24px/1 Manrope,sans-serif;color:var(--ink);text-decoration:none}.ip-hub__logo span{color:var(--orange)}
.ip-hub__main{padding:52px 0 80px}
.ip-hub h1{font-size:clamp(30px,3.6vw,46px);line-height:1.3;letter-spacing:-.04em;color:var(--ink);margin:10px 0 0}
.ip-hub__chapters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px}
.ip-hub__chapters li{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:var(--soft)}
.ip-hub__chapters b{display:block;color:var(--ink);font-size:17px}
.ip-hub__chapters span{font-size:14px;color:var(--sub)}
.ip-hub__plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:36px}
.ip-hub__plans a{display:flex;flex-direction:column;height:100%;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#fff;text-decoration:none;color:inherit;box-shadow:var(--shadow);transition:transform .2s}
.ip-hub__plans a:hover{transform:translateY(-4px)}
.ip-hub__shot{display:block;aspect-ratio:16/11;overflow:hidden;background:var(--soft);border-bottom:1px solid var(--line)}
.ip-hub__shot img{width:100%;height:100%;object-fit:cover;object-position:top}
.ip-hub__body{display:flex;flex-direction:column;gap:10px;padding:20px 22px 22px;flex:1}
.ip-hub__body strong{font-size:21px;color:var(--ink)}
.ip-hub__body>span{font-size:16px;color:var(--sub);line-height:1.65}
.ip-hub__body em{display:inline-flex;align-items:center;gap:6px;font-style:normal;font-weight:700;color:var(--green-ink);font-size:15px}
.ip-hub__go{display:inline-flex;align-items:center;gap:6px;margin-top:auto;font-weight:800;color:var(--orange-ink)}

/* reveal */
.ip-js [data-ip-reveal]{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.ip-js [data-ip-reveal].is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.ip-js [data-ip-reveal]{opacity:1;transform:none;transition:none}}

@media(max-width:1000px){
 .ip-aid__list,.ip-process ol{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ip-process ol::before{display:none}
 .ip-hub__plans,.ip-hub__chapters{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:800px){
 .ip-page{--ip-header:72px}
 .ip-main{font-size:16px}
 .ip-wrap{width:calc(100% - 36px)}
 .ip-planbar .ip-wrap{justify-content:flex-start}
 .ip-planbar nav{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;max-width:100%}
 .ip-main h3{font-size:20px}
 .ip-btn{flex:1 1 150px;font-size:17px;padding:0 14px}
 .ip-aid__list{grid-template-columns:minmax(0,1fr)}
 .ip-process ol{grid-template-columns:minmax(0,1fr);text-align:left}
 .ip-process li{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;column-gap:16px;align-items:center}
 .ip-process__icon{grid-row:1/4;width:68px;height:68px}
 .ip-process b{margin-top:0}
 .ip-process{text-align:left}
}

/* evidence integrity band (디지털포렌식) */
.ip-trust{padding:76px 0;background:linear-gradient(180deg,#f3f7fd,#fff);scroll-margin-top:calc(var(--ip-header) + 60px)}
.ip-trust__head{text-align:center;max-width:760px;margin-inline:auto}
.ip-trust__head h2{margin-top:10px}
.ip-trust__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:36px}
.ip-trust__list li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:26px 18px 24px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.ip-trust__icon{display:grid;place-items:center;width:84px;height:84px;border-radius:24px;background:var(--soft);margin-bottom:4px}
.ip-trust__list strong{font-size:19px;color:var(--ink)}
.ip-trust__list small{font-size:15px;line-height:1.55;color:var(--sub)}
.ip-trust__list em{display:inline-flex;align-items:center;gap:5px;margin-top:4px;padding:5px 11px;border-radius:999px;background:#fff7ef;border:1.5px solid #f6c7a4;font-style:normal;font-size:13px;font-weight:800;color:var(--orange-ink)}
.ip-hub__switch{display:flex;gap:6px;margin-left:auto}
.ip-hub__switch a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;white-space:nowrap;flex:none;border-radius:999px;border:1.5px solid var(--line);font-size:15px;font-weight:700;color:var(--sub);text-decoration:none}
.ip-hub__switch a[aria-current]{background:var(--ink);border-color:var(--ink);color:#fff}
@media(max-width:1000px){.ip-trust__list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.ip-trust{padding:56px 0}.ip-trust__list{grid-template-columns:minmax(0,1fr)}.ip-trust__list li{flex-direction:row;flex-wrap:wrap;text-align:left;align-items:center;gap:4px 14px;padding:16px}.ip-trust__icon{width:64px;height:64px;margin:0}.ip-trust__list strong{flex:1 1 60%}.ip-trust__list small,.ip-trust__list em{flex-basis:100%}.ip-trust__list em{flex-basis:auto}.ip-hub__top .ip-wrap{flex-wrap:wrap;padding-block:10px}.ip-hub__switch{margin-left:0;max-width:100%;overflow-x:auto;scrollbar-width:none}}
