/*
  New-design tokens (v5 / Astra migration).
  Two names collide with the legacy tokens in ../style.css and are renamed:
    --border        -> --op-border
    --font-heading  -> --op-font-heading (points at the renamed local subset font)
  --header-height defaults to the legacy 68px so existing subpage sections
  (margin-top: 68px, hardcoded throughout style.css) are not affected.
  body.is-top (index.html only) restores the taller v5 header height.
*/
:root {
  color-scheme: light;
  --background: #fff;
  --surface: #fafbff;
  --primary-text: #121a2b;
  --secondary-text: #5b6375;
  --accent-blue: #4c70dd;
  --accent-purple: #8771cf;
  --accent-rgb: 99, 115, 220;
  --gradient: linear-gradient(110deg, #5984e7, #9c82de);
  --gradient-type: linear-gradient(105deg, #4a608a, #717fa9 60%, #9a87b3);
  --glow: 0 16px 60px rgba(80, 98, 191, .1);
  --op-border: rgba(168, 177, 204, .25);
  --border-hover: rgba(142, 150, 220, .5);
  --radius-panel: 22px;
  --metric-padding: clamp(28px, 3.6vw, 60px);
  --hover-blue: #728cf6;
  --hover-purple: #9e77ec;
  --radius-button: 999px;
  --shadow: 0 24px 70px -26px rgba(47, 62, 119, .1), 0 2px 6px rgba(45, 57, 95, .018);
  --font-jp: "TV Opening Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  --font-latin: "Helvetica Neue", Arial, sans-serif;
  --font-number: "Cormorant Garamond", "Times New Roman", serif;
  --op-font-heading: "TV Opening Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  --font-body: 1rem;
  --font-label: .875rem;
  --font-hero: clamp(3.7rem, 5.8vw, 5.85rem);
  --font-hero-lead: .77em;
  --weight-hero-lead: 400;
  --weight-hero-main: 500;
  --tracking-number: -.028em;
  --line-height: 1.8;
  --line-height-heading: 1.43;
  --container-width: 1376px;
  --page-gutter: clamp(26px, 6.3vw, 112px);
  --section-spacing: clamp(100px, 10vw, 160px);
  --header-height: 68px;
  --duration-hover: 550ms;
  --duration-flow: 23000ms;
  --easing: cubic-bezier(.22, 1, .36, 1);
  --flow-opacity: 1;
  --flow-mobile-opacity: .82;
  --flow-drift-x: 7px;
  --flow-drift-y: -8px;
  --flow-scale: 1.025;
  --flow-scale-back: 1.018;
}
body.is-top { --header-height: 108px; }
@media (max-width: 1120px) {
  body.is-top { --header-height: 98px; }
}
@media (max-width: 760px) {
  body.is-top { --header-height: 82px; }
}
