/* FLAWLESS RESIN recovery font override
   Original layout/spacing is preserved; only font families are replaced.
   No external font service is required. */

:root,
html {
  --font-noto-sans-jp: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", "Yu Gothic", "YuGothic", Meiryo, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-noto-serif-jp: "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", "YuMincho", Georgia, "Times New Roman", serif;
  --font-geist-mono: "SF Mono", "Cascadia Mono", "Cascadia Code", Consolas, Menlo, "Liberation Mono", monospace;
}

/* Preserve original sizes/weights/letter-spacing/line-height from the recovered CSS. */
html,
body,
.font-sans {
  font-family: var(--font-noto-sans-jp) !important;
}

.font-heading {
  font-family: var(--font-noto-serif-jp) !important;
}

.font-mono,
code,
kbd,
samp,
pre {
  font-family: var(--font-geist-mono) !important;
}

/* --------------------------------------------------------------------
   New markup added during the 2026-08 content update (logo images,
   contact inquiry form). The compiled Tailwind CSS chunks only contain
   utility classes that were actually used in the original build, so
   any new utility class name here would silently do nothing. These
   rules are hand-written instead, reusing the site's existing CSS
   custom properties for color/spacing consistency.
   -------------------------------------------------------------------- */

.recovered-logo {
  display: block;
  height: 1.25rem;
  width: auto;
}
@media (min-width: 768px) {
  .recovered-logo {
    height: 1.5rem;
  }
}
.recovered-logo--footer {
  display: block;
  height: 1rem;
  width: auto;
}

#contact-form {
  margin-top: 5rem;
  padding-top: 3.5rem;
  border-top: 1px solid var(--border);
}
.contact-form-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  margin-top: 2rem;
}
@media (min-width: 640px) {
  .contact-form-grid {
    grid-template-columns: 1fr 1fr;
  }
}
.contact-form-field {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.contact-form-field--wide {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  grid-column: 1 / -1;
}
.contact-form-field-label {
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  color: var(--muted-foreground);
}
.contact-form-input {
  border: 1px solid var(--border);
  background: var(--card);
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  color: var(--foreground);
  font-family: inherit;
  outline: none;
  transition: border-color 0.2s ease;
}
.contact-form-input:focus {
  border-color: var(--primary);
}
.contact-form-submit-wrap {
  grid-column: 1 / -1;
}
.contact-form-submit {
  background: var(--primary);
  color: var(--primary-foreground);
  padding: 1rem 2.5rem;
  font-family: var(--font-geist-mono);
  font-size: 0.875rem;
  letter-spacing: 0.2em;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.contact-form-submit:hover {
  background: var(--foreground);
}
