/* Mongol Travel Agency — Brand tokens */
:root {
  --mta-blue: #0077BE;
  --mta-blue-90: #1985C5;
  --mta-blue-80: #339ACF;
  --mta-blue-70: #5BB0DA;
  --mta-blue-60: #82C5E5;
  --mta-blue-30: #C9E4F2;
  --mta-blue-10: #ECF5FB;
  --mta-navy: #0e2142;
  --mta-navy-80: #2A3A55;
  --mta-navy-60: #5C6878;
  --mta-ink: #0c1424;
  --mta-paper: #ffffff;
  --mta-cream: #f7f4ee;
  --mta-line: #e6ebf2;
  --mta-muted: #6b7686;
}

[data-theme="dark"] {
  --mta-paper: #0a1322;
  --mta-cream: #0f1a2e;
  --mta-line: #1f2c44;
  --mta-ink: #e9eef7;
  --mta-muted: #8b97ad;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  color: var(--mta-ink);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  /* Japanese line-break (kinsoku shori): never put closing brackets like ） or
     vowel mark ー at the start of a line; wrap whole tokens cleanly. */
  line-break: strict;
  word-break: normal;
  overflow-wrap: break-word;
}
h1, h2, h3, h4, h5, h6, p, span, div, li, a, button {
  line-break: strict;
}

.font-display { font-family: "Oswald", "Zen Kaku Gothic New", sans-serif; font-weight: 700; letter-spacing: 0.02em; }
.font-serif-jp { font-family: "Shippori Mincho", "Noto Serif JP", serif; }
.font-mono { font-family: "JetBrains Mono", ui-monospace, Menlo, monospace; }

/* image placeholder utility */
.img-ph {
  background:
    linear-gradient(135deg, rgba(0,119,190,0.85), rgba(14,33,66,0.95)),
    repeating-linear-gradient(45deg, rgba(255,255,255,0.04) 0 12px, transparent 12px 24px);
  position: relative;
  overflow: hidden;
}
.img-ph::after {
  content: attr(data-label);
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,0.7); font-size: 11px; letter-spacing: 0.3em;
  text-transform: uppercase;
}

/* logo mark for headers */
.mta-mark { display: inline-block; }
