/* ==========================================================================
   Theme — "Editorial" (the Transitus house style)
   Cream ground · Deep Harbor Navy · Brass accent · serif display.
   Reference lane: premium-editorial law/advisory (AbdiLaw / Somesquare),
   made specific by the navy serif wordmark and real Tokyo photography.

   Fonts: UAT uses a cross-platform system serif for Latin + mincho for CJK
   (CSP-safe — no @import, no remote font). Production self-hosts a licensed
   serif under /assets/fonts and adds it to the head of these stacks.
   ========================================================================== */
:root {
  /* --- Fonts ------------------------------------------------------------- */
  /* Display: humanist old-style serif (Latin) + mincho (CJK). */
  --font-display: "Iowan Old Style", "Palatino Linotype", "Book Antiqua",
    Palatino, Georgia, "Yu Mincho", "YuMincho", "Hiragino Mincho ProN",
    "Noto Serif JP", "Noto Serif TC", "Songti TC", "MingLiU", serif;
  /* Body: humanist gothic sans, shared across JP/EN/ZH for parity. */
  --font-body: "Yu Gothic UI", "Yu Gothic", "Hiragino Kaku Gothic ProN",
    "Noto Sans JP", "Noto Sans TC", -apple-system, "Segoe UI", Roboto,
    system-ui, sans-serif;
  --tracking-display: -0.005em;

  /* Larger, more confident editorial display scale. */
  --fs-hero: clamp(2.6rem, 1.5rem + 4.4vw, 4.6rem);
  --fs-h1: clamp(2.1rem, 1.45rem + 2.6vw, 3.15rem);
  --fs-h2: clamp(1.5rem, 1.15rem + 1.5vw, 2.1rem);
  --fs-h3: 1.24rem;
  --fs-lg: clamp(1.12rem, 1.02rem + 0.5vw, 1.32rem);

  /* --- Grounds (warm cream family) -------------------------------------- */
  --page: #f2ece0;       /* warm cream — the body ground */
  --surface: #fbf8f2;    /* raised cream — cards, panels */
  --band: #e9e1d2;       /* deeper cream — alternate section bands */
  --tint: #ece4d5;       /* warm tint — callouts, profile card */

  /* --- Text ------------------------------------------------------------- */
  --ink: #161c2b;        /* highest-contrast text (leads, labels) */
  --body: #39404f;       /* default reading colour (8.8:1 on cream) */
  --muted: #5a6170;      /* meta only (4.6:1 on cream) */
  --line: #d9cfbc;       /* hairlines, warm to sit on cream */
  --line-strong: #c4b79d;

  /* --- Brand ------------------------------------------------------------ */
  --navy: #14213d;       /* anchor — from the logo wordmark */
  --navy-soft: #3c4762;  /* secondary navy (subheads, captions) */
  --accent: #a9843f;     /* brass — fills, marks, buttons */
  --accent-hover: #8f6c30;
  --accent-strong: #7a5e2c; /* brass-dark — brass TEXT on cream (5.1:1) */
  --accent-ink: #14213d; /* text on brass fills (navy, 4.6:1) */
  /* Action — a brighter marigold reserved for the primary enquiry button, so
     the call-to-action pops off the navy grounds without disturbing the brass
     that carries the rest of the identity. Navy ink on it clears ~8:1. */
  --action: #e29a1e;
  --action-hover: #cc861a;
  --action-ink: #14213d;

  /* --- Hero (photo + navy scrim) ---------------------------------------- */
  --hero-scrim: linear-gradient(
      104deg,
      rgba(11, 20, 40, 0.92) 0%,
      rgba(12, 22, 44, 0.78) 42%,
      rgba(14, 26, 52, 0.30) 74%,
      rgba(16, 30, 58, 0.12) 100%),
    linear-gradient(0deg, rgba(9, 17, 34, 0.55) 0%, rgba(9, 17, 34, 0) 46%);
  --hero-ink: #fbf7ef;
  --hero-sub: #d6ddea;
  --hero-eyebrow: #dcb877;   /* brass, lightened for navy ground */

  /* --- Footer ----------------------------------------------------------- */
  --footer-bg: #0f1930;
  --footer-ink: #c3cbdb;
  --footer-hover: #dcb877;

  /* --- System overrides (warmer shadow, matching radius) ---------------- */
  --radius: 12px;
  --radius-lg: 18px;
  --shadow: 0 14px 40px rgba(31, 22, 8, 0.10);
  --shadow-lift: 0 22px 60px rgba(31, 22, 8, 0.15);
}

/* Editorial signature: the lead paragraph is set in the display serif, a
   touch larger and airier — the "reassure before it informs" opening voice. */
.lead {
  font-family: var(--font-display);
  font-weight: 400;
  line-height: 1.68;
  letter-spacing: 0.002em;
}

/* Softer, composed cross-document transition for the formal register. */
::view-transition-old(root), ::view-transition-new(root) { animation-duration: 0.48s; }
