@font-face {
  font-family: "Noto Sans Thai";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/NotoSansThai-400.woff2") format("woff2");
}

@font-face {
  font-family: "Noto Sans Thai";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/NotoSansThai-500.woff2") format("woff2");
}

@font-face {
  font-family: "Noto Sans Thai";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/NotoSansThai-600.woff2") format("woff2");
}

@font-face {
  font-family: "Noto Sans Thai";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/NotoSansThai-700.woff2") format("woff2");
}

:root {
  --font-primary: "Noto Sans Thai", sans-serif;
  --font-heading: var(--font-primary);
  --font-body: var(--font-primary);
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
}

html,
body,
button,
input,
select,
textarea,
optgroup,
option,
table,
th,
td {
  font-family: var(--font-primary);
  font-synthesis: none;
}

body { font-weight: var(--font-weight-regular); }

/* Shared reading size for public-page prose, independent of navigation and labels. */
:root { --reading-size: clamp(1.25rem, 1.45vw, 1.375rem); }
html body :is(main, section) :is(p, blockquote):not([class*="eyebrow"], [class*="tagline"], .english-note, .hero-brand-statement):not(nav *, footer *, dialog *, .project-grid *, .project-gallery *) {
  font-size: var(--reading-size) !important;
  line-height: 1.85 !important;
  max-width: 68ch;
  word-break: normal;
  overflow-wrap: break-word;
  text-wrap: pretty;
}
html body :is(article, .content-card, .scope-card, .engineering-scope) li:not(nav *, footer *) {
  font-size: var(--reading-size);
  line-height: 1.85;
  word-break: normal;
  overflow-wrap: break-word;
}
@media (max-width: 760px) {
  :root { --reading-size: 1.125rem; }
  .flow-copy, .flow-media, .flow-status { min-width: 0; }
  .anew-flow__title .nowrap { white-space: normal; }
}

button,
input,
select,
textarea { font: inherit; }

p,
li,
address,
blockquote { font-weight: var(--font-weight-regular); }

nav,
nav a,
button,
input,
select,
textarea,
label,
summary,
small,
.eyebrow,
[class*="eyebrow"],
[class*="-cta"],
.pill { font-weight: var(--font-weight-medium); }

h1,
h2,
h3,
h4,
h5,
h6,
strong,
b { font-weight: var(--font-weight-semibold); }

::placeholder {
  font-family: var(--font-primary);
  font-weight: var(--font-weight-regular);
}
.platform-social-links{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:nowrap;margin-left:auto}.platform-social-links a{display:inline-grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border:1px solid currentColor;border-radius:50%;color:inherit;opacity:.78;transition:opacity .2s,transform .2s,background-color .2s}.platform-social-links a:hover{opacity:1;transform:translateY(-2px)}.platform-social-links a span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.platform-social-links svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.platform-social-links a:first-child svg,.platform-social-links a:nth-child(3) svg{fill:currentColor;stroke:none}.platform-social-links .icon-fill{fill:currentColor;stroke:none}@media(max-width:760px){.platform-social-links{width:100%;justify-content:flex-start;margin:18px 0 0}}
