/* Modern typography refinements (non-destructive overrides) */
:root{
  --text: #222;
  --link: #0e419a;
  --link-hover: #163c7e;
}

/* Base typography */
html{ font-size: 16px; }
body{
  font-family: Inter, "Noto Sans JP", system-ui, -apple-system, "Segoe UI",
               "Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic UI",
               "Yu Gothic", Meiryo, sans-serif;
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  letter-spacing: .02em;
  line-height: 1.7;
  font-size: clamp(15px, 1.6vw, 18px);
}

/* Flow content rhythm */
p{ margin: 0 10px 1.1em; padding: 0 20px; }
h2, h3{
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .01em;
  margin: .9em 10px .5em;
  padding: 0 20px;
}
h2{ font-size: clamp(20px, 3.8vw, 28px); }
h3{ font-size: clamp(18px, 3.2vw, 24px); }

/* Links */
a{ color: var(--link); text-decoration: none; }
a:hover{ color: var(--link-hover); }

/* Footer scope-only white links (fix global override) */
.ft a{ color:#fff; }
.ft a:hover{ color:#fff; }
