/* The chosen direction uses a bundled Korean font at readable sizes. */
@font-face {
  font-family: "Pretendard Variable";
  src: url("assets/fonts/pretendard/PretendardVariable.woff2") format("woff2");
  font-style: normal;
  font-weight: 45 920;
  font-display: swap;
}

.theme-blend,
.gallery-page {
  --font-ui: "Pretendard Variable", "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", "Malgun Gothic", sans-serif;
  font-family: var(--font-ui);
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: -.015em;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.theme-blend h1,
.theme-blend h2,
.theme-blend h3,
.gallery-page h1,
.gallery-page h2 {
  font-family: var(--font-ui);
  letter-spacing: -.035em;
}

.theme-blend .brand-word,
.gallery-page .brand-word { font-size: 27px; font-weight: 750; letter-spacing: -.055em; }
.theme-blend .brand-work,
.gallery-page .brand-work { font-size: .58em; font-style: normal; font-weight: 600; letter-spacing: -.025em; margin-left: 5px; }
.theme-blend .brand-mark,
.gallery-page .brand-mark { font: 750 32px/1 var(--font-ui); color: var(--accent); letter-spacing: -.065em; width: 34px; }
.theme-blend .site-header nav > a { font-size: 14px; }
.theme-blend .nav-cta { font-size: 14px; font-weight: 600; }
.theme-blend .eyebrow { font-size: 12px; font-weight: 550; letter-spacing: .065em; }
.theme-blend .button { font-size: 15px; line-height: 1.5; }
.theme-blend .review-bar,
.theme-blend .blend-originals { font-size: 12px; }
.theme-blend .review-current { font-size: 12px; }
.theme-blend .concept-note > summary { font-size: 13px; }
.theme-blend .concept-note > div { font-size: 14px; }

.blend-hero { gap: 64px; }
.blend-intro > .eyebrow { font-size: 14px; letter-spacing: -.015em; font-weight: 600; }
.blend-hero h1 { font-size: 52px; line-height: 1.4; font-weight: 650; letter-spacing: -.045em; }
.blend-greeting { font-size: 18px; line-height: 1.85; letter-spacing: -.025em; }
.blend-experience { font-size: 16px; line-height: 1.9; }
.blend-experience strong { font-weight: 500; }
.blend-hero-actions .button { padding-inline: 20px; gap: 20px; }
.blend-jump { font-size: 14px; }
.blend-signature { gap: 17px; }
.blend-monogram { font: 600 58px/1 var(--font-ui); letter-spacing: -.08em; padding-right: 0; }
.blend-signature strong { font: 700 21px/1.3 var(--font-ui); letter-spacing: -.035em; }
.blend-signature p { font-size: 13px; margin-top: 5px; }
.blend-paper h2 { font-size: 32px; line-height: 1.45; font-weight: 600; letter-spacing: -.035em; }
.blend-paper-top { font-size: 11px; letter-spacing: .07em; }
.blend-paper-caption { font-size: 14px; }
.blend-promises li > span { font-size: 12px; padding-top: 3px; }
.blend-promises h3 { font-size: 17px; font-weight: 600; line-height: 1.5; }
.blend-promises p { font-size: 14px; line-height: 1.8; }
.blend-paper-bottom p { font-size: 14px; line-height: 1.8; }

.blend-section-heading h2 { font-size: 36px; line-height: 1.45; font-weight: 600; }
.blend-section-heading > p { font-size: 16px; line-height: 1.85; }
.blend-service-tag { font-size: 14px; }
.blend-ax h3 { font-size: 29px; line-height: 1.5; font-weight: 600; }
.blend-ax-intro > p:not(.blend-service-tag) { font-size: 16px; line-height: 1.85; }
.blend-ax .text-button { font-size: 15px; }
.blend-ax-output > .eyebrow { font-size: 14px; letter-spacing: -.015em; }
.blend-ax-output li > span { font-size: 12px; }
.blend-ax-output strong { font-size: 16px; }
.blend-ax-output li p { font-size: 15px; line-height: 1.8; }
.blend-ax-note { font-size: 13px; line-height: 1.8; }
.blend-build-label { font-size: 14px; }
.blend-build-row .index { font-size: 12px; }
.blend-build-name strong { font-size: 22px; font-weight: 600; letter-spacing: -.035em; }
.blend-build-name small { font-size: 15px; line-height: 1.8; }
.blend-build-description { font-size: 16px; line-height: 1.85; }
.blend-build-description small { font-size: 14px; line-height: 1.8; }

.blend-letter-heading h2 { font-size: 36px; font-weight: 600; line-height: 1.5; letter-spacing: -.035em; }
.blend-letter-heading > p { font-size: 17px; line-height: 1.85; }
.blend-letter-heading > .text-button { font-size: 14px; }
.blend-letter-body .index { font-size: 12px; }
.blend-letter-body h3 { font-size: 21px; font-weight: 600; line-height: 1.6; letter-spacing: -.03em; }
.blend-letter-body p { font-size: 16px; line-height: 1.9; }
.blend-scope-top h3 { font-size: 18px; }
.blend-scope-top > span { font-size: 11px; }
.blend-scope-table dt { font-size: 16px; }
.blend-scope-table dt span { font-size: 12px; }
.blend-scope-table dd strong { font-size: 17px; font-weight: 600; }
.blend-scope-table dd p { font-size: 16px; line-height: 1.85; }
.blend-steps li > span { font-size: 12px; }
.blend-steps h3 { font-size: 18px; font-weight: 600; }
.blend-steps p { font-size: 14px; line-height: 1.8; }
.blend-change,
.blend-change > span,
.blend-change p { font-size: 14px; line-height: 1.8; }
.blend-change strong { font-size: inherit; }
.blend-deliverables .index { font-size: 12px; }
.blend-deliverables h3 { font-size: 25px; font-weight: 600; letter-spacing: -.035em; }
.blend-deliverables p { font-size: 16px; line-height: 1.85; }
.blend-license { font-size: 14px; line-height: 1.85; }
.theme-blend .faq-section h2 { font-size: 34px; line-height: 1.5; font-weight: 600; }
.theme-blend .faq-list summary { font-size: 17px; line-height: 1.6; font-weight: 550; }
.theme-blend .faq-list details p { font-size: 16px; line-height: 1.85; }
.theme-blend .contact-section h2 { font-family: var(--font-ui); font-size: 46px; line-height: 1.45; font-weight: 600; letter-spacing: -.04em; }
.theme-blend .contact-section p:not(.eyebrow) { font-size: 16px; line-height: 1.85; }
.theme-blend .site-footer > p,
.theme-blend .site-footer > a:last-child { font-size: 13px; }

.theme-blend .inquiry-dialog h2 { font-size: 32px; line-height: 1.4; }
.theme-blend .inquiry-dialog label { font-size: 15px; }
.theme-blend .inquiry-dialog select,
.theme-blend .inquiry-dialog textarea { font-size: 16px; }
.theme-blend .dialog-notice,
.theme-blend .form-note,
.theme-blend .inquiry-result > p { font-size: 13px; line-height: 1.8; }
.theme-blend .inquiry-result pre { font: 15px/1.8 var(--font-ui); }

.gallery-page .blend-feature-copy > .eyebrow { font-size: 12px; }
.gallery-page .blend-feature-copy h2 { font-size: 39px; line-height: 1.45; font-weight: 600; letter-spacing: -.035em; }
.gallery-page .blend-feature-copy > p:not(.eyebrow) { font-size: 16px; line-height: 1.85; }
.gallery-page .blend-feature-equation { font-size: 14px; flex-wrap: wrap; }
.gallery-page .blend-feature-equation b { font-size: 14px; }
.gallery-page .blend-feature .button { font-size: 15px; }
.gallery-page .blend-feature-mobile { font-size: 14px; }
.gallery-page .blend-feature-image > span { font-size: 12px; }
.gallery-page .gallery-hero h1 { font-size: 43px; line-height: 1.4; font-weight: 600; }
.gallery-page .gallery-intro > p:first-child { font-size: 19px; }
.gallery-page .gallery-intro > p:last-child,
.gallery-page .card-purpose { font-size: 16px; }
.gallery-page .foundation { font-size: 13px; }
.gallery-page .concept-card dl > div,
.gallery-page .card-links { font-size: 14px; }
.gallery-page .comparison-table th,
.gallery-page .comparison-table td { font-size: 15px; }
.gallery-page .recommendation h2 { font-family: var(--font-ui); }
.gallery-page .recommendation p { font-size: 16px; }
.gallery-page .review-boundaries p,
.gallery-page .gallery-footer { font-size: 13px; }

@media (max-width: 1100px) {
  .blend-hero { gap: 36px; }
  .blend-hero h1 { font-size: 42px; }
  .blend-paper { padding-inline: 26px; }
  .blend-paper h2 { font-size: 29px; }
  .blend-section-heading { align-items: flex-start; }
  .blend-section-heading h2 { font-size: 32px; }
  .blend-build-name strong { font-size: 20px; }
  .blend-letter-heading h2 { font-size: 32px; }
  .blend-letter-body h3 { font-size: 20px; }
  .blend-change { align-items: flex-start; flex-direction: column; gap: 10px; }
  .gallery-page .blend-feature-copy h2 { font-size: 34px; }
}

@media (min-width: 761px) and (max-width: 900px) {
  .blend-hero { grid-template-columns: 1fr; gap: 38px; }
  .blend-hero h1 { font-size: 48px; }
  .blend-paper { max-width: 560px; padding: 30px; }
  .blend-paper h2 br:first-child { display: none; }
  .blend-section-heading { display: block; }
  .blend-section-heading > p { max-width: none; margin-top: 20px; }
  .blend-ax { grid-template-columns: 1fr; gap: 28px; }
  .blend-ax-intro > p:not(.blend-service-tag) { max-width: none; }
  .blend-ax-output { padding: 25px 0 0; border-left: 0; border-top: 1px solid var(--line); }
  .blend-letter-layout { grid-template-columns: 1fr; gap: 32px; }
  .blend-deliverables { grid-template-columns: 1fr; gap: 26px; }
  .theme-blend .faq-section { grid-template-columns: 1fr; gap: 30px; }
  .theme-blend .contact-section > .wrap { align-items: flex-start; flex-direction: column; gap: 30px; }
}

@media (max-width: 760px) {
  .theme-blend .brand-word,
  .gallery-page .brand-word { font-size: 24px; }
  .theme-blend .brand-mark,
  .gallery-page .brand-mark { font-size: 28px; width: 30px; }
  .theme-blend .nav-cta { font-size: 14px; }
  .theme-blend .review-bar,
  .theme-blend .review-current,
  .theme-blend .blend-originals { font-size: 11px; }
  .theme-blend .concept-note > summary { font-size: 12px; }
  .blend-hero h1 { font-size: clamp(29px, 8.8vw, 42px); line-height: 1.45; margin-block: 24px; }
  .blend-intro > .eyebrow { font-size: 13px; }
  .blend-greeting { font-size: 17px; }
  .blend-experience { font-size: 16px; line-height: 1.85; }
  .blend-hero-actions { align-items: flex-start; gap: 14px 22px; }
  .blend-signature p { font-size: 13px; }
  .blend-monogram { font-size: 48px; }
  .blend-paper { padding: 26px 23px; }
  .blend-paper h2 { font-size: 28px; line-height: 1.5; }
  .blend-promises li { gap: 13px; padding-block: 19px; }
  .blend-promises h3 { font-size: 16px; }
  .blend-section-heading h2,
  .blend-letter-heading h2 { font-size: 30px; line-height: 1.5; }
  .blend-section-heading > p { font-size: 16px; line-height: 1.85; }
  .blend-ax h3 { font-size: 27px; }
  .blend-build-row .index { font-size: 11px; }
  .blend-build-name strong { font-size: 20px; }
  .blend-letter-body h3 { font-size: 19px; line-height: 1.6; }
  .blend-scope-top h3 { font-size: 17px; }
  .blend-scope-table dt { font-size: 15px; }
  .blend-scope-table dd strong { font-size: 16px; }
  .blend-steps h3 { font-size: 17px; }
  .blend-steps li > span { font-size: 11px; }
  .blend-deliverables h3 { font-size: 23px; }
  .theme-blend .faq-section h2 { font-size: 30px; }
  .theme-blend .faq-list summary { font-size: 16px; }
  .theme-blend .contact-section h2 { font-size: 34px; }
  .theme-blend .inquiry-dialog h2 { font-size: 29px; }
  .gallery-page .blend-feature-copy > .eyebrow { font-size: 11px; }
  .gallery-page .blend-feature-copy h2 { font-size: 31px; }
  .gallery-page .gallery-hero h1 { font-size: 33px; }
  .gallery-page .blend-feature-inner { padding-inline: 23px; }
}

@media (max-width: 370px) {
  .blend-paper { padding-inline: 20px; }
  .blend-paper h2 { font-size: 25px; }
  .blend-section-heading h2,
  .blend-letter-heading h2 { font-size: 28px; }
  .blend-steps { gap: 26px 16px; }
  .blend-steps h3 { font-size: 16px; }
  .gallery-page .blend-feature-copy h2 { font-size: 28px; }
  .gallery-page .blend-feature-copy > .eyebrow { font-size: 10px; }
}
