:root{--kb-charcoal:#2d2a26;--kb-warm-white:#faf8f4;--kb-clay:#8b7355;--kb-sand:#e8e2d9;--kb-saffron:#d4a574;--kb-forest:#5d7a5d;--kb-stream:#6b8a9a;--kb-lotus:#c4788a;--kb-ink-soft:#5f5850;--kb-font-heading:"IBM Plex Sans Thai", system-ui, sans-serif;--kb-font-body:"Sarabun", "IBM Plex Sans Thai", system-ui, sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--kb-warm-white);min-height:100svh;color:var(--kb-charcoal);font-family:var(--kb-font-body);margin:0;font-weight:300;overflow-x:hidden}a{color:var(--accent);text-decoration:none}a:hover{color:var(--kb-charcoal)}.page{flex-direction:column;justify-content:space-between;gap:3rem;min-height:100svh;padding:clamp(1.75rem,5vw,4.5rem) clamp(1.5rem,6vw,5.5rem);display:flex;position:relative;overflow:hidden}.mark{pointer-events:none;z-index:0;width:clamp(360px,53vw,760px);height:auto;position:absolute;top:12%;right:min(-11vw,-120px)}.mark circle,.mark path{transform-box:fill-box;transform-origin:50%}.masthead,.message,.signature{z-index:1;position:relative}.masthead{align-items:center;gap:1rem;display:flex}.masthead .logo{flex:none;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.masthead .logo--slot{color:#a2917a;text-align:center;letter-spacing:.04em;border:2px dashed #c7bcab;font-size:9px;line-height:1.2}.masthead .names{flex-direction:column;gap:2px;display:flex}.masthead .brand{font-family:var(--kb-font-heading);letter-spacing:.01em;font-size:1.25rem;font-weight:600}.masthead .domain{letter-spacing:.18em;text-transform:uppercase;color:var(--kb-clay);font-size:.75rem}.message{flex-direction:column;gap:1.75rem;max-width:min(58rem,92vw);display:flex}h1{font-family:var(--kb-font-heading);font-size:var(--h1-size,clamp(2.4rem, 6.2vw, 4.75rem));letter-spacing:-.015em;text-wrap:pretty;margin:0;font-weight:600;line-height:1.24}h1 .line-mask{display:block;overflow:hidden}.rule{background:var(--accent);transform-origin:0;width:96px;height:5px}.sub{color:var(--kb-ink-soft);max-width:44ch;margin:0;font-size:clamp(1.1rem,1.6vw,1.5rem);line-height:1.78}.actions{flex-wrap:wrap;align-items:center;gap:1.75rem;margin-top:.5rem;display:flex}.cta{background:var(--kb-charcoal);min-height:60px;color:var(--kb-warm-white);font-family:var(--kb-font-heading);cursor:pointer;border:0;align-items:center;gap:.75rem;padding:0 2.125rem;font-size:1.1875rem;font-weight:500;transition:background .18s,transform .18s;display:inline-flex}.cta:hover{color:var(--kb-warm-white);background:#45403a}.cta:active{transform:translateY(1px)}.cta:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.cta svg{transition:transform .22s cubic-bezier(.22,1,.36,1)}.cta:hover svg{transform:translate(4px)}.aside{color:var(--kb-clay);font-size:1.0625rem}.signature{color:var(--kb-clay);flex-wrap:wrap;align-items:baseline;gap:.625rem;font-size:.875rem;display:flex}.signature .maker{font-family:var(--kb-font-heading);color:var(--kb-ink-soft);font-weight:500}.signature .dash{color:#cfc6b8}.js .reveal{opacity:0}.js .rule{transform:scaleX(0)}@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1}.js .rule{transform:none}.cta,.cta svg{transition:none}}@media (width<=640px){.page{gap:2.25rem}.mark{opacity:.85;top:auto;bottom:-6%;right:-28vw}.cta{justify-content:space-between;width:100%}.aside{font-size:1rem}}.rs-logo .rs-outline,.rs-logo .rs-petal,.rs-logo .rs-sliver,.rs-logo .rs-dot,.rs-logo .rs-letter{transform-box:fill-box;transform-origin:50%}@keyframes rs-arm{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:scale(1)}}@keyframes rs-bloom{0%{opacity:0;transform:scale(.2)rotate(-14deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes rs-resolve{0%{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}@keyframes rs-pop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes rs-rise{0%{opacity:0;transform:translateY(34%)}to{opacity:1;transform:translateY(0)}}.rs-anim .rs-outline{animation:.544s cubic-bezier(.21,.9,.28,1.06) both rs-arm}.rs-anim .rs-petal-0{animation:.544s cubic-bezier(.21,.9,.28,1.06) .176s both rs-bloom}.rs-anim .rs-petal-1{animation:.544s cubic-bezier(.21,.9,.28,1.06) .256s both rs-bloom}.rs-anim .rs-petal-2{animation:.544s cubic-bezier(.21,.9,.28,1.06) .336s both rs-bloom}.rs-anim .rs-petal-3{animation:.544s cubic-bezier(.21,.9,.28,1.06) .416s both rs-bloom}.rs-anim .rs-sliver-0{animation:.448s cubic-bezier(.22,.68,.24,1) .48s both rs-resolve}.rs-anim .rs-sliver-1{animation:.448s cubic-bezier(.22,.68,.24,1) .528s both rs-resolve}.rs-anim .rs-sliver-2{animation:.448s cubic-bezier(.22,.68,.24,1) .576s both rs-resolve}.rs-anim .rs-sliver-3{animation:.448s cubic-bezier(.22,.68,.24,1) .624s both rs-resolve}.rs-anim .rs-dot-0{animation:.416s cubic-bezier(.34,1.56,.64,1) .672s both rs-pop}.rs-anim .rs-dot-1{animation:.416s cubic-bezier(.34,1.56,.64,1) .728s both rs-pop}.rs-anim .rs-dot-2{animation:.416s cubic-bezier(.34,1.56,.64,1) .784s both rs-pop}.rs-anim .rs-dot-3{animation:.416s cubic-bezier(.34,1.56,.64,1) .84s both rs-pop}.rs-anim .rs-dot-4{animation:.416s cubic-bezier(.34,1.56,.64,1) .896s both rs-pop}.rs-anim .rs-letter-0{animation:.48s cubic-bezier(.22,.68,.24,1) .88s both rs-rise}.rs-anim .rs-letter-1{animation:.48s cubic-bezier(.22,.68,.24,1) .915s both rs-rise}.rs-anim .rs-letter-2{animation:.48s cubic-bezier(.22,.68,.24,1) .95s both rs-rise}.rs-anim .rs-letter-3{animation:.48s cubic-bezier(.22,.68,.24,1) .986s both rs-rise}.rs-anim .rs-letter-4{animation:.48s cubic-bezier(.22,.68,.24,1) 1.021s both rs-rise}.rs-anim .rs-letter-5{animation:.48s cubic-bezier(.22,.68,.24,1) 1.056s both rs-rise}.rs-anim .rs-letter-6{animation:.48s cubic-bezier(.22,.68,.24,1) 1.091s both rs-rise}.rs-anim .rs-letter-7{animation:.48s cubic-bezier(.22,.68,.24,1) 1.126s both rs-rise}.rs-anim .rs-letter-8{animation:.48s cubic-bezier(.22,.68,.24,1) 1.162s both rs-rise}@media (prefers-reduced-motion:reduce){.rs-anim .rs-outline,.rs-anim .rs-petal,.rs-anim .rs-sliver,.rs-anim .rs-dot,.rs-anim .rs-letter{opacity:1;transform:none;animation:none!important}}
