.profile-download { text-decoration:none; }
.profile-download svg { flex:none; }
[data-track] .profile-download { align-items:flex-start; }
[data-track] .profile-download [data-download-label] { font:800 clamp(20px,1.8vw,28px)/1.4 Pretendard,sans-serif;letter-spacing:-.03em; }
[data-track] .profile-download svg { order:-1; }
[data-mcontact] .profile-download { gap:16px!important;text-decoration:none; }
[data-mcontact] .profile-download [data-download-label] { font:800 15px/1.35 Pretendard,sans-serif; }
.inquiry-open { display:inline-flex;align-items:center;gap:14px;border:0;padding:18px 36px;background:#fff200;color:#0a0a0a;font:900 clamp(16px,1.3vw,20px)/1.2 Pretendard,sans-serif;cursor:pointer; }
[data-client-logos] { display:flex;flex-direction:column;gap:clamp(16px,2.8vh,27px);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); }
.client-logo-window { overflow:hidden; }
.client-logo-track { display:flex;width:max-content; }
.client-logo-copy { display:flex;align-items:center;gap:clamp(21px,2.1vw,36px);padding-right:clamp(21px,2.1vw,36px);flex:none; }
[data-client-logos] img { height:clamp(21px,4.06vh,35px)!important;width:auto;display:block;opacity:.82; }
.client-logo-window:hover .client-logo-track { animation-play-state:paused!important; }
.inquiry-dialog { color-scheme:dark;color:#fff;background:#1b1d21;border:1px solid #383b40;border-radius:16px;width:min(520px,calc(100% - 28px));max-height:calc(100dvh - 32px);padding:28px;overflow:auto;font:500 14px/1.6 Pretendard,Arial,sans-serif;box-shadow:0 24px 100px #0008; }
.inquiry-dialog::backdrop { background:#000b; }
.inquiry-dialog h2 { font-size:24px;line-height:1.2;margin:0 36px 8px 0; }
.inquiry-dialog p { margin:0 0 18px;color:#aeb2ba; }
.inquiry-close { position:absolute;top:18px;right:18px;display:grid;place-items:center;width:36px;height:36px;border:0;background:transparent;color:#ccc;font-size:28px;cursor:pointer; }
.inquiry-form { display:grid;gap:12px; }
.inquiry-form label { display:grid;gap:5px; }
.inquiry-form input:not([type=checkbox]),.inquiry-form textarea { box-sizing:border-box;width:100%;border:1px solid #44474d;border-radius:7px;padding:11px 12px;background:#27292e;color:#fff;font:inherit; }
.inquiry-form textarea { min-height:105px;resize:vertical; }
.inquiry-form .inquiry-consent { display:flex;align-items:flex-start;gap:8px;font-size:12px;color:#bbb; }
.inquiry-consent input { margin-top:4px;accent-color:#fff200; }
.inquiry-form details { color:#bfc2c8;font-size:12px; }
.inquiry-form details p { margin:8px 0;color:inherit; }
.inquiry-submit { border:0;border-radius:7px;padding:13px;background:#fff200;color:#111;font:800 16px/1.4 Pretendard,sans-serif;cursor:pointer; }
.inquiry-submit:disabled { opacity:.65;cursor:wait; }
.inquiry-status { margin:0!important;color:#fff!important; }
.inquiry-status:empty { display:none; }
.inquiry-trap { position:absolute!important;left:-10000px!important;top:auto!important;width:1px;height:1px;overflow:hidden; }
.back-to-top { position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:62;width:46px;height:46px;display:grid;place-items:center;border:1px solid #555;border-radius:50%;background:#151515e6;color:#fff200;box-shadow:0 3px 16px #0005;cursor:pointer; }
.back-to-top svg { width:22px;height:22px; }
.back-to-top:hover { background:#fff200;color:#111; }
@media(max-width:820px) {
  [data-mhead] img { width:108.8px!important;height:40px!important; }
  [data-intro-tagline] { box-sizing:border-box;max-width:100%;white-space:nowrap;font-size:clamp(11px,3.7vw,22px)!important;letter-spacing:-.025em!important;padding:5px 9px!important; }
  .back-to-top { right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));width:44px;height:44px; }
  html body [data-scroller] { scroll-snap-type:y proximity!important; }
  section[data-screen-label="04 Organization"],section[data-screen-label="16 Contact"] { height:auto!important;min-height:100dvh; }
  section[data-screen-label="04 Organization"] > div:nth-child(2) { gap:24px!important; }
  section[data-screen-label="06 Service"] { height:auto!important;min-height:100dvh;overflow:visible!important;justify-content:flex-start!important;gap:20px!important;padding:72px 20px 40px!important; }
  section[data-screen-label="06 Service"] [data-msvc] { flex:none!important;min-height:0;width:100%;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;grid-template-rows:none!important;grid-auto-rows:max-content;overflow:visible!important;scroll-snap-type:none!important; }
  section[data-screen-label="06 Service"] [data-msvc] > div { min-height:160px!important;opacity:1!important;transform:none!important;transition:none!important; }
  section[data-screen-label="06 Service"] [data-msvc] { padding-bottom:0!important; }
  section[data-screen-label="06 Service"] [data-msvc] > div > div:first-child { flex-wrap:nowrap!important;min-width:0;gap:6px!important; }
  section[data-screen-label="06 Service"] [data-msvc] > div > div:first-child > svg { width:20px!important;height:20px!important; }
  section[data-screen-label="06 Service"] [data-msvc] > div > div:first-child > div { white-space:nowrap;font-size:clamp(12.5px,3.65vw,16px)!important;overflow-wrap:normal!important; }
  /* One native mobile scroll surface: no trapped nested portfolio scrolling. */
  html body section[data-pfsec] { height:auto!important;min-height:100dvh; }
  [data-pfsec] [data-mlist] { flex:none!important;overflow:visible!important;overscroll-behavior:auto!important;padding-bottom:max(82px,calc(env(safe-area-inset-bottom) + 64px))!important; }
  [data-prail] > div:first-child > span:first-child { font-size:11.55px!important; }
  [data-prail] > div:first-child > span:nth-child(2) { font-size:13.125px!important; }
  [data-prail] > div:last-child > span:nth-child(2) { font-size:12.075px!important; }
  [data-mlist] > [data-project-path] > span:first-of-type > span:first-child { font-size:16.8px!important;line-height:1.3!important; }
  [data-mlist] > [data-project-path] > span:first-of-type > span:nth-child(2) { font-size:12.88px!important;line-height:1.35!important; }
  [data-mlist] > a.profile-download { flex:none;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;min-height:60px;width:100%;padding:14px 18px!important;margin:14px 0 0;background:#fff200!important;color:#111!important; }
  [data-mlist] > a[data-profile-download] > span[data-download-label] { width:auto!important;height:auto!important;font:800 16px/1.4 Pretendard,sans-serif!important;min-width:0; }
  [data-mlist] .profile-download br { display:none; }
  [data-mlist] .profile-download svg { width:24px;height:24px; }
  section[data-screen-label="16 Contact"] { padding-top:80px!important;padding-bottom:54px!important; }
}
@media(max-width:360px) {
  [data-mlist] > [data-project-path] > span:first-of-type > span:first-child { font-size:14.56px!important; }
  [data-mlist] > [data-project-path] > span:first-of-type > span:nth-child(2) { font-size:11.2px!important; }
  section[data-screen-label="06 Service"] [data-msvc] { grid-template-columns:minmax(0,1fr)!important; }
  section[data-screen-label="06 Service"] [data-msvc] > div > div:first-child > div { font-size:14px!important; }
  .inquiry-dialog { padding:24px 18px; }
}
@media(prefers-reduced-motion:reduce) { .client-logo-track { animation:none!important; } }
.project-image-placeholder { display:block;width:84px;height:84px;flex:none;background:#222; }
[data-basic-field=address] { white-space:pre-line; }
@media(max-width:820px) { [data-intro-tagline] { white-space:normal!important;overflow-wrap:anywhere; } }
/* 9/18: square thumbnails share the same non-destructive crop on all screens. */
.portfolio-image-frame { display:block;position:relative;aspect-ratio:1;overflow:hidden;flex:none;width:100%;background:#161616; }
.portfolio-image-frame img { display:block;width:100%!important;height:100%!important;object-fit:cover; }
[data-track] article > div:first-child { flex:none!important;height:auto!important;aspect-ratio:1;overflow:hidden; }
[data-pfsec] [data-track] > article { aspect-ratio:auto!important; }
[data-track] .profile-download svg { width:25.6px;height:25.6px; }
[data-track] .profile-download [data-download-label] { font-size:clamp(17px,1.5vw,24px); }
.inquiry-close,.inquiry-close:focus-visible { outline:0!important;box-shadow:none!important;border:0!important; }
.inquiry-close:focus-visible { color:#fff200; }
section[data-screen-label="06 Service"] [data-msvc] > div > div:nth-child(2) { min-height:6.6em; }
@media(max-width:820px) {
  [data-mlist] .portfolio-image-frame { width:84px;height:84px; }
  [data-mlist] .portfolio-image-frame > img { display:block;width:100%!important;height:100%!important;object-fit:cover!important; }
  [data-morg] > div { min-width:0;padding:14px!important; }
  [data-morg] > div > div { white-space:nowrap;font-size:clamp(12.5px,3.6vw,16px)!important;letter-spacing:-.035em; }
}
@media(max-width:360px) {
  html body section[data-screen-label="04 Organization"] [data-morg] { grid-template-columns:minmax(0,1fr)!important; }
  [data-morg] > div > div { font-size:17px!important; }
}
