
  :root{
    --ink:#1a1815;
    --ink-2:#241f19;
    --bone:#f2ead9;
    --bone-deep:#e6d8bd;
    --soy:#1f3a2d;
    --soy-2:#172c22;
    --chilli:#8e480b;
    --brass:#026f38;
    --brass-soft:#6bc799;
    --green:#014a26;
    --line: rgba(26,24,21,0.15);
    --line-on-dark: rgba(242,234,217,0.2);
    --font-display:'Fraunces','Noto Serif SC','Songti SC','STSong','Noto Serif CJK SC',serif;
    --font-sans:'Inter','Noto Sans SC','PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans CJK SC',sans-serif;
    --max: 1200px;
    --pad: clamp(20px, 5vw, 68px);
    --ease: cubic-bezier(.22,.61,.36,1);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
  }
  body{
    margin:0; background:var(--bone); color:var(--ink);
    font-family:var(--font-sans); -webkit-font-smoothing:antialiased; line-height:1.5;
    position:relative;
  }
  /* subtle paper grain, whole document */
  body::before{
    content:""; position:fixed; inset:0; pointer-events:none; z-index:200;
    opacity:.05; mix-blend-mode:multiply;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
    background-size:180px 180px;
  }
  img{max-width:100%;height:auto;display:block;}
  picture{display:contents;}
  a{color:inherit;}
  ::selection{background:var(--chilli); color:var(--bone);}
/* Language controls are unavailable without JavaScript; English remains readable. */
.lang-switch { visibility: hidden; }
html.i18n-ready .lang-switch { visibility: visible; }
html:lang(zh) [data-name-secondary] { white-space:normal !important; font-family:var(--font-sans) !important; font-size:12px !important; font-weight:400 !important; letter-spacing:.01em !important; color:var(--soy); opacity:.82; }
html:lang(zh) .menu-section-title [data-name-secondary], html:lang(zh) .menu-subsection-title [data-name-secondary] { font-size:.5em !important; letter-spacing:.06em !important; }
