:root{--ink:#221c15;--soft:#6c6258;--bg:#fffdf9;--paper:#faf5ec;--line:#e7ddcf;--brown:#b06743;--deep:#1b1611;--max:1120px;--shadow:0 18px 54px rgba(45,32,20,.08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Pretendard","Noto Sans KR",sans-serif;line-height:1.62;letter-spacing:-.018em}a{text-decoration:none;color:inherit}.wrap{width:min(var(--max),calc(100% - 44px));margin:auto}.top{position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line);background:rgba(255,255,255,.94);backdrop-filter:blur(14px)}.top .wrap{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-size:23px;font-weight:620}.nav{display:flex;gap:15px;flex-wrap:wrap;font-size:14px;color:#403933}.cta{background:var(--brown);color:#fff;border-radius:999px;padding:10px 15px;white-space:nowrap}.hero{padding:48px 0 34px;border-bottom:1px solid var(--line)}.eyebrow{font-size:12px;color:var(--brown);letter-spacing:.15em;text-transform:uppercase}.hero h1{font-size:clamp(25px,3.4vw,40px);line-height:1.1;letter-spacing:-.045em;font-weight:520;margin:16px 0}.lead{font-size:16px;color:var(--soft);max-width:820px}.crumb{font-size:13px;color:var(--soft);margin-bottom:18px}.crumb a{color:var(--brown)}section{padding:64px 0;border-bottom:1px solid var(--line)}.head{display:grid;grid-template-columns:210px 1fr;gap:30px;margin-bottom:30px}.kicker{font-size:12px;color:var(--brown);letter-spacing:.13em;text-transform:uppercase}.head h2{font-size:clamp(21px,2.4vw,29px);line-height:1.2;font-weight:520;margin:0}.head p{color:var(--soft);font-size:18px;margin:12px 0 0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid var(--line);background:var(--paper);border-radius:26px;padding:24px}.card h3{font-size:23px;line-height:1.25;font-weight:560;margin:0 0 10px}.card p{color:var(--soft);margin:0 0 14px}.button{display:inline-flex;background:var(--brown);color:#fff;border-radius:999px;padding:11px 16px;margin-top:10px}.ghost{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:10px 14px;margin:6px 6px 0 0}.project{display:grid;grid-template-columns:1.05fr .95fr;gap:24px}.photo{border-radius:32px;overflow:hidden;min-height:460px;background:#ddd;box-shadow:var(--shadow)}.photo img{width:100%;height:100%;object-fit:cover;display:block}.specs{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:20px 0}.spec{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px}.spec b{font-size:12px;color:var(--brown);display:block}.spec span{font-size:17px}.steps{display:grid;gap:10px}.step{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}.links{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.links a{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff}.links b{display:block;margin-bottom:4px}.links span{font-size:13px;color:var(--soft)}footer{background:var(--deep);color:#fff;padding:36px 0}.formgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.field{background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px;color:#554d45}@media(max-width:900px){.head,.project{grid-template-columns:1fr}.grid{grid-template-columns:1fr 1fr}.links{grid-template-columns:1fr 1fr}.top .wrap{min-height:58px;height:58px;flex-direction:row;padding:0;gap:10px}.brand{font-size:20px}.nav{flex:1;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;gap:14px;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}.nav a{font-size:13px}.cta{padding:8px 12px;font-size:12px}.photo{min-height:0;aspect-ratio:16/10;max-height:330px}.hero{padding:32px 0 26px}section{padding:48px 0}}@media(max-width:560px){.wrap{width:min(var(--max),calc(100% - 28px))}.grid,.links,.formgrid,.specs{grid-template-columns:1fr}.hero h1{font-size:clamp(23px,6vw,31px)}.photo{aspect-ratio:16/10;max-height:260px}.card{padding:21px}.top .wrap{gap:8px}.nav{gap:12px}}
/* 케이스 현장 사진 갤러리 */
.case-shots .head{margin-bottom:24px}
.case-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.case-gallery a{display:block;aspect-ratio:4/3;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--paper)}
.case-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.case-gallery a:hover img{transform:scale(1.05)}
@media(max-width:560px){.case-gallery{grid-template-columns:1fr 1fr;gap:7px}.case-gallery a{border-radius:10px}}

/* 케이스 갤러리 라이트박스 슬라이더 */
.case-gallery a{cursor:zoom-in}
.lb{position:fixed;inset:0;z-index:100;background:rgba(16,12,9,.985);display:none;flex-direction:column}
.lb.open{display:flex}
.lb-top{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;flex-shrink:0}
.lb-count{font-size:14px;color:rgba(255,255,255,.85);letter-spacing:.02em}
.lb-close{background:none;border:0;color:#fff;font-size:30px;line-height:1;cursor:pointer;padding:2px 8px}
.lb-viewport{flex:1;overflow:hidden;position:relative;touch-action:pan-y}
.lb-track{display:flex;height:100%;transition:transform .32s cubic-bezier(.22,1,.36,1);will-change:transform}
.lb-slide{flex:0 0 100%;height:100%;display:flex;align-items:center;justify-content:center;padding:0 10px 18px}
.lb-slide img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;user-select:none;-webkit-user-drag:none;pointer-events:none}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.15);border:0;color:#fff;width:48px;height:48px;border-radius:50%;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;transition:background .15s}
.lb-nav:hover{background:rgba(255,255,255,.28)}
.lb-prev{left:16px}.lb-next{right:16px}
@media(max-width:560px){.lb-nav{width:40px;height:40px;font-size:20px}.lb-prev{left:8px}.lb-next{right:8px}}
