@font-face{font-family:ibm plex sans thai;src:url(/fonts/ibm-plex-sans-thai-600.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+20-7F,U+E00-E7F}@font-face{font-family:ibm plex sans thai;src:url(/fonts/ibm-plex-sans-thai-700.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+20-7F,U+E00-E7F}@font-face{font-family:noto sans thai;src:url(/fonts/noto-sans-thai-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+20-7F,U+E00-E7F}@font-face{font-family:noto sans thai;src:url(/fonts/noto-sans-thai-700.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+20-7F,U+E00-E7F}:root{--bg:#0f1419;--bg-elevated:#1a2332;--bg-bento:#15202b;--text:#e8edf2;--text-muted:#9aa8b5;--accent:#2dd4bf;--accent-dim:#14b8a6;--border:#2a3a4d;--focus:#5eead4;--error:#f87171;--success:#4ade80;--max-read:42rem;--space:clamp(1rem, 3vw, 2rem);--radius:12px}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}body{margin:0;font-family:noto sans thai,system-ui,sans-serif;font-size:1.0625rem;line-height:1.65;color:var(--text);background:var(--bg)}h1,h2,h3,h4{font-family:ibm plex sans thai,noto sans thai,sans-serif;line-height:1.25;font-weight:700}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--focus)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--focus);outline-offset:2px}img{max-width:100%;height:auto;display:block}.skip-link{position:absolute;left:-9999px;top:0;z-index:1000;padding:.75rem 1rem;background:var(--accent);color:var(--bg)}.skip-link:focus{left:var(--space)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{border-bottom:1px solid var(--border);background:var(--bg-elevated);position:sticky;top:0;z-index:50}.top-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;max-width:72rem;margin:0 auto;padding:.65rem var(--space);font-size:.9rem}.top-bar__phone a{color:var(--text);font-weight:600;text-decoration:none}.top-bar__phone a:hover{color:var(--accent)}.site-nav{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;list-style:none;margin:0;padding:0}.site-nav a{color:var(--text-muted);text-decoration:none;padding:.35rem 0;min-height:44px;display:inline-flex;align-items:center}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--accent)}.brand-link{font-family:ibm plex sans thai,sans-serif;font-weight:700;font-size:1.05rem;color:var(--text)!important;text-decoration:none}.hero-text-first{max-width:36rem;margin:0 auto;padding:clamp(2.5rem,8vw,4.5rem)var(--space)2rem;text-align:center}.hero-text-first h1{font-size:clamp(1.75rem,5vw,2.5rem);margin:0 0 1rem}.hero-text-first .lead{color:var(--text-muted);margin:0 0 1.5rem;font-size:1.125rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1.25rem}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem 1.35rem;border-radius:var(--radius);font-family:inherit;font-size:1rem;font-weight:600;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background .15s,border-color .15s}.btn--primary{background:var(--accent-dim);color:#042f2e;border-color:var(--accent)}.btn--primary:hover{background:var(--accent);color:#042f2e}.btn--secondary{background:0 0;color:var(--accent);border-color:var(--border)}.btn--secondary:hover{border-color:var(--accent)}.btn--steam{background:linear-gradient(135deg,#1b2838,#2a475e);color:#c7d5e0;border-color:#66c0f4}.btn--steam:hover{color:#fff;border-color:#fff}.page-wrap{max-width:72rem;margin:0 auto;padding:0 var(--space)3rem}.bento-section{background:var(--bg-bento);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(1.5rem,4vw,2.5rem);margin-bottom:var(--space)}.composition-statement-band{text-align:center;margin-inline:auto;max-width:52rem}.composition-statement-band .statement-inner{text-align:center;margin-inline:auto;max-width:var(--max-read)}.composition-statement-band .statement-quote{font-family:ibm plex sans thai,sans-serif;font-size:clamp(1.25rem,3vw,1.65rem);font-weight:600;color:var(--text);margin:0 0 1rem}.composition-text-media{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}.composition-text-media .copy-col{text-align:left}.composition-text-media .media-col img{border-radius:var(--radius);width:100%;object-fit:cover;max-height:320px}.composition-text-media h2{text-align:left}.composition-form-embed{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.composition-form-embed .form-intro{text-align:left}.composition-form-embed h2{text-align:left}.partners-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;margin-top:1.25rem;text-align:center}.partner-chip{background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;padding:.75rem .5rem;font-size:.85rem;font-weight:600;color:var(--text-muted)}.map-widget{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);touch-action:none}.map-widget img{width:100%;height:auto;transition:transform .2s ease;cursor:grab}.map-widget.is-zoomed img{cursor:zoom-out}.map-pin{position:absolute;left:58%;top:42%;width:14px;height:14px;background:var(--accent);border:2px solid #fff;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 4px rgba(45,212,191,.35);pointer-events:none}.map-caption{padding:.75rem 1rem;background:var(--bg-elevated);font-size:.9rem;color:var(--text-muted)}.inquiry-form label{display:block;margin-bottom:.35rem;font-weight:600;font-size:.95rem}.inquiry-form .field{margin-bottom:1rem}.inquiry-form input,.inquiry-form textarea,.inquiry-form select{width:100%;min-height:44px;padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-family:inherit;font-size:1rem}.inquiry-form textarea{min-height:120px;resize:vertical}.field-error{color:var(--error);font-size:.875rem;margin-top:.35rem}.form-status{padding:.75rem 1rem;border-radius:8px;margin-top:1rem}.form-status--pending{background:var(--bg-elevated);border:1px solid var(--border)}.form-status--success{background:rgba(74,222,128,.12);border:1px solid var(--success);color:var(--success)}.form-status--error{background:rgba(248,113,113,.12);border:1px solid var(--error);color:var(--error)}.site-footer{background:var(--bg-elevated);border-top:1px solid var(--border);margin-top:3rem;padding:2.5rem var(--space)1.5rem}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;max-width:72rem;margin:0 auto 2rem}.footer-identity{font-size:.9rem;line-height:1.7;color:var(--text-muted)}.footer-identity p{margin:0 0 .5rem}.footer-nav ul{list-style:none;margin:0;padding:0}.footer-nav li{margin-bottom:.5rem}.footer-nav a{color:var(--text-muted);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.footer-disclaimer{max-width:72rem;margin:0 auto;padding-top:1.5rem;border-top:1px solid var(--border);font-size:.85rem;color:var(--text-muted);text-align:center}.page-header{max-width:var(--max-read);margin:2rem auto 1.5rem;padding:0 var(--space)}.prose{max-width:var(--max-read);margin:0 auto 3rem;padding:0 var(--space)}.prose h2{margin-top:2rem}.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--bg-elevated);border-top:1px solid var(--border);padding:1rem var(--space);box-shadow:0 -4px 24px rgba(0,0,0,.35)}.cookie-banner__inner{max-width:72rem;margin:0 auto;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}.cookie-banner p{margin:0;flex:1 1 280px;font-size:.9rem;color:var(--text-muted)}.cookie-banner__actions{display:flex;flex-wrap:wrap;gap:.5rem}.faq-list{margin:0;padding:0;list-style:none}.faq-list li{border-bottom:1px solid var(--border);padding:1rem 0}.faq-list li:last-child{border-bottom:none}.error-page{text-align:center;padding:4rem var(--space)}@media(max-width:767px){.composition-text-media,.composition-form-embed{grid-template-columns:1fr}.composition-text-media .copy-col{text-align:left}.composition-text-media h2{text-align:left}}