:root{font-family:Arial,'Noto Sans KR',sans-serif;color:#17221c;background:#fff}*{box-sizing:border-box}body{margin:0}a{text-decoration:none;color:inherit}header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,22px);border-bottom:1px solid #e7ece9;background:white}.brand{font-weight:900;font-size:24px;letter-spacing:-1px}.brand small{font-size:11px;letter-spacing:0;font-weight:500;margin-left:7px;color:#64736b}.leaf{color:#46a76b}nav{display:flex;gap:30px;font-size:14px}nav a:hover{color:#259456}.hero{padding:120px max(7vw,24px) 130px;background:#f4f7f4}.eyebrow,.section-head>span{font-size:12px;font-weight:800;letter-spacing:2px;color:#3b9d61}.hero h1{font-size:clamp(36px,5.3vw,75px);line-height:1.2;letter-spacing:-3px;margin:23px 0}.hero h1 em{color:#2c9d59;font-style:normal}.hero p{line-height:1.9;color:#67746b;font-size:16px}.primary{display:inline-block;background:#237b49;color:white;padding:16px 25px;border-radius:7px;font-weight:700;font-size:14px;margin-top:25px}.primary:hover{background:#165f37}.section{padding:100px max(7vw,24px)}.section-head h2{font-size:clamp(30px,3vw,46px);letter-spacing:-1.5px;margin:12px 0}.section-head p{color:#7a8580;margin-top:10px}.works{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;margin-top:42px}
.project-img{aspect-ratio:1/1;background:#e8eee9;overflow:hidden;display:grid;place-items:center;color:#7e9486}
.project-img img{width:100%;height:100%;object-fit:contain;transition:transform .3s}
.project:hover img{transform:none}.project h3{font-size:18px;letter-spacing:-.6px;margin:16px 0 8px}.project p,.keywords{font-size:13px;color:#7e8a80;line-height:1.7}.empty{grid-column:1/-1;padding:70px 20px;text-align:center;background:#f6f8f6;color:#718177}.dark{background:#1c2c22;color:#fff}.dark .section-head p{color:#aabdb1}.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:45px}.pillars>div{padding:32px;border:1px solid #486051;color:#88cfa0}.pillars strong{display:block;font-size:23px;color:#fff;margin:15px 0}.pillars p{font-size:14px;color:#aabdb1}.contact{text-align:center}.detail{max-width:1150px;margin:auto;padding:70px 24px 110px}.detail .back{display:inline-block;margin-bottom:45px;color:#66776c}.detail h1{font-size:clamp(30px,4vw,50px);letter-spacing:-2px}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:55px}.gallery figure{margin:0}.gallery img{width:100%;height:auto;display:block;border-radius:5px}.gallery figcaption{font-size:12px;color:#7d8b82;padding:12px 0 18px}.detail-end{text-align:center;margin-top:35px}footer{padding:35px max(5vw,22px);background:#f3f5f3;color:#8a948c;font-size:12px;display:flex;justify-content:space-between}footer a{color:#6c8172}@media(max-width:750px){header{height:68px}.brand{font-size:20px}.brand small{display:none}nav{gap:12px;font-size:12px}.hero{padding:90px 24px}.hero h1{letter-spacing:-1.8px}.hero p{font-size:14px}.section{padding:72px 22px}.works{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.project h3{font-size:15px}.pillars{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.detail{padding:45px 18px 80px}}@media(max-width:440px){.works{grid-template-columns:1fr}}
/* Mobile typography and spacing improvements; worker inline style also updated. */
@media(max-width:750px){
header{padding-left:clamp(14px,4vw,22px);padding-right:clamp(14px,4vw,22px);gap:8px}
header .brand{font-size:clamp(16px,4.6vw,20px);white-space:nowrap}
header nav{gap:clamp(7px,2.5vw,13px);font-size:clamp(10px,2.9vw,12px);white-space:nowrap}
.hero{padding:clamp(65px,17vw,85px) clamp(18px,5vw,24px) 78px}
.hero h1{font-size:clamp(28px,8vw,38px);line-height:1.32;letter-spacing:-1.5px;word-break:keep-all;overflow-wrap:break-word}
.hero p{font-size:clamp(12px,3.4vw,14px);line-height:1.8}
.hero .eyebrow{font-size:clamp(10px,2.8vw,12px);letter-spacing:1.4px}
.hero .primary{font-size:13px;padding:13px 18px;margin-top:19px}
#about .pillars strong{font-size:clamp(15px,4vw,17px)}
#about .pillars p{font-size:clamp(12px,3.3vw,13px)}
#contact{padding-top:58px;padding-bottom:62px}
#contact .section-head h2{font-size:clamp(23px,6.5vw,29px);line-height:1.38;letter-spacing:-1px;word-break:keep-all}
#contact .section-head p{font-size:clamp(12px,3.5vw,14px);line-height:1.7}
#contact .primary{font-size:clamp(12px,3.6vw,14px);padding:13px 18px;margin-top:14px!important;margin-bottom:8px!important;max-width:100%;white-space:nowrap}
footer{padding:24px 20px;font-size:11px;line-height:1.6;gap:18px;align-items:center}
footer a{flex-shrink:0;white-space:nowrap}
}
@media(max-width:360px){
header .brand{font-size:16px}
header nav{gap:7px;font-size:10px}
.hero h1{font-size:28px}
#contact .section-head h2{font-size:23px}
}

/* CONTACT: keep both action buttons side by side on small phones. */
@media(max-width:750px){
 #contact .primary{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:49%;max-width:none;min-height:44px;padding:10px 3px!important;font-size:clamp(10px,3.2vw,13px)!important;letter-spacing:-.4px;white-space:nowrap;margin-top:12px!important;margin-bottom:0!important}
 #contact .primary:first-of-type{margin-right:2%!important}
 #contact .primary:last-of-type{margin-right:0!important}
}
