:root{--color-background:#f7f4ef;--color-surface:#fdfcfa;--color-text:#2e2e2c;--color-text-muted:#5c5c58;--color-border:#ddd8cf;--color-accent:var(--color-text);--font-family-sans:"Satoshi", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-weight-light:300;--font-weight-regular:400;--font-weight-medium:500;--font-weight-bold:700;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-product:calc(var(--space-2xl) * 3 + var(--space-lg) * 2);--space-section:var(--space-xl);--measure-body:65ch;--width-content:var(--measure-body);--width-layout:72rem;--radius-soft:.375rem;--shadow-subtle:0 1px 2px #2e2e2c0f;--transition-calm:.18s ease}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Light.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--font-size-display:clamp(2rem, 5vw, 3rem);--font-size-heading-1:clamp(1.75rem, 4vw, 2.25rem);--font-size-heading-2:clamp(1.375rem, 3vw, 1.75rem);--font-size-body:1rem;--font-size-small:.875rem;--font-size-caption:.8125rem;--line-height-display:1.15;--line-height-heading:1.25;--line-height-body:1.6;--line-height-caption:1.5;--letter-spacing-display:-.02em;--letter-spacing-heading:-.01em;--letter-spacing-body:0;--letter-spacing-caption:.01em}.text-display,h1.is-display{font-size:var(--font-size-display);font-weight:var(--font-weight-bold);line-height:var(--line-height-display);letter-spacing:var(--letter-spacing-display)}h1{font-size:var(--font-size-heading-1);font-weight:var(--font-weight-medium);line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-heading)}h2{font-size:var(--font-size-heading-2);font-weight:var(--font-weight-medium);line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-heading)}h1,h2{margin:0 0 var(--space-md)}p,ul,ol{font-size:var(--font-size-body);font-weight:var(--font-weight-regular);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body);max-width:var(--measure-body)}p{margin:0 0 var(--space-md)}ul,ol{margin:0 0 var(--space-md);padding-left:1.25rem}.text-caption,.todo-note,small{font-size:var(--font-size-caption);font-weight:var(--font-weight-light);line-height:var(--line-height-caption);letter-spacing:var(--letter-spacing-caption)}.text-caption--legible{font-weight:var(--font-weight-regular)}.text-nav,.site-brand{font-weight:var(--font-weight-medium)}.site-nav__link{font-size:var(--font-size-small);letter-spacing:var(--letter-spacing-body);font-weight:var(--font-weight-regular)}.site-nav__link[aria-current=page]{font-weight:var(--font-weight-medium)}button,.btn{font-family:var(--font-family-sans);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body)}.measure-body{max-width:var(--measure-body)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{min-height:100vh;font-family:var(--font-family-sans);font-size:var(--font-size-body);font-weight:var(--font-weight-regular);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body);color:var(--color-text);background-color:var(--color-background);flex-direction:column;margin:0;display:flex}a{color:var(--color-text);text-underline-offset:.15em;transition:color var(--transition-calm);text-decoration:underline 1px}a:hover{color:var(--color-text-muted)}a:focus-visible,button:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}img,svg,video{max-width:100%;display:block}.skip-link{left:var(--space-md);z-index:100;padding:var(--space-xs) var(--space-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-soft);color:var(--color-text);font-weight:var(--font-weight-medium);text-decoration:none;position:absolute;top:-100%}.skip-link:focus{top:var(--space-md)}:root{--site-header-height:4.75rem}.site-header{z-index:40;border-bottom:1px solid var(--color-border);background:var(--color-surface);position:sticky;top:0}@media (width>=768px){:root{--site-header-height:4.5rem}}.site-header__inner,.site-main,.site-footer__inner{width:min(100% - 2 * var(--space-lg), var(--width-layout));padding-inline:var(--space-lg);margin-inline:auto}.site-header__inner{gap:var(--space-sm);padding-block:var(--space-md);flex-direction:column;display:flex}.site-header__brand-row{justify-content:space-between;align-items:center;gap:var(--space-md);width:100%;display:flex}.site-brand{color:var(--color-text);flex-shrink:0;align-items:center;text-decoration:none;display:inline-flex}.site-brand:hover{color:var(--color-text-muted)}.site-wordmark{width:auto;max-width:min(100%,12rem);height:clamp(1.75rem,4vw,2rem);display:block}.guiding-line{padding-inline:var(--space-sm);max-width:var(--width-content);margin:0}.guiding-line__asset{width:min(100%,18rem);max-width:100%;height:auto;display:block}.guiding-line--expression .guiding-line__asset{width:min(100%,19rem)}.homepage-guiding-line{margin-block:var(--space-xl) var(--space-2xl)}@media (width>=768px){.guiding-line{padding-inline:var(--space-md)}.guiding-line__asset{width:min(100%,26rem)}.guiding-line--expression .guiding-line__asset{width:min(100%,28rem)}.homepage-guiding-line{margin-block:var(--space-2xl) var(--space-2xl)}}@media (width>=1024px){.guiding-line__asset{width:min(100%,30rem)}.guiding-line--expression .guiding-line__asset{width:min(100%,32rem)}}.site-nav__toggle{min-width:2.75rem;min-height:2.75rem;padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-soft);background:var(--color-surface);color:var(--color-text);font-family:var(--font-family-sans);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);line-height:var(--line-height-body);cursor:pointer;justify-content:center;align-items:center;display:none}html.js-enabled .site-nav__toggle{display:inline-flex}.site-nav-panel{width:100%}.site-nav__list{gap:var(--space-xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.site-nav__link{min-height:2.75rem;padding-inline:var(--space-xs);color:var(--color-text-muted);align-items:center;text-decoration:none;display:inline-flex}.site-nav__link:hover,.site-nav__link[aria-current=page]{color:var(--color-text);text-decoration:none}.site-nav--footer .site-nav__list{gap:var(--space-sm) var(--space-lg);margin-bottom:var(--space-md);flex-flow:wrap}.site-nav--footer .site-nav__link{min-height:2.75rem}.site-main{padding-block:var(--space-2xl);flex:1}.site-main__content{max-width:var(--width-content)}.site-main__content--layout{max-width:var(--width-layout)}.site-footer{border-top:1px solid var(--color-border);margin-top:auto}.site-footer__inner{padding-block:var(--space-xl);color:var(--color-text-muted)}.site-footer__legal .site-nav__list{margin-bottom:var(--space-md)}.site-footer__copyright{font-size:var(--font-size-small);font-weight:var(--font-weight-regular);line-height:var(--line-height-body);margin:0}@media (width>=768px){.site-header__inner{justify-content:space-between;align-items:center;gap:var(--space-lg);flex-direction:row}.site-header__brand-row{width:auto}.site-wordmark{max-width:none;height:clamp(2rem,2.5vw,2.25rem)}html.js-enabled .site-nav__toggle{display:none}.site-nav-panel{width:auto}.site-nav-panel[hidden]{display:block}.site-nav__list{align-items:center;gap:var(--space-sm) var(--space-lg);flex-flow:wrap}.site-nav__link{min-height:2.75rem}}.page-section{margin-bottom:var(--space-section)}.product-block+.product-block,.project-block+.project-block{margin-top:clamp(calc(var(--space-2xl) * 1.5), 19vw, var(--space-product))}.todo-note{padding:var(--space-md);border:1px dashed var(--color-border);border-radius:var(--radius-soft);color:var(--color-text-muted)}
