      @font-face { font-family: Gallery; src: url("./fonts/Montserrat-Medium.woff") format("woff"); font-weight: 500; font-display: block; }
      main { display: grid; place-items: center; min-height: 62dvh; padding: 4vw; }
      h1 { width: 100%; margin: 0; color: var(--page-ink); line-height: .91; text-align: center; white-space: nowrap; opacity: 0; transform: translateY(8px) scale(calc(var(--fit, 1) * .9)); animation: logo .9s ease-out .2s forwards; }
      h1 span { display: block; }
      .midbar { font: 800 clamp(4.3rem,19.8vw,19.3rem)/1 "Montserrat ExtraBold", Arial, sans-serif; letter-spacing: -.05em; }
      .gallery { font: 500 clamp(1.6125rem,7.425vw,7.2375rem)/1 Gallery, Arial, sans-serif; letter-spacing: -.045em; }
      .fair { display: grid; place-items: start center; padding: clamp(1.5rem, 3vw, 2.5rem) 6vw clamp(6rem, 12vw, 10rem); text-align: center; }
      .fair-card { display: grid; place-content: center; width: min(100%, 1080px); min-height: clamp(250px, 32vw, 440px); padding: 8vw 6vw; color: inherit; text-decoration: none; background: linear-gradient(135deg, #ececec, #f8f8f8); opacity: 0; transform: translateY(12px); animation: fair-in .9s ease-out .35s forwards; }
      @media (prefers-color-scheme: dark) { .fair-card { background: linear-gradient(135deg, #161616, #080808); } }
      .fair-card:hover, .fair-card:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
      .fair p { margin: 0; font: 500 clamp(1rem, 2.1vw, 1.6rem)/1.45 Gallery, Arial, sans-serif; letter-spacing: -.02em; }
      .fair p + p { margin-top: .25rem; }
      .fair .korean { margin-top: clamp(2rem, 5vw, 3.5rem); }
      footer { display: flex; justify-content: center; align-items: center; gap: 16px; padding: 112px 5vw 72px; font-size: 22px; }
      .footer-brand { font-family: "Montserrat ExtraBold", sans-serif; font-weight: 800; }
      .footer-brand span { margin-left: 4px; font-family: Gallery, sans-serif; font-weight: 500; }
      .social { display: flex; gap: 8px; margin-left: 4px; }
      .social a { color: inherit; }
      .icon { position: relative; display: block; width: 22px; height: 22px; }
      .instagram { border: 2px solid currentColor; border-radius: 6px; }
      .instagram::before { content: ""; position: absolute; width: 7px; height: 7px; border: 1.5px solid currentColor; border-radius: 50%; top: 5px; left: 5px; }
      .instagram::after { content: ""; position: absolute; width: 3px; height: 3px; border-radius: 50%; background: currentColor; top: 3px; right: 3px; }
      @keyframes logo { to { opacity: 1; transform: translateY(0) scale(calc(var(--fit, 1) * .9)); } }
      @keyframes fair-in { to { opacity: 1; transform: translateY(0); } }
      @media (max-width: 768px) { main { padding: 3vw; } .midbar { font-size: clamp(3.6rem,21.5vw,9.5rem); } .gallery { font-size: clamp(1.35rem,8.0625vw,3.5625rem); } footer { padding: 112px 6vw 72px; } }
