@font-face{font-family:'Noto Sans KR';src:url('fonts/noto-sans-kr.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--paper:#fff;--surface:#f5f5f5;--ink:#1f1f1f;--muted:#616161;--border:#c2c2c2;--sand:#f0ede8;--small:12px;--medium:24px;--large:40px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:20px/1.5 'Noto Sans KR',sans-serif;word-break:keep-all;overflow-wrap:anywhere}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #85552c;outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2{font-size:30px;font-weight:700;line-height:1.5}h3{font-size:23px;line-height:1.5}p+p{margin-top:12px}img{display:block;width:100%;height:auto}button img{pointer-events:none}.site{max-width:1120px;margin:auto;padding:24px;border-inline:1px solid var(--border)}.nav{min-height:72px;padding:12px;background:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.logo{font-size:30px;font-weight:700}.nav nav{display:flex;gap:32px;align-items:center;font-size:18px;font-weight:500}.nav a{min-height:44px;display:inline-flex;align-items:center}.nav [aria-current]{text-decoration:underline;text-underline-offset:6px}.intro,.approach,.contact{background:var(--surface);padding:24px;display:grid;gap:12px}.intro{margin-bottom:24px}.button{border:1px solid var(--border);padding:14px;display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:52px;width:max-content;max-width:100%;font-size:18px;font-weight:500;margin-top:4px}.button:hover{background:#e8e8e8;text-decoration:none}.divider{padding-inline:6px}.hero-figure{margin-bottom:40px}.hero-image{width:100%;aspect-ratio:24/13;object-fit:contain;background:var(--sand)}figcaption{color:var(--muted);font-size:16px;line-height:1.65;padding-top:12px}main>section:not(.intro){margin-block:40px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:24px}.text-link{display:inline-flex;align-items:center;min-height:44px;font-size:18px}.muted{color:var(--muted);font-size:16px}.eyebrow{font-size:14px;font-weight:500;letter-spacing:.12em;color:var(--muted);margin-bottom:8px}.project-grid,.gallery-grid,.visual-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.project-card{display:grid;gap:12px;padding:16px;background:var(--surface);align-content:start;transition:background .2s}.project-card:hover{text-decoration:none;background:#ebebeb}.project-card img{width:100%;aspect-ratio:316/240;object-fit:cover;background:var(--sand)}.project-card .contain{object-fit:contain}.project-card p{font-size:18px;color:var(--muted)}.project-card .card-link{font-size:18px;font-weight:500;color:var(--ink)}.project-card:hover .card-link{text-decoration:underline;text-underline-offset:5px}.approach{gap:12px}.gallery-grid{row-gap:32px}.gallery-image{border:0;padding:0;display:block;width:100%;background:var(--sand);position:relative}.gallery-image img{aspect-ratio:1;object-fit:contain}.gallery-image:after{content:'확대 ↗';position:absolute;right:12px;bottom:12px;background:#fff;padding:6px 10px;font-size:14px;border:1px solid #c2c2c2}.gallery-item h3{font-size:20px;margin-top:14px}.gallery-item figcaption{padding-top:8px}.visual-index img{aspect-ratio:348/260;object-fit:cover;background:var(--sand)}.visual-index img.contain{object-fit:contain}.visual-index{margin-top:24px}.contact{margin-top:56px;scroll-margin-top:24px}.contact h2{font-size:25px}.contact-status{font-size:16px;color:var(--muted)}.colophon{display:flex;justify-content:space-between;gap:20px;padding-top:24px;color:var(--muted);font-size:13px}.skip{position:fixed;top:-100px;left:16px;background:#fff;padding:16px;z-index:10}.skip:focus{top:16px}.back{margin-bottom:24px}.case-hero{margin-top:24px}.case-hero img{max-height:540px;object-fit:contain;background:var(--sand)}.case-section{background:var(--surface);padding:28px;margin-top:32px}.case-section h2{font-size:28px;margin-block:8px 16px}.case-section p{font-size:20px}.case-section .muted{font-size:16px}.case-note{color:var(--muted);font-size:16px;margin-top:16px}dialog{border:1px solid var(--border);padding:24px;width:min(860px,calc(100% - 32px));max-height:92vh;overflow:auto;background:#fff}dialog::backdrop{background:#000b}dialog h2{font-size:23px;margin-bottom:16px}dialog img{max-height:64vh;object-fit:contain;background:var(--sand)}dialog p{font-size:16px;color:var(--muted);margin-top:12px}.dialog-close{display:block;margin:0 0 16px auto;min-height:44px;border:1px solid var(--border);background:#fff;padding:8px 16px}
@media(max-width:768px){body{font-size:17px}.site{padding:24px;border:0}.nav{gap:12px;padding:12px}.logo{font-size:24px}.nav nav{gap:20px;font-size:16px}h1,h2{font-size:26px}h3{font-size:22px}.intro,.approach,.contact{padding:24px}.intro p{font-size:16px}.divider{padding:0}.project-grid,.gallery-grid,.visual-index{grid-template-columns:1fr}.project-card img{aspect-ratio:auto;height:auto;object-fit:contain}.project-card p,.card-link{font-size:16px}.section-heading{align-items:start;flex-wrap:wrap;gap:8px}.section-heading .muted{font-size:14px}.hero-image{aspect-ratio:auto;height:auto}.hero-figure{margin-bottom:32px}.gallery-image img{aspect-ratio:auto;height:auto}.desktop-break{display:none}.case-section{padding:24px}.case-section h2{font-size:25px}.case-section p{font-size:17px}.case-hero img{max-height:none}.contact{margin-top:40px}.contact h2{font-size:23px}.colophon{font-size:12px;flex-wrap:wrap}figcaption{font-size:16px}.text-link{font-size:16px}.eyebrow{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
