
    body {
      font-family: 'Sarabun', sans-serif;
      transition: font-size 0.2s ease, filter 0.2s ease;
    }
    h1, h2, h3, h4, h5, h6, .font-heading {
      font-family: 'Kanit', sans-serif;
    }
    /* Accessibility Font Sizing (Root rem scaling for all Tailwind elements) */
    html {
      font-size: 16px;
      transition: font-size 0.15s ease-in-out;
    }
    html.font-sm { font-size: 14px !important; }
    html.font-md { font-size: 16px !important; }
    html.font-lg { font-size: 19px !important; }
    
    /* High Contrast Mode */
    body.high-contrast {
      filter: contrast(150%) grayscale(80%);
      background-color: #000 !important;
      color: #fff !important;
    }
    body.high-contrast .bg-white,
    body.high-contrast .bg-slate-50,
    body.high-contrast .bg-gov-50 {
      background-color: #121212 !important;
      color: #ffff00 !important;
      border-color: #444 !important;
    }
    body.high-contrast a,
    body.high-contrast .text-gov-800,
    body.high-contrast .text-slate-800 {
      color: #ffff00 !important;
    }

    .glass-nav {
      background: rgba(15, 56, 117, 0.96);
      backdrop-filter: blur(12px);
    }
    .hero-gradient {
      background: linear-gradient(100deg, rgba(10, 37, 79, 0.94) 0%, rgba(10, 37, 79, 0.82) 40%, rgba(10, 37, 79, 0.35) 75%, transparent 100%);
    }

    /* Floating Collapsible Quick Action Side Panel */
    #floating-side-panel {
      transform: translateY(-50%) translateX(0);
      transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1);
    }
    #floating-side-panel.is-collapsed {
      transform: translateY(-50%) translateX(82px);
    }

    /* News Ticker Scrolling Marquee Animation */
    @keyframes kudhaeTicker {
      0%   { transform: translateX(0); }
      100% { transform: translateX(-50%); }
    }
    .kudhae-ticker-track {
      display: inline-flex;
      white-space: nowrap;
      animation: kudhaeTicker 42s linear infinite;
    }
    .kudhae-ticker-track:hover {
      animation-play-state: paused;
    }

    /* ═══════════════════════════════════════════ */
    /* THAI CULTURAL IDENTITY — ลายไทยและวัฒนธรรม */
    /* ═══════════════════════════════════════════ */

    /* Phakhaoma stripe — decorative horizontal rule */
    .phakhaoma-strip {
      height: 6px;
      background: repeating-linear-gradient(
        90deg,
        #0a254f 0px, #0a254f 18px,
        #1a569b 18px, #1a569b 26px,
        #fbbf24 26px, #fbbf24 34px,
        #1a569b 34px, #1a569b 42px,
        #0a254f 42px, #0a254f 60px,
        #fff    60px, #fff    68px,
        #0a254f 68px, #0a254f 80px
      );
    }

    /* Section with phakhaoma accent background */
    .phakhaoma-bg {
      position: relative;
    }
    .phakhaoma-bg::before {
      content: '';
      position: absolute;
      inset: 0;
      background-image: url('phakhaoma-pattern.jpg');
      background-size: 340px auto;
      background-repeat: repeat;
      opacity: 0.045;
      z-index: 0;
    }
    .phakhaoma-bg > * {
      position: relative;
      z-index: 1;
    }

    /* Decorative Thai lotus corner SVG element */
    .thai-ornament {
      position: absolute;
      opacity: 0.08;
      pointer-events: none;
      z-index: 0;
    }

    /* Bangfai sparkle trail animation */
    @keyframes bangfai-rise {
      0%   { transform: translateY(6px) scale(0.97); opacity: 0.9; }
      50%  { transform: translateY(-4px) scale(1.01); opacity: 1; }
      100% { transform: translateY(6px) scale(0.97); opacity: 0.9; }
    }
    .bangfai-card {
      animation: bangfai-rise 4.5s ease-in-out infinite;
    }

    /* Diagonal phakhaoma pattern for dark sections */
    .phakhaoma-dark-bg {
      position: relative;
      overflow: hidden;
    }
    .phakhaoma-dark-bg::after {
      content: '';
      position: absolute;
      inset: 0;
      background-image: url('phakhaoma-pattern.jpg');
      background-size: 400px auto;
      background-repeat: repeat;
      opacity: 0.06;
      mix-blend-mode: luminosity;
      z-index: 0;
    }
    .phakhaoma-dark-bg > * {
      position: relative;
      z-index: 1;
    }

    /* Thai diamond divider pattern (CSS-drawn) */
    .thai-diamond-row {
      display: flex;
      align-items: center;
      gap: 0;
      overflow: hidden;
      height: 14px;
    }
    .thai-diamond-row svg {
      flex-shrink: 0;
    }
  