.tv{--tv-h:40rem}@media (min-width:40rem){.tv{--tv-h:46rem}}@media (min-width:64rem){.tv{--tv-h:50rem}}.tv-bar{gap:.75rem;margin-bottom:clamp(1rem,.75rem + 1vw,1.5rem);display:grid}@media (min-width:64rem){.tv-bar{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2rem}}.tv-tabs{box-shadow:inset 0 0 0 1px var(--rule);border-radius:999px;flex-wrap:wrap;justify-self:start;gap:.25rem;padding:.25rem;display:flex}.tv-tab{min-height:2.25rem;padding-inline:var(--inset-pill);color:var(--ink-2);font-size:var(--text-sm);letter-spacing:-.01em;white-space:nowrap;transition:color var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out);border-radius:999px;align-items:center;font-weight:500;display:inline-flex;position:relative;overflow:hidden}@media (max-width:39.99rem){.tv-tab{padding-inline:.75rem;font-size:.8125rem}}@media (max-width:22.49rem){.tv-tab{padding-inline:.4375rem;font-size:.78125rem}}.tv-tab:hover{color:var(--ink)}.tv-tab[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--rule), 0 1px 2px var(--lightningcss-light,#1c140c0f)var(--lightningcss-dark,#0000004d)}@supports (color:lab(0% 0 0)){.tv-tab[aria-selected=true]{box-shadow:0 0 0 1px var(--rule), 0 1px 2px var(--lightningcss-light,lab(7.19201% 3.16643 5.67935/.06))var(--lightningcss-dark,lab(0% 0 0/.3))}}.tv-tab:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.tv-progress{inset-inline:var(--inset-pill);background:var(--gold);transform-origin:0;height:1px;animation-name:tv-progress;animation-timing-function:linear;animation-play-state:paused;animation-fill-mode:forwards;position:absolute;bottom:.3rem;transform:scaleX(0)}.tv[data-running] .tv-progress{animation-play-state:running}@keyframes tv-progress{to{transform:scaleX(1)}}.tv-hints{max-width:62ch;color:var(--ink-3);font-size:var(--text-sm);line-height:1.45;display:grid}.tv-hint{visibility:hidden;opacity:0;transition:opacity var(--dur-3) var(--ease-out), visibility 0s linear var(--dur-3);grid-area:1/1}.tv-hint[data-on]{visibility:visible;opacity:1;transition:opacity var(--dur-3) var(--ease-out)}.tv-stage{height:var(--tv-h);position:relative}.tv-pane{position:absolute;inset:0}.tv-pane>*{height:100%}.tv-pane[data-state=in]{animation:tv-in .7s var(--ease-out) both}.tv-pane[data-state=out]{pointer-events:none;animation:tv-out .7s var(--ease-out) both}@keyframes tv-in{0%{opacity:0;transform:translateY(.75rem)scale(.985)}}@keyframes tv-out{to{opacity:0;transform:translateY(-.5rem)scale(1.01)}}@media (prefers-reduced-motion:reduce){.tv-pane[data-state]{animation:none}.tv-hint{transition:none}}
.iv{--iv-h:min(80svh, 128vw)}@media (min-width:40rem){.iv{--iv-h:clamp(30rem, 74svh, 48rem)}}.iv-bar{gap:.75rem;margin-bottom:clamp(1rem,.75rem + 1vw,1.5rem);display:grid}@media (min-width:64rem){.iv-bar{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2rem}}.iv-tabs{box-shadow:inset 0 0 0 1px var(--rule);border-radius:999px;flex-wrap:wrap;justify-self:start;gap:.25rem;padding:.25rem;display:flex}.iv-tab{min-height:2.25rem;padding-inline:var(--inset-pill);color:var(--ink-2);font-size:var(--text-sm);letter-spacing:-.01em;white-space:nowrap;transition:color var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out);border-radius:999px;align-items:center;font-weight:500;display:inline-flex;position:relative;overflow:hidden}@media (max-width:39.99rem){.iv-tab{padding-inline:.75rem;font-size:.8125rem}}@media (max-width:22.49rem){.iv-tab{padding-inline:.4375rem;font-size:.78125rem}}.iv-tab:hover{color:var(--ink)}.iv-tab[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--rule), 0 1px 2px var(--lightningcss-light,#1c140c0f)var(--lightningcss-dark,#0000004d)}@supports (color:lab(0% 0 0)){.iv-tab[aria-selected=true]{box-shadow:0 0 0 1px var(--rule), 0 1px 2px var(--lightningcss-light,lab(7.19201% 3.16643 5.67935/.06))var(--lightningcss-dark,lab(0% 0 0/.3))}}.iv-tab:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.iv-progress{inset-inline:var(--inset-pill);background:var(--gold);transform-origin:0;height:1px;animation-name:iv-progress;animation-timing-function:linear;animation-play-state:paused;animation-fill-mode:forwards;position:absolute;bottom:.3rem;transform:scaleX(0)}.iv[data-running] .iv-progress{animation-play-state:running}@keyframes iv-progress{to{transform:scaleX(1)}}.iv-hints{max-width:62ch;color:var(--ink-3);font-size:var(--text-sm);line-height:1.45;display:grid}.iv-hint{visibility:hidden;opacity:0;transition:opacity var(--dur-3) var(--ease-out), visibility 0s linear var(--dur-3);grid-area:1/1}.iv-hint[data-on]{visibility:visible;opacity:1;transition:opacity var(--dur-3) var(--ease-out)}.iv-stage{height:var(--iv-h);border-radius:var(--radius-card);isolation:isolate;box-shadow:0 0 0 1px #e4ddcf1a, var(--shadow-lift);color:var(--ink);background:#03040a;position:relative;overflow:clip}@supports (color:lab(0% 0 0)){.iv-stage{box-shadow:0 0 0 1px lab(88.4762% .642717 7.67483/.1), var(--shadow-lift)}}.iv-pane{z-index:1;position:absolute;inset:0}.iv-pane>*{height:100%}.iv-pane[data-state=in]{animation:iv-in .7s var(--ease-out) both}@keyframes iv-in{0%{opacity:0}}.iv-poster{z-index:2;pointer-events:none;transition:opacity .7s var(--ease-out);position:absolute;inset:0}.iv-poster[data-hide]{opacity:0}.iv-picture img,.iv-poster img{object-fit:cover;width:100%;height:100%;display:block}.iv-ghost{z-index:3;pointer-events:none;position:absolute;inset:0}.iv-ghost canvas{width:100%;height:100%;display:block}.iv-ghost[data-on=fade]{animation:iv-out .7s var(--ease-out) both}@keyframes iv-out{to{opacity:0;transform:scale(1.012)}}.iv-picture{position:absolute;inset:0}.iv-fail{inset:auto var(--inset-card) var(--inset-card);width:fit-content;height:auto;max-width:calc(100% - 2 * var(--inset-card));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink-2);font-size:var(--text-sm);background:#03060db8;background:lab(1.51097% .219554 -3.16998/.72);border-radius:1rem;justify-self:start;padding:.375rem .875rem;position:absolute}.iv-sound{z-index:4;top:var(--inset-compact,.75rem);right:var(--inset-compact,.75rem);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-height:2.75rem;color:var(--ink);font-size:var(--text-sm);transition:border-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out);background:#0509138c;background:lab(2.39105% .41905 -5.47341/.55);border:1px solid #e4ddcf2e;border:1px solid lab(88.4762% .642717 7.67483/.18);border-radius:999px;align-items:center;gap:.5rem;padding-inline:.875rem 1rem;display:inline-flex;position:absolute}.iv-sound:hover{border-color:#e4ddcf66;border-color:lab(88.4762% .642717 7.67483/.4)}.iv-sound:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.iv-sound[aria-pressed=true]{border-color:color-mix(in oklab, var(--gold) 70%, transparent);color:var(--gold)}.iv-sound svg{fill:currentColor;width:1.125rem;height:1.125rem}.iv-sound .iv-wave{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round}@media (max-width:39.99rem){.iv-sound{justify-content:center;width:2.75rem;padding:0}.iv-sound span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (prefers-reduced-motion:reduce){.iv-pane[data-state],.iv-ghost[data-on]{animation:none}.iv-hint,.iv-poster{transition:none}}
.about-portrait{aspect-ratio:5/4;padding:var(--inset-card) var(--inset-card) 0;border-radius:var(--radius-card);background:var(--pastel);color:var(--pastel-ink);align-self:start;place-items:end center;display:grid;position:relative;overflow:clip}.about-portrait:before{content:"";background:color-mix(in oklch, var(--surface) 55%, transparent);border-radius:50%;position:absolute;inset:12% 18% -20%}.about-portrait-art{max-width:100%;height:100%;position:relative}.about-card{padding:var(--inset-card);border:1px solid var(--rule);border-radius:var(--radius-card);background:var(--surface)}.about-card-pastel{background:var(--pastel);color:var(--pastel-ink);border-color:#0000}.about-card-pastel .readout{color:color-mix(in oklch, var(--pastel-ink) 72%, transparent)}.about-doodles{flex-wrap:wrap;gap:1.25rem;margin-top:1rem;display:flex}.about-doodles>.doodle{height:3.5rem}.about-lede{text-wrap:balance}
.contact-card{background:radial-gradient(60% 70% at 100% 0%, color-mix(in oklch, var(--gold) 13%, transparent), transparent 70%), radial-gradient(50% 60% at 0% 100%, color-mix(in oklch, var(--pastel-tools) 30%, transparent), transparent 70%), var(--ground);padding:clamp(1.5rem,.6rem + 4vw,5rem);position:relative}.contact-grid{gap:clamp(2.5rem,2rem + 2vw,4rem);display:grid}@media (min-width:64rem){.contact-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;gap:clamp(2.5rem,4vw,5rem)}}.contact-eyebrow{color:var(--ink-2);align-items:center;gap:.6rem;display:inline-flex}.contact-live{background:var(--gold);border-radius:50%;width:.5rem;height:.5rem;position:relative}@media (prefers-reduced-motion:no-preference){.contact-live:after{content:"";border-radius:inherit;background:var(--gold);opacity:0;animation:contact-live 2.4s var(--ease-out) infinite;animation-play-state:var(--loop-play,running);position:absolute;inset:0}}@keyframes contact-live{0%{opacity:.6;scale:1}70%,to{opacity:0;scale:3}}.contact-main{container-type:inline-size}.contact-heading{letter-spacing:-.05em;margin-top:1.25rem;font-size:clamp(2.25rem,12.2cqi,6rem);line-height:1}:lang(th) .contact-heading{letter-spacing:-.02em;font-size:clamp(2.25rem,11cqi,5.5rem);line-height:1.2}.kin-unit{display:inline-block}@media (prefers-reduced-motion:no-preference){:root[data-reveal-ready] .kinetic:not([data-on]) .kin-unit{opacity:0;filter:blur(12px);translate:0 .35em}.kinetic[data-on] .kin-unit{transition:opacity .76s var(--ease-out) calc(var(--i) * 85ms), filter .76s var(--ease-out) calc(var(--i) * 85ms), translate .76s var(--ease-out) calc(var(--i) * 85ms)}}.contact-email{letter-spacing:-.035em;overflow-wrap:anywhere;width:fit-content;max-width:100%;font-size:clamp(1.375rem,1rem + 1.6vw,2.25rem);font-weight:600;text-decoration-thickness:2px}.contact-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.contact-actions>*{width:100%}.contact-actions>:is(.contact-cta,button){grid-column:1/-1}@container (min-width:24rem){.contact-actions>:is(.contact-cta,button){grid-column:auto}}@container (min-width:36rem){.contact-actions{flex-wrap:nowrap;align-items:center;display:flex}.contact-actions>*{width:auto}}.contact-btn,.contact-cta{height:2.75rem;padding-inline:var(--inset-btn);font-size:var(--text-sm);white-space:nowrap;transition:background-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out);border-radius:999px;justify-content:center;align-items:center;gap:.5rem;font-weight:500;display:inline-flex}.contact-btn{border:1px solid var(--rule)}.contact-btn:hover{border-color:var(--rule-strong)}.contact-cta{background:var(--gold);height:3rem;color:var(--gold-ink);box-shadow:0 10px 30px -12px color-mix(in oklch, var(--gold) 70%, transparent);font-weight:600}.contact-cta.beam{--beam-inset:-3px;--beam-w:2px;--beam-paint:conic-gradient(transparent 0 62%, var(--ink) 80%, transparent 100%);--beam-still:var(--beam-paint)}.contact-cta:hover{background:color-mix(in oklch, var(--gold) 88%, var(--ink))}.contact-cta svg{transition:translate var(--dur-2) var(--ease-out)}.contact-cta:hover svg{translate:3px}.contact-side{gap:.75rem;display:grid}.contact-plane{--fig-h:clamp(10.5rem, 7.5rem + 8vw, 16rem);align-items:flex-start;margin-bottom:1rem;display:flex}.contact-plane-figure{height:var(--fig-h);color:var(--ink)}.contact-plane-trail{min-width:0;margin-top:calc(var(--fig-h) * .035);color:var(--gold);flex:1;overflow:visible}.contact-doors{gap:.75rem;display:grid}@media (min-width:48rem){.contact-doors{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:64rem){.contact-doors{grid-column:1/-1;gap:1rem}}.contact-door,.contact-clock{padding:var(--inset-card);border:1px solid var(--rule);border-radius:var(--radius-sm);background:color-mix(in oklch, var(--surface) 70%, transparent)}.contact-clock-digits{letter-spacing:-.04em;margin-top:.75rem;font-size:clamp(3rem,2.2rem + 3vw,4.75rem);font-weight:600;line-height:1}.contact-clock-digits [data-pending]{opacity:.35}.odometer-sep{color:var(--gold);padding-inline:.04em}@property --plane{syntax:"<number>";inherits:false;initial-value:1}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.contact-plane-trail{--plane:0;-webkit-mask-image:linear-gradient(90deg, #000 calc(var(--plane) * 130% - 30%), transparent calc(var(--plane) * 130%));mask-image:linear-gradient(90deg, #000 calc(var(--plane) * 130% - 30%), transparent calc(var(--plane) * 130%));animation:linear both contact-plane;animation-timeline:view();animation-range:entry 10% cover 45%}}}@keyframes contact-plane{0%{--plane:0}to{--plane:1}}@media print{.contact-card{background:0 0;padding:0}.contact-plane{display:none}}
.fx-stage{--fx-fs:calc((min(100vw, 96rem) - 2 * var(--gutter)) / 3.25);height:calc(var(--header-h) + clamp(1.5rem, 5vh, 4rem) + var(--band-grow,0px) + .82 * var(--fx-fs) + 3rem);z-index:0;pointer-events:none;position:absolute;inset:0 0 auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 4rem),#0000);mask-image:linear-gradient(#000 calc(100% - 4rem),#0000)}.fx-host{position:absolute;inset:0}.fx-canvas{opacity:0;width:100%;height:100%;transition:opacity .4s var(--ease-out);display:block}.fx-stage[data-show] .fx-canvas{opacity:1}.hero-stage-controls{z-index:2;top:.5rem;right:var(--gutter);border:1px solid color-mix(in oklab, var(--ink) 12%, transparent);background:color-mix(in oklab, var(--ground) 62%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;align-items:center;gap:.625rem;padding:.25rem;display:flex;position:absolute}.hero-stage-dots{align-items:center;gap:.375rem;padding-inline-start:.5rem;display:flex}.hero-stage-dots li{background:color-mix(in oklab, var(--ink) 30%, transparent);width:.375rem;height:.375rem;transition:width var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out);border-radius:999px}.hero-stage-dots li[data-on]{background:var(--gold);width:1rem}.hero-stage-dots li[data-skipped]:not([data-on]){box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--ink) 22%, transparent);background:0 0}.hero-stage-toggle{width:2rem;height:2rem;color:var(--ink);background:color-mix(in oklab, var(--ink) 8%, transparent);transition:background-color var(--dur-2) var(--ease-out);border-radius:999px;place-items:center;display:grid}.hero-stage-toggle:hover{background:color-mix(in oklab, var(--ink) 16%, transparent)}.hero-stage-toggle:focus-visible{border-radius:999px}@media (orientation:landscape) and (max-height:32rem){.hero-stage-controls{top:auto;bottom:1rem}}@media (prefers-reduced-motion:no-preference){[data-masthead-mark],[data-masthead-name]{transition:opacity var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out)}}@media (scripting:enabled){html:has([data-hero-wordmark]):not([data-hero-passed]) :is([data-masthead-mark],[data-masthead-name]){opacity:0}html:has([data-hero-wordmark]):not([data-hero-passed]) .nav-brand{grid-template-columns:0fr}html:has([data-hero-wordmark]):not([data-hero-passed]) .nav-brand-link{visibility:hidden;transition:visibility 0s linear var(--dur-3)}html:has([data-hero-wordmark]):not([data-hero-passed]) a:focus-visible :is([data-masthead-mark],[data-masthead-name]){opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.nav-brand{transition:none}}@media (scripting:enabled) and (prefers-reduced-motion:no-preference){html:has([data-hero-wordmark]):not([data-hero-passed]) :is([data-masthead-mark],[data-masthead-name]){transition-duration:var(--dur-1);transform:translateY(.35em)}}
.nv{--nv-h:48rem}@media (max-width:22.49rem){.nv{--nv-h:53rem}}@media (min-width:48rem){.nv{--nv-h:46rem}}@media (min-width:64rem){.nv{--nv-h:42rem}}.nv-bar{gap:.75rem;margin-bottom:clamp(1rem,.75rem + 1vw,1.5rem);display:grid}@media (min-width:64rem){.nv-bar{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2rem}}.nv-tabs{box-shadow:inset 0 0 0 1px var(--rule);border-radius:999px;flex-wrap:wrap;justify-self:start;gap:.25rem;padding:.25rem;display:flex}.nv-tab{min-height:2.25rem;padding-inline:var(--inset-pill);color:var(--ink-2);font-size:var(--text-sm);letter-spacing:-.01em;white-space:nowrap;transition:color var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out);border-radius:999px;align-items:center;font-weight:500;display:inline-flex;position:relative;overflow:hidden}@media (max-width:39.99rem){.nv-tab{padding-inline:.75rem;font-size:.8125rem}}@media (max-width:22.49rem){.nv-tab{padding-inline:.4375rem;font-size:.78125rem}}.nv-tab:hover{color:var(--ink)}.nv-tab[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--rule), 0 1px 2px var(--lightningcss-light,#1c140c0f)var(--lightningcss-dark,#0000004d)}@supports (color:lab(0% 0 0)){.nv-tab[aria-selected=true]{box-shadow:0 0 0 1px var(--rule), 0 1px 2px var(--lightningcss-light,lab(7.19201% 3.16643 5.67935/.06))var(--lightningcss-dark,lab(0% 0 0/.3))}}.nv-tab:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.nv-progress{inset-inline:var(--inset-pill);background:var(--gold);transform-origin:0;height:1px;animation-name:nv-progress;animation-timing-function:linear;animation-play-state:paused;animation-fill-mode:forwards;position:absolute;bottom:.3rem;transform:scaleX(0)}.nv[data-running] .nv-progress{animation-play-state:running}@keyframes nv-progress{to{transform:scaleX(1)}}.nv-hints{max-width:62ch;color:var(--ink-3);font-size:var(--text-sm);line-height:1.45;display:grid}.nv-hint{visibility:hidden;opacity:0;transition:opacity var(--dur-3) var(--ease-out), visibility 0s linear var(--dur-3);grid-area:1/1}.nv-hint[data-on]{visibility:visible;opacity:1;transition:opacity var(--dur-3) var(--ease-out)}.nv-stage{height:var(--nv-h);position:relative}.nv-pane{position:absolute;inset:0}.nv-pane>*{height:100%}.nv-pane[data-state=in]{animation:nv-in .7s var(--ease-out) both}.nv-pane[data-state=out]{pointer-events:none;animation:nv-out .7s var(--ease-out) both}@keyframes nv-in{0%{opacity:0;transform:translateY(.75rem)scale(.985)}}@keyframes nv-out{to{opacity:0;transform:translateY(-.5rem)scale(1.01)}}@media (prefers-reduced-motion:reduce){.nv-pane[data-state]{animation:none}.nv-hint{transition:none}}
