@charset "UTF-8";
:root{--paper:#f6f5f0;--paper-deep:#e9e9e0;--ink:#17231f;--soft:#575e57;--line:#d4d8ce;--acid:#d7efad;--accent:#486953;--rust:#bb674d;--night:#1b2a25;--radius:3px;font-family:"Pretendard Variable","Pretendard","Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:weight}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;min-width:320px}a{text-decoration:none;color:inherit}button{font:inherit;cursor:pointer}img{display:block;width:100%;height:auto}a:focus-visible,button:focus-visible{outline:3px solid #cf6f48;outline-offset:4px}::selection{background:#d4edb0;color:#111e16}.shell{width:min(1400px,calc(100% - 104px));margin:0 auto}.skip-link{position:absolute;top:-100px;left:16px;background:white;padding:14px 20px;z-index:1000}.skip-link:focus{top:12px}
.dev-bar{display:flex;justify-content:space-between;gap:18px;padding:8px 52px;background:#283c33;color:#e2efdb;font-size:10px;letter-spacing:.06em;font-weight:700}.dev-bar span:first-child{letter-spacing:.19em}.dev-bar a{color:#e8f3ae;text-decoration:underline;text-underline-offset:3px}.site-header{background:var(--paper);position:sticky;top:0;z-index:30;border-bottom:1px solid #e0e1d9;backdrop-filter:blur(16px)}.nav-shell{display:flex;align-items:center;justify-content:space-between;min-height:92px;gap:35px}.brand{display:inline-flex;align-items:center;gap:13px;flex-shrink:0}.brand-symbol{width:49px;height:49px;border:1.5px solid var(--ink);border-radius:3px;display:grid;place-items:center;position:relative;font-family:Georgia,serif;font-size:30px;font-weight:800;line-height:1}.brand-symbol span{position:absolute;right:-7px;top:-10px;font-family:sans-serif;font-size:17px;color:var(--rust);background:var(--paper)}.brand-name{font-size:26px;font-weight:870;letter-spacing:-.085em;line-height:.9}.brand-name>span,.footer-logo span{color:#b66f49}.brand-name small{display:block;font-size:8px;letter-spacing:.2em;font-weight:850;margin-top:9px;color:#5b685c}.nav-links{display:flex;align-items:center;gap:32px;font-size:13px;font-weight:800;white-space:nowrap}.nav-links>a:not(.nav-contact){transition:color .2s}.nav-links>a:not(.nav-contact):hover{color:#ac6247}.nav-contact{padding:14px 18px;background:var(--ink);color:#fff;border-radius:2px;transition:background .2s}.nav-contact:hover{background:#426047}.nav-contact span{margin-left:17px}.menu-toggle{display:none;flex-direction:column;justify-content:center;gap:6px;border:0;background:transparent;width:46px;height:46px;padding:8px}.menu-toggle span{height:2px;width:28px;background:var(--ink)}
.hero{padding-top:34px}.hero-kicker{font-size:10px;letter-spacing:.17em;display:flex;align-items:center;gap:12px;color:#49574c;font-weight:850}.kicker-line{width:37px;height:1px;background:#a4624b}.kicker-serial{margin-left:auto;color:#777d71;font-size:9px}.hero-main{display:grid;grid-template-columns:1.02fr 1fr;min-height:620px;gap:42px;align-items:center;padding-top:33px;padding-bottom:50px}.hero-copy{padding:0 0 23px}.hero h1{font-size:clamp(56px,5.25vw,86px);line-height:1.19;letter-spacing:-.095em;font-weight:840;margin:0 0 33px;word-break:keep-all}.hero h1 em{font-family:"Iowan Old Style",Georgia,"Noto Serif KR",serif;color:#a96747;font-style:normal;font-weight:600;letter-spacing:-.082em}.hero-lead{font-size:15px;line-height:1.95;color:#536156;word-break:keep-all}.hero-actions{display:flex;align-items:center;gap:31px;flex-wrap:wrap;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;padding:18px 24px;border-radius:2px;font-size:13px;font-weight:850;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button.dark{background:var(--ink);color:white}.button.dark:hover{background:#3e6349}.text-link{font-size:13px;font-weight:820;text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}.text-link:hover{color:#a86644}.hero-showcase{position:relative;padding:15px 15px 42px 18px;isolation:isolate}.showcase-back{position:absolute;inset:36px 0 64px 45px;background:#c9d1be;transform:rotate(4deg);z-index:-1}.showcase-frame{box-shadow:0 30px 75px #142a1a33;border:1px solid #9ba49a;overflow:hidden;background:#f7f7f4;transform:rotate(-2deg);position:relative}.frame-top{height:42px;display:flex;align-items:center;gap:10px;padding:0 16px;background:#f7f8f4;border-bottom:1px solid #dce0d7}.frame-dots{display:flex;gap:5px}.frame-dots i{display:block;width:7px;height:7px;border-radius:50%;background:#aabca9}.frame-dots i:first-child{background:#c97962}.frame-url{font-size:9px;letter-spacing:.14em;margin:auto;color:#6b796c;font-weight:900}.frame-view{font-size:15px;color:#527b56}.showcase-frame a{display:block;overflow:hidden}.showcase-frame img{height:370px;object-fit:cover;object-position:50% 43%;filter:saturate(.85);transition:filter .25s}.showcase-frame a:hover img{filter:saturate(1.15)}.showcase-sticker{position:absolute;right:-8px;top:18px;width:124px;height:124px;background:var(--acid);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(12deg);box-shadow:0 12px 28px #172b2330}.showcase-sticker span{font-size:11px;letter-spacing:.08em;line-height:1.2;font-weight:900}.showcase-sticker b{font-family:Georgia,serif;font-size:34px;line-height:1.1}.showcase-sticker small{font-size:10px;font-weight:850}.showcase-caption{display:flex;justify-content:space-between;gap:12px;align-items:center;font-weight:850;font-size:11px;margin-top:28px}.showcase-caption span:first-child{letter-spacing:.14em;color:#8a887d}.showcase-switcher{display:flex;gap:6px;margin-top:14px}.showcase-switcher button{border:1px solid #cbd1c5;background:transparent;color:#526456;font-size:11px;font-weight:800;padding:10px 17px;border-radius:2px}.showcase-switcher button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.showcase-switcher button span{color:#9b957d;margin-right:4px}.showcase-switcher button.active span{color:#d6eead}.hero-bottom{border-top:1px solid #bcc5ba;display:grid;grid-template-columns:220px 245px 1fr auto;gap:27px;align-items:center;padding:21px 0 22px}.hero-bottom>div:first-child,.hero-bottom>div:nth-child(2){display:flex;align-items:center;gap:13px;border-right:1px solid #d0d6ca}.hero-bottom strong{font-family:Georgia,serif;font-size:45px;font-weight:400;letter-spacing:-.055em}.hero-bottom span{font-size:11px;line-height:1.7;font-weight:700;color:#657263}.hero-note{font-size:11px;line-height:1.7;color:#7a8074}.scroll-cue{display:flex;align-items:center;gap:25px;font-size:10px;letter-spacing:.12em;white-space:nowrap;font-weight:900}.scroll-cue span{font-size:24px;color:var(--rust)}
.work-section{background:#eeefe7;padding:132px 0 135px}.eyebrow{display:inline-flex;align-items:center;gap:13px;font-size:11px;letter-spacing:.15em;font-weight:850;color:#67766b}.eyebrow-num{display:grid;place-items:center;background:var(--ink);color:white;border-radius:50%;width:27px;height:27px;letter-spacing:0;font-size:10px}.section-intro{padding-bottom:54px}.section-intro-grid{display:grid;grid-template-columns:1.3fr .7fr;align-items:end;gap:40px}.section-intro h2{font-size:clamp(39px,4.5vw,69px);line-height:1.28;letter-spacing:-.085em;font-weight:800;margin:26px 0 0}.section-intro h2 em{color:#a96747;font-family:Georgia,"Noto Serif KR",serif;font-style:normal;font-weight:500}.section-intro-grid p{color:#637165;font-size:14px;line-height:1.9;max-width:370px;word-break:keep-all}.section-intro-grid p strong{color:#32483a}.work-feature{display:grid;grid-template-columns:1.2fr 0.8fr;background:#f8f9f5;margin:0 0 31px;min-height:530px}.case-photo{position:relative;display:block;overflow:hidden;background:#cad5d0;min-height:260px}.case-photo.large{min-height:530px}.case-photo img{width:100%;height:100%;object-fit:cover;object-position:49% 54%;transition:transform .65s ease}.case-photo:hover img{transform:scale(1.045)}.case-photo:before{content:"";position:absolute;inset:0 0 auto;height:80px;background:linear-gradient(#13241e9a,transparent);z-index:1;pointer-events:none}.image-caption{position:absolute;left:24px;top:24px;font-size:10px;letter-spacing:.15em;font-weight:850;color:#fff;z-index:2}.view-case{position:absolute;right:21px;bottom:22px;background:#eaf3df;color:#163c2c;padding:12px 16px;border-radius:1px;font-size:12px;font-weight:850;z-index:2}.case-description{padding:50px 45px;display:flex;flex-direction:column}.case-number{font-size:10px;font-weight:900;letter-spacing:.16em;color:#818679}.case-description h3{font-size:clamp(29px,2.7vw,42px);line-height:1.36;letter-spacing:-.07em;margin:30px 0 18px}.case-description h3 em{font-style:normal;color:#9d634d}.case-description p{color:#5f6f62;line-height:1.8;font-size:14px;max-width:355px}.detail-lines{border-top:1px solid #e0e2d9;margin-top:auto}.detail-lines>div{display:grid;grid-template-columns:84px 1fr;gap:10px;border-bottom:1px solid #e0e2d9;padding:13px 0;font-size:12px;line-height:1.5}.detail-lines span{color:#758074}.detail-lines strong{font-weight:760;color:#3b4d3f}.under-link{font-size:12px;font-weight:900;text-decoration:underline;text-underline-offset:7px;margin-top:25px;align-self:flex-start}.under-link:hover{color:#a56344}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:31px}.case-card .case-photo{height:335px}.case-card h3{font-size:clamp(20px,2.3vw,29px);letter-spacing:-.065em;margin:16px 0 10px}.case-card p{font-size:13px;color:#617061;margin:0}.case-meta{display:flex;justify-content:space-between;gap:15px;margin-top:18px;border-bottom:1px solid #c4cec0;padding-bottom:12px;font-size:10px;font-weight:850;color:#526957;letter-spacing:.09em}.work-more{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:52px;border-top:1px solid #bcc6b8;padding-top:34px;font-size:13px}.button.outline{border:1px solid #536459;color:#22372a;padding:15px 20px}.button.outline:hover{background:#d7e6d3}
.statement-section{background:#d9e8d2;padding:95px 0;overflow:hidden}.statement-shell{display:grid;grid-template-columns:180px 1fr;align-items:start;position:relative}.statement-aside{font-size:11px;font-weight:900;letter-spacing:.13em;display:flex;flex-direction:column;gap:20px}.statement-aside span{font-size:28px;font-weight:400}.statement-shell p{font-size:clamp(29px,3.9vw,61px);letter-spacing:-.08em;line-height:1.36;font-weight:650;margin:0;z-index:1}.statement-shell p strong{font-weight:850}.statement-shell p em{font-style:normal;color:#607b56}.statement-decoration{position:absolute;right:-25px;top:-120px;font-family:Georgia,serif;font-size:350px;color:#8fbf7e55;line-height:1;pointer-events:none}
.cap-section{padding-top:125px;padding-bottom:140px}.cap-section .section-intro-grid{grid-template-columns:1.3fr .7fr}.service-list{border-top:1px solid #aebcae}.service-row{display:grid;grid-template-columns:80px 1fr 220px 40px;align-items:center;gap:26px;border-bottom:1px solid #aebcae;padding:29px 18px 30px 0;transition:padding .2s,background .2s}.service-row:hover{padding-left:20px;background:#e6ebdf}.service-index{font-size:11px;color:#738473;font-weight:800}.service-row h3{font-size:clamp(23px,2.7vw,34px);margin:0 0 9px;letter-spacing:-.07em}.service-row p{margin:0;font-size:13px;color:#6b786b}.service-tag{font-size:10px;letter-spacing:.08em;color:#839081;font-weight:850;text-align:right}.service-arrow{font-size:28px;justify-self:end}
.process-section{background:var(--night);color:#f3f5ed;padding:120px 0 110px}.eyebrow.light{color:#c1d8c4}.eyebrow.light .eyebrow-num{background:#d2e8ba;color:#27382b}.process-top h2{font-size:clamp(38px,4.5vw,68px);letter-spacing:-.08em;line-height:1.25;margin:30px 0 78px;font-weight:740}.process-top h2 em{font-style:normal;color:#bfdbb2}.process-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}.process-steps>div{border-top:1px solid #71847b;padding-top:26px}.process-steps span{font-size:10px;letter-spacing:.13em;color:#b5cfaf;font-weight:850}.process-steps h3{font-size:21px;letter-spacing:-.065em;margin:28px 0 15px}.process-steps p{font-size:13px;color:#c1cfc3;line-height:1.8;word-break:keep-all;max-width:220px}.process-link{display:inline-block;margin-top:48px;font-size:13px;font-weight:850;border-bottom:1px solid #bbcbb7;padding-bottom:9px}
.closing-section{padding-top:120px;padding-bottom:135px}.closing-top{display:flex;justify-content:space-between;align-items:center}.closing-year{font-size:10px;font-weight:900;letter-spacing:.12em;color:#778776}.closing-section h2{font-size:clamp(50px,7vw,104px);line-height:1.28;letter-spacing:-.09em;margin:42px 0 54px}.closing-section h2 em{font-style:normal;color:#a36850}.closing-bottom{display:flex;justify-content:space-between;align-items:end;gap:36px;border-top:1px solid #adbcae;padding-top:27px}.closing-bottom p{font-size:14px;color:#5b6e5c;line-height:1.95}.closing-ctas{display:flex;gap:23px;align-items:center}.footer{background:#17231f;color:white;padding:78px 0 26px}.footer-main{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px}.footer-logo{font-weight:900;font-size:38px;letter-spacing:-.09em}.footer-main small{display:block;margin-top:8px;font-size:10px;letter-spacing:.15em;color:#a8bea9}.footer-main nav{display:flex;flex-direction:column;gap:16px;font-size:13px;color:#ced9d0}.footer-main nav a:hover{text-decoration:underline}.footer-main>div:last-child>span{font-size:10px;letter-spacing:.15em;color:#96af96}.footer-email{display:block;font-size:19px;letter-spacing:-.04em;margin-top:20px}.footer-bottom{border-top:1px solid #40584a;margin-top:72px;padding-top:22px;display:flex;justify-content:space-between;gap:28px;font-size:10px;line-height:1.7;color:#9daea1}
.reveal{opacity:1;transform:none}.js-ready .reveal{opacity:0;transform:translateY(17px);transition:opacity .65s ease,transform .65s ease}.js-ready .reveal.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:1250px){.hero h1{font-size:clamp(48px,5.45vw,75px)}.nav-links{gap:18px}.hero-bottom{grid-template-columns:195px 215px 1fr}.scroll-cue{display:none}.showcase-frame img{height:335px}}
@media(max-width:1030px){.shell{width:calc(100% - 62px)}.hero-main{grid-template-columns:1fr;gap:22px}.hero h1{font-size:clamp(52px,8vw,85px)}.hero-showcase{max-width:790px;padding-right:26px}.hero-bottom{grid-template-columns:1fr 1fr}.hero-bottom>div:nth-child(2){border:0}.nav-links>a:not(.nav-contact){font-size:12px}.statement-shell{grid-template-columns:135px 1fr}.service-row{grid-template-columns:45px 1fr 150px 30px}}
@media(max-width:720px){.shell{width:calc(100% - 38px)}.dev-bar{padding:7px 19px;gap:8px}.dev-bar span:nth-child(2){display:none}.nav-shell{min-height:72px}.brand-symbol{width:42px;height:42px;font-size:25px}.brand-name{font-size:23px}.menu-toggle{display:flex}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid #c6d0c6;box-shadow:0 18px 20px #17281d17;padding:22px 21px;flex-direction:column;align-items:stretch;gap:20px}.nav-links.is-open{display:flex}.nav-links a{font-size:15px!important}.nav-contact{text-align:center}.hero{padding-top:22px}.hero-kicker{font-size:9px}.kicker-serial{display:none}.hero-main{padding-top:25px;padding-bottom:30px}.hero h1{font-size:clamp(40px,9.2vw,62px);letter-spacing:-.09em;margin-bottom:23px}.hero-lead{font-size:13px}.hero-actions{gap:21px}.hero-actions .button{padding:16px 17px;gap:19px}.hero-showcase{padding:15px 10px 25px}.showcase-frame{transform:none}.showcase-frame img{height:260px}.showcase-back{transform:rotate(2deg)}.showcase-sticker{width:94px;height:94px;right:0;top:2px}.showcase-sticker span{font-size:9px}.showcase-sticker b{font-size:27px}.showcase-sticker small{font-size:8px}.showcase-caption{margin-top:18px}.hero-bottom{grid-template-columns:1fr 1fr;gap:15px;padding:17px 0}.hero-bottom>div:first-child,.hero-bottom>div:nth-child(2){gap:8px}.hero-bottom strong{font-size:34px}.hero-bottom span,.hero-note{font-size:10px}.work-section{padding:75px 0 80px}.section-intro{padding-bottom:35px}.section-intro-grid{grid-template-columns:1fr;gap:8px}.section-intro h2{font-size:clamp(31px,7vw,48px)}.section-intro-grid p{font-size:13px}.work-feature{grid-template-columns:1fr}.case-photo.large{min-height:280px;height:320px}.case-description{padding:31px 25px}.case-description h3{font-size:29px;margin:20px 0 13px}.case-description p{margin-bottom:28px}.detail-lines{margin-top:7px}.case-grid{grid-template-columns:1fr;gap:36px}.case-card .case-photo{height:290px}.work-more{align-items:flex-start;flex-direction:column}.statement-section{padding:65px 0}.statement-shell{grid-template-columns:1fr}.statement-aside{margin-bottom:30px}.statement-aside span{display:none}.statement-shell p{font-size:clamp(25px,6.5vw,42px)}.statement-decoration{font-size:200px;top:10px}.cap-section{padding-top:70px;padding-bottom:85px}.cap-section .section-intro-grid{grid-template-columns:1fr}.service-row{grid-template-columns:32px 1fr 23px;gap:12px;padding-right:0}.service-row h3{font-size:21px}.service-row p{font-size:12px}.service-tag{display:none}.service-arrow{font-size:23px}.process-section{padding:75px 0}.process-top h2{font-size:clamp(31px,7vw,48px);margin-bottom:40px}.process-steps{grid-template-columns:1fr 1fr;gap:22px}.process-steps h3{margin:15px 0 9px}.process-steps p{font-size:12px}.closing-section{padding-top:75px;padding-bottom:86px}.closing-section h2{font-size:clamp(37px,8vw,62px)}.closing-bottom{align-items:flex-start;flex-direction:column}.closing-ctas{flex-wrap:wrap}.footer{padding-top:60px}.footer-main{grid-template-columns:1fr 1fr}.footer-main>div:last-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:10px;margin-top:50px}}
@media(max-width:430px){.hero h1{font-size:clamp(38px,10vw,48px)}.hero-actions{flex-direction:column;align-items:stretch}.text-link{text-align:center}.showcase-frame img{height:218px}.hero-bottom{grid-template-columns:1fr 1fr}.hero-note{grid-column:1/-1}.showcase-switcher button{padding:9px 10px}.case-photo.large{height:250px;min-height:250px}.case-card .case-photo{height:235px}.process-steps{grid-template-columns:1fr 1fr}.process-steps h3{font-size:19px}.footer-main{grid-template-columns:1fr}.footer-main>div:last-child{grid-column:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.case-photo img,.service-row,.js-ready .reveal{transition:none!important}.js-ready .reveal{opacity:1!important;transform:none!important}.button:hover,.case-photo:hover img{transform:none!important}}

/* Mobile navigation begins before horizontal links would collide. */
@media(min-width:721px) and (max-width:960px){.menu-toggle{display:flex}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid #c6d0c6;box-shadow:0 18px 20px #17281d17;padding:22px 30px;flex-direction:column;align-items:stretch;gap:20px}.nav-links.is-open{display:flex}.nav-links a{font-size:15px!important}.nav-contact{text-align:center}}
@media(max-width:360px){.hero h1{font-size:33px;letter-spacing:-.08em}.showcase-frame img{height:190px}.showcase-switcher button{font-size:10px;padding:8px 8px}.dev-bar{font-size:9px}.showcase-caption{font-size:9px}}
