@font-face{font-family:Manrope;src:url('/resonance/manrope.woff2') format('woff2');font-weight:200 800;font-display:swap}
:root{--bg:#eef0f3;--surface:#e2e5ea;--paper:#fff;--ink:#0b0c0e;--muted:#515965;--accent:#1f2de6;--accent-ink:#fff;--line:#929ba7;--gutter:32px;--body:18px;--small:16px;--lead:24px;--head:clamp(34px,3.3vw,48px);--display:clamp(48px,4.6vw,70px);--signal-dot:#26364c;--signal-accent:#1f2de6;--ease:cubic-bezier(.16,1,.3,1);color-scheme:light}
:root[data-theme=dark]{--bg:#101214;--surface:#1b1f24;--paper:#24292f;--ink:#f3f6f9;--muted:#bdc6d1;--accent:#b4c7ff;--accent-ink:#101b32;--line:#8b98a8;--signal-dot:#eef6fb;--signal-accent:#78e5e5;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);font:var(--body)/1.6 Manrope,'IBM Plex Sans Thai',sans-serif;font-synthesis:none}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:550}h1,h2,h3{letter-spacing:-.04em;text-wrap:balance}h2{font-size:var(--head);line-height:1.2}h3{font-size:var(--lead);line-height:1.35}h4{font-size:var(--body);font-weight:600}p{max-width:60ch;text-wrap:pretty}a{color:inherit;text-underline-offset:6px}button,input,textarea{font:inherit}button,a,label{touch-action:manipulation}button{cursor:pointer}[hidden]{display:none!important}:focus-visible{outline:3px solid currentColor;outline-offset:5px}::selection{background:var(--accent);color:var(--accent-ink)}.frame{padding-inline:var(--gutter)}.skip{position:absolute;left:20px;top:-120px;z-index:20;padding:12px 20px;background:var(--paper);color:var(--ink)}.skip:focus{top:12px}
body>header{display:flex;align-items:center;gap:32px;min-height:96px}.brand{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-right:auto;font:600 var(--lead)/1.3 'IBM Plex Sans Thai',sans-serif;letter-spacing:-.045em;text-decoration:none}.brand svg{width:36px;height:36px}header nav,.header-tools{display:flex;align-items:center;gap:28px}header nav a{display:inline-flex;align-items:center;min-height:44px;font-size:var(--small);text-decoration:none;white-space:nowrap}header nav a:hover{text-decoration:underline}.header-tools{gap:16px}.header-tools .language-switch{gap:0}.language-switch a{justify-content:center;min-width:36px}.language-switch [aria-current=page]{font-weight:600;text-decoration:underline}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;padding:8px;border:0;border-radius:0;background:transparent;color:inherit;font-size:var(--small)}.theme-toggle svg{width:18px;height:18px}.theme-moon,.theme-toggle span{display:none}[data-theme=dark] .theme-sun{display:none}[data-theme=dark] .theme-moon{display:block}.theme-toggle[data-preference=system] .theme-label-system,.theme-toggle[data-preference=light] .theme-label-light,.theme-toggle[data-preference=dark] .theme-label-dark{display:inline}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:56px;padding:16px 24px;border:0;border-radius:0;background:var(--accent);color:var(--accent-ink);font-size:var(--small);text-decoration:none}.button:focus-visible{outline-color:var(--ink)}.button span{transition:transform .2s var(--ease)}.button:hover span{transform:translate(3px,3px)}button:active,.button:active{transform:translateY(2px)}button:disabled,.button[aria-disabled=true]{cursor:not-allowed;opacity:.65}.text-link{display:inline-flex;align-items:center;min-height:44px}
.hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;min-height:calc(100svh - 96px);padding-top:64px;padding-bottom:112px;background:var(--bg)}.hero-copy{position:relative;z-index:1;width:min(50%,680px);padding-block:28px}.hero h1{font-size:var(--display);line-height:1.12;max-width:18ch}.hero-intro{margin-top:32px}.hero-intro>p{max-width:42ch;font-size:var(--body)}.hero-intro>.button{margin-top:28px}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-top:56px;font-size:var(--small)}.hero-question{font-size:var(--lead)}.hero-bottom p:last-child{max-width:20ch}.signal-field{position:absolute;inset:0;z-index:0;min-width:0}.signal-surface{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:hidden;padding:0;border:0;border-radius:0;background:transparent;color:var(--signal-dot);touch-action:pan-y;-webkit-tap-highlight-color:transparent}.signal-surface:disabled{cursor:default;opacity:1}.signal-surface:not(:disabled){cursor:grab}.signal-surface:not(:disabled):active{cursor:grabbing;transform:none}.signal-surface:focus-visible{outline-color:var(--ink);outline-offset:-5px}.signal-surface canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.signal-fallback{position:absolute;top:4%;right:-6%;width:80%;height:88%;opacity:.25;pointer-events:none}.is-rendered .signal-fallback{visibility:hidden}.signal-tools{position:absolute;right:var(--gutter);bottom:24px;z-index:2;display:flex;align-items:center;justify-content:flex-end;gap:28px;min-height:44px}.signal-tools button{background:transparent;color:var(--ink);border:0;border-radius:0;min-height:44px;padding:8px 0;font-size:var(--small);text-decoration:underline;text-underline-offset:6px}.signal-tools button:disabled{opacity:1;color:var(--muted)}
.section-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8vw;align-items:start;margin-bottom:48px}.section-intro>p{max-width:48ch;padding-top:6px}.services{padding-block:96px;background:var(--paper)}.capabilities{display:grid}.capabilities article{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8vw;padding-block:28px}.capabilities p{max-width:48ch}.service-choice{display:inline-flex;align-items:center;gap:20px;min-height:44px;padding:0;border:0;border-radius:0;background:transparent;color:var(--ink);font:inherit;text-align:left;letter-spacing:inherit}.service-choice:hover{text-decoration:underline;text-underline-offset:8px}.service-choice::after{content:'↗';font-size:var(--body);font-weight:400}
.process{padding-block:96px}.process>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 8vw;align-items:start;margin-bottom:40px}.process>div>p{max-width:48ch;padding-top:6px}.process>div>.text-link{grid-column:2}.process-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;list-style:none;margin:0;padding:0}.process-list li{padding:28px 24px;background:var(--surface)}.process-list li:nth-child(even){background:var(--paper)}.process-list p{margin-top:20px;font-size:var(--small)}
.brief-section{background:var(--surface);padding-block:96px}.workbench{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:8px;margin:0}.problem-field{grid-column:1/5;grid-row:1;border:0;padding:28px 28px 28px 0;margin:0;min-width:0}.problem-field legend{float:left;width:100%;padding:0;margin-bottom:24px}.choices{display:grid;gap:8px;clear:both}[data-ui] .choices label{position:relative;cursor:pointer}[data-ui] .choices input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0}[data-ui] .choices span{display:flex;align-items:center;min-height:52px;padding:12px 16px;background:var(--paper);font-size:var(--small)}[data-ui] .choices input:checked+span{background:var(--accent);color:var(--accent-ink);font-weight:600}[data-ui] .choices input:focus-visible+span{outline:3px solid var(--ink);outline-offset:3px}.brief-columns{display:contents}.brief-inputs{grid-column:5/-1;grid-row:1;padding:32px;background:var(--paper)}[data-ui]>label{display:block;font-weight:500;margin-bottom:12px}[data-ui]>label span{display:block;color:var(--muted);font-size:var(--small);font-weight:400;margin-top:4px}[data-ui]>label:not(:first-child){margin-top:24px}[data-ui] input[type=text],[data-ui] textarea{display:block;width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:0;background:var(--paper);color:var(--ink);font-size:var(--small);line-height:1.6;resize:vertical}[data-ui] input[type=text]{min-height:52px}[data-ui] input::placeholder,[data-ui] textarea::placeholder{color:var(--muted);opacity:1}.guidance{grid-column:1/5;grid-row:2;padding:32px 32px 32px 0;align-self:start}.guidance h3{margin-bottom:24px}.guidance h4{margin-top:28px;margin-bottom:8px}.guidance p{font-size:var(--small)}.summary-panel{grid-column:5/-1;grid-row:2;padding:32px;background:var(--paper)}.summary-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:24px}.summary-heading p{font-size:var(--small);color:var(--muted);max-width:25ch}[data-ui] #brief-summary{min-height:360px}.summary-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:24px}.summary-tools{display:flex;gap:24px;flex-wrap:wrap}.secondary{background:transparent;color:var(--ink);border:0;border-radius:0;min-height:44px;padding:8px 0;font-size:var(--small);text-decoration:underline;text-underline-offset:6px}#refresh-summary{margin-top:16px}.status{min-height:26px;margin-top:16px;font-size:var(--small)}.handoff-note{margin-top:4px;font-size:var(--small);color:var(--muted)}.no-script{grid-column:1/-1;background:var(--paper);padding:32px}
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 8vw;padding-top:96px;padding-bottom:56px}.contact>p{padding-top:6px}.email{display:block;grid-column:1/-1;font-size:clamp(44px,10.6vw,156px);line-height:1.25;letter-spacing:-.06em;white-space:nowrap;text-decoration:none;margin-top:24px}.contact .text-link{grid-column:1/-1;justify-self:start}footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:24px;font-size:var(--small)}footer nav{display:flex;gap:24px;flex-wrap:wrap}footer a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:1100px){body>header{flex-wrap:wrap;gap:0 24px;padding-block:12px}header>nav{order:3;width:100%;justify-content:space-between}.hero{min-height:calc(100svh - 110px)}.hero h1{font-size:48px}.hero-bottom{gap:16px}.section-intro,.capabilities article,.process>div{gap:28px}.process-list{grid-template-columns:repeat(2,minmax(0,1fr))}.workbench{grid-template-columns:1fr 1fr}.problem-field{grid-column:1}.brief-inputs{grid-column:2;padding:24px}.guidance{grid-column:1}.summary-panel{grid-column:2;padding:24px}.summary-heading{display:block}.summary-heading p{margin-top:8px;max-width:none}.summary-actions>.button{width:100%;gap:16px;padding-inline:16px}.summary-tools{gap:16px}}
@media(max-width:900px){.hero{align-items:flex-start;min-height:820px;padding-top:48px;padding-bottom:280px}.hero-copy{width:min(100%,680px);padding:0}.hero h1{font-size:clamp(38px,6.5vw,58px);max-width:22ch}.hero-bottom{margin-top:32px;justify-content:flex-start;gap:56px}.signal-fallback{top:38%;right:-5%;width:110%;height:66%;opacity:.22}.hero-intro>p{max-width:54ch}}
@media(max-width:700px){:root{--gutter:20px;--body:18px;--head:34px;--lead:24px}body>header{gap:4px 12px;padding-block:10px}.brand svg{width:30px;height:30px}.brand{font-size:24px}.header-tools{gap:4px}.header-tools .theme-toggle[data-preference] span{display:none}.theme-toggle{padding-inline:4px}header nav{gap:12px}header nav a{font-size:14px}.language-switch a{min-width:32px;font-size:var(--small)}.hero{min-height:740px;padding-top:32px;padding-bottom:260px}.hero h1{font-size:38px;line-height:1.18;letter-spacing:-.045em}.hero-intro{margin-top:28px}.hero-intro>p{font-size:18px}.hero-bottom{gap:24px;justify-content:space-between;margin-top:32px}.hero-bottom p:last-child{max-width:19ch}.signal-tools{gap:24px;bottom:16px}.signal-tools button{font-size:var(--small)}.section-intro{grid-template-columns:1fr;gap:24px;margin-bottom:32px}.section-intro>p{padding:0}.services,.process,.brief-section{padding-block:64px}.capabilities article{grid-template-columns:1fr;gap:16px;padding-block:24px}.process>div{display:block;margin-bottom:32px}.process>div>p{padding:0;margin-top:24px}.process>div>.text-link{margin-top:20px}.process-list{grid-template-columns:1fr;gap:8px}.process-list li{padding:24px 20px}.process-list p{margin-top:12px}.workbench{display:flex;flex-direction:column;gap:0}.problem-field{padding:0 0 28px}.choices{grid-template-columns:1fr 1fr}[data-ui] .choices span{height:100%;min-height:72px;padding:12px}.brief-inputs{padding:24px 16px}.guidance{order:1;padding:28px 16px;background:var(--bg)}.summary-panel{order:2;padding:28px 16px}.guidance h3{margin-bottom:20px}.summary-heading{margin-bottom:20px}[data-ui] #brief-summary{min-height:400px}.summary-actions{gap:16px}.summary-tools{width:100%;justify-content:space-between}.contact{grid-template-columns:1fr;gap:24px;padding-top:64px;padding-bottom:32px}.contact>p{padding:0}.email{font-size:12.2vw;margin-top:16px}footer{display:grid;gap:12px;padding-bottom:24px}footer nav{gap:20px}.no-script{padding:24px 16px}}
@media(max-width:359px){:root{--gutter:16px;--head:30px}.hero h1{font-size:33px}.brand{font-size:22px}.brand svg{width:26px;height:26px}header>nav{gap:8px}.choices{grid-template-columns:1fr}[data-ui] .choices span{min-height:52px}.signal-tools button{font-size:14px}}
@media(prefers-reduced-motion:no-preference){a,button{transition:transform .2s var(--ease)}.hero h1{animation:arrive .7s var(--ease) both}.hero-intro{animation:arrive .75s .08s var(--ease) both}.signal-field{animation:field-arrive .85s .08s var(--ease) both}.reveal{animation:arrive .7s var(--ease) both}.reveal:nth-child(2){animation-delay:.07s}.capabilities article.reveal{animation-name:row-arrive}@keyframes arrive{from{opacity:.6;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes row-arrive{from{opacity:.6;transform:translateX(20px)}to{opacity:1;transform:none}}@keyframes field-arrive{from{opacity:.65}to{opacity:1}}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
