@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Thai:wght@200;300;400;500;600;700&display=swap";.clerk-avatar{width:32px!important;height:32px!important}.header-user-btn[data-astro-cid-3ef6ksr2]{display:flex;align-items:center}.lang-switch[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.04em;text-decoration:none;color:var(--gray-500);padding:4px 8px;border-radius:6px;transition:background .15s,color .15s}.lang-switch[data-astro-cid-3ef6ksr2]:hover{background:var(--gray-100);color:var(--navy-900)}.lang-switch[data-astro-cid-3ef6ksr2] svg[data-astro-cid-3ef6ksr2]{color:var(--gray-400);transition:color .15s}.lang-switch[data-astro-cid-3ef6ksr2]:hover svg[data-astro-cid-3ef6ksr2]{color:var(--navy-900)}@font-face{font-family:Google Sans;src:url(fonts/GoogleSans-VariableFont_GRAD_opsz_wght.ttf) format("truetype-variations");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Google Sans;src:url(fonts/GoogleSans-Italic-VariableFont_GRAD_opsz_wght.ttf) format("truetype-variations");font-weight:100 900;font-style:italic;font-display:swap}@font-face{font-family:BerkeleyMono;src:url(fonts/BerkeleyMonoVariable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--font-sans: "Google Sans", "IBM Plex Sans Thai", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-thai: "IBM Plex Sans Thai", "Google Sans", ui-sans-serif, system-ui, sans-serif;--font-mono: "BerkeleyMono", "SF Mono", Monaco, Consolas, "Ubuntu Mono", "Liberation Mono", "Courier New", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--text-7xl: 4.5rem;--leading-tight: 1.1;--leading-snug: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.65;--tracking-tighter: -.04em;--tracking-tight: -.02em;--tracking-normal: 0em;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-black: 900;--weight-thin: 100;--blue-50: #EEF3FF;--blue-100: #DAE3FF;--blue-200: #B3C5FF;--blue-300: #8AA6FF;--blue-400: #5C81FF;--blue-500: #2B5CFF;--blue-600: #1E47DB;--blue-700: #1736AE;--blue-800: #102782;--blue-900: #0A1A5C;--purple-50: #F4EEFF;--purple-100: #E5D6FF;--purple-200: #C8A8FF;--purple-300: #A87BFF;--purple-400: #8B55F0;--purple-500: #7B3FE4;--purple-600: #6228C7;--purple-700: #4B1C9C;--purple-800: #361270;--purple-900: #220A4A;--navy-50: #F4F6FC;--navy-100: #E2E7F4;--navy-200: #B9C2DD;--navy-300: #8A95B8;--navy-400: #535E85;--navy-500: #2B3661;--navy-600: #1A2349;--navy-700: #131A3D;--navy-800: #0E1430;--navy-900: #0A0F2C;--gray-0: #FFFFFF;--gray-50: #F6F8FC;--gray-100: #EAEFF7;--gray-200: #D7DEEC;--gray-300: #BAC4D8;--gray-400: #8C97B2;--gray-500: #5F6A85;--gray-600: #424C66;--gray-700: #2B3349;--gray-800: #181E33;--gray-900: #0B0F22;--gradient-brand: linear-gradient(135deg, var(--blue-500) 0%, var(--purple-500) 100%);--gradient-brand-soft: linear-gradient(135deg, var(--blue-50) 0%, var(--purple-50) 100%);--gradient-brand-deep: linear-gradient(135deg, var(--blue-700) 0%, var(--purple-700) 100%);--gradient-brand-text: linear-gradient(135deg, var(--blue-600) 0%, var(--purple-600) 100%);--background: var(--gray-0);--foreground: var(--gray-900);--card: var(--gray-0);--card-foreground: var(--gray-900);--popover: var(--gray-0);--popover-foreground: var(--gray-900);--primary: var(--navy-900);--primary-foreground: var(--gray-0);--secondary: var(--gray-50);--secondary-foreground:var(--navy-900);--muted: var(--gray-50);--muted-foreground: var(--gray-500);--accent: var(--blue-50);--accent-foreground: var(--blue-700);--destructive: #E54848;--border: var(--gray-200);--input: var(--gray-200);--ring: var(--blue-500);--zinc-50: var(--gray-50);--zinc-100: var(--gray-100);--zinc-200: var(--gray-200);--zinc-300: var(--gray-300);--zinc-400: var(--gray-400);--zinc-500: var(--gray-500);--zinc-600: var(--gray-600);--zinc-700: var(--gray-700);--zinc-800: var(--gray-800);--zinc-900: var(--gray-900);--zinc-950: var(--navy-900);--sky-50: var(--blue-50);--sky-200: var(--blue-200);--sky-500: var(--blue-500);--sky-700: var(--blue-700);--fg-strong: var(--gray-900);--fg-default: var(--gray-800);--fg-muted: var(--gray-500);--fg-subtle: var(--gray-400);--bg-subtle: var(--gray-50);--hairline: rgba(11, 15, 34, .06);--hairline-strong: rgba(11, 15, 34, .1);--radius: .625rem;--radius-sm: calc(var(--radius) - 4px);--radius-md: calc(var(--radius) - 2px);--radius-lg: var(--radius);--radius-xl: calc(var(--radius) + 4px);--radius-2xl: calc(var(--radius) + 8px);--radius-3xl: calc(var(--radius) + 12px);--radius-full: 9999px;--shadow-xs: 0 1px 1px 0 rgb(0 0 0 / .04);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 12px -2px rgb(0 0 0 / .06), 0 2px 4px -1px rgb(0 0 0 / .04);--shadow-lg: 0 12px 32px -8px rgb(24 24 27 / .12), 0 4px 8px -2px rgb(24 24 27 / .06);--space-0: 0;--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;--space-20: 5rem;--space-24: 6rem;--container-xl: 1280px;--content-prose: 65ch}html{font-family:var(--font-sans);color:var(--fg-default);background:var(--background);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{margin:0;font-size:var(--text-base);line-height:var(--leading-normal)}*{box-sizing:border-box}.h-display{font-family:var(--font-sans);font-weight:var(--weight-semibold);font-size:clamp(2.75rem,6vw,var(--text-7xl));line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--fg-strong);text-wrap:balance}h1,.h1{font-family:var(--font-sans);font-weight:var(--weight-semibold);font-size:var(--text-5xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--fg-strong);text-wrap:balance;margin:0}h2,.h2{font-family:var(--font-sans);font-weight:var(--weight-semibold);font-size:var(--text-3xl);line-height:1.15;letter-spacing:var(--tracking-tight);color:var(--fg-strong);margin:0}h3,.h3{font-family:var(--font-sans);font-weight:var(--weight-medium);font-size:var(--text-xl);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);color:var(--fg-strong);margin:0}h4,.h4{font-family:var(--font-sans);font-weight:var(--weight-medium);font-size:var(--text-lg);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);color:var(--fg-strong);margin:0}p,.p{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--fg-default);text-wrap:pretty;margin:0}.lede{font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--fg-muted);text-wrap:pretty}.eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--fg-muted)}.meta{font-size:var(--text-sm);color:var(--fg-subtle);font-variant-numeric:tabular-nums}code,.code,kbd,samp{font-family:var(--font-mono);font-size:.92em;background:var(--bg-subtle);border-radius:var(--radius-sm);padding:.1em .4em;color:var(--fg-default)}pre{font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.6;background:var(--zinc-950);color:var(--zinc-100);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);overflow-x:auto}pre code{background:transparent;padding:0;color:inherit}a{color:inherit;text-decoration:underline;text-decoration-color:var(--zinc-300);text-underline-offset:4px;transition:text-decoration-color .15s ease,color .15s ease}a:hover{text-decoration-color:var(--fg-default)}hr{border:0;border-top:1px solid var(--border);margin:var(--space-8) 0}::selection{background:var(--blue-500);color:var(--gray-0)}.h-mega{font-family:var(--font-sans);font-weight:900;font-size:clamp(4rem,12vw,9rem);line-height:.92;letter-spacing:-.04em;color:var(--navy-900);text-wrap:balance}.t-stroke{font-family:var(--font-sans);font-weight:900;-webkit-text-stroke:1.5px var(--navy-900);-webkit-text-fill-color:transparent;color:transparent;letter-spacing:-.04em}.t-stroke-blue{-webkit-text-stroke-color:var(--blue-500)}.t-stroke-purple{-webkit-text-stroke-color:var(--purple-500)}.t-thin{font-family:var(--font-sans);font-weight:100;letter-spacing:-.02em;color:var(--navy-900)}.t-accent{font-family:var(--font-sans);font-weight:700;color:var(--blue-500);letter-spacing:-.02em}.t-accent-purple{color:var(--purple-500)}.t-accent-gradient{background:var(--gradient-brand-text);-webkit-background-clip:text;background-clip:text;color:transparent}.t-caption{font-family:var(--font-mono);font-size:11px;font-weight:400;letter-spacing:.04em;text-transform:uppercase;color:var(--navy-900);opacity:.4}.t-thai{font-family:var(--font-thai)}.canvas{position:relative;width:100%;background:var(--gray-0);overflow:hidden;border-radius:8px;box-shadow:inset 0 0 0 1px var(--hairline)}.canvas-16x9{aspect-ratio:16 / 9}.canvas-4x5{aspect-ratio:4 / 5}.canvas-1x1{aspect-ratio:1 / 1}.canvas-3x4{aspect-ratio:3 / 4}.canvas .stage{position:absolute;inset:0;padding:clamp(20px,5%,64px)}.ed-grid{position:relative;width:100%;height:100%;display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(12,1fr);gap:0}.ed-text-left{grid-column:1 / span 6;grid-row:4 / span 6;align-self:center}.ed-text-right{grid-column:7 / span 6;grid-row:4 / span 6;align-self:center;text-align:right}.ed-hero-right{grid-column:7 / span 6;grid-row:1 / span 12;align-self:center;justify-self:end}.ed-hero-left{grid-column:1 / span 6;grid-row:1 / span 12;align-self:center;justify-self:start}.ed-caption-tl{grid-column:1 / span 3;grid-row:1 / span 1;align-self:start}.ed-caption-tr{grid-column:10 / span 3;grid-row:1 / span 1;align-self:start;text-align:right}.ed-caption-bl{grid-column:1 / span 4;grid-row:12 / span 1;align-self:end}.ed-caption-br{grid-column:9 / span 4;grid-row:12 / span 1;align-self:end;text-align:right}.blob{position:absolute;border-radius:60% 40% 55% 45%/50% 60% 40% 50%;filter:blur(2px);z-index:0;pointer-events:none}.blob-1{border-radius:62% 38% 55% 45%/48% 60% 40% 52%}.blob-2{border-radius:45% 55% 38% 62%/55% 42% 58% 45%}.blob-3{border-radius:70% 30% 50% 50%/40% 60%}.blob-4{border-radius:35% 65% 45% 55%/65% 35%}.blob-blue{background:var(--blue-500)}.blob-purple{background:var(--purple-500)}.blob-gradient{background:var(--gradient-brand)}.blob-blue-soft{background:var(--blue-100)}.blob-purple-soft{background:var(--purple-100)}.blob-soft{filter:blur(40px);opacity:.85}.blob-glow{filter:blur(80px);opacity:.6}.blob-hard{filter:none}.micro{width:28px;height:28px;color:var(--navy-900);position:absolute;z-index:2}.micro-sm{width:18px;height:18px}.micro-lg{width:40px;height:40px}.micro-blue{color:var(--blue-500)}.micro-purple{color:var(--purple-500)}.micro-gray{color:var(--gray-400)}.micro svg{width:100%;height:100%;display:block}.t-lockup{display:flex;flex-direction:column;gap:0;line-height:.95}.t-lockup>.line{display:block;margin:0}.t-mixed{font-family:var(--font-sans);font-weight:900;font-size:clamp(2.5rem,6vw,5rem);line-height:1;letter-spacing:-.03em;color:var(--navy-900)}.t-mixed em{font-style:normal;font-weight:100;letter-spacing:-.02em}.t-mixed mark{background:transparent;color:var(--blue-500);font-weight:900}.t-mixed s{text-decoration:none;-webkit-text-stroke:1.5px var(--navy-900);-webkit-text-fill-color:transparent;color:transparent}.backdrop-dots{background-image:radial-gradient(var(--gray-300) 1px,transparent 1px);background-size:24px 24px;background-position:0 0}.backdrop-grid{background-image:linear-gradient(to right,var(--gray-200) 1px,transparent 1px),linear-gradient(to bottom,var(--gray-200) 1px,transparent 1px);background-size:48px 48px}.backdrop-soft-gradient{background:radial-gradient(ellipse at 80% 10%,var(--purple-100),transparent 50%),radial-gradient(ellipse at 10% 90%,var(--blue-100),transparent 50%),var(--gray-0)}@theme{ --color-background: var(--background); --color-foreground: var(--foreground); --color-card: var(--card); --color-card-foreground: var(--card-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-secondary: var(--secondary); --color-secondary-foreground: var(--secondary-foreground); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-accent: var(--accent); --color-accent-foreground: var(--accent-foreground); --color-destructive: var(--destructive); --color-border: var(--border); --color-input: var(--input); --color-ring: var(--ring); --color-blue-50: var(--blue-50); --color-blue-100: var(--blue-100); --color-blue-200: var(--blue-200); --color-blue-300: var(--blue-300); --color-blue-400: var(--blue-400); --color-blue-500: var(--blue-500); --color-blue-600: var(--blue-600); --color-blue-700: var(--blue-700); --color-blue-800: var(--blue-800); --color-blue-900: var(--blue-900); --color-purple-50: var(--purple-50); --color-purple-100: var(--purple-100); --color-purple-200: var(--purple-200); --color-purple-300: var(--purple-300); --color-purple-400: var(--purple-400); --color-purple-500: var(--purple-500); --color-purple-600: var(--purple-600); --color-purple-700: var(--purple-700); --color-purple-800: var(--purple-800); --color-purple-900: var(--purple-900); --color-navy-50: var(--navy-50); --color-navy-100: var(--navy-100); --color-navy-200: var(--navy-200); --color-navy-300: var(--navy-300); --color-navy-400: var(--navy-400); --color-navy-500: var(--navy-500); --color-navy-600: var(--navy-600); --color-navy-700: var(--navy-700); --color-navy-800: var(--navy-800); --color-navy-900: var(--navy-900); --color-gray-0: var(--gray-0); --color-gray-50: var(--gray-50); --color-gray-100: var(--gray-100); --color-gray-200: var(--gray-200); --color-gray-300: var(--gray-300); --color-gray-400: var(--gray-400); --color-gray-500: var(--gray-500); --color-gray-600: var(--gray-600); --color-gray-700: var(--gray-700); --color-gray-800: var(--gray-800); --color-gray-900: var(--gray-900); --font-sans: var(--font-sans); --font-mono: var(--font-mono); --radius-sm: var(--radius-sm); --radius-md: var(--radius-md); --radius-lg: var(--radius-lg); --radius-xl: var(--radius-xl); --radius-2xl: var(--radius-2xl); --radius-3xl: var(--radius-3xl); --radius-full: var(--radius-full); }html,body{background:var(--gray-0)}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 2rem}@media(max-width:640px){.container{padding:0 1rem}}.header{position:sticky;top:0;z-index:40;background:#ffffffd9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.header-inner{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;gap:1.5rem}.header-left{display:flex;align-items:center;gap:1.75rem}.brand{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none}.brand img{width:28px;height:28px;display:block}.brand-name{font-family:var(--font-sans);font-weight:600;font-size:18px;letter-spacing:-.02em;color:var(--navy-900)}.brand-sub{font-family:var(--font-thai);font-weight:500;font-size:12px;color:var(--gray-500);margin-left:4px}.nav{display:flex;gap:1.375rem}.nav-link{font-size:14px;font-weight:500;color:var(--gray-500);text-decoration:none;white-space:nowrap;transition:color .15s ease}.nav-link:hover,.nav-link.is-active{color:var(--navy-900)}.header-right{display:flex;align-items:center;gap:.625rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:38px;padding:0 1.125rem;border-radius:10px;font-family:var(--font-sans);font-size:14px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;transition:all .18s cubic-bezier(.3,.7,.4,1.2);border:1px solid transparent;outline:none;text-decoration:none}.btn:focus-visible{box-shadow:0 0 0 3px #2b5cff59}.btn svg{width:16px;height:16px}.btn-gradient{background:var(--gradient-brand);color:#fff;box-shadow:0 6px 18px -6px #6333ea80}.btn-gradient:hover{transform:translateY(-1px);box-shadow:0 10px 26px -8px #6333ea8c}.btn-gradient:active{transform:translateY(0)}.btn-solid{background:var(--navy-900);color:#fff}.btn-solid:hover{background:var(--navy-800)}.btn-outline{background:#fff;color:var(--navy-900);border-color:var(--border)}.btn-outline:hover{background:var(--gray-50);border-color:var(--gray-300)}.btn-ghost{background:transparent;color:var(--navy-900)}.btn-ghost:hover{background:var(--gray-50)}.btn-sm{height:32px;padding:0 .75rem;font-size:13px;border-radius:8px}.btn-lg{height:46px;padding:0 1.5rem;font-size:15px;border-radius:12px}.pill{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 12px;border-radius:9999px;font-size:12px;font-weight:600;letter-spacing:0;white-space:nowrap;line-height:1}.pill svg{width:12px;height:12px}.pill-blue{background:var(--blue-50);color:var(--blue-700);box-shadow:inset 0 0 0 1px #2b5cff33}.pill-purple{background:var(--purple-50);color:var(--purple-700);box-shadow:inset 0 0 0 1px #7b3fe433}.pill-navy{background:var(--gray-50);color:var(--navy-900);box-shadow:inset 0 0 0 1px var(--gray-200)}.pill-gradient{background:var(--gradient-brand);color:#fff}.pill-outline{background:transparent;color:var(--navy-900);box-shadow:inset 0 0 0 1px var(--gray-300)}.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-500);font-weight:500}.eyebrow-blue{color:var(--blue-600)}.eyebrow-purple{color:var(--purple-600)}.eyebrow .dot{display:inline-block;width:8px;height:8px;border-radius:9999px;background:currentColor;margin-right:8px;vertical-align:1px}.meta{font-family:var(--font-mono);font-size:13px;color:var(--gray-500);font-variant-numeric:tabular-nums}.footer{background:var(--gray-50);border-top:1px solid var(--border);padding:56px 0 32px}.footer .row{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px}@media(max-width:720px){.footer .row{grid-template-columns:1fr 1fr;gap:24px}}.footer .brand-block{display:flex;flex-direction:column;gap:12px}.footer .brand-block .name{display:flex;align-items:center;gap:.5rem;font-size:17px;font-weight:600;letter-spacing:-.02em}.footer .brand-block .name img{width:22px;height:22px}.footer .brand-block p{font-size:14px;color:var(--gray-500);line-height:1.55;margin:0;max-width:38ch}.footer .brand-block p .th{font-family:var(--font-thai)}.footer .col h5{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-500);margin:0 0 12px;font-weight:500}.footer .col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.footer .col a{font-size:14px;color:var(--navy-900);text-decoration:none}.footer .col a:hover{color:var(--blue-600)}.footer .legal{margin-top:40px;padding-top:24px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.footer .legal p{margin:0;font-size:12px;color:var(--gray-500)}.footer .legal a{font-size:12px;color:var(--gray-500);text-decoration:none}.section{padding:80px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:32px}.section-head .head-l{flex:1 1 auto}.section-head .head-l h2{margin:.5rem 0 0;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:700;letter-spacing:-.025em;color:var(--navy-900);line-height:1.1}.section-head .head-l .sub-th{font-family:var(--font-thai);font-weight:500;font-size:16px;color:var(--gray-500);margin-top:.5rem}.section-head a.link{font-size:14px;color:var(--gray-600);text-decoration:none;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;transition:color .15s}.section-head a.link:hover{color:var(--blue-600)}.filter-bar{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.filter-bar .pill{cursor:pointer;user-select:none}.filter-bar .pill.is-active{background:var(--navy-900);color:#fff;box-shadow:none}.courses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media(max-width:960px){.courses-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.courses-grid{grid-template-columns:1fr}}.course-card{position:relative;overflow:hidden;display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:18px;text-decoration:none;color:inherit;transition:all .22s ease;cursor:pointer}.course-card:hover{border-color:var(--gray-300);transform:translateY(-2px);box-shadow:0 16px 36px -16px #0b0f222e}.course-card .cover{aspect-ratio:16 / 10;position:relative;overflow:hidden}.course-card .cover .blob{position:absolute;width:70%;height:70%;border-radius:56% 44% 60% 40%/48% 56% 44% 52%;background:#ffffff2e;filter:blur(20px);top:-10%;right:-15%}.course-card .cover .deco{position:absolute;bottom:16px;right:16px;width:28px;height:28px;color:#fffc}.course-card .cover .level{position:absolute;top:16px;left:16px;background:#ffffffeb;color:var(--navy-900);padding:4px 10px;border-radius:9999px;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:600}.course-card .cover .price-tag{position:absolute;bottom:16px;left:16px;background:#0b0f2299;backdrop-filter:blur(6px);color:#fff;padding:6px 12px;border-radius:9999px;font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.02em}.course-card .body{padding:20px 22px;display:flex;flex-direction:column;gap:10px;flex:1}.course-card .body .ttl{font-family:var(--font-sans);font-weight:700;font-size:18px;letter-spacing:-.015em;color:var(--navy-900);line-height:1.25}.course-card .body .sub-th{font-family:var(--font-thai);font-weight:500;font-size:14px;color:var(--gray-500);line-height:1.4}.course-card .body .desc{font-size:14px;color:var(--gray-600);line-height:1.5}.course-card .body .footer-row{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--border)}.course-card .body .footer-row .meta{font-size:12px}.hero{position:relative;padding:72px 0 96px;overflow:hidden}.hero .glow{position:absolute;pointer-events:none;z-index:0}.hero .glow-1{width:540px;height:540px;right:-120px;top:-120px;background:var(--purple-200);border-radius:60% 40% 55% 45%/50% 60% 40% 50%;filter:blur(80px);opacity:.55}.hero .glow-2{width:420px;height:420px;left:-60px;bottom:-180px;background:var(--blue-200);border-radius:45% 55% 38% 62%/55% 42% 58% 45%;filter:blur(90px);opacity:.45}.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.4fr 1fr;gap:64px;align-items:center}@media(max-width:880px){.hero-inner{grid-template-columns:1fr}}.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:28px}.hero-eyebrow .pill{height:28px;padding:0 14px;font-size:12px}.hero h1{font-family:var(--font-sans);font-weight:800;font-size:clamp(2.75rem,5.2vw,4.5rem);line-height:.98;letter-spacing:-.035em;color:var(--navy-900);text-wrap:balance;margin:0}.hero h1 em{font-style:normal;font-weight:200;letter-spacing:-.02em}.hero h1 mark{background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent}.hero .lede{margin-top:28px;font-size:19px;line-height:1.55;color:var(--gray-600);max-width:52ch;text-wrap:pretty}.hero .lede .th{font-family:var(--font-thai);font-weight:500}.hero .cta-row{margin-top:36px;display:flex;gap:12px;flex-wrap:wrap}.hero-stats{margin-top:56px;display:grid;grid-template-columns:repeat(3,auto);gap:48px;align-items:end}@media(max-width:720px){.hero-stats{grid-template-columns:repeat(3,1fr);gap:24px}}.hero-stat .v{font-family:var(--font-sans);font-weight:700;font-size:36px;line-height:1;letter-spacing:-.03em;color:var(--navy-900)}.hero-stat .l{font-family:var(--font-mono);font-size:11px;color:var(--gray-500);margin-top:6px;letter-spacing:.06em;text-transform:uppercase}.hero-logo{position:relative;display:grid;place-items:center;aspect-ratio:1}.hero-logo img{width:100%;max-width:460px;height:auto}.hero-logo .float-deco{position:absolute;color:var(--purple-600);width:24px;height:24px}.hero-logo .float-deco svg{width:100%;height:100%;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.float-deco-1{top:4%;right:8%;color:var(--blue-600)}.float-deco-2{bottom:12%;left:4%;color:var(--purple-600);width:18px!important;height:18px!important}.events-list{display:flex;flex-direction:column}.event-row{display:grid;grid-template-columns:88px 1fr auto;gap:24px;padding:24px 0;border-bottom:1px solid var(--border);text-decoration:none;color:inherit;cursor:pointer;transition:all .18s ease}.event-row:hover{background:var(--gray-50);margin:0 -16px;padding:24px 16px;border-radius:14px;border-bottom-color:transparent}.event-date{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding-top:4px}.event-date .month{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue-600);font-weight:600}.event-date .day{font-family:var(--font-sans);font-size:30px;font-weight:700;line-height:1;letter-spacing:-.03em;color:var(--navy-900)}.event-date .weekday{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-500);margin-top:2px}.event-body{min-width:0}.event-body .topline{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.event-body .title{font-family:var(--font-sans);font-weight:600;font-size:19px;letter-spacing:-.015em;color:var(--navy-900);line-height:1.25}.event-body .sub{font-size:14px;color:var(--gray-500);margin-top:4px;line-height:1.45}.event-body .sub .th{font-family:var(--font-thai)}.event-body .infos{margin-top:10px;display:flex;gap:18px;flex-wrap:wrap;font-family:var(--font-mono);font-size:12px;color:var(--gray-500)}.event-body .infos span{display:inline-flex;align-items:center;gap:5px}.event-body .infos svg{width:12px;height:12px;opacity:.7}.event-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.event-fee{font-weight:700;font-size:17px;letter-spacing:-.015em}.event-right .seats{font-family:var(--font-mono);font-size:11px;color:var(--gray-500);letter-spacing:.04em;text-transform:uppercase}.event-right .seats .full{color:var(--purple-600);font-weight:600}.pill-open{background:#ecfdf5;color:#065f46;font-weight:600;padding:2px 10px;border-radius:999px;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.pill-almost{background:#fef3c7;color:#92400e;font-weight:600;padding:2px 10px;border-radius:999px;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.pill-full{background:#fce7f3;color:#9d174d;font-weight:600;padding:2px 10px;border-radius:999px;font-size:11px;text-transform:uppercase;letter-spacing:.04em}@media(max-width:640px){.event-row{grid-template-columns:1fr;gap:12px;padding:16px 0}.event-row:hover{margin:0 -8px;padding:16px 8px}.event-date{flex-direction:row;align-items:center;gap:8px}.event-date .day{font-size:22px}.event-right{flex-direction:row;justify-content:space-between;align-items:center}.event-body .title{font-size:16px}.event-body .infos{gap:12px}.event-thumb{width:100%}}.articles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}@media(max-width:960px){.articles-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.articles-grid{grid-template-columns:1fr}}.article-tile{display:flex;flex-direction:column;gap:12px;text-decoration:none;color:inherit}.article-tile .thumb{aspect-ratio:5 / 3;border-radius:14px;background:var(--gray-50);box-shadow:inset 0 0 0 1px var(--hairline, rgba(0,0,0,.08));position:relative;overflow:hidden;transition:box-shadow .18s}.article-tile:hover .thumb{box-shadow:inset 0 0 0 1px var(--gray-300)}.article-tile .thumb .blob{position:absolute;width:60%;height:90%;border-radius:56% 44% 60% 40%/48% 56% 44% 52%;top:5%;left:20%;filter:blur(2px)}.article-tile .ttl{font-family:var(--font-sans);font-weight:600;font-size:17px;letter-spacing:-.015em;color:var(--navy-900);line-height:1.3}.article-tile .row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--gray-500);font-family:var(--font-mono)}.cta-strip{position:relative;margin:64px 0;padding:56px 48px;border-radius:24px;background:radial-gradient(ellipse at 80% 10%,rgba(123,63,228,.45),transparent 55%),radial-gradient(ellipse at 12% 110%,rgba(43,92,255,.55),transparent 55%),var(--navy-900);color:#fff;overflow:hidden}.cta-strip .grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(to right,rgba(255,255,255,.05) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}.cta-strip .inner{position:relative;display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:center}@media(max-width:880px){.cta-strip .inner{grid-template-columns:1fr}}.cta-strip h3{font-family:var(--font-sans);font-weight:700;font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.025em;line-height:1.1;margin:0;color:#fff}.cta-strip h3 em{font-style:normal;font-weight:200;opacity:.85}.cta-strip p{color:#ffffffb3;font-size:15px;line-height:1.55;margin:12px 0 0;max-width:48ch}.cta-strip p .th{font-family:var(--font-thai)}.cta-strip form{display:flex;gap:8px}.cta-strip input{flex:1;height:46px;padding:0 16px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:#fff;font-family:var(--font-sans);font-size:14px;outline:none}.cta-strip input::placeholder{color:#ffffff73}.cta-strip input:focus{border-color:var(--blue-400);background:#ffffff1a}.mini-course-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;transition:all .22s ease}.mini-course-card:hover{border-color:var(--gray-300);transform:translateY(-2px);box-shadow:0 16px 36px -16px #0b0f222e}.mini-course-card .cover{position:relative;overflow:hidden}.mini-course-card .cover .blob{position:absolute;width:70%;height:70%;border-radius:56% 44% 60% 40%/48% 56% 44% 52%;background:#ffffff2e;filter:blur(20px);top:-10%;right:-15%}.mini-course-card .cover .level{position:absolute;top:12px;left:12px;background:#ffffffeb;color:var(--navy-900);padding:4px 10px;border-radius:9999px;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:600}.mini-course-card .body{padding:16px 18px;display:flex;flex-direction:column;gap:6px;flex:1}.mini-course-card .body .ttl{font-family:var(--font-sans);font-weight:600;font-size:16px;letter-spacing:-.01em;color:var(--navy-900);line-height:1.25}.mini-course-card .body .footer-row{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:4px;color:var(--navy-900)}.nav-toggle svg{width:24px;height:24px}@media(max-width:768px){.nav{display:none}.nav.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--gray-0);padding:1rem 2rem;border-bottom:1px solid var(--border);gap:1rem}.nav-toggle{display:block}.header-right .btn-ghost{display:none}}@font-face{font-family:Google Sans;src:url(/fonts/GoogleSans-VariableFont_GRAD_opsz_wght.ttf) format("truetype-variations");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Google Sans;src:url(/fonts/GoogleSans-Italic-VariableFont_GRAD_opsz_wght.ttf) format("truetype-variations");font-weight:100 900;font-style:italic;font-display:swap}@font-face{font-family:BerkeleyMono;src:url(/fonts/BerkeleyMonoVariable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
