:root{--paper:#f7f6f2;--ink:#302a26;--muted:#6e6861;--line:#d8d3ca;--tint:#eae6de;--white:#fff;--gutter:48px;font-synthesis:none;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Pretendard","Noto Sans KR","Noto Sans CJK KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif;font-size:16px;font-weight:400;line-height:1.8;word-break:keep-all;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border-radius:0}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500}button:focus-visible,a:focus-visible{outline:2px solid #6a4c30;outline-offset:5px}[hidden]{display:none!important}.shell{width:calc(100% - var(--gutter)*2);max-width:1440px;margin-inline:auto}.eyebrow{font-family:Arial,sans-serif;font-size:11px;font-weight:500;letter-spacing:.16em;line-height:1.5;margin-bottom:22px}.section{padding-block:116px}.section h2{font-size:clamp(30px,3.2vw,46px);line-height:1.4;letter-spacing:-.055em}.section-intro{margin-top:26px;color:var(--muted);line-height:1.9}.section-heading>.text-link{margin-top:32px}.small-note{color:var(--muted);font-size:12px;line-height:1.9}.text-link,.quiet-link{display:inline-flex;min-height:44px;align-items:center;gap:38px;font-size:14px;line-height:1.6}.text-link{background:none;padding:10px 0;border:0;border-bottom:1px solid var(--ink);font-weight:500}.text-link span,.quiet-link span{font-family:Arial,sans-serif;font-size:18px}.quiet-link{color:var(--muted);gap:18px}.text-link:hover,.quiet-link:hover{color:#7b5d41}.skip-link{position:fixed;top:10px;left:10px;transform:translateY(-150%);background:var(--ink);color:white;padding:12px 20px;z-index:100}.skip-link:focus{transform:translateY(0)}
.site-header{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2;gap:7px;flex-shrink:0}.brand strong{font-family:Arial,sans-serif;font-size:27px;letter-spacing:.15em;font-weight:500}.brand span{font-family:Arial,sans-serif;font-size:9px;letter-spacing:.17em}.site-nav{display:flex;align-items:center;gap:34px;font-size:13px}.site-nav a{display:flex;align-items:center;min-height:44px}.site-nav a:hover{color:#8b7663}.site-nav .nav-contact{margin-left:20px;gap:28px}.nav-contact span{font-size:18px}.menu-button{display:none}.hero{padding-top:74px}.hero-heading{display:grid;grid-template-columns:1fr .78fr;gap:64px;align-items:end;margin-bottom:52px}.hero .eyebrow{margin-bottom:20px}.hero h1{font-size:clamp(44px,4.6vw,68px);letter-spacing:-.065em;line-height:1.26}.hero-intro{padding-bottom:5px;font-size:16px;line-height:1.95}.hero-links{display:flex;align-items:center;gap:36px;margin-top:30px}.hero-figure img{width:100%;aspect-ratio:1.93;object-position:center 53%}.hero-figure figcaption{display:flex;justify-content:space-between;gap:18px;padding-top:12px;color:var(--muted);font-size:11px}.process{display:grid;grid-template-columns:1fr 1.32fr;gap:8vw}.review-note{font-size:12px;color:var(--muted);padding-bottom:18px}.process-list,.prepare-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--ink)}.process-list li,.prepare-list li{display:grid;grid-template-columns:48px 1fr;gap:16px;border-bottom:1px solid var(--line);padding:29px 0}.step-number{font:13px/1.8 Arial,sans-serif;color:var(--muted);padding-top:5px}.process-list h3,.prepare-list h3{font-size:19px;letter-spacing:-.035em;line-height:1.55}.process-list p{font-size:14px;color:var(--muted);margin-top:9px;max-width:490px}.step-detail{display:block;font-size:11px;color:var(--muted);margin-top:18px}.consult{background:var(--tint)}.consult-layout{display:grid;grid-template-columns:1fr 1.32fr;gap:8vw}.consult .small-note{margin-top:16px}.prepare-list li{padding:22px 0;grid-template-columns:36px 1fr}.prepare-list h3{font-size:17px}.prepare-list p{font-size:13px;color:var(--muted);margin-top:5px}.portfolio-heading{display:flex;justify-content:space-between;align-items:end;gap:36px}.portfolio-heading>p{font-size:14px;color:var(--muted)}.portfolio-toolbar{display:flex;align-items:center;justify-content:space-between;margin-top:45px;border-bottom:1px solid var(--line)}.filters{display:flex;gap:30px}.filter{border:0;border-bottom:2px solid transparent;background:none;padding:10px 0 17px;font-size:14px;min-height:48px;color:var(--muted)}.filter[aria-pressed=true]{border-color:var(--ink);color:var(--ink);font-weight:500}.filter-count{font-size:12px;color:var(--muted)}.image-notice{font-size:12px;color:var(--muted);padding-block:16px 28px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:46px 24px}.project:first-child{grid-column:1/-1}.image-button{display:block;position:relative;width:100%;padding:0;border:0;background:var(--tint);overflow:hidden;text-align:left}.image-button img{width:100%;height:auto;aspect-ratio:1.35;transition:transform .45s ease}.project:first-child .image-button img{aspect-ratio:2.08}.image-button:hover img{transform:scale(1.012)}.image-label,.image-expand{position:absolute;background:var(--paper);font-size:11px;line-height:1.6;padding:6px 10px;bottom:16px}.image-label{left:16px}.image-expand{right:16px}.project-caption{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-top:15px}.project-caption h3{font-size:16px;letter-spacing:-.025em}.project-caption p{font:10px/1.5 Arial,sans-serif;letter-spacing:.1em;color:var(--muted)}.gallery.is-filtered{grid-template-columns:1fr}.gallery.is-filtered .project{grid-column:1/-1;max-width:100%}.gallery.is-filtered .image-button img{aspect-ratio:1.85;max-height:660px}.about{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.32fr;gap:8vw}.about-copy>p{font-size:20px;line-height:1.9;letter-spacing:-.03em}.about-copy>p+p{margin-top:23px}.about-copy>.small-note{font-size:12px;letter-spacing:0;color:var(--muted)}.contact{background:var(--tint)}.contact-layout{display:grid;grid-template-columns:1fr 1.32fr;gap:8vw}.contact h2{margin-bottom:26px}.contact p{font-size:14px;color:var(--muted)}.contact p a{color:var(--ink);text-decoration:underline;text-underline-offset:5px}.contact .small-note{margin-top:24px;font-size:12px}.contact-list{margin:0;align-self:center;border-top:1px solid var(--ink)}.contact-list>div{display:grid;grid-template-columns:76px 1fr;gap:16px;border-bottom:1px solid #cdc6bb;padding:24px 0}.contact-list dt{font-size:12px;color:var(--muted);padding-top:5px}.contact-list dd{margin:0;min-width:0;font-size:18px;line-height:1.8;overflow-wrap:anywhere;word-break:normal}.contact-list dd a{display:flex;align-items:center;justify-content:space-between;gap:12px}.contact-list dd a:hover{text-decoration:underline;text-underline-offset:5px}.contact-list dd span{font-size:18px}.site-footer{padding-block:36px}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:28px}.footer-inner .brand strong{font-size:22px}.footer-inner>div{font-size:11px;color:var(--muted);line-height:1.9;margin-left:auto}.back-top{display:flex;align-items:center;min-height:44px;font-size:12px;margin-left:24px}
dialog{color:var(--ink);border:0;padding:0;background:var(--paper);max-height:calc(100dvh - 48px);overscroll-behavior:contain}dialog::backdrop{background:rgba(28,24,20,.7)}.consult-dialog{width:min(680px,calc(100% - 32px));padding:38px 42px}.dialog-heading{display:flex;justify-content:space-between;align-items:start;gap:16px}.dialog-heading .eyebrow{margin-bottom:10px}.dialog-heading h2{font-size:28px;letter-spacing:-.04em;line-height:1.5}.dialog-close{border:0;background:none;min-height:44px;padding:8px 0 8px 14px;font-size:13px;white-space:nowrap}.dialog-intro{font-size:14px;margin-top:22px;color:var(--muted)}.guide-list{margin:28px 0 22px;border-top:1px solid var(--ink)}.guide-list>div{display:grid;grid-template-columns:90px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}.guide-list dt{font-weight:500}.guide-list dd{margin:0;color:var(--muted)}.dialog-notice{font-size:12px;line-height:1.9;color:var(--muted)}.dialog-actions{display:flex;align-items:center;gap:24px;margin-top:26px}.solid-link{display:inline-flex;min-height:48px;align-items:center;justify-content:center;background:var(--ink);color:var(--paper);padding:12px 20px;font-size:13px}.solid-link:hover{background:#57493c}.dialog-actions .text-link{font-size:13px}.image-dialog{width:min(1280px,calc(100% - 40px));padding:20px 24px 24px}.image-dialog-top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:16px}.image-dialog h2{font-size:18px;line-height:1.5}.image-dialog-top p{font-size:11px;color:var(--muted);margin-top:5px}.image-dialog>img{width:100%;height:auto;max-height:calc(100dvh - 170px);object-fit:contain;background:var(--tint)}
@media(min-width:1700px){.hero h1{font-size:72px}.hero-figure img{aspect-ratio:2.05}}
@media(max-width:1000px){:root{--gutter:30px}.header-inner{min-height:82px}.site-nav{gap:22px}.site-nav .nav-contact{margin-left:0;gap:14px}.hero{padding-top:54px}.hero-heading{gap:36px}.hero-intro{font-size:14px}.hero-links{gap:24px}.section{padding-block:90px}.process,.consult-layout,.about,.contact-layout{gap:48px;grid-template-columns:1fr 1.25fr}.process-list li{grid-template-columns:30px 1fr}.portfolio-heading>p{font-size:13px}.contact-list dd{font-size:16px}.contact-list>div{grid-template-columns:54px 1fr}}
@media(max-width:760px){:root{--gutter:22px}html{scroll-padding-top:92px}.header-inner{min-height:76px;gap:20px}.brand strong{font-size:23px}.brand span{font-size:8px}.brand{gap:6px}.menu-button{display:flex;align-items:center;gap:13px;min-width:68px;min-height:44px;background:none;border:0;padding:8px 0}.menu-label{font-size:12px}.menu-lines{position:relative;width:20px;height:14px}.menu-lines:before,.menu-lines:after{content:"";position:absolute;left:0;width:20px;height:1px;background:var(--ink);transition:transform .2s}.menu-lines:before{top:3px}.menu-lines:after{bottom:3px}.menu-button[aria-expanded=true] .menu-lines:before{transform:translateY(3.5px) rotate(45deg)}.menu-button[aria-expanded=true] .menu-lines:after{transform:translateY(-3.5px) rotate(-45deg)}.site-nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:18px var(--gutter) 26px;border-bottom:1px solid var(--line);gap:0}.site-nav.is-open{display:flex;flex-direction:column;align-items:stretch}.site-nav a{padding:10px 0;font-size:16px}.site-nav .nav-contact{justify-content:space-between}.hero{padding-top:40px}.hero-heading{grid-template-columns:1fr;gap:24px;margin-bottom:32px}.hero .eyebrow{font-size:9px;letter-spacing:.13em;margin-bottom:15px}.hero h1{font-size:44px;line-height:1.28}.hero-intro{font-size:14px;padding:0}.hero-links{margin-top:21px;gap:32px}.hero-links .text-link,.hero-links .quiet-link{font-size:13px}.hero-links .text-link{gap:25px}.hero-figure img{aspect-ratio:.99;object-position:46% center}.hero-figure figcaption{flex-direction:column;gap:2px;font-size:10px;line-height:1.8;padding-top:10px}.section{padding-block:72px}.section h2{font-size:32px;line-height:1.4}.eyebrow{font-size:10px;margin-bottom:16px}.process,.consult-layout,.about,.contact-layout{grid-template-columns:1fr;gap:34px}.section-intro{font-size:14px;margin-top:20px}.section-heading>.text-link{margin-top:19px}.review-note{font-size:11px;padding-bottom:15px;max-width:320px}.process-list li{padding:25px 0;grid-template-columns:26px 1fr;gap:15px}.process-list h3{font-size:18px}.process-list p{font-size:13px}.step-detail{font-size:10px;margin-top:13px}.step-number{font-size:12px}.consult .small-note{font-size:11px}.prepare-list li{padding:20px 0;grid-template-columns:26px 1fr;gap:15px}.prepare-list h3{font-size:16px}.prepare-list p{font-size:12px}.portfolio-heading{display:block}.portfolio-heading>p{margin-top:20px;font-size:13px}.portfolio-toolbar{margin-top:29px}.filters{gap:23px}.filter{font-size:13px;padding-bottom:14px}.filter-count{font-size:10px}.image-notice{font-size:11px;padding-block:14px 24px}.gallery{grid-template-columns:1fr;gap:30px}.project:first-child{grid-column:auto}.image-button img,.project:first-child .image-button img,.gallery.is-filtered .image-button img{aspect-ratio:1.22}.image-label,.image-expand{bottom:10px;font-size:10px;padding:5px 8px}.image-label{left:10px}.image-expand{right:10px}.project-caption{padding-top:12px;gap:12px;align-items:start}.project-caption h3{font-size:15px}.project-caption p{font-size:8px;line-height:1.8}.about-copy>p{font-size:17px;line-height:1.9}.about-copy>.small-note{font-size:11px}.desktop-break{display:none}.contact h2{margin-bottom:21px}.contact p{font-size:13px}.contact .small-note{font-size:11px;margin-top:20px}.contact-list>div{grid-template-columns:46px 1fr;padding:19px 0;gap:14px}.contact-list dt{font-size:11px}.contact-list dd{font-size:16px}.site-footer{padding-block:28px}.footer-inner{flex-wrap:wrap;gap:22px}.footer-inner>div{order:3;width:100%;margin:0;font-size:10px}.footer-inner .brand strong{font-size:22px}.back-top{margin-left:auto;font-size:11px}.consult-dialog{padding:26px 22px;max-height:calc(100dvh - 32px)}.dialog-heading h2{font-size:24px}.dialog-heading .eyebrow{font-size:9px}.dialog-intro{font-size:12px;margin-top:18px}.guide-list{margin-block:22px}.guide-list>div{grid-template-columns:70px 1fr;font-size:12px;gap:10px}.dialog-notice{font-size:11px}.dialog-actions{gap:18px;flex-wrap:wrap}.dialog-actions .text-link,.solid-link{font-size:12px}.image-dialog{width:calc(100% - 24px);padding:16px}.image-dialog h2{font-size:16px}.image-dialog-top{align-items:start}.image-dialog-top p{font-size:10px}.image-dialog>img{max-height:calc(100dvh - 200px)}.dialog-close{font-size:12px}}
@media(max-width:360px){:root{--gutter:18px}.hero h1{font-size:39px}.hero-links{gap:20px}.hero-links .text-link{gap:16px}.hero-links .quiet-link{gap:10px}.filters{gap:19px}.filter-count{font-size:9px}.section h2{font-size:29px}.contact-list dd{font-size:14px}.project-caption{display:block}.project-caption p{margin-top:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.site-header,.site-footer,.hero-links,.filters,.text-link,.quiet-link,.image-expand,dialog{display:none!important}.section{padding-block:30px}.hero{padding-top:0}.hero-figure img{max-height:320px}.process,.consult-layout,.about,.contact-layout{display:block}.section-heading{margin-bottom:20px}body{font-size:12px;background:#fff}.section h2{font-size:25px}.project{break-inside:avoid}}
