*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;}:root{--font-serif:'Prompt','Playfair Display',Georgia,serif;--font-sans:'Prompt','Sarabun',system-ui,sans-serif;--font-thai:'Sarabun',Tahoma,sans-serif;--bg-navy:#0f172a;--bg-deep:#080e1f;--surface:rgba(255,255,255,0.05);--surface-hi:rgba(255,255,255,0.09);--blue:#3b82f6;--blue-light:#60a5fa;--text-primary:#ffffff;--text-body:#f1f5f9;--text-muted:rgba(255,255,255,0.55);}body{font-family:var(--font-sans);font-weight:400;font-size:18px;background:var(--bg-navy);min-height:100vh;color:var(--text-body);overflow-x:hidden;}h1,h2,h3,h4,h5,h6,.title,.headline,[class*="title"],[class*="headline"]{color:var(--text-primary) !important;}h1 span,h2 span,h3 span{color:rgba(255,255,255,0.9) !important;}h2{border-left-color:var(--blue) !important;}[style*="rgba(255,255,255,0.98)"]{color:#0f172a !important;}[style*="rgba(255,255,255,0.98)"] h1,[style*="rgba(255,255,255,0.98)"] h2,[style*="rgba(255,255,255,0.98)"] h3,[style*="rgba(255,255,255,0.98)"] h4,[style*="rgba(255,255,255,0.98)"] h5,[style*="rgba(255,255,255,0.98)"] p,[style*="rgba(255,255,255,0.98)"] span,[style*="rgba(255,255,255,0.98)"] li,[style*="rgba(255,255,255,0.98)"] div{color:#0f172a !important;}.font-serif{font-family:var(--font-serif) !important;}.font-sans{font-family:var(--font-sans) !important;}.font-thai{font-family:var(--font-thai) !important;}h1,h2,h3,h4,h5,h6{letter-spacing:-0.02em;line-height:1.05;}h1{font-weight:700;}h2,h3{font-weight:600;}h4,h5,h6{font-weight:600;}p{line-height:1.6;}p:lang(th),span:lang(th),li:lang(th){font-family:var(--font-thai);font-weight:300;line-height:1.85;}.airy{letter-spacing:0.05em;}.section-rule{border-top:1px solid rgba(255,255,255,0.08);}@keyframes fadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}@keyframes spin{to{transform:rotate(360deg);}}.page-enter{animation:fadeUp 0.8s cubic-bezier(0.22,1,0.36,1) both;}::-webkit-scrollbar{width:4px;}::-webkit-scrollbar-track{background:var(--bg-navy);}::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.2);border-radius:4px;}.hscroll-strip{overflow-x:scroll;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--blue-light) transparent;}.hscroll-strip::-webkit-scrollbar{height:4px;}.hscroll-strip::-webkit-scrollbar-track{background:transparent;}.hscroll-strip::-webkit-scrollbar-thumb{background:var(--blue-light);border-radius:4px;}.glass{background:rgba(255,255,255,0.05);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.1);box-shadow:0 4px 30px rgba(0,0,0,0.2);}.glass-md{background:rgba(255,255,255,0.07);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,0.12);}.glass-blue{background:linear-gradient(135deg,rgba(59,130,246,0.1) 0%,rgba(37,99,235,0.05) 100%);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(59,130,246,0.2);}.btn-primary{background:var(--blue);color:#ffffff;border:none;border-radius:999px;padding:16px 40px;font-family:var(--font-sans);font-weight:700;font-size:10px;letter-spacing:0.4em;text-transform:uppercase;cursor:pointer;transition:all 0.25s ease;}.btn-primary:hover{background:#2563eb;box-shadow:0 0 0 4px rgba(59,130,246,0.3);}.btn-outline{background:rgba(255,255,255,0.08);color:#ffffff;border:1px solid rgba(255,255,255,0.18);border-radius:999px;padding:16px 40px;font-family:var(--font-sans);font-weight:700;font-size:10px;letter-spacing:0.4em;text-transform:uppercase;cursor:pointer;transition:all 0.25s ease;}.btn-outline:hover{background:rgba(255,255,255,0.14);border-color:rgba(255,255,255,0.3);}.nav-mobile-btn svg{stroke:#ffffff !important;fill:none;}input,textarea,select{background:rgba(255,255,255,0.07) !important;color:#ffffff !important;border:1px solid rgba(255,255,255,0.15) !important;border-radius:14px;}input::placeholder,textarea::placeholder{color:rgba(255,255,255,0.35) !important;}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--blue) !important;box-shadow:0 0 0 3px rgba(59,130,246,0.2);}@media (max-width:768px){body{font-size:16px;}.rs-sec{padding:80px 24px !important;}.rg-hero{grid-template-columns:1fr !important;}.rg-2{grid-template-columns:1fr !important;}}
/* Fix for responsive layouts without breaking original colors */
@media (max-width: 768px) {
  .rp-page { padding: 80px 20px 60px !important; }
  .rt-grid-hero, .rg-hero { grid-template-columns: 1fr !important; gap: 32px !important; }
  .rt-grid-2, .rg-2 { grid-template-columns: 1fr !important; gap: 16px !important; }
}
