*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#17171a;background:#fff;font:16px/1.55 Inter,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;word-break:keep-all}header,main,footer{width:min(92%,1440px);margin:auto}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #364df4;outline-offset:4px}header,footer,nav,.brand,.mast{display:flex;align-items:center}header,footer,.mast{justify-content:space-between}header{height:76px;border-bottom:1px solid #252529}.brand{gap:8px;font-weight:900;font-size:25px;letter-spacing:-.085em}.brand img{width:38px}nav{gap:24px;font-size:14px;font-weight:650}.pill,.story span{background:#334af5;color:white;border-radius:30px;padding:9px 19px}.mast{padding:32px 0 26px;align-items:end}.mast h1{font-family:"AppleMyungjo","Batang",serif;letter-spacing:-.085em;font-size:clamp(64px,8.6vw,142px);line-height:1.12;font-weight:500;margin:0}.mast p{font-size:15px;margin:0 0 8px;text-align:right;color:#56565e}.cover,.frame{overflow:hidden;position:relative;display:block}.cover{background:#222;height:clamp(390px,38vw,600px);color:white;isolation:isolate}.cover>img{position:absolute;width:100%;height:100%;object-fit:cover;z-index:-2}.cover:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#080810da,transparent 65%)}.story{position:absolute;bottom:8%;left:4.5%;right:4%}.story small{font-weight:650}.story h2{font-size:clamp(38px,4.8vw,74px);line-height:1.2;letter-spacing:-.075em;margin:9px 0 18px}.story span{display:inline-block;font-size:14px;background:white;color:#151519}.cover:hover .story span{background:#334af5;color:white}#journal{margin:65px 0}#journal h2{font-size:34px;letter-spacing:-.07em;border-bottom:2px solid;padding-bottom:15px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.frame{aspect-ratio:1.6}.frame img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.card:hover img{transform:scale(1.035)}.card small,article small{display:block;color:#3143c8;font-weight:680;margin-top:18px}.card h3{margin:7px 0;font-size:25px;letter-spacing:-.06em}.card h3 span{font-size:17px}.card p{margin:0;color:#54545c;line-height:1.75}footer{border-top:1px solid #29292a;padding:28px 0 50px;font-size:14px}article{max-width:900px;margin:44px auto 70px}.back,.source{display:block;font-size:15px}.back{color:#56565d}article h1{font:500 clamp(35px,4.6vw,66px)/1.23 "AppleMyungjo","Batang",serif;letter-spacing:-.065em;margin:16px 0 28px}article figure{margin:0 0 35px;background:#f1f1f5;text-align:center}article img{max-width:100%;max-height:560px;vertical-align:middle}article p,.source{max-width:690px;margin:22px auto;font-size:18px;line-height:1.9}.source{border-top:1px solid #aaa;padding-top:20px;color:#3143c8}@media(max-width:720px){header{height:62px}.brand{font-size:20px}.brand img{width:31px}nav{gap:12px;font-size:12px}.pill{padding:7px 12px}.mast{padding:25px 0 16px}.mast h1{font-size:clamp(45px,11vw,70px)}.mast p{font-size:11px;margin:0}.cover{height:365px}.story{left:6%;bottom:7%}.story h2{font-size:35px}.grid{grid-template-columns:1fr;gap:34px}#journal{margin:42px 0}.card p{font-size:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.frame img{transition:none}}
#work,#contact{margin:60px 0;scroll-margin-top:15px}#work h2,#contact h2,#journal h1{font-size:clamp(29px,3vw,47px);letter-spacing:-.065em;line-height:1.2}#work>p,#contact p{max-width:640px;color:#50505b}dl{border-top:2px solid;display:grid;grid-template-columns:minmax(130px,25%) 1fr}dt,dd{margin:0;border-bottom:1px solid #ccc;padding:19px 0}dt{font-weight:750}dd a{display:block;color:#3143c8;margin-top:4px}summary{cursor:pointer;font-weight:650}details p{max-width:760px}.regions{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 28px}.regions a{border:1px solid #b8bac2;padding:6px 20px;border-radius:32px}.regions [aria-current]{color:white;background:#19191c;border-color:#19191c}#contact{background:#eff1ff;padding:clamp(22px,4vw,60px);display:flex;justify-content:space-between;align-items:center;gap:22px}#contact h2{margin:0}#contact a{white-space:nowrap}@media(max-width:720px){#contact{display:block}#contact a{display:inline-block}nav{gap:8px}.regions a{padding:6px 14px}dl{display:block}dt{border:0;padding-bottom:0}dd{padding-top:5px}}
.company{margin-top:20px;height:clamp(295px,29vw,430px);background:#182029}.company:after{background:linear-gradient(90deg,#101820ed,#10182086 60%,#10182030)}.company .story{bottom:12%}.company h1{font-size:clamp(43px,5.7vw,84px);line-height:1.1;letter-spacing:-.07em;margin:9px 0}.company p{margin:12px 0;color:white}.company .story a{display:inline-block;color:white;border-bottom:1px solid}.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-bottom:1px solid #adb0bd}.quick a{display:flex;align-items:center;justify-content:space-between;padding:18px;border-right:1px solid #ddd}.quick a:last-child{background:#334af5;color:white}.quick a:hover{text-decoration:underline}.quick+#work{margin-top:36px}@media(max-width:720px){.quick{grid-template-columns:repeat(2,1fr);font-size:14px}.quick a{padding:12px}.company .story{left:5%;bottom:9%}.company p{font-size:14px}}

/* Reading layout for service choices and field reports. */
header,main,footer{max-width:1200px}
.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.services a{display:block;background:#f4f5f7;border-radius:12px;padding:28px}
.services h3,.card h3{letter-spacing:-.035em;line-height:1.45;text-wrap:pretty}
.services h3{font-size:22px;margin:0 0 12px}
.services p{font-size:17px;line-height:1.75;color:#454954;margin:0}
.services a:hover h3{text-decoration:underline}
#work details{margin:22px 0;color:#474b56}
#work summary{padding:10px 0}
#work,#journal,#contact{margin-block:clamp(52px,7vw,95px)}
#work h2,#journal h2,#journal h1{margin:0 0 26px;border:0;padding:0;letter-spacing:-.045em}
.quick+#work{margin-top:clamp(46px,5vw,76px)}
.grid{gap:42px 28px}
.card small{font-size:15px;color:#48517c;margin-top:17px}
.card h3{font-size:clamp(21px,2vw,27px);margin:8px 0}
.story p{font-size:clamp(17px,1.8vw,23px);line-height:1.65}
article p{max-width:35em;margin:30px auto;font-size:19px;line-height:1.95;color:#303238}
article h1{max-width:20em;letter-spacing:-.04em;line-height:1.35}
@media(max-width:720px){
  .services{grid-template-columns:1fr;gap:12px}
  .services a{padding:20px 22px}
  .services h3{font-size:21px;margin-bottom:5px}
  .services p{font-size:16px}
  .company .story p{font-size:17px}
  article p{font-size:17px;line-height:1.9;margin:24px 0}
  article h1,.card h3,.story p{overflow-wrap:anywhere}
  header{height:auto;min-height:68px;flex-wrap:wrap;gap:8px}
  .regions{gap:7px}
}
article h2{max-width:665px;margin:48px auto 16px;font-size:clamp(22px,3vw,30px);line-height:1.45;letter-spacing:-.035em}
article .originals{max-width:730px;margin:34px auto;display:grid;gap:14px;background:none}
article .originals img{display:block;width:auto;max-width:100%;max-height:none;margin:auto;height:auto}
.phone-nav{display:flex;flex-direction:column;line-height:1.2;color:#2135a2}
.phone-nav span{font-size:12px}
.phone-nav strong{font-size:clamp(25px,2.5vw,37px);font-variant-numeric:tabular-nums;letter-spacing:-.045em}
#contact .pill{font-size:clamp(24px,3vw,42px);font-weight:750;line-height:1.4}
@media(max-width:720px){.phone-nav{display:inline-flex;min-height:44px;justify-content:center;background:#334af5;color:white;border-radius:25px;padding:0 12px}.phone-nav span{font-size:13px}.phone-nav strong{display:none}#contact .pill{font-size:24px}}

.article-contact {
  max-width: 690px;
  margin: 50px auto 24px;
  padding: 24px;
  background: #eff1ff;
  border-radius: 12px;
}
.article-contact > span { display: block; font-weight: 650; }
.article-contact a { color: #2438b8; display: inline-flex; align-items: center; gap: 12px; }
.article-contact strong { font-size: clamp(29px, 3vw, 39px); letter-spacing: -.03em; }
.dial-label { display: none; }
@media (min-width: 721px) {
  article h1 { font-size: clamp(30px, 2.8vw, 40px); max-width: 26em; }
}
@media (max-width: 720px) {
  .article-contact a { display: flex; justify-content: center; background: #334af5; color: white; border-radius: 8px; min-height: 50px; margin-top: 12px; }
  .article-contact strong { font-size: 18px; }
  .dial-label { display: inline; }
}
