/* 공용 크롬 — 헤더·푸터·버튼 부품. styles.css 다음에 읽혀 그 값을 덮어쓴다. 모든 화면이 이 한 파일을 쓴다. */

/* 크롬은 다른 스타일시트 없이 혼자 선다. 아래 기본값이 없으면 페이지마다 헤더 높이·자리가 달라진다 */
.menu-toggle,.mobile-nav{display:none}
.reading-progress{position:absolute;left:0;bottom:0;width:100%;height:2px;transform:scaleX(0);transform-origin:left;background:#8fae58;pointer-events:none}
.site-header .brand,.site-header .desktop-nav,.header-actions{grid-row:1}

/* ── 헤더: 로고 | 가운데 메뉴 | 오른쪽 동작 ── 3열 그리드라 메뉴가 화면 정중앙에 온다 */
.site-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;height:86px;padding:0 48px;position:sticky;top:0;z-index:50;background:rgba(251,251,248,.94);backdrop-filter:blur(16px);border-bottom:1px solid #191c180a}
.site-header .brand{justify-self:start}
.site-header .desktop-nav{justify-self:center;margin:0;display:flex;gap:36px;font-size:14px;font-weight:550}
.site-header .desktop-nav a{position:relative;padding:6px 0;color:#3d4a36;transition:color .2s}
.site-header .desktop-nav a:hover{color:var(--ink)}
.site-header .desktop-nav a[aria-current=page]{color:var(--ink)}
.site-header .desktop-nav a[aria-current=page]::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:#8fae58;border-radius:2px}
.header-actions{justify-self:end;display:flex;align-items:center;gap:10px}

/* ── 버튼 부품: .button + dark | lime | ghost, small ── */
.button{display:inline-flex;align-items:center;justify-content:center;gap:34px;min-height:56px;padding:0 26px;border-radius:9px;font-size:15px;font-weight:600;border:1px solid transparent;transition:transform .2s,background .2s,border-color .2s,color .2s;cursor:pointer}
.button:hover{transform:translateY(-3px)}
.button span{font-size:19px}
.button.dark{background:var(--ink);color:#fff}
.button.dark:hover{background:#37422f}
.button.lime{background:var(--lime);color:var(--ink)}
.button.lime:hover{background:#c5f562}
.button.ghost{background:transparent;color:var(--ink);border-color:#191c1833}
.button.ghost:hover{background:#eef0e8;border-color:#191c1855}
.button.small{min-height:43px;font-size:13px;gap:20px;padding:0 20px}

/* 검색 — 글자와 아이콘이 같이 보이는 알약. 눈에 띄어야 한다 */
.header-search{gap:8px;padding:0 16px 0 14px}
.header-search svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.header-search .label{font-size:13px}

/* ── 푸터 ── */
.site-footer{padding-top:48px;padding-bottom:30px}
.footer-top{display:flex;align-items:center;gap:36px;padding-bottom:40px}
.footer-top>p{font-size:13px;color:#909684}
.footer-top>.text-link{margin-left:auto;font-size:12px}
.footer-bottom{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#929887;gap:20px}
.footer-bottom>div{display:flex;gap:22px}
.footer-bottom a{transition:color .2s}
.footer-bottom a:hover{color:var(--ink)}
.footer-bottom>span:last-child{font-size:9px;letter-spacing:.1em}

@media(max-width:1100px){
  .site-header{padding-inline:32px;gap:16px}
  .site-header .desktop-nav{gap:24px;font-size:13px}
}
@media(max-width:900px){
  .header-search .label{display:none}
  .header-search{padding:0 12px}
}
@media(max-width:760px){
  .site-header{grid-template-columns:auto 1fr;height:70px;padding:0 20px;gap:12px}
  .site-header .desktop-nav{display:none}
  .header-actions{gap:8px}
  .header-cta{display:none}
  .button.small{min-height:36px;font-size:11px;padding:0 12px;gap:12px}
  .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:8px 0 8px 8px;background:none;width:29px;border:0}
  .menu-toggle span{height:1px;width:21px;background:var(--ink)}
  .mobile-nav:not([hidden]){display:flex;position:absolute;top:70px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:20px;flex-direction:column;gap:22px;box-shadow:0 15px 20px #00000009}
  .mobile-nav a{font-size:17px}
  .mobile-nav a[aria-current=page]{color:#648b2d}
  .footer-top{gap:16px;flex-wrap:wrap;padding-bottom:27px}
  .footer-top>p{font-size:11px;order:3;width:100%}
  .footer-bottom{flex-direction:column;align-items:flex-start;font-size:10px;gap:14px;padding-top:21px}
  .footer-bottom>div{flex-wrap:wrap;gap:14px}
  .footer-bottom>span:last-child{display:none}
}

/* 로고 크기는 크롬이 정한다 — 페이지별 img 초기화(에이전시의 img{width:100%;height:100%})에 휘둘리지 않도록 */
.site-header .brand{display:inline-flex;align-items:center;width:auto;height:auto}
.site-header .brand-logo{height:36px;width:auto;max-width:none;object-fit:contain;display:block}
.site-footer .brand{display:inline-flex;align-items:center;width:auto}
.site-footer .brand-logo{height:30px;width:auto;max-width:none;object-fit:contain;display:block}
.site-footer .text-link span,.site-footer .text-link{font-size:12px}
@media(max-width:760px){.site-header .brand-logo{height:24px}.site-footer .brand-logo{height:24px}}

/* 크롬이 혼자서도 서도록 필요한 최소 규칙(홈 styles.css 와 같은 값). styles.css 를 읽지 않는 화면(에이전시)을 위해 */
.section-wrap{width:min(var(--content,1200px),calc(100% - 96px));margin-inline:auto}
.text-link{display:inline-flex;align-items:center;gap:24px;font-size:15px;font-weight:600}
.text-link span{font-size:22px;transition:transform .2s}
.text-link:hover span{transform:translate(3px,-3px)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:1100px){.section-wrap{width:calc(100% - 64px)}}
@media(max-width:760px){.section-wrap{width:calc(100% - 40px)}}

/* 사진 비율 자동 맞춤 — 모든 화면 공통 (판정은 chrome.js) */
[data-fit]{position:relative;overflow:hidden;background:#e9ecdf}
[data-fit]>img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;object-position:50% 18%}
[data-fit].fit-full>img{object-fit:contain;object-position:50% 50%}
[data-fit].fit-full::before{content:"";position:absolute;inset:-14%;z-index:0;background-image:var(--bg);background-size:cover;background-position:center;filter:blur(20px) saturate(1.12) brightness(1.04);opacity:.9}
.work-image .work-open,.tl-img .tl-badge{z-index:2}


/* V5 공용 크롬: 인쇄물의 얇은 선과 포레스트 잉크. */
.site-header{background:#fbfbf8f5;border-bottom:1px solid #cdd4c8;backdrop-filter:blur(12px)}
.site-header .desktop-nav a[aria-current=page]::after{background:#263624;height:1px}
.button,.header-cta{border-radius:3px}
.site-footer{background:#edf0e7;color:#263624;border-top:1px solid #cdd4c8}
/* V5: 푸터 배경이 콘텐츠 폭(1200px)에 갇히지 않게 — 폭은 100%, 내용은 패딩으로 section-wrap 과 같은 자리에 정렬 */
.site-footer.section-wrap{width:100%;max-width:none;padding-inline:max(48px,calc((100% - var(--content,1200px))/2))}
@media(max-width:1024px){.site-footer.section-wrap{padding-inline:32px}}
@media(max-width:760px){.site-footer.section-wrap{padding-inline:20px}}
.footer-top,.footer-bottom{border-color:#cdd4c8}
.footer-bottom{font-family:V5Mono,Pretendard,monospace}
