/* Shared by every page: fonts, brand tokens, buttons, form controls.
   Brand = Noble Mono navy/royal blue + gold (Company Profile tokens); A5 = beef red + marbling cream. */

@font-face{font-family:"Prompt";font-weight:300;font-display:swap;src:url(../fonts/prompt-300-normal-thai.woff2) format("woff2");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}
@font-face{font-family:"Prompt";font-weight:400;font-display:swap;src:url(../fonts/prompt-400-normal-thai.woff2) format("woff2");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}
@font-face{font-family:"Prompt";font-weight:500;font-display:swap;src:url(../fonts/prompt-500-normal-thai.woff2) format("woff2");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}
@font-face{font-family:"Prompt";font-weight:600;font-display:swap;src:url(../fonts/prompt-600-normal-thai.woff2) format("woff2");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}
@font-face{font-family:"Prompt";font-weight:300;font-display:swap;src:url(../fonts/prompt-300-normal-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Prompt";font-weight:400;font-display:swap;src:url(../fonts/prompt-400-normal-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Prompt";font-weight:500;font-display:swap;src:url(../fonts/prompt-500-normal-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Prompt";font-weight:600;font-display:swap;src:url(../fonts/prompt-600-normal-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Cormorant Garamond: Latin display only — it has no Thai glyphs, never set Thai in it. */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/cormorant-garamond-latin-var.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:300 700;font-display:swap;src:url(../fonts/cormorant-garamond-italic-latin-var.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Japanese: a glyph subset only (list in tools/jp-glyphs.txt). Add a glyph there and re-fetch before using new kanji/kana. */
@font-face{font-family:"Noto Serif JP Sub";font-weight:600;font-display:swap;src:url(../fonts/noto-serif-jp-600-subset.woff2) format("woff2")}

:root{
  --ink:#04051a;          /* page black, a navy-black */
  --navy-950:#060726;
  --navy-900:#080940;     /* brand blue-dark */
  --navy-800:#11135e;
  --blue:#1c1daa;         /* brand royal blue */
  --gold:#c5a059;         /* brand gold */
  --gold-hi:#e7cf96;
  --gold-pale:#f4e6c4;
  --gold-deep:#8f6a2c;
  --gold-line:rgba(197,160,89,.38);
  --cream:#faf6ee;
  --paper:#f4ece0;
  --paper-2:#ebe0cd;
  --text-dark:#1b1a2e;
  --muted-dark:#5d5a6e;
  --beef:#a8233a;         /* A5 lean red */
  --beef-deep:#5e0f1f;
  --fat:#f5e4dc;          /* marbling */
  --ok:#2f8f5b;
  --warn:#c98a1b;
  --bad:#b3261e;
  --sans:"Prompt","IBM Plex Sans Thai","Noto Sans Thai","Thonburi","Leelawadee UI",system-ui,sans-serif;
  --serif:"Cormorant Garamond","Times New Roman",serif;
  --jp:"Noto Serif JP Sub","Hiragino Mincho ProN","Yu Mincho",serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --safe-b:env(safe-area-inset-bottom,0px);
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important} /* .btn etc. set display, which would otherwise beat the attribute */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;
  font-variant-numeric:lining-nums} /* Cormorant defaults to old-style figures: "10" would read "IO" */
img,svg{max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px;border-radius:4px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.jp{font-family:var(--jp);font-weight:600}
.latin{font-family:var(--serif)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;border:1px solid transparent;
  font-weight:500;font-size:16px;letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:transform .25s var(--ease),background-color .25s,box-shadow .25s,color .25s}
.btn:active{transform:translateY(1px) scale(.99)}
.btn svg{width:20px;height:20px;flex:none}
.btn-gold{color:#1d1503;background:linear-gradient(180deg,#f0dba6 0%,#d8b56c 55%,#b8913f 100%);box-shadow:0 10px 30px -12px rgba(216,181,108,.7),inset 0 1px 0 rgba(255,255,255,.55)}
.btn-gold:hover{box-shadow:0 14px 34px -10px rgba(216,181,108,.85),inset 0 1px 0 rgba(255,255,255,.6)}
.btn-ghost{color:var(--gold-pale);border-color:rgba(231,207,150,.45);background:rgba(8,9,64,.25)}
.btn-ghost:hover{background:rgba(231,207,150,.1);border-color:var(--gold-hi)}
.btn-navy{color:#fff;background:var(--navy-900);border-color:var(--navy-900)}
.btn-navy:hover{background:var(--navy-800)}
.btn-line{color:#fff;background:#06c755}
.btn[disabled]{opacity:.55;cursor:not-allowed}
