:root{--header-height: 3.5rem;--accent-h: 263;--accent-s: 90%;--accent-2-h: 290;--first-color: hsl(var(--accent-h), 80%, 52%);--accent-text: hsl(var(--accent-h), 80%, 46%);--border-color: hsla(240, 10%, 10%, .1);--surface-color: hsla(0, 0%, 100%, .55);--surface-hover: hsla(0, 0%, 100%, .85);--card-color: hsl(0, 0%, 93%);--band-color: hsl(0, 0%, 83%);--black-color: hsl(0, 0%, 0%);--black-color-light: hsl(0, 0%, 40%);--white-color: hsl(0, 0%, 95%);--title-color: hsl(0, 0%, 0%);--text-color: hsl(0, 0%, 35%);--text-color-light: hsl(0, 0%, 44%);--body-color: hsl(0, 0%, 87%);--container-color: hsl(0, 0%, 83%);--body-font: "Bai Jamjuree", sans-serif;--mono-font: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--biggest-font-size: 2.5rem;--h1-font-size: 1.75rem;--h2-font-size: 1.25rem;--h3-font-size: 1.125rem;--normal-font-size: .938rem;--small-font-size: .813rem;--smaller-font-size: .75rem;--font-regular: 400;--font-medium: 500;--font-semi-bold: 600;--font-bold: 700;--z-tooltip: 10;--z-fixed: 100}@media screen and (min-width:1150px){:root{--biggest-font-size: 4.5rem;--h1-font-size: 3rem;--h2-font-size: 1.5rem;--h3-font-size: 1.25rem;--normal-font-size: 1rem;--small-font-size: .875rem;--smaller-font-size: .813rem}}*{box-sizing:border-box;padding:0;margin:0}html{scroll-behavior:smooth}body{font-family:var(--body-font);font-size:var(--normal-font-size);background-color:var(--body-color);color:var(--text-color);min-height:100vh}#root,#root>div{display:flex;flex-direction:column;min-height:100vh}h1,h2,h3,h4{color:var(--title-color);font-weight:var(--font-bold)}ul{list-style:none}a{text-decoration:none}img{display:block;max-width:100%;height:auto}picture{display:contents}body.dark-theme{--first-color: hsl(var(--accent-h), var(--accent-s), 63%);--accent-text: hsl(var(--accent-h), 95%, 78%);--black-color: hsl(240, 6%, 14%);--black-color-light: hsl(240, 5%, 26%);--white-color: hsl(0, 0%, 96%);--title-color: hsl(0, 0%, 98%);--text-color: hsl(240, 5%, 70%);--text-color-light: hsl(240, 4%, 54%);--body-color: hsl(240, 10%, 4%);--container-color: hsl(240, 8%, 7%);--border-color: hsla(0, 0%, 100%, .08);--surface-color: hsla(240, 8%, 10%, .6);--surface-hover: hsla(240, 8%, 13%, .8);--card-color: hsl(240, 7%, 8%);--band-color: hsl(240, 8%, 6%)}.header .nav{position:relative;z-index:1}.dark-theme .header{background:#09090bb8;border-bottom-color:#ffffff0f}.dark-theme .shadow-header{box-shadow:0 1px 16px #0006}.dark-theme .nav--menu{background-color:transparent}@media screen and (max-width:1149px){.dark-theme .nav--menu{background-color:#0f0f0ff2}}.dark-theme::-webkit-scrollbar{background-color:#262626}.dark-theme::-webkit-scrollbar-thumb{background-color:#404040}.dark-theme::-webkit-scrollbar-thumb:hover{background-color:#595959}.container{max-width:1120px;margin-inline:1.5rem}.grid{display:grid;gap:1.5rem}.section{padding-block:4rem 2rem}.section__title-2:after{top:initial;bottom:-4px}.main{overflow:hidden;flex:1;display:flex;flex-direction:column}.header{position:fixed;width:100%;top:0;left:0;background:#dededea6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);z-index:var(--z-fixed);transition:box-shadow .4s,background .4s;border-bottom:1px solid hsla(0,0%,0%,.06)}.nav{position:relative;height:var(--header-height);display:flex;justify-content:space-between;align-items:center}.nav--logo{display:flex;column-gap:.5rem;align-items:center;font-weight:var(--font-semi-bold);color:var(--title-color)}.nav--logo-circle,.nav--toggle{width:32px;height:32px;background-color:var(--black-color);color:var(--white-color);display:grid;place-items:center}.nav--logo-circle{border-radius:50%;overflow:hidden}.nav--logo-circle img{width:100%;height:100%;object-fit:cover}.nav--toggle{font-size:1.25rem;cursor:pointer}.nav--buttons{display:flex;align-items:center;column-gap:.75rem}.nav--theme{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background-color:transparent;color:var(--title-color);cursor:pointer;transition:background-color .3s,color .3s,transform .3s}.nav--theme:hover{background-color:var(--container-color);color:var(--first-color);transform:rotate(15deg)}@media screen and (max-width:1150px){.nav--menu{position:fixed;top:0;right:0;width:75%;max-width:320px;height:100vh;height:100dvh;background-color:#000000eb;padding:5rem 2rem 2rem;text-align:left;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);transform:translate(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);border-left:1px solid hsla(0,0%,100%,.08);box-shadow:-8px 0 32px #0000004d;z-index:200}.nav--menu-overlay{position:fixed;inset:0;background-color:#00000080;z-index:199;opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}.nav--menu-overlay.show-overlay{opacity:1;visibility:visible}}.nav--title,.nav--name,.nav--close{color:var(--white-color)}.nav--title{display:block;font-size:var(--small-font-size);font-weight:var(--font-semi-bold);margin-bottom:1.5rem;text-transform:uppercase;letter-spacing:2px;opacity:.6}.nav--name{position:relative;width:max-content;margin:0 auto 3rem;font-size:var(--h2-font-size)}.nav--name:after,.nav--name:before{content:"";width:40px;height:1px;background-color:var(--text-color-light);position:absolute;left:-4rem;top:50%}.nav--name:before{left:inherit;right:-4rem}.nav--list{display:flex;flex-direction:column;row-gap:2rem}.nav--link{position:relative;color:var(--text-color-light);font-size:var(--h3-font-size);font-weight:var(--font-semi-bold);transition:color .3s,transform .2s}@media screen and (max-width:1150px){.nav--link{font-size:var(--h3-font-size);padding:.5rem 0;display:inline-block}}.nav--link:after{content:"";width:0;height:2px;background-color:var(--white-color);position:absolute;left:0;bottom:-.5rem;transition:width .3s}.nav--link:hover{color:var(--white-color)}.nav--link:hover:after{width:25%}.nav--close{position:absolute;font-size:1.5rem;top:1.2rem;right:1.2rem;cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .3s}.nav--close:hover{background-color:#ffffff1a}.nav--swipe-indicator,.nav--swipe-bar{display:none}.show-menu{transform:translate(0)}.shadow-header{box-shadow:0 1px 16px #0000001f}.active-link{color:var(--white-color)}.active-link:after{width:25%}.footer{background:linear-gradient(135deg,var(--black-color) 0%,hsl(240,10%,4%) 100%);border-top:1px solid hsla(0,0%,100%,.1);margin-top:auto}.footer--container{padding-block:4rem 2rem;max-width:1120px;margin-inline:auto;padding-inline:1.5rem}.footer--top{display:grid;grid-template-columns:1fr;gap:2.5rem;padding-bottom:2rem;justify-items:start}.footer--brand{display:flex;flex-direction:column;gap:1rem}.footer--logo{display:inline-flex;align-items:center;gap:.75rem;color:var(--white-color);font-weight:var(--font-semi-bold);font-size:var(--h3-font-size);text-decoration:none;transition:transform .3s ease}.footer--logo:hover{transform:translate(5px)}.footer--logo-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:linear-gradient(135deg,var(--first-color) 0%,hsl(var(--accent-h),var(--accent-s),60%) 100%);border-radius:10px;font-weight:var(--font-bold);font-size:1.25rem;color:var(--white-color)}.footer--logo-text{background:linear-gradient(90deg,var(--white-color) 0%,var(--text-color-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footer--description{color:var(--text-color-light);font-size:var(--small-font-size);line-height:1.6;max-width:280px}.footer--nav{display:flex;flex-direction:column;gap:1rem}.footer--title{color:var(--white-color);font-size:var(--normal-font-size);font-weight:var(--font-semi-bold);margin-bottom:.5rem;position:relative}.footer--title:after{content:"";position:absolute;bottom:-4px;left:0;width:30px;height:2px;background:var(--first-color);border-radius:2px}.footer--links{display:flex;flex-direction:column;gap:.75rem;list-style:none;padding:0;margin:0}.footer--link{color:var(--text-color-light);font-size:var(--small-font-size);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;display:inline-block;padding:.35rem 0}.footer--link:before{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--first-color),hsl(var(--accent-h),var(--accent-s),65%));transform:scaleX(0);transform-origin:right;transition:transform .4s cubic-bezier(.4,0,.2,1);border-radius:2px}.footer--link:hover{color:var(--white-color);text-shadow:0 0 20px hsla(var(--accent-h),var(--accent-s),50%,.4);transform:translate(4px)}.footer--link:hover:before{transform:scaleX(1);transform-origin:left}.footer--social-section{display:flex;flex-direction:column;gap:1rem}.footer--social{display:flex;gap:1rem}.footer--social-link{display:flex;align-items:center;justify-content:center;width:42px;height:42px;background:#ffffff14;border-radius:10px;color:var(--white-color);transition:all .3s ease;border:1px solid hsla(0,0%,100%,.1)}.footer--social-link:hover{background:var(--first-color);transform:translateY(-5px);box-shadow:0 10px 20px hsla(var(--accent-h),var(--accent-s),50%,.3);border-color:var(--first-color)}.footer--divider{width:100%;height:1px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);margin:1.5rem 0}.footer--bottom{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center}.footer--copy{color:var(--text-color-light);font-size:var(--smaller-font-size)}.footer--made-with{display:inline-flex;align-items:center;gap:.35rem;color:var(--text-color-light);font-size:var(--smaller-font-size)}.footer--heart{color:#ff4757;animation:heartbeat 1.5s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}::-webkit-scrollbar{width:.6rem;border-radius:.5rem;background-color:#a6a6a6}::-webkit-scrollbar-thumb{width:.6rem;border-radius:.5rem;background-color:#8c8c8c}::-webkit-scrollbar-thumb:hover{background-color:#737373}@media screen and (max-width:340px){.container{margin-inline:1rem}}@media screen and (min-width:768px){.footer--top{grid-template-columns:repeat(2,1fr);gap:2rem}.footer--social-section{grid-column:span 2;flex-direction:row;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid hsla(0,0%,100%,.1)}.footer--title{margin-bottom:0}.footer--social-section .footer--title:after{display:none}}@media screen and (min-width:992px){.footer--top{grid-template-columns:1.2fr 1fr 1fr;gap:3rem}.footer--social-section{grid-column:auto;flex-direction:column;padding-top:0;border-top:none}.footer--social-section .footer--title:after{display:block}}@media screen and (min-width:1150px){.container{margin-inline:auto}.section{padding-block:7rem 2rem}.nav{height:calc(var(--header-height) + 2rem);column-gap:4rem}.nav--close,.nav--toggle,.nav--title,.nav--name,.nav--menu-overlay{display:none}.nav--buttons{order:1;margin-left:2rem}.nav--theme{width:40px;height:40px}.nav--list{flex-direction:row;column-gap:4rem}.nav--menu{margin-left:auto;transform:none;position:static;width:auto;max-width:none;height:auto;background-color:transparent;padding:0;border-left:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.nav--link{color:var(--text-color);font-size:var(--normal-font-size)}.nav--link:hover{color:var(--title-color)}.nav--link:after{background-color:var(--title-color)}.active-link{color:var(--title-color)}.nav--link-buttonn{background-color:var(--black-color);color:var(--white-color);padding:1.1rem 1.5rem}.nav--link-buttonn:hover{color:var(--white-color)}.nav--link-buttonn:after{background-color:transparent}.footer--top{grid-template-columns:1.5fr 1fr 1fr;gap:4rem;align-items:start}.footer--brand{max-width:320px}.footer--nav,.footer--social-section{justify-self:center}.footer--bottom{flex-direction:row;justify-content:space-between;align-items:center}.footer--links{flex-direction:row;gap:2rem}}a,button,.nav--link{transition:all .3s cubic-bezier(.4,0,.2,1)}.nav--link:after{content:"";position:absolute;width:0;height:2px;bottom:-4px;left:50%;background-color:currentColor;transition:all .3s ease;transform:translate(-50%)}.nav--link:hover:after{width:100%}.main{animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.chatbot--toggle{position:fixed;bottom:2rem;right:2rem;width:56px;height:56px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--first-color) 0%,hsl(var(--accent-h),var(--accent-s),40%) 100%);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 24px hsla(var(--accent-h),var(--accent-s),50%,.4);z-index:1000;transition:all .3s cubic-bezier(.4,0,.2,1)}.chatbot--toggle:hover{transform:scale(1.1);box-shadow:0 6px 32px hsla(var(--accent-h),var(--accent-s),50%,.5)}.chatbot--toggle.active{background:var(--black-color);box-shadow:0 4px 16px #0000004d}.chatbot--window{position:fixed;bottom:6rem;right:2rem;width:380px;height:520px;background:var(--body-color);border-radius:20px;box-shadow:0 12px 48px #00000026,0 0 0 1px #0000000d;z-index:999;display:flex;flex-direction:column;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(20px) scale(.95);transition:all .3s cubic-bezier(.4,0,.2,1)}.chatbot--window.open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.chatbot--header{background:linear-gradient(135deg,var(--first-color) 0%,hsl(var(--accent-h),var(--accent-s),40%) 100%);padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between}.chatbot--header-info{display:flex;align-items:center;gap:.75rem}.chatbot--avatar{width:40px;height:40px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;color:#fff}.chatbot--header-title{font-size:var(--normal-font-size);font-weight:var(--font-semi-bold);color:#fff;margin:0}.chatbot--header-status{font-size:var(--smaller-font-size);color:#fffc;display:flex;align-items:center;gap:.35rem}.chatbot--status-dot{width:8px;height:8px;border-radius:50%;background:#4ade80;display:inline-block;animation:chatbot-pulse 2s ease-in-out infinite}@keyframes chatbot-pulse{0%,to{opacity:1}50%{opacity:.5}}.chatbot--close{background:#ffffff26;border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.chatbot--close:hover{background:#ffffff4d}.chatbot--messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem;scroll-behavior:smooth}.chatbot--messages::-webkit-scrollbar{width:4px}.chatbot--messages::-webkit-scrollbar-thumb{background:var(--text-color-light);border-radius:4px}.chatbot--message{display:flex;gap:.5rem;max-width:85%;animation:chatbot-fadeIn .3s ease-out}@keyframes chatbot-fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chatbot--message.user{align-self:flex-end;flex-direction:row-reverse}.chatbot--message-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.chatbot--message.assistant .chatbot--message-icon{background:linear-gradient(135deg,var(--first-color),hsl(var(--accent-h),var(--accent-s),40%));color:#fff}.chatbot--message.user .chatbot--message-icon{background:var(--container-color);color:var(--title-color)}.chatbot--message-bubble{padding:.7rem 1rem;border-radius:16px;line-height:1.5}.chatbot--message-bubble p{margin:0;font-size:var(--small-font-size);color:var(--text-color)}.chatbot--message.assistant .chatbot--message-bubble{background:var(--container-color);border-bottom-left-radius:4px}.chatbot--message.user .chatbot--message-bubble{background:linear-gradient(135deg,var(--first-color) 0%,hsl(var(--accent-h),var(--accent-s),40%) 100%);border-bottom-right-radius:4px}.chatbot--message.user .chatbot--message-bubble p{color:#fff}.chatbot--markdown{font-size:var(--small-font-size);color:var(--text-color);line-height:1.55}.chatbot--markdown>*:first-child{margin-top:0}.chatbot--markdown>*:last-child{margin-bottom:0}.chatbot--markdown p{margin:0 0 .6rem;font-size:var(--small-font-size);color:var(--text-color)}.chatbot--markdown strong{color:var(--title-color);font-weight:600}.chatbot--markdown em{font-style:italic}.chatbot--markdown h1,.chatbot--markdown h2,.chatbot--markdown h3,.chatbot--markdown h4{margin:.6rem 0 .35rem;color:var(--title-color);font-weight:600;line-height:1.3}.chatbot--markdown h1{font-size:1rem}.chatbot--markdown h2,.chatbot--markdown h3,.chatbot--markdown h4{font-size:.95rem}.chatbot--markdown ul,.chatbot--markdown ol{margin:.3rem 0 .6rem;padding-left:1.2rem}.chatbot--markdown li{margin-bottom:.25rem}.chatbot--markdown li::marker{color:var(--first-color)}.chatbot--markdown a{color:var(--first-color);text-decoration:underline;text-underline-offset:2px;word-break:break-word}.chatbot--markdown a:hover{opacity:.85}.chatbot--markdown code{background:#7f7f7f26;padding:.1rem .35rem;border-radius:4px;font-size:.85em;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;color:var(--title-color)}.chatbot--markdown pre{background:#7f7f7f1f;padding:.6rem .75rem;border-radius:8px;overflow-x:auto;margin:.4rem 0 .6rem;font-size:.85em}.chatbot--markdown pre code{background:transparent;padding:0;font-size:inherit}.chatbot--markdown blockquote{margin:.4rem 0;padding-left:.75rem;border-left:3px solid var(--first-color);color:var(--text-color);opacity:.9}.chatbot--markdown hr{border:none;border-top:1px solid rgba(127,127,127,.25);margin:.6rem 0}.chatbot--typing{display:flex;gap:4px;padding:4px 0}.chatbot--typing span{width:7px;height:7px;border-radius:50%;background:var(--text-color-light);animation:chatbot-bounce 1.4s ease-in-out infinite}.chatbot--typing span:nth-child(2){animation-delay:.2s}.chatbot--typing span:nth-child(3){animation-delay:.4s}@keyframes chatbot-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.chatbot--quick{padding:0 1rem .75rem;display:flex;flex-wrap:wrap;gap:.4rem}.chatbot--quick-btn{padding:.4rem .75rem;border-radius:20px;border:1px solid var(--first-color);background:transparent;color:var(--first-color);font-size:var(--smaller-font-size);font-family:var(--body-font);cursor:pointer;transition:all .2s}.chatbot--quick-btn:hover{background:var(--first-color);color:#fff}.chatbot--input-area{padding:.75rem 1rem;border-top:1px solid var(--container-color);display:flex;gap:.5rem;align-items:center;background:var(--body-color)}.chatbot--input{flex:1;padding:.65rem 1rem;border-radius:24px;border:1px solid var(--container-color);background:var(--container-color);color:var(--title-color);font-size:var(--small-font-size);font-family:var(--body-font);outline:none;transition:all .2s}.chatbot--input:focus{border-color:var(--first-color);background:var(--body-color)}.chatbot--input::placeholder{color:var(--text-color-light)}.chatbot--send{width:40px;height:40px;border-radius:50%;border:none;background:var(--first-color);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.chatbot--send:hover:not(:disabled){background:hsl(var(--accent-h),var(--accent-s),40%);transform:scale(1.05)}.chatbot--send:disabled{opacity:.5;cursor:not-allowed}.chatbot--spinner{animation:chatbot-spin 1s linear infinite}@keyframes chatbot-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dark-theme .chatbot--window{box-shadow:0 12px 48px #0006,0 0 0 1px #ffffff0d}.dark-theme .chatbot--input{border-color:#ffffff1a}.dark-theme .chatbot--input-area{border-color:#ffffff0d}@media screen and (max-width:480px){.chatbot--window{right:0;bottom:0;width:100%;height:100%;border-radius:0}.chatbot--toggle{bottom:1.5rem;right:1.5rem}}.notfound{display:flex;align-items:center;justify-content:center;min-height:80vh}.notfound--container{text-align:center}.notfound--content{max-width:500px;margin:0 auto}.notfound--code{font-size:8rem;font-weight:var(--font-bold);background:linear-gradient(135deg,var(--first-color),hsl(var(--accent-2-h),85%,60%));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;display:block;margin-bottom:1rem}.notfound--title{font-size:var(--h1-font-size);color:var(--title-color);margin-bottom:1rem}.notfound--description{color:var(--text-color);margin-bottom:2rem;font-size:var(--normal-font-size)}.notfound--actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.notfound--btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:var(--font-semi-bold);font-size:var(--normal-font-size);transition:all .3s;cursor:pointer;background-color:var(--black-color);color:var(--white-color);border:none}.notfound--btn:hover{background-color:var(--first-color);transform:translateY(-2px)}.notfound--btn-outline{background-color:transparent;border:2px solid var(--black-color);color:var(--title-color)}.notfound--btn-outline:hover{background-color:var(--black-color);color:var(--white-color)}.dark-theme .notfound--btn-outline{border-color:var(--white-color);color:var(--white-color)}.dark-theme .notfound--btn-outline:hover{background-color:var(--white-color);color:var(--black-color)}.route-fallback{min-height:60vh;display:grid;place-items:center}.route-fallback--spinner{width:38px;height:38px;border-radius:50%;border:3px solid hsla(0,0%,50%,.2);border-top-color:var(--first-color);animation:routeSpin .8s linear infinite}@keyframes routeSpin{to{transform:rotate(360deg)}}section[id]{scroll-margin-top:4rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.3rem;border-radius:.6rem;border:1px solid transparent;font-family:var(--body-font);font-size:var(--normal-font-size);font-weight:var(--font-semi-bold);line-height:1.2;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.btn--small{padding:.55rem .9rem;font-size:var(--small-font-size)}.btn:focus-visible,.nav--cta:focus-visible,.nav--theme:focus-visible,.work--link:focus-visible,.hero--tile:focus-visible,.connect--channel:focus-visible{outline:2px solid var(--first-color);outline-offset:3px}.btn--primary{color:#fff;background:var(--first-color)}.btn--primary:hover{background:hsl(var(--accent-h),var(--accent-s),55%)}.btn--primary:disabled{opacity:.7;cursor:progress}.btn--ghost{color:var(--title-color);background:transparent;border-color:var(--border-color)}.btn--ghost:hover{border-color:var(--text-color-light)}.btn--icon{padding:.8rem}.section-head{max-width:640px;margin-bottom:2.25rem}.section-head--title{font-size:clamp(1.7rem,3.6vw,2.4rem);line-height:1.15;letter-spacing:-.015em;color:var(--title-color);margin-bottom:.6rem}.section-head--lead{color:var(--text-color);line-height:1.7}.offer,.bio{background:var(--band-color)}.nav--theme,.nav--toggle,.nav--close{border:none;font:inherit;cursor:pointer}.nav--close{background:transparent}.nav--toggle{border-radius:.5rem}.nav--cta{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1rem;border-radius:.6rem;font-size:var(--small-font-size);font-weight:var(--font-semi-bold);color:#fff;background:var(--first-color);transition:background-color .2s ease}.nav--cta:hover{background:hsl(var(--accent-h),var(--accent-s),55%)}@media screen and (min-width:1150px){.nav--list{column-gap:2.25rem;align-items:center}}@media screen and (max-width:1149px){.nav--menu,.dark-theme .nav--menu{background-color:#0b0b0e;backdrop-filter:none;-webkit-backdrop-filter:none}}.hero{padding-top:calc(var(--header-height) + 3.5rem);padding-bottom:3.5rem}.hero--top{display:grid;gap:2.5rem;align-items:end;margin-bottom:3rem}.hero--status{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1.25rem;font-size:var(--small-font-size);color:var(--text-color)}.hero--status-dot{width:8px;height:8px;border-radius:50%;background:#2eb873}.hero--title{font-size:clamp(2.2rem,5.4vw,3.9rem);line-height:1.06;letter-spacing:-.025em;color:var(--title-color);max-width:17ch;margin-bottom:1.25rem}.hero--lead{max-width:36rem;font-size:clamp(1rem,1.6vw,1.15rem);line-height:1.7;color:var(--text-color);margin-bottom:1.75rem}.hero--actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2rem}.hero--facts{display:flex;flex-wrap:wrap;gap:.75rem 2rem}.hero--facts div{display:flex;flex-direction:column-reverse}.hero--facts dd{font-size:1.35rem;font-weight:var(--font-bold);color:var(--title-color);font-variant-numeric:tabular-nums}.hero--facts dt{font-size:var(--smaller-font-size);color:var(--text-color-light)}.hero--portrait{margin:0;display:grid;gap:.75rem;justify-self:start;width:min(100%,240px)}.hero--portrait img{width:100%;aspect-ratio:4 / 5;object-fit:cover;object-position:center 30%;border-radius:.6rem}.hero--portrait figcaption{display:grid;font-size:var(--small-font-size);color:var(--text-color)}.hero--portrait b{color:var(--title-color);font-size:var(--normal-font-size)}@media screen and (max-width:899px){.hero--portrait{grid-template-columns:72px 1fr;align-items:center;gap:1rem;width:100%}.hero--portrait img{aspect-ratio:1;border-radius:50%}}.hero--strip{display:grid;gap:1rem}.hero--tile{display:grid;gap:.75rem;color:var(--text-color)}.hero--tile img{width:100%;aspect-ratio:3 / 2;object-fit:cover;border-radius:.5rem;transition:filter .25s ease}.hero--tile:hover img{filter:brightness(1.08)}.hero--tile-text{display:grid;gap:.15rem;font-size:var(--small-font-size);line-height:1.5}.hero--tile-text b{color:var(--title-color);font-size:var(--normal-font-size)}.hero--tile:hover .hero--tile-text b{color:var(--accent-text)}@media screen and (min-width:700px){.hero--strip{grid-template-columns:repeat(3,1fr)}}@media screen and (min-width:900px){.hero--top{grid-template-columns:minmax(0,1fr) 240px;gap:4rem}.hero--portrait{justify-self:end}}.work--grid{display:grid;gap:1rem}.work--card{display:grid;align-content:start;border-radius:.75rem;background:var(--card-color);border:1px solid var(--border-color);overflow:hidden;transition:border-color .2s ease}.work--card:hover{border-color:var(--text-color-light)}.work--media{position:relative;display:block}.work--media img{display:block;width:100%;height:100%;aspect-ratio:3 / 2;object-fit:cover}.work--badge{position:absolute;left:.75rem;bottom:.75rem;padding:.25rem .55rem;border-radius:.35rem;font-size:var(--smaller-font-size);color:#fff;background:#09090bbf}.work--body{display:grid;gap:.75rem;align-content:start;padding:1.25rem 1.25rem 1.4rem}.work--meta{display:flex;flex-wrap:wrap;gap:.25rem .75rem;font-size:var(--smaller-font-size)}.work--kind{font-weight:var(--font-semi-bold);color:var(--accent-text)}.work--context{color:var(--text-color-light)}.work--title{font-size:clamp(1.25rem,2.2vw,1.55rem);line-height:1.2}.work--title a{color:var(--title-color)}.work--title a:hover{color:var(--accent-text)}.work--problem{color:var(--title-color);line-height:1.6}.work--solution{color:var(--text-color);line-height:1.65;font-size:var(--small-font-size)}.work--flow,.steps--list{list-style:none;padding:0}.work--flow{display:flex;flex-wrap:wrap;gap:.35rem 0;font-size:var(--smaller-font-size);color:var(--text-color)}.work--flow li:not(:last-child):after{content:"→";margin-inline:.45rem;color:var(--text-color-light)}.work--stack{display:flex;flex-wrap:wrap;gap:.35rem}.work--stack li{padding:.2rem .5rem;border-radius:.35rem;font-size:var(--smaller-font-size);color:var(--text-color);background:var(--band-color)}.work--links{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;padding-top:.25rem}.work--link{display:inline-flex;align-items:center;gap:.35rem;font-weight:var(--font-semi-bold);font-size:var(--small-font-size);color:var(--accent-text)}.work--link-muted{color:var(--text-color);font-weight:var(--font-medium)}.work--link:hover{text-decoration:underline;text-underline-offset:3px}.work--cta{display:grid;align-content:center;gap:.9rem;padding:2rem 1.5rem;border-radius:.75rem;border:1px dashed var(--text-color-light)}.work--cta h3{font-size:clamp(1.3rem,2.4vw,1.7rem);line-height:1.2;color:var(--title-color)}.work--cta p{color:var(--text-color);line-height:1.65;max-width:34rem}.work--cta-actions{display:flex;flex-wrap:wrap;gap:.75rem}.work--more{margin-top:1.75rem}@media screen and (min-width:700px){.work--grid{grid-template-columns:repeat(2,1fr)}.work--card-wide{grid-column:span 2}}@media screen and (min-width:1000px){.work--grid{grid-template-columns:repeat(3,1fr);gap:1.25rem}.work--card-wide{grid-template-columns:1.15fr 1fr;align-content:stretch}.work--card-wide .work--media img{aspect-ratio:auto;min-height:100%}.work--card-wide .work--body{padding:1.6rem;align-content:center}.work--cta{grid-column:span 2;padding:2.5rem}}.offer--grid{display:grid;gap:1rem}.offer--card{display:flex;flex-direction:column;padding:1.6rem 1.4rem;border-radius:.75rem;background:var(--card-color);border:1px solid var(--border-color)}.offer--icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:1.1rem;border-radius:.6rem;color:var(--accent-text);background:hsla(var(--accent-h),var(--accent-s),60%,.12)}.offer--title{font-size:var(--h3-font-size);color:var(--title-color);margin-bottom:.5rem}.offer--pitch{color:var(--text-color);line-height:1.65;margin-bottom:1.4rem}.offer--label{margin-bottom:.5rem;font-size:var(--smaller-font-size);font-weight:var(--font-semi-bold);color:var(--text-color-light)}.offer--list{display:grid;gap:.5rem;margin-bottom:1.4rem}.offer--list li{display:flex;gap:.55rem;align-items:flex-start;color:var(--title-color);font-size:var(--small-font-size);line-height:1.5}.offer--list svg{flex-shrink:0;margin-top:.1rem;color:var(--accent-text)}.offer--proof{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.6rem}.offer--proof a{display:inline-block;padding:.25rem .6rem;border-radius:.35rem;font-size:var(--smaller-font-size);font-weight:var(--font-medium);color:var(--title-color);border:1px solid var(--border-color)}.offer--proof a:hover{color:var(--accent-text);border-color:var(--text-color-light)}.offer--cta{margin-top:auto;width:100%}@media screen and (min-width:900px){.offer--grid{grid-template-columns:repeat(3,1fr)}}.steps--list{display:grid;gap:1.5rem;counter-reset:step}.steps--list li{counter-increment:step;display:grid;gap:.4rem;padding-top:1rem;border-top:2px solid var(--border-color)}.steps--list li:before{content:counter(step);font-size:1.6rem;font-weight:var(--font-bold);line-height:1;color:var(--accent-text)}.steps--list h3{font-size:var(--h3-font-size);color:var(--title-color)}.steps--list p{color:var(--text-color);line-height:1.6;font-size:var(--small-font-size)}@media screen and (min-width:700px){.steps--list{grid-template-columns:repeat(2,1fr)}}@media screen and (min-width:1000px){.steps--list{grid-template-columns:repeat(4,1fr)}}.bio--text p{color:var(--text-color);line-height:1.75;margin-bottom:1rem;max-width:38rem}.bio--text p:first-child{color:var(--title-color);font-size:clamp(1.05rem,1.6vw,1.2rem)}.bio--list{display:grid;gap:.75rem;margin:1.5rem 0 2rem}.bio--list li{display:grid;gap:.15rem;padding-left:1rem;border-left:2px solid var(--border-color);color:var(--text-color);font-size:var(--small-font-size);line-height:1.6}.bio--list b{color:var(--title-color);font-size:var(--normal-font-size)}.bio--actions{display:flex;flex-wrap:wrap;gap:.75rem}@media screen and (min-width:900px){.bio--list{grid-template-columns:repeat(3,1fr);gap:1.5rem}}.connect{padding-bottom:5rem}.connect--container{display:grid;gap:2rem}.connect--lead{color:var(--text-color);line-height:1.7;max-width:32rem;margin-bottom:1.75rem}.connect--channels{display:grid;gap:.75rem;margin-bottom:1.5rem}.connect--channel{display:flex;align-items:center;gap:1rem;padding:1rem 1.15rem;border-radius:.75rem;color:var(--title-color);background:var(--card-color);border:1px solid var(--border-color);transition:border-color .2s ease}.connect--channel:hover{border-color:var(--text-color-light)}.connect--channel>svg{flex-shrink:0;color:var(--accent-text)}.connect--channel span{display:grid;gap:.1rem;min-width:0}.connect--channel small{color:var(--text-color);font-size:var(--small-font-size);overflow-wrap:anywhere}.connect--channel-primary{color:#fff;background:var(--first-color);border-color:transparent}.connect--channel-primary>svg,.connect--channel-primary small{color:#ffffffd9}.connect--channel-primary:hover{border-color:transparent;background:hsl(var(--accent-h),var(--accent-s),55%)}.connect--social{display:flex;gap:.5rem}.connect--social a{display:grid;place-items:center;width:40px;height:40px;border-radius:.6rem;color:var(--title-color);border:1px solid var(--border-color)}.connect--social a:hover{color:var(--accent-text)}.connect--panel{padding:1.75rem 1.5rem;border-radius:.75rem;background:var(--card-color);border:1px solid var(--border-color)}.connect--panel-title{font-size:var(--h3-font-size);color:var(--title-color);margin-bottom:1.25rem}.connect--form,.connect--row{display:grid;gap:1rem}.connect--field{display:grid;gap:.4rem}.connect--field>span{font-size:var(--small-font-size);font-weight:var(--font-medium);color:var(--text-color)}.connect--field input,.connect--field textarea{width:100%;padding:.8rem 1rem;border-radius:.6rem;font-family:var(--body-font);font-size:var(--normal-font-size);color:var(--title-color);background:var(--body-color);border:1px solid var(--border-color);outline:none;transition:border-color .2s ease,box-shadow .2s ease}.connect--field textarea{resize:vertical;min-height:8rem}.connect--field input::placeholder,.connect--field textarea::placeholder{color:var(--text-color-light)}.connect--field input:focus,.connect--field textarea:focus{border-color:var(--first-color);box-shadow:0 0 0 3px hsla(var(--accent-h),var(--accent-s),60%,.2)}.connect--submit{justify-self:start}.connect--status{min-height:1.25rem;font-size:var(--small-font-size);color:var(--text-color)}.connect--status-sent{color:#2eb873}.connect--status-error{color:#e75555}@media screen and (min-width:576px){.connect--row{grid-template-columns:repeat(2,1fr)}}@media screen and (min-width:900px){.connect--container{grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:start}.connect--panel{padding:2rem}}body .calendly-overlay{z-index:2000}body .calendly-overlay .calendly-close-overlay{background:#09090bd9}.archive{padding-top:calc(var(--header-height) + 3rem)}.archive--filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.75rem}.archive--filter{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .9rem;border-radius:2rem;border:1px solid var(--border-color);background:transparent;color:var(--text-color);font-family:var(--body-font);font-size:var(--small-font-size);font-weight:var(--font-semi-bold);cursor:pointer}.archive--filter span{font-weight:var(--font-regular);color:var(--text-color-light);font-variant-numeric:tabular-nums}.archive--filter:hover{border-color:var(--text-color-light)}.archive--filter.is-active{color:#fff;background:var(--first-color);border-color:var(--first-color)}.archive--filter.is-active span{color:#ffffffbf}.archive--filter:focus-visible{outline:2px solid var(--first-color);outline-offset:2px}.archive--grid{display:grid;gap:1rem}.archive--card{display:grid;align-content:start;border-radius:.75rem;overflow:hidden;background:var(--card-color);border:1px solid var(--border-color);transition:border-color .2s ease}.archive--card:hover{border-color:var(--text-color-light)}.archive--media{display:block;background:var(--band-color)}.archive--media img,.case--media img{display:block;width:100%;aspect-ratio:3 / 2;object-fit:cover}.archive--media img.is-contained,.case--media img.is-contained{object-fit:contain;padding:1rem}.archive--body{display:grid;gap:.6rem;padding:1.1rem 1.2rem 1.25rem}.archive--meta{display:flex;flex-wrap:wrap;gap:.2rem .75rem;font-size:var(--smaller-font-size);color:var(--text-color-light)}.archive--kind{color:var(--accent-text);font-weight:var(--font-semi-bold)}.archive--title{font-size:var(--h3-font-size);line-height:1.25}.archive--title a{color:var(--title-color)}.archive--title a:hover{color:var(--accent-text)}.archive--desc{font-size:var(--small-font-size);line-height:1.6;color:var(--text-color);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.archive--tags{display:flex;flex-wrap:wrap;gap:.35rem}.archive--tags li{padding:.15rem .5rem;border-radius:.35rem;font-size:var(--smaller-font-size);color:var(--text-color);background:var(--band-color)}.archive--links{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.1rem;padding-top:.2rem}@media screen and (min-width:640px){.archive--grid{grid-template-columns:repeat(2,1fr)}}@media screen and (min-width:1000px){.archive--grid{grid-template-columns:repeat(3,1fr);gap:1.25rem}}.case{padding-top:calc(var(--header-height) + 2.5rem)}.case--container{max-width:960px}.case--back{display:inline-flex;align-items:center;gap:.35rem;margin-bottom:1.75rem;font-size:var(--small-font-size);font-weight:var(--font-semi-bold);color:var(--text-color)}.case--back:hover{color:var(--title-color)}.case--head{max-width:720px;margin-bottom:2rem}.case--kind{margin-bottom:.5rem;font-size:var(--small-font-size);font-weight:var(--font-semi-bold);color:var(--accent-text)}.case--title{font-size:clamp(2rem,5vw,3.2rem);line-height:1.08;letter-spacing:-.02em;color:var(--title-color);margin-bottom:1rem}.case--lead{font-size:clamp(1.02rem,1.6vw,1.15rem);line-height:1.7;color:var(--text-color);margin-bottom:1.5rem}.case--actions{display:flex;flex-wrap:wrap;gap:.75rem}.case--media{margin:0 0 2rem;border-radius:.75rem;overflow:hidden;background:var(--band-color);border:1px solid var(--border-color)}.case--media figcaption{padding:.7rem 1rem;font-size:var(--small-font-size);color:var(--text-color)}.case--media-extra{margin-top:2.5rem}.case--facts{display:grid;gap:1rem 2rem;margin:0 0 2.5rem;padding:1.25rem 0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.case--facts dt{font-size:var(--smaller-font-size);color:var(--text-color-light);margin-bottom:.2rem}.case--facts dd{margin:0;color:var(--title-color);font-size:var(--small-font-size);line-height:1.55}@media screen and (min-width:700px){.case--facts{grid-template-columns:1fr 1fr 1fr 2fr}}.case--body{max-width:70ch;color:var(--text-color);line-height:1.75}.case--body h3{font-size:var(--h2-font-size);color:var(--title-color);margin:2.25rem 0 .75rem}.case--body h3:first-child{margin-top:0}.case--body p{margin-bottom:1rem}.case--body ul{list-style:disc;padding-left:1.25rem;margin-bottom:1rem;display:grid;gap:.45rem}.case--body li::marker{color:var(--accent-text)}.case--body b{color:var(--title-color)}.case--body a{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}.case--body code{padding:.1rem .35rem;border-radius:.3rem;background:var(--band-color);font-family:var(--mono-font);font-size:.9em}.case--cta{display:grid;gap:.8rem;margin-top:3rem;padding:2rem 1.75rem;border-radius:.75rem;border:1px dashed var(--text-color-light)}.case--cta h2{font-size:clamp(1.3rem,2.6vw,1.7rem);color:var(--title-color)}.case--cta p{color:var(--text-color);line-height:1.65;max-width:34rem}.case--missing{display:grid;gap:1rem;justify-items:start;padding-block:4rem}.booking-overlay{position:fixed;inset:0;z-index:1500;display:grid;place-items:center;padding:16px;background:#070708c7}.booking{display:flex;flex-direction:column;width:min(100%,560px);max-height:min(760px,calc(100dvh - 32px));overflow:hidden;border-radius:1rem;background:var(--card-color);border:1px solid var(--border-color);box-shadow:0 30px 80px #00000073;outline:none}.booking--head{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:.9rem;align-items:center;padding:1.1rem 1.25rem;border-bottom:1px solid var(--border-color)}.booking--avatar{width:48px;height:48px;border-radius:50%;object-fit:cover}.booking--head h2{font-size:var(--h3-font-size);color:var(--title-color);line-height:1.2}.booking--head p{font-size:var(--small-font-size);color:var(--text-color)}.booking--close{display:grid;place-items:center;width:36px;height:36px;border:none;border-radius:50%;color:var(--text-color);background:transparent;cursor:pointer}.booking--close:hover{color:var(--title-color);background:var(--band-color)}.booking--body{display:grid;gap:.9rem;padding:1.25rem;overflow-y:auto}.booking--label{font-size:var(--small-font-size);font-weight:var(--font-semi-bold);color:var(--title-color)}.booking--label span{font-weight:var(--font-regular);color:var(--text-color-light);margin-left:.35rem}.booking--days{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.35rem;scroll-snap-type:x proximity}.booking--day{flex:0 0 64px;display:grid;justify-items:center;gap:.1rem;padding:.6rem .25rem;border-radius:.7rem;border:1px solid var(--border-color);background:var(--body-color);color:var(--text-color);font-family:var(--body-font);cursor:pointer;scroll-snap-align:start;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.booking--day:hover{border-color:var(--text-color-light)}.booking--day-name,.booking--day-month{font-size:var(--smaller-font-size)}.booking--day-num{font-size:1.35rem;font-weight:var(--font-bold);color:var(--title-color);line-height:1.1}.booking--day.is-selected{border-color:var(--first-color);background:var(--first-color);color:#ffffffd9}.booking--day.is-selected .booking--day-num{color:#fff}.booking--times{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.5rem}.booking--time{padding:.65rem .5rem;border-radius:.6rem;border:1px solid var(--border-color);background:var(--body-color);color:var(--title-color);font-family:var(--body-font);font-size:var(--small-font-size);font-weight:var(--font-semi-bold);font-variant-numeric:tabular-nums;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.booking--time:hover{border-color:var(--first-color)}.booking--time.is-selected{border-color:var(--first-color);background:hsla(var(--accent-h),var(--accent-s),60%,.16);color:var(--accent-text)}.booking--day:focus-visible,.booking--time:focus-visible,.booking--close:focus-visible,.booking--back:focus-visible{outline:2px solid var(--first-color);outline-offset:2px}.booking--skeleton{display:block;min-height:72px;cursor:default;background:var(--band-color);animation:bookingPulse 1.2s ease-in-out infinite}.booking--time.booking--skeleton{min-height:40px}@keyframes bookingPulse{50%{opacity:.5}}.booking--foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-top:1px solid var(--border-color);background:var(--card-color)}.booking--foot p{font-size:var(--small-font-size);color:var(--text-color);min-width:0}.booking--foot .btn:disabled{opacity:.45;cursor:not-allowed}.booking--form{gap:1rem}.booking--back{justify-self:start;display:inline-flex;align-items:center;gap:.35rem;padding:0;border:none;background:none;color:var(--accent-text);font-family:var(--body-font);font-size:var(--small-font-size);font-weight:var(--font-semi-bold);cursor:pointer}.booking--chosen{display:flex;align-items:center;gap:.6rem;padding:.8rem 1rem;border-radius:.7rem;background:hsla(var(--accent-h),var(--accent-s),60%,.12);color:var(--title-color);font-weight:var(--font-semi-bold)}.booking--chosen svg{flex-shrink:0;color:var(--accent-text)}.booking--submit{width:100%}.booking--fine{font-size:var(--smaller-font-size);color:var(--text-color-light);text-align:center}.booking--fallback p{color:var(--text-color);line-height:1.6}.booking--fallback-actions{display:flex;flex-wrap:wrap;gap:.75rem}@media screen and (max-width:575px){.booking-overlay{padding:0;place-items:stretch}.booking{width:100%;max-height:none;height:100dvh;border-radius:0;border:none}.booking--body{flex:1;align-content:start}}@media(prefers-reduced-motion:reduce){.booking--skeleton{animation:none}}@media(prefers-reduced-motion:reduce){.btn,.nav--cta,.work--card,.hero--tile img,.connect--channel{transition:none}}:root{--post-band: hsl(var(--accent-h), 22%, 91%);--post-quote-bg: hsl(var(--accent-h), 45%, 28%);--post-ink-l: 38%}body.dark-theme{--post-band: hsl(var(--accent-h), 14%, 7%);--post-quote-bg: hsl(var(--accent-h), 38%, 14%);--post-ink-l: 70%}.journal--kicker,.post--kicker,.post--label,.post--eyebrow{font-size:var(--smaller-font-size);font-weight:var(--font-semi-bold);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text)}.journal{padding-top:calc(var(--header-height) + 3rem)}.journal--kicker{margin-bottom:.7rem}.journal--head .section-head--title{text-wrap:balance}.journal--featured{display:grid;margin-bottom:2.5rem;border-radius:.9rem;overflow:hidden;background:var(--card-color);border:1px solid var(--border-color)}.journal--featured-media,.journal--media{display:block;overflow:hidden;background:var(--band-color)}.journal--featured-media img,.journal--media img{display:block;width:100%;height:100%;aspect-ratio:16 / 9;object-fit:cover;transition:transform .5s ease}.journal--featured:hover .journal--featured-media img,.journal--card:hover .journal--media img{transform:scale(1.03)}.journal--cover-blank{display:block;aspect-ratio:16 / 9;background:linear-gradient(135deg,hsla(var(--accent-h),60%,50%,.25),var(--band-color))}.journal--featured-body{display:grid;align-content:center;gap:.9rem;padding:1.4rem 1.3rem 1.6rem}.journal--featured-title{font-size:clamp(1.45rem,2.6vw,2.05rem);line-height:1.15;letter-spacing:-.015em;text-wrap:balance}.journal--featured-title a,.journal--title a{color:var(--title-color)}.journal--featured-title a:hover,.journal--title a:hover{color:var(--accent-text)}.journal--meta{display:flex;flex-wrap:wrap;gap:.2rem .75rem;font-size:var(--smaller-font-size);color:var(--text-color-light)}.journal--category{color:var(--accent-text);font-weight:var(--font-semi-bold)}.journal--excerpt{font-size:var(--small-font-size);line-height:1.65;color:var(--text-color)}.journal--foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;font-size:var(--smaller-font-size);color:var(--text-color-light)}.journal--filters{margin-bottom:1.5rem}.journal--grid{display:grid;gap:1rem}.journal--card{display:flex;flex-direction:column;border-radius:.75rem;overflow:hidden;background:var(--card-color);border:1px solid var(--border-color);transition:border-color .2s ease}.journal--card:hover{border-color:var(--text-color-light)}.journal--body{display:flex;flex:1;flex-direction:column;gap:.6rem;padding:1.1rem 1.2rem 1.2rem}.journal--title{font-size:var(--h3-font-size);line-height:1.3}.journal--body .journal--excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.journal--body .journal--foot{margin-top:auto;padding-top:.3rem}.journal--more{display:flex;justify-content:center;margin-top:2rem}.journal--more-count{font-weight:var(--font-regular);color:var(--text-color-light)}.journal--cta{margin-top:3.5rem}@media screen and (min-width:640px){.journal--grid{grid-template-columns:repeat(2,1fr)}}@media screen and (min-width:900px){.journal--featured{grid-template-columns:1.15fr 1fr}.journal--featured-body{padding:2rem 2.25rem}}@media screen and (min-width:1000px){.journal--grid{grid-template-columns:repeat(3,1fr);gap:1.25rem}}.post--hero{padding:calc(var(--header-height) + 3.25rem) 0 3rem;background:radial-gradient(ellipse 60% 70% at 90% 0%,hsla(var(--accent-h),70%,55%,.16),transparent 70%),var(--post-band);border-bottom:1px solid var(--border-color)}.post--hero-grid{display:grid;gap:2rem;align-items:center}.post--hero-text{max-width:760px}.post--back{display:inline-flex;align-items:center;gap:.35rem;margin-bottom:1.75rem;font-size:var(--small-font-size);font-weight:var(--font-semi-bold);color:var(--text-color)}.post--back:hover{color:var(--title-color)}.post--kicker{margin-bottom:.9rem}.post--kicker a{color:inherit;text-decoration:underline;text-decoration-color:hsla(var(--accent-h),70%,60%,.4);text-underline-offset:3px}.post--title{font-size:clamp(2rem,4.4vw,3.2rem);line-height:1.08;letter-spacing:-.02em;color:var(--title-color);margin-bottom:1.1rem;text-wrap:balance}.post--dek{max-width:62ch;margin-bottom:1.6rem;font-size:clamp(1.02rem,1.5vw,1.15rem);line-height:1.7;color:var(--text-color)}.post--byline{display:flex;align-items:center;gap:.75rem}.post--byline img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:1px solid var(--border-color)}.post--byline p{display:grid;gap:.1rem}.post--author{font-size:var(--small-font-size);font-weight:var(--font-semi-bold);color:var(--title-color)}.post--byline-meta{font-size:var(--smaller-font-size);color:var(--text-color-light)}.post--cover{margin:0;border-radius:.9rem;overflow:hidden;background:var(--card-color);border:1px solid var(--border-color)}.post--cover img{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover}.post--cover figcaption{padding:.55rem .9rem;font-size:var(--smaller-font-size);color:var(--text-color-light)}.post--loading{display:grid;place-items:center;min-height:40vh}@media screen and (min-width:1000px){.post--hero{padding-bottom:4rem}.post--hero.has-cover .post--hero-grid{grid-template-columns:1.05fr 1fr;gap:3.5rem}}.post--intro{padding:3rem 0}.post--intro-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem}.post--label{margin-bottom:.85rem}.post--summary ul{display:grid;gap:.85rem}.post--summary li{position:relative;padding-left:1.75rem;line-height:1.65;color:var(--title-color)}.post--summary li:before{content:"";position:absolute;left:.2rem;top:.38em;width:.45rem;height:.8rem;border:solid var(--accent-text);border-width:0 2px 2px 0;transform:rotate(45deg)}.post--toc{padding:1.25rem 1.2rem 1rem;border-radius:.8rem;background:var(--card-color);border:1px solid var(--border-color)}.post--toc ol,.post--steps,.post--flow ol{list-style:none}.post--toc ol{display:grid;gap:.1rem}.post--toc a{display:grid;grid-template-columns:2rem 1fr;gap:.4rem;padding:.45rem .5rem;border-radius:.45rem;font-size:var(--small-font-size);line-height:1.45;color:var(--text-color)}.post--toc a:hover{background:var(--band-color);color:var(--title-color)}.post--toc a span{padding-top:.1rem;font-family:var(--mono-font);font-size:var(--smaller-font-size);color:var(--accent-text)}.post--stats{display:flex;flex-wrap:wrap;gap:1px;margin-top:2.25rem;border-radius:.8rem;overflow:hidden;background:var(--border-color);border:1px solid var(--border-color)}.post--stats li{flex:1 1 140px;display:grid;align-content:start;gap:.45rem;padding:1.25rem 1.3rem;background:var(--body-color)}.post--stats strong{font-size:clamp(1.9rem,3.4vw,2.6rem);line-height:1;letter-spacing:-.02em;color:var(--accent-text)}.post--stats span{font-size:var(--smaller-font-size);line-height:1.5;color:var(--text-color-light)}@media screen and (min-width:900px){.post--intro{padding:4rem 0}.post--intro-grid{grid-template-columns:1.35fr 1fr;gap:3rem;align-items:start}}.post--section{padding:3.5rem 0}.post--section.is-band{background:var(--post-band)}.post--section-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem}.post--eyebrow{display:flex;align-items:center;gap:.6rem;margin-bottom:.85rem}.post--eyebrow span{padding:.15rem .45rem;border-radius:.35rem;font-family:var(--mono-font);letter-spacing:0;background:hsla(var(--accent-h),70%,60%,.14)}.post--side h2{font-size:clamp(1.5rem,2.8vw,2.1rem);line-height:1.15;letter-spacing:-.015em;color:var(--title-color);text-wrap:balance}.post--prose{display:grid;grid-template-columns:minmax(0,1fr);gap:1.2rem;max-width:68ch;font-size:1.02rem;line-height:1.8;color:var(--text-color)}.post--prose strong,.post--faq strong{color:var(--title-color)}.post--prose a,.post--faq a,.post--summary a{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}.post--prose :not(pre)>code,.post--faq code,.post--summary code{padding:.1rem .35rem;border-radius:.3rem;background:hsla(var(--accent-h),30%,50%,.14);font-family:var(--mono-font);font-size:.88em;color:var(--title-color)}.post--prose.is-lead>p:first-child:first-letter{float:left;margin:.08em .14em 0 0;font-size:3.5em;line-height:.85;font-weight:var(--font-bold);color:var(--accent-text)}.post--list{display:grid;gap:.5rem;padding-left:1.25rem;list-style:disc}ol.post--list{list-style:decimal}.post--list li::marker{color:var(--accent-text)}@media screen and (min-width:1000px){.post--section{padding:5rem 0}.post--section-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:4rem}.post--side{position:sticky;top:calc(var(--header-height) + 2rem);align-self:start}}.post--steps{display:grid}.post--steps li{position:relative;display:grid;grid-template-columns:2.25rem 1fr;gap:.9rem;padding-bottom:1.15rem}.post--steps li:last-child{padding-bottom:0}.post--steps li:not(:last-child):before{content:"";position:absolute;left:1.125rem;top:2.5rem;bottom:.3rem;width:1px;background:var(--border-color)}.post--step-num{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;font-family:var(--mono-font);font-size:var(--small-font-size);font-weight:var(--font-bold);color:var(--accent-text);background:hsla(var(--accent-h),70%,60%,.12);border:1px solid hsla(var(--accent-h),70%,60%,.35)}.post--steps strong{display:block;padding-top:.3rem;line-height:1.5}.post--steps p{margin-top:.15rem;font-size:.97rem;line-height:1.7}.post--table,.post--flow,.post--code{margin:.4rem 0}.post--table figcaption,.post--flow figcaption{font-size:var(--smaller-font-size);font-weight:var(--font-semi-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-color-light)}.post--table figcaption{margin-bottom:.6rem}.post--table-scroll{overflow-x:auto;border-radius:.75rem;background:var(--card-color);border:1px solid var(--border-color)}.post--table-scroll:focus-visible{outline:2px solid var(--first-color);outline-offset:2px}.post--table table{width:100%;border-collapse:collapse;font-size:.9rem;line-height:1.55}.post--table table.is-wide{min-width:38rem}.post--table thead th{padding:.75rem 1rem;text-align:left;font-size:var(--smaller-font-size);letter-spacing:.06em;text-transform:uppercase;color:var(--title-color);background:hsla(var(--accent-h),60%,55%,.12);border-bottom:1px solid var(--border-color)}.post--table tbody th,.post--table tbody td{padding:.8rem 1rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--border-color);color:var(--text-color)}.post--table tbody th{font-weight:var(--font-semi-bold);color:var(--title-color)}.post--table tbody tr:last-child>*{border-bottom:0}.post--table tbody tr:nth-child(2n){background:#8080800d}.post--callout{--tone-h: var(--accent-h);display:grid;grid-template-columns:auto 1fr;gap:.8rem;padding:1rem 1.15rem;border-radius:.75rem;background:hsla(var(--tone-h),70%,55%,.08);border:1px solid hsla(var(--tone-h),70%,60%,.28);border-left:3px solid hsl(var(--tone-h),70%,58%)}.post--callout.is-tip{--tone-h: 150}.post--callout.is-warning{--tone-h: 36}.post--callout-icon{margin-top:.2rem;color:hsl(var(--tone-h),70%,var(--post-ink-l))}.post--callout-title{margin-bottom:.2rem;font-weight:var(--font-semi-bold);line-height:1.45;color:var(--title-color)}.post--callout p:not(.post--callout-title){font-size:.96rem;line-height:1.7}.post--quote{padding:.3rem 0 .3rem 1.4rem;border-left:3px solid var(--first-color)}.post--quote p{font-size:1.18rem;line-height:1.6;color:var(--title-color)}.post--quote cite{display:block;margin-top:.5rem;font-size:var(--small-font-size);font-style:normal;color:var(--text-color-light)}.post--code{border-radius:.75rem;overflow:hidden;background:#0e0e11;border:1px solid hsla(0,0%,100%,.08)}.post--code figcaption{display:flex;align-items:center;justify-content:space-between;padding:.4rem .6rem .4rem .9rem;font-family:var(--mono-font);font-size:var(--smaller-font-size);color:#9999a3;background:#151519;border-bottom:1px solid hsla(0,0%,100%,.06)}.post--code button{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .45rem;border:0;border-radius:.3rem;background:none;color:inherit;font:inherit;cursor:pointer}.post--code button:hover,.post--code button:focus-visible{color:#f5f5f5;background:#ffffff0f}.post--code pre{margin:0;padding:1rem 1.1rem;overflow-x:auto;font-family:var(--mono-font);font-size:.85rem;line-height:1.65;color:#dddde3}.post--flow ol{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.post--flow li{display:flex;align-items:center;gap:.5rem}.post--flow li>span{padding:.55rem .85rem;border-radius:.6rem;font-size:var(--small-font-size);font-weight:var(--font-medium);line-height:1.35;color:var(--title-color);background:var(--card-color);border:1px solid var(--border-color)}.post--flow li:last-child>span{background:hsla(var(--accent-h),70%,60%,.14);border-color:hsla(var(--accent-h),70%,60%,.4)}.post--flow-arrow{flex-shrink:0;color:var(--accent-text)}.post--flow figcaption{margin-top:.75rem}@media screen and (max-width:560px){.post--flow ol,.post--flow li{flex-direction:column;align-items:stretch}.post--flow li>span{text-align:center}.post--flow-arrow{align-self:center;transform:rotate(90deg)}}.post--pull{margin:0;padding:4rem 0;text-align:center;background:radial-gradient(ellipse 50% 80% at 50% 0%,hsla(var(--accent-h),80%,60%,.25),transparent 70%),var(--post-quote-bg)}.post--pull blockquote p{max-width:920px;margin-inline:auto;font-size:clamp(1.55rem,3.6vw,2.6rem);font-weight:var(--font-bold);line-height:1.2;letter-spacing:-.015em;color:#fff;text-wrap:balance}.post--pull blockquote p:before{content:"“"}.post--pull blockquote p:after{content:"”"}.post--pull figcaption{margin-top:1.1rem;font-size:var(--smaller-font-size);letter-spacing:.14em;text-transform:uppercase;color:#ffffffb8}@media screen and (min-width:1000px){.post--pull{padding:5.5rem 0}}.post--faq{display:grid;grid-template-columns:minmax(0,1fr);gap:.6rem;max-width:68ch}.post--faq details{border-radius:.75rem;background:var(--card-color);border:1px solid var(--border-color)}.post--faq summary{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;list-style:none;cursor:pointer;font-weight:var(--font-semi-bold);line-height:1.45;color:var(--title-color)}.post--faq summary::-webkit-details-marker{display:none}.post--faq summary:after{content:"+";flex-shrink:0;font-family:var(--mono-font);font-size:1.25rem;line-height:1.1;color:var(--accent-text);transition:transform .2s ease}.post--faq details[open] summary:after{transform:rotate(45deg)}.post--faq summary:focus-visible{outline:2px solid var(--first-color);outline-offset:2px;border-radius:.75rem}.post--faq details p{padding:0 1.15rem 1.1rem;line-height:1.75;color:var(--text-color)}.post--end{padding:3.5rem 0 4.5rem;border-top:1px solid var(--border-color)}.post--end-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem}.post--cta{display:grid;align-content:start;gap:.8rem;padding:2rem 1.6rem;border-radius:.9rem;background:radial-gradient(ellipse 70% 90% at 100% 0%,hsla(var(--accent-h),70%,55%,.16),transparent 70%),var(--card-color);border:1px solid var(--border-color)}.post--cta .post--label{margin-bottom:0}.post--cta h2{font-size:clamp(1.35rem,2.6vw,1.85rem);line-height:1.2;color:var(--title-color);text-wrap:balance}.post--cta p{max-width:40rem;line-height:1.65;color:var(--text-color)}.post--cta-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.4rem}.post--project{display:grid;align-content:start;border-radius:.9rem;overflow:hidden;background:var(--card-color);border:1px solid var(--border-color);transition:border-color .2s ease}.post--project:hover{border-color:var(--text-color-light)}.post--project-media{display:block;background:var(--band-color)}.post--project-media img{display:block;width:100%;aspect-ratio:3 / 2;object-fit:cover}.post--project-media img.is-contained{object-fit:contain;padding:1rem}.post--project-body{display:grid;gap:.3rem;padding:1rem 1.2rem 1.2rem;font-size:var(--small-font-size);color:var(--text-color)}.post--project-body .post--label{margin-bottom:.1rem}.post--project-body strong{font-size:var(--h3-font-size);color:var(--title-color)}.post--project-body .work--link{margin-top:.35rem}.post--author-box{display:grid;grid-template-columns:auto 1fr;gap:1.1rem;align-items:start;padding:1.5rem;border-radius:.9rem;border:1px solid var(--border-color)}.post--author-box img{width:64px;height:64px;border-radius:50%;object-fit:cover}.post--author-box .post--label{margin-bottom:.3rem}.post--author-name{margin-bottom:.35rem;font-size:1.1rem;font-weight:var(--font-bold);color:var(--title-color)}.post--author-box p{font-size:var(--small-font-size);line-height:1.65}.post--author-links{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;margin-top:.75rem}.post--author-links a{display:inline-flex;align-items:center;gap:.35rem;font-weight:var(--font-semi-bold);color:var(--accent-text)}.post--author-links a:hover{text-decoration:underline;text-underline-offset:3px}.post--related{margin-top:3.5rem}.post--related-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;margin-bottom:1.25rem}.post--related-head h2{font-size:clamp(1.35rem,2.6vw,1.8rem);color:var(--title-color)}.post--related ul{display:grid;gap:1.5rem}.post--related-card{display:grid;align-content:start;gap:.55rem}.post--related-media{display:block;aspect-ratio:16 / 9;border-radius:.75rem;overflow:hidden;background:linear-gradient(135deg,hsla(var(--accent-h),60%,50%,.25),var(--band-color));border:1px solid var(--border-color)}.post--related-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.post--related-card:hover .post--related-media img{transform:scale(1.03)}.post--related-meta{font-size:var(--smaller-font-size);color:var(--text-color-light)}.post--related-card h3{font-size:1.02rem;line-height:1.4}.post--related-card h3 a{color:var(--title-color)}.post--related-card h3 a:hover{color:var(--accent-text)}@media screen and (max-width:480px){.post--author-box{grid-template-columns:1fr}}@media screen and (min-width:700px){.post--related ul{grid-template-columns:repeat(3,1fr)}}@media screen and (min-width:900px){.post--end-grid{grid-template-columns:1fr 1.25fr}.post--cta{grid-column:1 / -1;padding:2.25rem}.post--cta+.post--author-box{grid-column:1 / -1}.post--project{grid-template-columns:2fr 3fr;align-content:stretch}.post--project-media{position:relative;min-height:9rem}.post--project-media img{position:absolute;inset:0;height:100%;aspect-ratio:auto}.post--project-body{align-content:center}}
