@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600;1,700&family=Noto+Serif+KR:wght@400;500;600;700&display=swap');
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.css');

:root {
  --font-brand: 'Bodoni Moda';
  --font-section: 'Bodoni Moda';
  --font-slogan: 'Noto Serif KR';
  --font-body: 'Pretendard';
}
body, input, select, textarea, button, nav, footer {
  font-family: var(--font-body);
}
.controls button, .threads { font-family: var(--font-body); }
.brand, .brand em, .hero h1, .hero h1 span, .page-title {
  font-family: var(--font-brand);
}
.section-heading h2, .english-section-title {
  font-family: var(--font-section);
  font-style: italic;
}
.hero .slogan { font-family: var(--font-slogan); }

/* 모든 페이지의 상단 메뉴. 문의 버튼의 원래 크기는 숨긴 원문이 유지합니다. */
.page .header nav a { position: relative; }
.page .header nav .menu-size { visibility: hidden; }
.page .header nav .menu-label {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: 18px;
  white-space: nowrap;
}
.page .header .inquiry { position: relative; }
.page .header .inquiry .inquiry-size { visibility: hidden; }
.page .header .inquiry .inquiry-label {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  font-size: 18px;
  white-space: nowrap;
  transition: none;
}
.page .header .inquiry:hover > span { transform: none; }
.page .header .inquiry:hover .inquiry-label > span { transform: translateX(4px); }

/* 새 탭 상세 페이지에만 적용하는 공통 글자 크기 체계 */
.page:is(.about-page, .services-page, .portfolio-page, .inquiry-page) {
  --detail-title-size: 52px;
  --detail-heading-size: 24px;
  --detail-section-size: 20px;
  --detail-card-size: 18px;
  --detail-body-size: 15px;
  --detail-note-size: 13px;
}
.page:is(.about-page, .services-page, .portfolio-page, .inquiry-page) .page-title {
  font-size: var(--detail-title-size);
}
.page:is(.about-page, .services-page, .portfolio-page, .inquiry-page) :is(.about-tagline, .services-subtitle, .intro) {
  font-size: var(--detail-heading-size);
}
.page:is(.about-page, .services-page, .portfolio-page, .inquiry-page) :is(.studio-name, .company-copy h2, .company-copy h2 .english, .services-section h2, .process-section h2, .project-heading) {
  font-size: var(--detail-section-size);
}
.page:is(.about-page, .services-page, .portfolio-page, .inquiry-page) :is(.about-service h3, .detail-card h3, .work-card h3, .contact-banner, .submit-button, .play-video) {
  font-size: var(--detail-card-size);
}
.page:is(.about-page, .services-page, .portfolio-page, .inquiry-page) :is(.about-description, .company-copy p, .about-service p, .process-list li, .services-description, .detail-card p, .portfolio-intro, .featured-description, .work-card p, .video-unavailable p, .field label, input, select, textarea, .consent-label) {
  font-size: var(--detail-body-size);
}
.page:is(.about-page, .services-page, .portfolio-page, .inquiry-page) :is(.step-number, .asset-note, .missing-image, .video-unavailable .availability, .privacy-note, .integration-note, .form-status, .field-error, footer p, footer small) {
  font-size: var(--detail-note-size);
}
/* 제목과 남은 가로 공간을 연결하며 장식 없이 1px 선만 표시 */
.page:is(.services-page, .portfolio-page) .page-title {
  display: flex;
  align-items: center;
  gap: 24px;
}
.page:is(.services-page, .portfolio-page) .page-title::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--lavender);
}
