:root{--color-brand-primary: #1f2933;--color-brand-primary-hover: #111820;--color-brand-on-primary: #ffffff;--color-brand-accent: #e9e5dc;--color-canvas: #f5f3ee;--color-surface: #ffffff;--color-surface-subtle: #efede7;--color-surface-strong: #e5e1d8;--color-text: #1f2933;--color-text-muted: #69727d;--color-text-soft: #8a929b;--color-border: #dcd8cf;--color-border-strong: #bcb7ad;--color-focus: #526579;--color-danger: #b42318;--color-danger-subtle: #fef3f2;--color-success: #237a57;--color-success-subtle: #ecf8f2;--font-sans: Inter, "Noto Sans Thai", "Noto Sans JP", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: var(--font-sans);--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.375rem;--font-size-2xl: clamp(1.75rem, 7vw, 2.5rem);--font-size-3xl: clamp(2.25rem, 10vw, 4.25rem);--line-height-tight: 1.15;--line-height-heading: 1.3;--line-height-body: 1.65;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: .625rem;--radius-md: .875rem;--radius-lg: 1.25rem;--radius-xl: 1.75rem;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgb(31 41 51 / 6%);--shadow-md: 0 12px 32px rgb(31 41 51 / 9%);--shadow-sheet: 0 -16px 48px rgb(31 41 51 / 18%);--content-narrow: 30rem;--content-wide: 72rem;--header-height: 4.25rem;--mobile-nav-height: 4.75rem;--duration-fast: .12s;--duration-base: .2s;--duration-slow: .32s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-spring: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box}:root{color:var(--color-text);background:var(--color-canvas);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}html{min-width:320px;min-height:100%;background:var(--color-canvas)}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}body,button,input,select,textarea{font:inherit}button,input,select,textarea{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--color-focus) 35%,transparent);outline-offset:3px}h1,h2,p{margin-top:0}h1,h2{font-family:var(--font-display);letter-spacing:-.025em}h1{font-size:var(--font-size-2xl);line-height:var(--line-height-tight)}h2{font-size:var(--font-size-xl);line-height:var(--line-height-heading)}p{line-height:var(--line-height-body)}.app-frame{min-height:100vh}.skip-link{position:fixed;z-index:100;top:var(--space-3);left:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--color-brand-on-primary);font-weight:700;background:var(--color-brand-primary);border-radius:var(--radius-sm);transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-header{position:sticky;z-index:20;top:0;height:var(--header-height);background:color-mix(in srgb,var(--color-canvas) 92%,transparent);border-bottom:1px solid color-mix(in srgb,var(--color-border) 75%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.site-header__inner{display:flex;width:min(100%,var(--content-wide));height:100%;padding-inline:var(--space-4);margin-inline:auto;align-items:center;justify-content:space-between;gap:var(--space-4)}.brand-wordmark{display:inline-flex;align-items:baseline;gap:var(--space-2);color:var(--color-text);text-decoration:none}.brand-wordmark__latin{font-size:var(--font-size-xl);font-weight:800;letter-spacing:-.04em}.brand-wordmark__thai{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:650}.site-header__actions{display:flex;align-items:center;gap:var(--space-6)}.desktop-navigation{display:none}.app-shell{width:min(100%,var(--content-wide));min-height:calc(100vh - var(--header-height));padding:var(--space-8) var(--space-4) calc(var(--mobile-nav-height) + var(--space-8));margin-inline:auto}.page--narrow{width:min(100%,var(--content-narrow));margin-inline:auto}.home-page{display:grid;gap:var(--space-10)}.home-hero{max-width:48rem;padding-block:var(--space-6) var(--space-2)}.home-hero h1{max-width:13ch;margin-bottom:var(--space-5);font-size:var(--font-size-3xl)}.home-hero__description{max-width:42rem;margin-bottom:var(--space-8);color:var(--color-text-muted);font-size:var(--font-size-lg)}.home-hero__actions{display:grid;gap:var(--space-3)}.eyebrow{margin-bottom:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:750;letter-spacing:.09em;text-transform:uppercase}.home-grid{display:grid;gap:var(--space-4)}.card{overflow-wrap:anywhere;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card--compact{padding:var(--space-4)}.card--default{padding:var(--space-5)}.card--spacious{padding:var(--space-6)}.audience-card{display:flex;min-height:18rem;flex-direction:column;align-items:flex-start}.audience-card h2{max-width:20ch;margin-bottom:var(--space-3)}.audience-card>p:not(.card__index){margin-bottom:var(--space-6);color:var(--color-text-muted)}.audience-card .button{margin-top:auto}.card__index{margin-bottom:var(--space-10);color:var(--color-text-soft);font-size:var(--font-size-xs);font-weight:750;letter-spacing:.12em}.privacy-note{max-width:42rem;padding-left:var(--space-4);margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm);border-left:2px solid var(--color-border-strong)}.placeholder-card h1{margin-bottom:var(--space-4)}.placeholder-card>p:not(.eyebrow){margin-bottom:var(--space-8);color:var(--color-text-muted)}.button{display:inline-flex;min-height:2.75rem;padding:0 var(--space-5);align-items:center;justify-content:center;gap:var(--space-2);color:var(--color-brand-on-primary);font-weight:700;line-height:1.2;text-align:center;text-decoration:none;background:var(--color-brand-primary);border:1px solid var(--color-brand-primary);border-radius:var(--radius-pill);cursor:pointer;-webkit-user-select:none;user-select:none}.button:hover{background:var(--color-brand-primary-hover);border-color:var(--color-brand-primary-hover)}.button:active{transform:scale(.98)}.button:disabled{cursor:not-allowed;opacity:.48}.button--small{min-height:2.25rem;padding-inline:var(--space-3);font-size:var(--font-size-sm)}.button--large{min-height:3.25rem;padding-inline:var(--space-6)}.button--secondary{color:var(--color-text);background:var(--color-surface);border-color:var(--color-border-strong)}.button--secondary:hover{background:var(--color-surface-subtle);border-color:var(--color-border-strong)}.button--quiet{min-height:auto;padding:var(--space-2) 0;color:var(--color-text);text-decoration:underline;text-decoration-color:var(--color-border-strong);text-underline-offset:.3em;background:transparent;border-color:transparent;border-radius:0}.button--quiet:hover{background:transparent;border-color:transparent;text-decoration-color:currentColor}.button--danger{color:#fff;background:var(--color-danger);border-color:var(--color-danger)}.button--danger:hover{background:color-mix(in srgb,var(--color-danger) 88%,#000000);border-color:color-mix(in srgb,var(--color-danger) 88%,#000000)}.button--full-width{width:100%}.form-field{display:grid;gap:var(--space-2)}.form-field__label{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);font-size:var(--font-size-sm);font-weight:700}.form-field__optional{color:var(--color-text-soft);font-size:var(--font-size-xs);font-weight:500}.form-control{width:100%;min-height:3rem;padding:0 var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:inset 0 1px #1f293308}.form-control:hover{border-color:var(--color-text-soft)}.form-control[aria-invalid=true]{background:var(--color-danger-subtle);border-color:var(--color-danger)}.form-control--textarea{min-height:7.5rem;padding-block:var(--space-3);line-height:var(--line-height-body);resize:vertical}.form-control--select{appearance:auto}.form-field__message{margin:0;color:var(--color-text-muted);font-size:var(--font-size-xs)}.form-field__message.is-error{color:var(--color-danger)}.language-switcher{display:flex;gap:var(--space-1);padding:var(--space-1);background:var(--color-surface-subtle);border-radius:var(--radius-pill)}.language-button{min-height:2rem;padding:var(--space-1) var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:700;background:transparent;border:0;border-radius:var(--radius-pill);cursor:pointer}.language-button:disabled{color:var(--color-text);background:var(--color-surface);box-shadow:var(--shadow-sm);cursor:default}.mobile-navigation{position:fixed;z-index:30;right:0;bottom:0;left:0;padding:var(--space-2) var(--space-3) max(var(--space-2),env(safe-area-inset-bottom));background:color-mix(in srgb,var(--color-surface) 94%,transparent);border-top:1px solid var(--color-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-navigation__inner{display:grid;width:min(100%,32rem);min-height:calc(var(--mobile-nav-height) - var(--space-4));margin-inline:auto;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center}.mobile-navigation__link{display:flex;min-width:0;min-height:2.75rem;padding:var(--space-2);align-items:center;justify-content:center;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:650;text-align:center;text-decoration:none;border-radius:var(--radius-sm)}.mobile-navigation__link.is-active{color:var(--color-text);background:var(--color-surface-subtle)}.bottom-sheet{width:100%;max-width:none;height:100%;max-height:none;padding:0;margin:0;overflow:hidden;background:transparent;border:0}.bottom-sheet::backdrop{background:#1118206b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.bottom-sheet__panel{position:absolute;right:0;bottom:0;left:0;max-height:min(85vh,44rem);padding:var(--space-3) var(--space-5) max(var(--space-6),env(safe-area-inset-bottom));overflow-y:auto;background:var(--color-surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-sheet);animation:sheet-enter var(--duration-slow) var(--ease-spring)}.bottom-sheet__handle{width:2.75rem;height:.25rem;margin:0 auto var(--space-5);background:var(--color-border-strong);border-radius:var(--radius-pill)}.bottom-sheet__header{display:flex;margin-bottom:var(--space-6);align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.bottom-sheet__header h2{margin-bottom:var(--space-2)}.bottom-sheet__header p{margin:0;color:var(--color-text-muted)}@keyframes sheet-enter{0%{opacity:0;transform:translateY(1.5rem)}}@media(min-width:40rem){.site-header__inner,.app-shell{padding-inline:var(--space-6)}.app-shell{padding-top:var(--space-12)}.home-hero__actions{display:flex;flex-wrap:wrap}.home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card--spacious{padding:var(--space-8)}.bottom-sheet{display:grid;padding:var(--space-8);place-items:center}.bottom-sheet__panel{position:static;width:min(100%,36rem);max-height:min(80vh,44rem);border-radius:var(--radius-xl)}}@media(min-width:56rem){.app-shell{padding-bottom:var(--space-16)}.mobile-navigation{display:none}.desktop-navigation{display:block}.desktop-navigation__inner{display:flex;align-items:center;gap:var(--space-1)}.desktop-navigation__link{padding:var(--space-2) var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:650;text-decoration:none;border-radius:var(--radius-pill)}.desktop-navigation__link:hover,.desktop-navigation__link.is-active{color:var(--color-text);background:var(--color-surface-subtle)}}@media(prefers-reduced-motion:no-preference){.button,.language-button,.mobile-navigation__link,.desktop-navigation__link,.form-control{transition:color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
