.sh-works{font-family:'Noto Sans KR',Arial,sans-serif;color:#101828;word-break:keep-all}
.sh-works-container{width:min(1220px,calc(100% - 40px));margin:0 auto}
.sh-works-hero{background:linear-gradient(135deg,#0b243d,#0f4c81);padding:78px 0;color:#fff}
.sh-works-hero .eyebrow{font-size:15px;font-weight:900;letter-spacing:.16em;color:#f6b21a;margin:0 0 10px}
.sh-works-hero h1{font-size:50px;line-height:1.15;margin:0 0 12px;color:#fff;letter-spacing:-.05em}
.sh-works-hero p{font-size:19px;margin:0;color:rgba(255,255,255,.88)}
.sh-works-body{background:#f6f8fb;padding:54px 0 90px}
.sh-works-layout{display:grid;grid-template-columns:290px 1fr;gap:28px;align-items:start}
.sh-works-side{position:sticky;top:118px;background:#fff;border:1px solid #d0d5dd;border-radius:24px;padding:20px;box-shadow:0 16px 38px rgba(16,24,40,.08)}
.sh-works-side h2{font-size:22px;margin:0 0 14px;color:#0b3158}
.sh-works-side nav{display:grid;gap:8px}
.sh-works-side nav a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px;border-radius:14px;background:#f9fafb;color:#344054;text-decoration:none;font-weight:800;border:1px solid transparent}
.sh-works-side nav a em{font-style:normal;min-width:32px;height:24px;border-radius:999px;background:#e4e7ec;display:grid;place-items:center;font-size:13px;color:#475467}
.sh-works-side nav a.active{background:#0f4c81;color:#fff;border-color:#0f4c81}
.sh-works-side nav a.active em{background:#f6b21a;color:#111827}
.sh-works-call{margin-top:18px;padding:18px;border-radius:18px;background:#0b243d;color:#fff}
.sh-works-call b{font-size:19px}
.sh-works-call p{font-size:14px;color:rgba(255,255,255,.78);line-height:1.6}
.sh-works-call a{display:flex;min-height:42px;align-items:center;justify-content:center;border-radius:10px;background:#fff;color:#0f4c81;text-decoration:none;font-weight:900;margin-top:8px}
.sh-works-gallery{background:#fff;border:1px solid #d0d5dd;border-radius:24px;padding:24px;box-shadow:0 16px 38px rgba(16,24,40,.08)}
.sh-works-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;border-bottom:1px solid #e4e7ec;padding-bottom:20px;margin-bottom:24px}
.sh-works-head h2{font-size:34px;line-height:1.2;margin:0 0 8px;color:#0b3158;letter-spacing:-.04em}
.sh-works-head p{margin:0;color:#667085;font-size:17px}
.sh-works-head span{white-space:nowrap;background:#eef4ff;color:#0f4c81;border-radius:999px;padding:9px 14px;font-weight:900}
.sh-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.sh-photo-card{border:1px solid #e4e7ec;border-radius:18px;overflow:hidden;background:#fff;transition:.18s;box-shadow:0 8px 22px rgba(16,24,40,.05)}
.sh-photo-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(16,24,40,.12)}
.sh-photo-card a{display:block;background:#f3f4f6}
.sh-photo-card img{width:100%;height:235px;object-fit:cover;display:block}
.sh-photo-card div{display:flex;align-items:center;justify-content:space-between;padding:13px 14px}
.sh-photo-card b{font-size:15px;color:#344054}
.sh-photo-card small{font-size:13px;color:#98a2b3}
.sh-empty{padding:80px 20px;text-align:center;background:#f9fafb;border-radius:18px;color:#667085}
.sh-empty b{display:block;font-size:22px;color:#0b3158;margin-bottom:8px}
@media(max-width:980px){
    .sh-works-layout{grid-template-columns:1fr}
    .sh-works-side{position:relative;top:auto}
    .sh-works-side nav{grid-template-columns:repeat(2,1fr)}
    .sh-photo-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
    .sh-works-container{width:calc(100% - 28px)}
    .sh-works-hero{padding:58px 0}
    .sh-works-hero h1{font-size:36px}
    .sh-works-side nav{grid-template-columns:1fr}
    .sh-works-head{display:block}
    .sh-works-head h2{font-size:28px}
    .sh-photo-grid{grid-template-columns:1fr}
    .sh-photo-card img{height:250px}
}

/* v6 제품 카테고리 가독성 확대 */
.sh-works-side{width:320px}
.sh-works-layout{grid-template-columns:340px 1fr !important}
.sh-works-side h2{font-size:28px !important; margin-bottom:20px !important;}
.sh-works-side nav{gap:12px !important}
.sh-works-side nav a{
    font-size:20px !important;
    line-height:1.35 !important;
    padding:18px 18px !important;
    border-radius:18px !important;
}
.sh-works-side nav a span{font-weight:900 !important}
.sh-works-side nav a em{
    min-width:42px !important;
    height:32px !important;
    font-size:16px !important;
    font-weight:900 !important;
}
.sh-works-head h2{font-size:40px !important}
.sh-works-head p{font-size:19px !important}
@media(max-width:980px){
    .sh-works-side{width:auto}
    .sh-works-layout{grid-template-columns:1fr !important}
    .sh-works-side nav a{font-size:18px !important}
}


/* v7 사진 클릭 팝업 / 뒤로가기 문제 수정 */
.sh-photo-card a{display:block;background:#f3f4f6}
.sh-photo-open{
    display:block;
    width:100%;
    padding:0;
    margin:0;
    border:0;
    background:#f3f4f6;
    cursor:pointer;
}
.sh-photo-open img{
    width:100%;
    height:235px;
    object-fit:cover;
    display:block;
}
.sh-photo-open:hover img{filter:brightness(.92)}
.sh-lightbox{
    position:fixed;
    inset:0;
    z-index:99999;
    background:rgba(0,0,0,.86);
    display:none;
    align-items:center;
    justify-content:center;
    padding:32px;
}
.sh-lightbox.open{display:flex}
.sh-lightbox-inner{
    max-width:min(1200px,96vw);
    max-height:92vh;
    text-align:center;
}
.sh-lightbox-inner img{
    max-width:100%;
    max-height:82vh;
    object-fit:contain;
    background:#111;
    border-radius:14px;
    box-shadow:0 30px 80px rgba(0,0,0,.5);
}
.sh-lightbox-inner p{
    color:#fff;
    font-size:18px;
    font-weight:800;
    margin:14px 0 0;
}
.sh-lightbox-close{
    position:fixed;
    top:22px;
    right:26px;
    width:54px;
    height:54px;
    border-radius:999px;
    border:0;
    background:#fff;
    color:#111827;
    font-size:38px;
    line-height:1;
    font-weight:700;
    cursor:pointer;
    z-index:100000;
}
.sh-lightbox-lock{overflow:hidden}
@media(max-width:640px){
    .sh-lightbox{padding:14px}
    .sh-lightbox-close{top:12px;right:12px;width:48px;height:48px;font-size:34px}
    .sh-lightbox-inner img{max-height:78vh}
}
