@font-face{font-family:MonanSans;src:url('assets/PretendardVariable.woff2') format('woff2');font-weight:100 900;font-display:swap}
/* Limit native image save gestures without blocking text selection or scrolling. */
img,.project-card .media,.image-button,.detail-hero{-webkit-touch-callout:none;-webkit-user-drag:none;user-select:none;-webkit-user-select:none}
:root{--paper:#f3f4f1;--ink:#202321;--red:#d2432c;--pink:#f2b5c4;--muted:#656963;--line:#c7cbc4;--gutter:clamp(22px,3.2vw,60px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:MonanSans,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{color:inherit}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:5px}img{display:block;max-width:100%;height:auto}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}[hidden]{display:none!important}.skip{position:fixed;left:20px;top:-100px;background:var(--ink);color:white;padding:15px;z-index:99}.skip:focus{top:12px}.review-note{background:var(--ink);color:var(--paper);font-size:12px;padding:10px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:20px}.review-note a{text-decoration:underline;text-underline-offset:3px}.site-header{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;min-height:98px;padding:20px var(--gutter);border-bottom:1px solid var(--line)}.small-mark{width:112px;padding:12px 0}.site-header nav{display:flex;justify-content:center;gap:30px;font-size:16px}.site-header nav a{padding:12px 0}.site-header nav a[aria-current=page]{text-decoration:underline;text-underline-offset:7px}.header-loc{justify-self:end;font-size:13px}.home-intro{padding:65px var(--gutter) 55px;display:grid;grid-template-columns:1.85fr 1fr;gap:7vw;align-items:end}.hero-wordmark{width:100%;margin-bottom:5px}.intro-copy{font-size:clamp(17px,1.6vw,24px);line-height:1.6;letter-spacing:-.04em;margin:0}.intro-copy small{display:block;font-size:12px;letter-spacing:0;margin-top:23px;color:var(--muted)}.work-section{padding:0 var(--gutter) 90px}.section-heading{border-top:1px solid var(--ink);display:flex;justify-content:space-between;align-items:center;gap:25px;padding:20px 0 30px}.section-heading h1,.section-heading h2{font-size:15px;font-weight:550;margin:0}.section-heading span,.section-heading a{font-size:13px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;row-gap:65px}.project-grid.single{grid-template-columns:1fr}.project-card{min-width:0}.project-card .media{overflow:hidden;background:#e5e7e1;aspect-ratio:1.32;display:grid;place-items:center}.project-card .media img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.project-card .media.contain img{object-fit:contain;padding:5%}.project-card:hover .media img{transform:scale(1.025)}.project-card .type-cover{font-size:clamp(30px,4vw,65px);letter-spacing:-.055em;background:var(--pink);padding:35px;line-height:1.15}.card-caption{display:grid;grid-template-columns:1fr auto;gap:10px;padding-top:17px}.card-caption h2{font-size:21px;font-weight:550;letter-spacing:-.03em;margin:0}.card-caption p{font-size:13px;color:var(--muted);margin:8px 0 0}.card-arrow{font-size:25px}.work-title{padding:70px var(--gutter) 52px;display:flex;justify-content:space-between;align-items:end}.work-title h1{font-size:clamp(50px,8vw,130px);font-weight:500;line-height:.95;letter-spacing:-.065em;margin:0}.work-title p{font-size:15px;line-height:1.7;margin:0}.empty-work{padding:65px 0 90px;border-top:1px solid var(--line);max-width:900px}.empty-work h2{font-size:clamp(30px,5vw,66px);font-weight:500;letter-spacing:-.055em;line-height:1.25;margin:0 0 25px}.empty-work p{line-height:1.8;color:var(--muted);max-width:520px}.underlined{text-decoration:underline;text-underline-offset:5px}.home-statement{padding:70px var(--gutter);background:var(--red);display:flex;justify-content:space-between;gap:35px;align-items:end}.home-statement p{font-size:clamp(27px,3.5vw,54px);font-weight:600;line-height:1.35;letter-spacing:-.055em;margin:0}.home-statement a{font-size:19px;font-weight:700;min-height:44px;display:flex;align-items:center;white-space:nowrap}.detail-intro{padding:60px var(--gutter) 55px;display:grid;grid-template-columns:1fr 2.4fr;gap:40px}.detail-aside{display:flex;flex-direction:column;justify-content:space-between;gap:40px;font-size:13px}.detail-aside p{line-height:1.7;color:var(--muted);margin:0}.detail-title{font-size:clamp(44px,5vw,84px);line-height:1.08;letter-spacing:-.06em;font-weight:550;margin:0;overflow-wrap:anywhere}.detail-summary{font-size:clamp(18px,1.6vw,25px);line-height:1.65;max-width:760px;margin:30px 0 0;white-space:pre-line;word-break:keep-all}.detail-hero{margin:0 var(--gutter) 70px;background:#e5e7e1}.detail-hero img{width:100%;max-height:85vh;object-fit:contain}.content-block{margin:0 var(--gutter) 40px}.content-block img{width:100%;height:auto}.image-button{background:none;border:0;padding:0;display:block;width:100%;cursor:zoom-in}.image-pair{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:start}.content-block figcaption{font-size:13px;line-height:1.6;color:var(--muted);margin-top:13px;white-space:pre-line}.text-block{max-width:760px;margin:75px auto;padding:0 20px;font-size:clamp(19px,1.6vw,24px);line-height:1.85;white-space:pre-line;word-break:keep-all}.content-block video{width:100%;max-height:85vh;background:var(--ink)}.credits{display:grid;grid-template-columns:1fr 2.4fr;gap:40px;margin:85px var(--gutter) 0;padding:30px 0 70px;border-top:1px solid var(--ink)}.credits h2{font-size:14px;font-weight:500;margin:0}.credits p{white-space:pre-line;font-size:14px;line-height:1.9;margin:0}.next-project{margin:0 var(--gutter) 70px;border-top:1px solid var(--line);padding-top:25px;display:flex;justify-content:space-between;align-items:center;gap:25px}.next-project small{font-size:12px}.next-project a{font-size:clamp(22px,3vw,44px);letter-spacing:-.04em}.studio-title{padding:70px var(--gutter) 100px}.studio-title h1{font-size:clamp(42px,6vw,98px);line-height:1.28;letter-spacing:-.065em;font-weight:500;margin:0;max-width:1100px}.eyebrow{font-size:13px;letter-spacing:.01em;margin:0 0 40px}.studio-row{margin:0 var(--gutter);border-top:1px solid var(--ink);padding:32px 0 70px;display:grid;grid-template-columns:1fr 2fr;gap:50px}.studio-row h2{font-size:14px;margin:0;font-weight:500}.studio-row p{font-size:23px;line-height:1.75;letter-spacing:-.035em;margin:0 0 20px;max-width:850px;word-break:keep-all}.studio-row .small{font-size:15px;line-height:1.85;color:var(--muted)}.services{list-style:none;padding:0;margin:0}.services li{font-size:clamp(26px,3.5vw,52px);letter-spacing:-.045em;padding:13px 0;border-bottom:1px solid var(--line)}.contact-page{padding:70px var(--gutter) 120px;min-height:65vh}.contact-page h1{font-size:clamp(40px,6vw,90px);letter-spacing:-.055em;line-height:1.22;font-weight:500;margin:0 0 65px}.contact-email{font-size:clamp(24px,4.6vw,76px);letter-spacing:-.045em;display:inline-block;max-width:100%;overflow-wrap:anywhere;border-bottom:2px solid;padding:0 0 8px}.contact-meta{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:50px;font-size:17px;line-height:1.85}.contact-meta p{margin:0}.contact-meta .small{font-size:14px;color:var(--muted)}.site-footer{padding:55px var(--gutter) 25px;border-top:1px solid var(--ink)}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:center}.footer-top p{font-size:23px;letter-spacing:-.03em}.footer-top>a{font-size:clamp(20px,2.3vw,35px);letter-spacing:-.04em}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted);margin-top:60px}.holding{min-height:calc(100svh - 160px);padding:6vw var(--gutter);display:flex;flex-direction:column;justify-content:center;gap:55px}.holding img{width:min(100%,1000px)}.holding p{font-size:clamp(22px,3vw,42px);line-height:1.6;letter-spacing:-.05em;margin:0}.holding a{font-size:19px}.is-holding .site-footer,.is-holding .site-header{display:none}.loading,.error-view{padding:80px var(--gutter);font-size:20px;line-height:1.7}.error-view button{padding:12px 22px;background:none;border:1px solid}.site-main:focus,main:focus{outline:0}#lightbox{border:0;padding:60px 25px 25px;max-width:96vw;max-height:96vh;background:var(--paper)}#lightbox::backdrop{background:#202321e8}#lightbox img{max-height:80vh;max-width:90vw;object-fit:contain}#close-lightbox{position:absolute;right:20px;top:10px;min-height:44px;border:0;background:none;font-size:16px}
@media(min-width:1800px){.project-grid{gap:70px 40px}.home-intro{padding-top:90px;padding-bottom:70px}}
@media(max-width:800px){.site-header{grid-template-columns:1fr auto;min-height:80px}.header-loc{display:none}.site-header nav{gap:22px;font-size:14px}.small-mark{width:85px}.home-intro{grid-template-columns:1fr;padding-top:45px;padding-bottom:45px;gap:35px}.hero-wordmark{width:100%}.intro-copy{font-size:20px;max-width:370px}.intro-copy small{margin-top:12px}.project-grid{gap:40px 18px}.card-caption h2{font-size:17px}.card-caption p{font-size:12px}.home-statement{align-items:start;flex-direction:column;gap:30px;padding-top:45px;padding-bottom:45px}.detail-intro{grid-template-columns:1fr;gap:30px;padding-top:30px}.detail-aside{flex-direction:row;align-items:center;gap:15px}.detail-aside p{text-align:right}.detail-title{font-size:45px}.detail-hero{margin-bottom:40px}.credits{grid-template-columns:1fr;gap:20px;margin-top:50px}.studio-row{grid-template-columns:1fr;gap:25px}.studio-row p{font-size:21px}.studio-title{padding-top:45px;padding-bottom:65px}.footer-top{flex-direction:column;align-items:start;gap:0}.footer-bottom{flex-wrap:wrap}.work-title{padding-top:45px;gap:30px}.contact-page{padding-top:40px}.review-note{font-size:11px;align-items:start}.review-note span{max-width:75%}}
@media(max-width:520px){.project-grid{grid-template-columns:1fr}.project-card .media{aspect-ratio:1.25}.work-section{padding-bottom:50px}.section-heading{padding-bottom:20px}.image-pair{gap:12px}.content-block{margin-bottom:25px}.text-block{margin:45px 0;padding:0 var(--gutter);font-size:19px}.work-title{display:block}.work-title p{margin-top:25px}.contact-meta{grid-template-columns:1fr;gap:25px}.footer-bottom{line-height:1.7;margin-top:35px}.footer-bottom span:nth-child(2){display:none}.home-statement p{font-size:30px}.detail-title{font-size:38px}.holding{gap:40px}.next-project{align-items:start;flex-direction:column}.contact-page h1{margin-bottom:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Constrain intrinsic image dimensions to the ratio frame. */
.project-card .media { position:relative; }
.project-card .media img { position:absolute; inset:0; width:100%; height:100%; min-width:0; min-height:0; }

/* Canonical work-led site: shared by CMS preview and static export. */
.work-led { --paper:#fafaf8; --gutter:clamp(24px,3vw,64px); min-height:100svh; display:flex; flex-direction:column; }
.work-led main { flex:1; width:100%; margin:0 auto; }
.work-led main.work-main { max-width:none; }
.visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.work-led .site-header { position:sticky; top:0; z-index:50; width:100%; margin:0 auto; display:flex; justify-content:space-between; align-items:center; min-height:96px; padding:22px var(--gutter); border:0; background:transparent; transition:transform .3s ease, background-color .3s ease; }
/* 상단 바: 내려가면 숨고(is-hidden) 올라오면 배경을 깔고(is-solid) 다시 보인다. */
.work-led .site-header.is-solid { background:var(--paper); }
.work-led .site-header.is-hidden { transform:translateY(-100%); }
.work-led.menu-open .site-header { transform:none; }
.work-led .small-mark { width:210px; flex-shrink:0; color:var(--red); position:relative; }
/* Original PNG alpha preserves the silhouette and ratio with exact brand red. */
.work-led .small-mark::before { content:''; position:absolute; inset:12px 0; background:currentColor; mask:url('assets/wordmark.png') center/contain no-repeat; -webkit-mask:url('assets/wordmark.png') center/contain no-repeat; }
.work-led .small-mark img { opacity:0; }
/* Balance the extra gap before Work; optically lower the desktop wordmark. */
@media(min-width:801px) { .work-led .small-mark::before { transform:translateY(2px); } }
.work-led .site-header nav { gap:36px; font-size:15px; }
/* 메뉴 양끝: Work·Studio 왼쪽, Contact 오른쪽, 작은 워드마크는 가운데. 홈 맨 위에서는 큰 워드마크가 있으니 숨긴다. */
@media(min-width:801px) {
  .work-led .site-header #primary-nav { flex:1; }
  .work-led .site-header #primary-nav a[data-nav=contact] { margin-left:auto; }
  .work-led .small-mark { position:absolute; left:50%; top:50%; width:110px; transform:translate(-50%,-50%); }
  /* 모든 페이지 같은 바깥 여백 — 메뉴·본문·푸터 가장자리가 페이지를 옮겨도 그대로. */
  .work-led { --gutter:8vw; }
}
.work-led.is-home:not(.menu-open) .site-header:not(.is-solid) .small-mark { visibility:hidden; }
/* 홈 첫 화면: 워드마크 · 문장 한 줄 · 사실 한 줄 */
.site-intro { display:flex; flex-direction:column; align-items:center; text-align:center; padding:24px var(--gutter) 120px; }
.intro-mark { position:relative; width:300px; margin:0; color:var(--red); }
.intro-mark::before { content:''; position:absolute; inset:0; background:currentColor; mask:url('assets/wordmark.png') center/contain no-repeat; -webkit-mask:url('assets/wordmark.png') center/contain no-repeat; }
.intro-mark img { display:block; width:100%; height:auto; opacity:0; }
.intro-line { margin:44px 0 0; font-size:19px; line-height:1.65; letter-spacing:-.02em; word-break:keep-all; }
.intro-fact { margin:18px 0 0; font-size:13px; color:var(--muted); }
.work-led .site-header nav a { min-height:44px; display:flex; align-items:center; }
.work-led .work-section { padding:0 var(--gutter) 120px; }
/* 작업 목록: 12단 줄마다 작업 1~2개. 폭·위치는 site.js layoutRows가 정한다. */
.work-led .project-grid { display:block; }
.work-led .work-row { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:20px; align-items:start; margin-bottom:160px; }
.work-led .work-row:last-child { margin-bottom:0; }
.work-led .project-card { min-width:0; }
/* 좌우를 뒤집은 짝도 같은 줄에 두려면 줄 번호를 고정해야 한다(자동 배치는 왼쪽으로 돌아가면 다음 줄로 넘긴다). */
.work-row>.project-card { grid-row:1; }
.work-row .at-1{grid-column-start:1}.work-row .at-2{grid-column-start:2}.work-row .at-3{grid-column-start:3}.work-row .at-4{grid-column-start:4}.work-row .at-5{grid-column-start:5}.work-row .at-6{grid-column-start:6}.work-row .at-7{grid-column-start:7}.work-row .at-8{grid-column-start:8}.work-row .at-9{grid-column-start:9}.work-row .at-10{grid-column-start:10}
.work-row .w-3{grid-column-end:span 3}.work-row .w-4{grid-column-end:span 4}.work-row .w-7{grid-column-end:span 7}.work-row .w-8{grid-column-end:span 8}.work-row .w-10{grid-column-end:span 10}.work-row .w-12{grid-column-end:span 12}
.project-card .media.r-1-1{aspect-ratio:1/1}.project-card .media.r-4-5{aspect-ratio:4/5}.project-card .media.r-3-2{aspect-ratio:3/2}.project-card .media.r-16-9{aspect-ratio:16/9}
.work-led .project-card>a { display:block; }
.work-led .project-card .media { background:#2a2d2b; }
.work-led .project-card .media img { transition:none; }
.work-led .project-card:hover .media img { transform:none; }
.work-led .card-caption { display:block; padding-top:14px; }
.work-led .card-caption h2 { font-size:15px; font-weight:500; letter-spacing:-.02em; line-height:1.45; overflow-wrap:anywhere; }
.work-led .card-fields { margin:5px 0 0; font-size:13px; line-height:1.5; color:var(--muted); }
.work-led .project-card>a:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.project-tags { display:flex; flex-wrap:wrap; gap:5px; align-items:center; margin-top:9px; }
.tag { border:1px solid var(--line); padding:3px 7px; font-size:11px; line-height:1.4; color:var(--muted); overflow-wrap:anywhere; max-width:100%; }
.project-year { color:var(--muted); font-size:11px; margin-left:5px; }
.work-led .site-footer { width:calc(100% - 2 * var(--gutter)); margin:0 auto; padding:30px 0 24px; border-top:1px solid var(--line); }
.work-led .footer-top { display:flex; flex-direction:row; justify-content:space-between; align-items:center; gap:24px; }
.work-led .footer-contact { display:flex; flex-wrap:wrap; align-items:center; gap:8px 28px; }
.work-led .footer-top a { font-size:16px; letter-spacing:-.015em; min-height:44px; display:inline-flex; align-items:center; gap:5px; }
.work-led .footer-bottom { margin-top:28px; align-items:center; font-size:13px; line-height:1.5; gap:8px 24px; }
.work-led .footer-bottom a { min-height:44px; display:inline-flex; align-items:center; }
.email-contact { display:inline-flex; align-items:center; gap:8px; max-width:100%; }
.email-copy { border:0; background:none; padding:0 4px; min-width:48px; min-height:44px; font-size:12px; color:var(--muted); text-decoration:underline; text-underline-offset:4px; white-space:nowrap; }
.email-copy:disabled { cursor:wait; }
.footer-meta { display:flex; flex-wrap:wrap; align-items:center; gap:8px 24px; }
.work-led .empty-work { border:0; padding:55px 0 85px; }
.work-led .empty-work h2 { font-size:32px; }
.work-led .detail-intro { padding-top:30px; }
.work-led .detail-title { font-size:clamp(32px,4vw,62px); }
.work-led .detail-summary { font-size:19px; }
.work-led .detail-aside .project-tags { align-self:start; }
.detail-credits { margin-top:36px; padding-top:18px; border-top:1px solid var(--line); max-width:760px; }
.detail-credits dl { margin:0; display:grid; gap:6px; }
.detail-credits dl div { display:grid; grid-template-columns:5.5em 1fr; gap:16px; font-size:15px; line-height:1.6; }
.detail-credits dt { color:var(--muted); }
.detail-credits dd { margin:0; word-break:keep-all; }
.detail-note { margin:14px 0 0; font-size:13px; line-height:1.6; color:var(--muted); word-break:keep-all; }
/* 쇼케이스 이미지는 Work 목록과 같은 6px 간격으로 촘촘하게 잇는다. 캡션이 있는 블록과 마지막 이미지 뒤만 띄운다. */
.work-led .detail-hero,.work-led .content-block { margin-bottom:6px; }
.work-led .image-pair { gap:6px; }
.work-led .content-block:has(figcaption) { margin-bottom:40px; }
.work-led .next-project { margin-top:70px; }
.work-led[data-theme=dark] { --paper:#111312; --ink:#f3f4f1; --muted:#b8bdb7; --line:#515651; color-scheme:dark; }
.work-led[data-theme=dark] .holding img { filter:brightness(0) invert(1); }
.work-led .type-cover { color:#202321; }
.work-led .skip { color:var(--paper); clip-path:inset(50%); }
.work-led .skip:focus-visible { clip-path:none; top:12px; }
.work-led .review-note { background:#e9eae6; color:#202321; border-bottom:1px solid #c7cbc4; padding-top:10px; padding-bottom:10px; }
.review-actions { display:flex; flex-wrap:wrap; gap:20px; align-items:center; }
.review-actions label { display:flex; align-items:center; gap:6px; }
.review-actions select { font:inherit; color:#202321; background:#fafaf8; border:1px solid #aeb3aa; padding:7px; }

.work-led .contact-grid { display:grid; grid-template-columns:1fr 1.25fr; gap:9%; padding-top:42px; }
.work-led .contact-page h1 { font-size:clamp(34px,3.4vw,54px); margin-bottom:28px; }
.contact-lead { font-size:15px; line-height:1.9; color:var(--muted); word-break:keep-all; }
.work-led .contact-email { font-size:20px; letter-spacing:-.02em; border:0; margin-top:24px; }
.contact-channels { margin-top:28px; display:flex; flex-direction:column; align-items:flex-start; gap:3px; }
.work-led .contact-channels .contact-email { margin-top:0; min-height:44px; display:inline-flex; align-items:center; padding:0; }
.contact-channel { font-size:20px; letter-spacing:-.02em; min-height:44px; display:inline-flex; align-items:center; }
.contact-business { display:flex; flex-wrap:wrap; margin-top:22px; padding-top:12px; border-top:1px solid var(--line); font-size:13px; color:var(--muted); }
.contact-business a { min-height:44px; display:inline-flex; align-items:center; }
.work-led .contact-meta { display:block; margin-top:22px; font-size:13px; line-height:1.9; }
.form-notice { font-size:12px; line-height:1.8; color:var(--muted); margin:0 0 30px; }
.form-notice>span { display:block; margin-top:12px; }
#inquiry-form { min-width:0; }
#inquiry-form fieldset { border:0; border-top:1px solid var(--ink); padding:25px 0 28px; margin:0; min-width:0; }
#inquiry-form legend { padding:0 15px 0 0; font-size:15px; font-weight:550; }
#inquiry-form legend span { color:var(--muted); font-size:11px; margin-right:12px; font-weight:400; }
.inquiry-field { display:flex; flex-direction:column; gap:10px; font-size:13px; line-height:1.5; margin-bottom:23px; min-width:0; }
.inquiry-field input,.inquiry-field textarea { width:100%; min-width:0; border:0; border-bottom:1px solid var(--line); padding:12px 0; border-radius:0; background:transparent; color:var(--ink); font-size:16px; line-height:1.6; }
.inquiry-field textarea { resize:vertical; min-height:120px; }
.inquiry-field input::placeholder,.inquiry-field textarea::placeholder { color:var(--muted); opacity:.8; font-size:13px; }
.inquiry-field input:focus,.inquiry-field textarea:focus { outline:0; border-bottom-color:var(--ink); box-shadow:0 1px 0 var(--ink); }
.inquiry-columns { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.service-choice { margin:0 0 28px; font-size:13px; }
.service-choice p { margin:0 0 12px; }
.service-choice small { color:var(--muted); font-size:11px; margin-left:8px; }
.service-choice [role=group] { display:flex; flex-wrap:wrap; gap:8px; }
.service-choice label { position:relative; cursor:pointer; }
.service-choice input { position:absolute; opacity:0; width:1px; height:1px; }
.service-choice label span { display:block; border:1px solid var(--line); padding:12px 17px; }
.service-choice input:checked+span { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.service-choice input:focus-visible+span { outline:2px solid var(--ink); outline-offset:3px; }
.field-help { font-size:11px; color:var(--muted); line-height:1.7; margin:-10px 0 24px; }
#send-inquiry { display:flex; justify-content:space-between; width:100%; border:1px solid var(--ink); background:var(--ink); color:var(--paper); padding:18px 20px; font-size:14px; }
#inquiry-status { font-size:14px; line-height:1.7; margin:20px 0 0; }
#inquiry-status[data-state=error] { color:#f2b5c4; }
.inquiry-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
@media(max-width:800px) {
  .work-led .site-header { min-height:96px; padding-top:18px; padding-bottom:18px; }
  .work-led .small-mark { width:130px; }
  .site-intro { padding-top:16px; padding-bottom:64px; }
  .intro-mark { width:200px; }
  .intro-line { margin-top:30px; font-size:16px; }
  .intro-fact { margin-top:14px; font-size:12px; }
  /* 모바일: 전 작업 전체 폭 정사각(Order와 같은 방식). 크기 위계는 데스크톱에서만, 모바일 리듬은 이미지가 만든다.
     비율이 제각각이면 정사각·세로 썸네일이 16:9 대표보다 커져 위계가 뒤집힌다. 그래서 관리콘솔에 모바일 썸네일(1:1)을 따로 둔다. */
  .work-led .work-row { display:block; margin-bottom:0; }
  .work-led .project-card { margin-bottom:44px; }
  .work-led .project-card .media { aspect-ratio:1 / 1; }
  .work-led .project-card .media picture { display:contents; }
  .work-led .card-caption h2 { font-size:16px; }
  .work-led .site-header nav { gap:20px; font-size:13px; }

  .work-led .work-section { padding-top:8px; padding-bottom:65px; }


  .work-led .detail-summary { font-size:17px; }
  .work-led .contact-grid { grid-template-columns:1fr; gap:55px; padding-top:25px; }
  .work-led .contact-page h1 { font-size:38px; }
  .inquiry-columns { grid-template-columns:1fr; gap:0; }
  .work-led .review-note { flex-direction:column; gap:8px; }
  .work-led .review-note>span { max-width:100%; }
  .review-actions { gap:12px; font-size:10px; }
}
@media(max-width:640px) {
  .work-led { --gutter:20px; }
  .work-led .footer-top { flex-direction:column; align-items:start; gap:8px; }
  .work-led .footer-contact { flex-direction:column; align-items:start; gap:0; }
  .work-led .footer-bottom { flex-direction:column; align-items:flex-start; gap:6px; }
  .work-led .project-grid,.work-led .project-grid.single { grid-template-columns:1fr; gap:6px; }

  .work-led .card-arrow { opacity:1; }
}
@media(max-width:360px) {
  .work-led .small-mark { width:120px; }
  .work-led .site-header nav { gap:13px; font-size:12px; }
}
/* Studio: Contact와 같은 좌우 2분할 — 왼쪽 선언(고정), 오른쪽 하는 일·진행·문의. */
.studio-page { display:grid; grid-template-columns:minmax(0,4fr) minmax(0,5fr); column-gap:9%; padding:42px var(--gutter) 72px; color:var(--ink); }
:where(.studio-page) :where(p,h1,h2,h3,ul,ol) { margin:0; padding:0; list-style:none; word-break:keep-all; }
.studio-intro { position:sticky; top:40px; align-self:start; }
.studio-page h1 { font-size:clamp(34px,3.4vw,48px); font-weight:500; line-height:1.22; letter-spacing:-.055em; }
.studio-hero-sub,.studio-service-lead { font-size:clamp(17px,1.4vw,19px); line-height:1.7; letter-spacing:-.03em; text-wrap:balance; }
.studio-hero-sub { margin-top:28px; max-width:24em; }
.studio-bio { margin-top:36px; padding-top:18px; border-top:1px solid var(--line); font-size:14px; line-height:1.75; color:var(--muted); max-width:28em; }
.studio-block { padding-bottom:56px; }
.studio-block + .studio-block { border-top:1px solid var(--line); padding-top:22px; }
.studio-label { font-size:13px; font-weight:400; margin-bottom:20px; }
.studio-desc { font-size:15px; line-height:1.75; color:var(--muted); }
.studio-services { display:grid; grid-template-columns:1fr 1fr; gap:30px 32px; margin-top:28px; }
.studio-services h3 { font-size:20px; font-weight:400; letter-spacing:-.03em; margin-bottom:8px; }
.studio-examples { font-size:15px; line-height:1.6; }
.studio-services .studio-desc { font-size:14px; margin-top:4px; }
.studio-steps li { position:relative; display:grid; grid-template-columns:40px 1fr; padding-bottom:24px; }
.studio-steps li:last-child { padding-bottom:0; }
.studio-steps li:not(:last-child)::before { content:""; position:absolute; left:7px; top:30px; bottom:6px; width:1px; background:var(--line); }
.studio-steps span { grid-row:1 / span 2; font-size:13px; line-height:24px; color:var(--muted); font-variant-numeric:tabular-nums; }
.studio-steps h3 { grid-column:2; font-size:17px; font-weight:500; line-height:24px; margin-bottom:4px; }
.studio-steps p { grid-column:2; }
.studio-page .studio-inquiry h3 { font-size:28px; font-weight:400; letter-spacing:-.045em; line-height:1.3; margin-bottom:14px; }
.studio-inquiry a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:6px; text-decoration-thickness:1px; }
.studio-contact-links { display:flex; flex-wrap:wrap; gap:4px 24px; margin-top:18px; font-size:18px; }
.studio-form-link { font-size:14px; }
.studio-work-link { display:inline-flex; align-items:center; min-height:44px; margin-top:20px; font-size:14px; text-decoration:underline; text-underline-offset:5px; }
.studio-inquiry { padding-bottom:0; }
/* Studio already provides contact channels above its compact footer. */
.work-led.is-studio .site-footer { display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:0 24px; padding:20px 0; }
.work-led.is-studio .footer-top,.work-led.is-studio .footer-bottom { display:contents; }
.work-led.is-studio .footer-contact { display:none; }
.work-led.is-studio .footer-bottom > span { grid-column:1; grid-row:1; }
.work-led.is-studio .footer-top > a { grid-column:2; grid-row:1; font-size:13px; line-height:1.5; letter-spacing:normal; color:var(--muted); }
.work-led.is-studio .footer-meta { grid-column:3; grid-row:1; }
@media(max-width:800px) {
  .studio-page { grid-template-columns:1fr; padding-top:24px; padding-bottom:56px; }
  .studio-intro { position:static; margin-bottom:48px; }
  .studio-services { grid-template-columns:1fr; gap:24px; }
  .studio-label { font-size:15px; font-weight:600; }
  .studio-contact-links { font-size:16px; }
  .studio-services .studio-desc { font-size:15px; }
  .work-led.is-studio .site-footer { grid-template-columns:auto minmax(0,1fr); gap:12px 16px; }
  .work-led.is-studio .footer-bottom > span { grid-column:1 / -1; }
  .work-led.is-studio .footer-top > a { grid-column:1; grid-row:2; }
  .work-led.is-studio .footer-meta { grid-column:2; grid-row:2; gap:0 16px; }
}
.inquiry-heading { font-size:18px; font-weight:500; margin:0 0 12px; }
.menu-toggle { display:none; }
@media(max-width:800px) {
  .work-led .site-header { flex-wrap:nowrap; }
  .menu-toggle { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:5px; width:44px; height:44px; padding:10px; border:0; background:transparent; color:var(--ink); }
  .menu-toggle span { display:block; width:24px; height:1px; background:currentColor; }
  .work-led .site-header #primary-nav { display:none; }
  .work-led.menu-open .site-header { position:fixed; inset:0; z-index:100; height:100dvh; min-height:0; display:grid; grid-template-columns:1fr auto; grid-template-rows:56px minmax(0,1fr); align-items:center; background:#111312; color:#f3f4f1; padding:16px var(--gutter) max(24px,env(safe-area-inset-bottom)); }
  .work-led.menu-open .menu-toggle { color:#f3f4f1; }
  .work-led.menu-open .site-header #primary-nav { display:flex; grid-column:1/-1; flex-direction:column; align-items:stretch; justify-content:center; gap:12px; padding:30px 0; height:100%; overflow-y:auto; font-size:clamp(38px,9vw,64px); letter-spacing:-.035em; }
  .work-led.menu-open #primary-nav a { min-height:76px; flex-shrink:0; justify-content:flex-start; gap:12px; padding:12px 0; width:100%; }
  .work-led.menu-open #primary-nav a[aria-current=page] { text-decoration-thickness:2px; text-underline-offset:12px; }
  @media(max-height:450px) { .work-led.menu-open .site-header #primary-nav { justify-content:flex-start; padding:8px 0; gap:0; font-size:32px; } .work-led.menu-open #primary-nav a { min-height:60px; } }
  .menu-toggle[aria-expanded=true] span:first-child { transform:translateY(6px) rotate(45deg); }
  .menu-toggle[aria-expanded=true] span:nth-child(2) { opacity:0; }
  .menu-toggle[aria-expanded=true] span:last-child { transform:translateY(-6px) rotate(-45deg); }
}
