/* ============================================================
   VNYC UI System 2026 — global normalization layer (loaded LAST)
   Balanced: font enforcement + unified buttons + eyebrow + base type.
   Does NOT force container widths or hero h1 sizes (keeps intentional layout).
   ============================================================ */
:root{
  --vnyc-font-display:'Playfair Display',Georgia,'Times New Roman',serif;
  --vnyc-font-body:'Lato',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --ln-font-display:var(--vnyc-font-display);
  --ln-font-body:var(--vnyc-font-body);
  --ui-gold:#BDA632; --ui-gold-d:#9C8826; --ui-navy:#052338; --ui-navy-2:#0A2A43;
  --ui-ink:#0A2A43; --ui-ivory:#F7F4EC; --ui-border:#e4e9f1;
}
html[lang="zh"]{--vnyc-font-display:'Noto Serif SC','Playfair Display',serif;--vnyc-font-body:'Noto Sans SC','Lato',sans-serif}
html[lang="ko"]{--vnyc-font-display:'Noto Serif KR','Playfair Display',serif;--vnyc-font-body:'Noto Sans KR','Lato',sans-serif}

/* ── Font enforcement (fixes pages missing fonts-v1 → Georgia) ── */
body{font-family:var(--vnyc-font-body)}
h1,h2,h3,h4,h5{font-family:var(--vnyc-font-display)}
h1,h2,h3{letter-spacing:-.01em;line-height:1.18}
/* eyebrow = sans, brand gold, uppercase */
.eyebrow,.eyebrow *{font-family:var(--vnyc-font-body);font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-size:.8rem;color:var(--ui-gold-d)}

/* ── Gentle base scale for sub-headings (bare/common; heroes keep their own) ── */
h2{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:700}
h3{font-size:clamp(1.2rem,1.8vw,1.45rem);font-weight:600}
h4{font-size:1rem;font-weight:700}

/* ════════ Unified BUTTON system ════════ */
.btn,.btn-primary,.btn-secondary,.btn-gold,.btn--gold,.btn-outline,.btn-cta-gold,
.btn-cta-gold-hero,.btn-svc-primary,.btn-svc-outline,.btn-rm-gold,.btn-rm-ghost,
.btn-tm-gold,.btn-tm-ghost,.btn-cta-ghost{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--vnyc-font-body);font-weight:700;font-size:.95rem;line-height:1;
  letter-spacing:.01em;padding:14px 28px;border-radius:999px;cursor:pointer;
  text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s,color .2s,border-color .2s;
  border:1.5px solid transparent;white-space:nowrap}
/* GOLD (primary) variants → one look */
.btn-primary,.btn-gold,.btn--gold,.btn-cta-gold,.btn-cta-gold-hero,.btn-svc-primary,
.btn-rm-gold,.btn-tm-gold{
  background:var(--ui-gold);color:var(--ui-navy);border-color:var(--ui-gold);
  box-shadow:0 6px 20px rgba(189,166,50,.28)}
.btn-primary:hover,.btn-gold:hover,.btn--gold:hover,.btn-cta-gold:hover,
.btn-cta-gold-hero:hover,.btn-svc-primary:hover,.btn-rm-gold:hover,.btn-tm-gold:hover{
  background:var(--ui-gold-d);border-color:var(--ui-gold-d);color:#fff;
  transform:translateY(-2px);box-shadow:0 10px 28px rgba(189,166,50,.38)}
/* GHOST / OUTLINE (secondary) variants → one look */
.btn-secondary,.btn-outline,.btn-svc-outline,.btn-rm-ghost,.btn-tm-ghost,.btn-cta-ghost{
  background:transparent;color:var(--ui-navy);border-color:var(--ui-border);box-shadow:none}
.btn-secondary:hover,.btn-outline:hover,.btn-svc-outline:hover,.btn-rm-ghost:hover,
.btn-tm-ghost:hover,.btn-cta-ghost:hover{
  background:var(--ui-ivory);border-color:var(--ui-gold);color:var(--ui-gold-d);transform:translateY(-2px)}
/* ghost buttons on dark/navy sections stay legible */
.section-navy .btn-secondary,.section-navy .btn-outline,.hero .btn-secondary,.hero .btn-outline{
  color:#fff;border-color:rgba(255,255,255,.45)}
.section-navy .btn-secondary:hover,.section-navy .btn-outline:hover,
.hero .btn-secondary:hover,.hero .btn-outline:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff}
