/* SSG design system. Tokens first; everything below reads them, so one change here (or a Global Color in Elementor) carries through. */
@font-face{font-family:Prompt;font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/prompt-thai-400-normal.woff2) format("woff2");unicode-range:U+0E01-0E5B,U+200C-200D,U+25CC}
@font-face{font-family:Prompt;font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/prompt-thai-500-normal.woff2) format("woff2");unicode-range:U+0E01-0E5B,U+200C-200D,U+25CC}
@font-face{font-family:Prompt;font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/prompt-thai-600-normal.woff2) format("woff2");unicode-range:U+0E01-0E5B,U+200C-200D,U+25CC}
@font-face{font-family:Prompt;font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/prompt-thai-700-normal.woff2) format("woff2");unicode-range:U+0E01-0E5B,U+200C-200D,U+25CC}
@font-face{font-family:Prompt;font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/prompt-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,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-style:normal;font-display:swap;src:url(../fonts/prompt-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,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-style:normal;font-display:swap;src:url(../fonts/prompt-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Prompt;font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/prompt-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

@font-face{font-family:Anuphan;font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/anuphan-thai-400-normal.woff2) format("woff2");unicode-range:U+0E01-0E5B,U+200C-200D,U+25CC}
@font-face{font-family:Sarabun;font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/anuphan-thai-400-normal.woff2) format("woff2");unicode-range:U+0E01-0E5B,U+200C-200D,U+25CC}
@font-face{font-family:Anuphan;font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/anuphan-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Sarabun;font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/anuphan-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Anuphan;font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/anuphan-thai-500-normal.woff2) format("woff2");unicode-range:U+0E01-0E5B,U+200C-200D,U+25CC}
@font-face{font-family:Sarabun;font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/anuphan-thai-500-normal.woff2) format("woff2");unicode-range:U+0E01-0E5B,U+200C-200D,U+25CC}
@font-face{font-family:Anuphan;font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/anuphan-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Sarabun;font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/anuphan-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Anuphan;font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/anuphan-thai-600-normal.woff2) format("woff2");unicode-range:U+0E01-0E5B,U+200C-200D,U+25CC}
@font-face{font-family:Sarabun;font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/anuphan-thai-600-normal.woff2) format("woff2");unicode-range:U+0E01-0E5B,U+200C-200D,U+25CC}
@font-face{font-family:Anuphan;font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/anuphan-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Sarabun;font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/anuphan-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Anuphan;font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/anuphan-thai-700-normal.woff2) format("woff2");unicode-range:U+0E01-0E5B,U+200C-200D,U+25CC}
@font-face{font-family:Sarabun;font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/anuphan-thai-700-normal.woff2) format("woff2");unicode-range:U+0E01-0E5B,U+200C-200D,U+25CC}
@font-face{font-family:Anuphan;font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/anuphan-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Sarabun;font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/anuphan-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  /* The 12 CI colours: coral/sand (E1795E E59570 E7B47F EBD292), sky/blue (92CBE8 75A8D5 608AC4 476FB4), lime/green (B8D654 79AC5F 378760 047363).
     Cream and white are the page and card grounds, and one near-black (#1A2233) is for headings and the menu; tints below are these colours mixed with white. */
  --ssg-navy:var(--e-global-color-primary,#1A2233);
  --ssg-navy-deep:var(--e-global-color-ssg_navy_deep,#476FB4);
  --ssg-orange:var(--e-global-color-secondary,#E1795E);
  --ssg-orange-dark:var(--e-global-color-ssg_orange_dark,#E59570);
  --ssg-heading-lh:1.1;
  --ssg-orange-text:color-mix(in srgb,var(--ssg-orange) 70%,var(--ssg-navy));
  --ssg-orange-press:color-mix(in srgb,var(--ssg-orange) 70%,var(--ssg-navy));
  --ssg-blue:var(--e-global-color-ssg_blue,#476FB4);
  --ssg-ink:var(--e-global-color-text,#476FB4);
  --ssg-green:var(--e-global-color-accent,#047363);
  --ssg-green-soft:color-mix(in srgb,var(--ssg-green) 10%,#fff);
  --ssg-cream:var(--e-global-color-ssg_cream,#FAF9F5);
  --ssg-sky:var(--e-global-color-ssg_sky,#92CBE8);
  --ssg-mist:color-mix(in srgb,var(--ssg-sky) 24%,#fff);
  --ssg-line:color-mix(in srgb,var(--ssg-blue) 16%,#fff);
  --ssg-orange-soft:color-mix(in srgb,var(--ssg-orange) 12%,#fff);
  --ssg-orange-soft2:color-mix(in srgb,var(--ssg-orange) 24%,#fff);
  --ssg-orange-line:color-mix(in srgb,var(--ssg-orange) 38%,#fff);
  --ssg-white:var(--e-global-color-ssg_white,#fff);
  --ssg-radius:16px;
  --ssg-radius-sm:10px;
  --ssg-shadow:0 4px 18px rgba(71,111,180,.07);
  --ssg-font:Anuphan,"Noto Sans Thai",system-ui,sans-serif;
  --ssg-font-head:Prompt,Anuphan,"Noto Sans Thai",system-ui,sans-serif;
  --ssg-wide:1200px;
}
html{scroll-behavior:smooth}
body{margin:0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
*,*::before,*::after{box-sizing:border-box}
img{max-width:100%;height:auto}
:focus-visible{outline:3px solid var(--ssg-navy);outline-offset:2px;border-radius:4px}
.ssg-footer :focus-visible{outline-color:var(--ssg-sky)}
h1,h2,h3,h4,h5,h6{margin:0 0 .5em}
.screen-reader-text,.ssg-skip{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ssg-skip:focus{position:fixed!important;left:12px;top:12px;width:auto;height:auto;clip:auto;z-index:1000;background:var(--ssg-white);padding:10px 16px;border-radius:999px;box-shadow:var(--ssg-shadow)}

/* Layout containers carry no padding or gap of their own: the rules below place everything. */


/* Reusable pieces used by Core widgets and Loop Items */
.ssg-card{background:var(--ssg-white);border-radius:var(--ssg-radius);box-shadow:var(--ssg-shadow);overflow:hidden}
.ssg-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 12px;border-radius:999px;background:var(--ssg-mist);color:var(--ssg-navy);font-size:13px;font-weight:600;line-height:1.7}

/* Fallback layout when Elementor is not active */
.ssg-fallback{max-width:var(--ssg-wide);margin:0 auto;padding:24px 16px}
.ssg-fallback-header{background:var(--ssg-white);border-bottom:1px solid var(--ssg-line)}
.ssg-fallback-header .ssg-fallback{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between}
.ssg-fallback-title{font-weight:700;font-size:22px;color:var(--ssg-navy);text-decoration:none}
.ssg-fallback-nav ul{display:flex;flex-wrap:wrap;gap:4px 18px;list-style:none;margin:0;padding:0}
.ssg-fallback-nav a{text-decoration:none;font-weight:500}

