:root{--surface-0:#0b0d10;--surface-1:#11151a;--surface-2:#181d23;--text-primary:#e8edf2;--text-secondary:#a3adb9;--text-muted:#737f8d;--border-subtle:#1f2630;--border-default:#2a323d;--accent:#7ec4ff;--accent-hover:#a8d6ff;--accent-text:#0b0d10;--focus-ring:#7ec4ff;--error:#ff8e8e;--success:#8ee0a8;--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Mono", Menlo, monospace;--size-xs:0.8rem;--size-sm:0.9rem;--size-base:1rem;--size-md:1.125rem;--size-lg:1.5rem;--size-xl:2rem;--size-2xl:2.75rem;--size-3xl:3.75rem;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;--content-max:68ch;--container-max:1100px;--radius-sm:4px;--radius-md:8px;--radius-lg:14px}@font-face{font-family:fraunces;src:url(/fonts/fraunces-variable.woff2)format("woff2");font-weight:300 700;font-style:normal;font-display:swap}@font-face{font-family:inter;src:url(/fonts/inter-variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}*,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}ul[role=list],ol[role=list]{list-style:none;padding:0;margin:0}img,svg,video{display:block;max-inline-size:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}body{background:var(--surface-0);color:var(--text-primary);font-family:var(--font-body);font-size:var(--size-base);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;min-height:100vh;min-block-size:100dvh}h1,h2,h3,h4,h5,h6{line-height:1.1;font-weight:500;text-wrap:balance}h1,h2{font-family:var(--font-display);font-weight:400;letter-spacing:-.02em}h3,h4,h5,h6{font-family:var(--font-body);font-weight:600;letter-spacing:-.01em}h1{font-size:var(--size-2xl);margin-block-end:var(--space-6)}h2{font-size:var(--size-xl);margin-block-end:var(--space-6)}h3{font-size:var(--size-lg);margin-block-end:var(--space-4)}h4{font-size:var(--size-md);margin-block-end:var(--space-3)}h5,h6{font-size:var(--size-base);margin-block-end:var(--space-2)}@media(min-width:768px){h1{font-size:var(--size-3xl)}h2{font-size:var(--size-2xl)}}p{margin-block-end:var(--space-4);color:var(--text-secondary)}p:last-child{margin-block-end:0}.prose{max-inline-size:var(--content-max)}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{margin-block-start:var(--space-8)}.prose h1:first-child,.prose h2:first-child,.prose h3:first-child{margin-block-start:0}.prose p{line-height:1.75}.prose ul,.prose ol{padding-inline-start:var(--space-6);margin-block-end:var(--space-4);color:var(--text-secondary)}.prose li{margin-block-end:var(--space-2)}.prose blockquote{border-inline-start:2px solid var(--border-default);padding-inline-start:var(--space-6);margin-inline:0;margin-block:var(--space-6);color:var(--text-muted);font-style:italic}.prose code{font-family:var(--font-mono);font-size:var(--size-sm);background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding-block:var(--space-1);padding-inline:var(--space-2)}.prose pre{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-6);overflow-x:auto;margin-block-end:var(--space-6)}.prose pre code{background:0 0;border:none;padding:0;border-radius:0;font-size:var(--size-sm)}strong{font-weight:600;color:var(--text-primary)}em{font-style:italic}small{font-size:var(--size-xs);color:var(--text-muted)}h3,h4,h5,h6{color:var(--text-secondary)}h1,h2{color:var(--text-primary)}a{color:var(--accent);text-underline-offset:3px;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent);transition:color .15s ease,text-decoration-color .15s ease}a:hover{color:var(--accent-hover);text-decoration-color:var(--accent-hover)}.link-inherit{color:inherit;text-decoration:none}.link-inherit:hover{color:var(--accent)}.link-plain{text-decoration:none}.link-plain:hover{text-decoration:underline;text-underline-offset:3px}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}.container{max-inline-size:var(--container-max);margin-inline:auto;padding-inline:var(--space-4)}@media(min-width:768px){.container{padding-inline:var(--space-8)}}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding-block:var(--space-3);padding-inline:var(--space-6);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--size-sm);font-weight:500;letter-spacing:.01em;line-height:1;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none}.btn-primary{background-color:var(--accent);color:var(--accent-text);border-color:var(--accent)}.btn-primary:hover{background-color:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-text);text-decoration:none}.btn-primary:focus-visible{outline:2px solid transparent;outline-offset:2px;box-shadow:0 0 0 2px var(--surface-0),0 0 0 4px var(--accent)}.btn-secondary{background-color:initial;color:var(--text-primary);border-color:var(--border-default)}.btn-secondary:hover{background-color:var(--surface-2);border-color:var(--border-default);color:var(--text-primary);text-decoration:none}.btn-secondary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;inset-block-start:-100%;inset-inline-start:var(--space-4);z-index:9999;display:inline-flex;align-items:center;block-size:44px;padding-block:var(--space-3);padding-inline:var(--space-6);background:var(--accent);color:var(--accent-text);font-size:var(--size-sm);font-weight:500;border-radius:var(--radius-md);text-decoration:none;transition:inset-block-start .1s ease}.skip-link:focus{inset-block-start:var(--space-4);outline:2px solid var(--focus-ring);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.site-header{position:sticky;inset-block-start:0;z-index:100;background-color:var(--surface-0);border-block-end:1px solid var(--border-subtle);transition:border-color .2s ease}.js-loaded .site-header{background-color:color-mix(in srgb,var(--surface-0) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);block-size:60px}@media(min-width:768px){.site-header__inner{block-size:68px}}.site-wordmark{display:inline-flex;align-items:center;align-self:stretch;font-family:var(--font-display);font-size:var(--size-md);font-weight:400;letter-spacing:-.02em;color:var(--text-primary);text-decoration:none;white-space:nowrap;flex-shrink:0;line-height:1}.site-wordmark:hover{color:var(--text-primary);text-decoration:none}@media(min-width:768px){.site-wordmark{font-size:var(--size-lg)}}.site-nav{display:flex;align-items:center}.nav-list{display:flex;align-items:center;gap:var(--space-1);list-style:none;padding:0;margin:0}.nav-link{display:block;padding-block:var(--space-2);padding-inline:var(--space-3);font-family:var(--font-body);font-size:var(--size-sm);font-weight:500;letter-spacing:.01em;color:var(--text-secondary);text-decoration:none;border-radius:var(--radius-sm);transition:color .15s ease,background-color .15s ease}.nav-link:hover{color:var(--text-primary);background-color:var(--surface-1);text-decoration:none}.nav-link--active,.nav-link[aria-current=page]{color:var(--accent)}.nav-link--active:hover,.nav-link[aria-current=page]:hover{color:var(--accent-hover);background-color:var(--surface-1)}.nav-disclosure>summary{list-style:none}.nav-disclosure>summary::-webkit-details-marker{display:none}.nav-toggle{display:flex;align-items:center;justify-content:center;inline-size:44px;block-size:44px;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);transition:background-color .15s ease,color .15s ease;-webkit-user-select:none;user-select:none}.nav-toggle:hover{background-color:var(--surface-1);color:var(--text-primary)}.nav-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.nav-hamburger{display:flex;flex-direction:column;justify-content:center;gap:4px;inline-size:18px;block-size:18px}.nav-hamburger span{display:block;inline-size:100%;block-size:1.5px;background-color:currentColor;border-radius:1px;transition:opacity .15s ease,transform .15s ease}.nav-disclosure[open] .nav-hamburger span:nth-child(1){transform:translateY(5.5px)rotate(45deg)}.nav-disclosure[open] .nav-hamburger span:nth-child(2){opacity:0;transform:scaleX(0)}.nav-disclosure[open] .nav-hamburger span:nth-child(3){transform:translateY(-5.5px)rotate(-45deg)}.nav-disclosure .nav-list{position:absolute;inset-block-start:61px;inset-inline-start:0;inset-inline-end:0;flex-direction:column;align-items:stretch;gap:var(--space-1);padding:var(--space-3);background-color:var(--surface-1);border-block-end:1px solid var(--border-subtle)}.nav-disclosure .nav-link{padding-block:var(--space-3);padding-inline:var(--space-4)}@media(min-width:768px){.nav-disclosure{display:contents}.nav-toggle{display:none}.nav-disclosure .nav-list{position:static;flex-direction:row;align-items:center;padding:0;background-color:initial;border:none}}.site-footer{border-block-start:1px solid var(--border-subtle);margin-block-start:var(--space-24);padding-block:var(--space-12)}.site-footer__inner{display:flex;flex-direction:column;gap:var(--space-2)}.site-footer__copy,.site-footer__credit,.site-footer__contact{font-size:var(--size-xs);color:var(--text-muted);margin:0}.site-footer__credit a,.site-footer__contact a{color:var(--text-muted);text-decoration-color:color-mix(in srgb,var(--text-muted) 40%,transparent)}.site-footer__credit a:hover,.site-footer__contact a:hover{color:var(--text-secondary)}.page,.section-landing{padding-block:var(--space-16)}@media(min-width:768px){.page,.section-landing{padding-block:var(--space-24)}}.section-list{display:flex;flex-direction:column;gap:var(--space-4);margin-block-start:var(--space-8);list-style:none;padding:0}.section-list__item{border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:border-color .15s ease,background-color .15s ease}.section-list__item:hover{border-color:var(--border-default);background-color:var(--surface-1)}.section-list__link{display:block;padding:var(--space-6);text-decoration:none;color:inherit}.section-list__title{font-size:var(--size-lg);margin-block-end:var(--space-2)}.section-list__desc{font-size:var(--size-sm);color:var(--text-muted);margin:0}.hero-svg{height:auto;display:block;margin-inline:auto;max-inline-size:min(100%,680px)}.homepage section{padding-block:var(--space-16)}@media(min-width:768px){.homepage section{padding-block:var(--space-24)}}.homepage .hero{padding-block-start:var(--space-12)}@media(min-width:768px){.homepage .hero{padding-block-start:var(--space-16)}}.hero__inner{display:grid;gap:var(--space-12);grid-template-columns:1fr;grid-template-areas:"copy" "diagram"}@media(min-width:768px){.hero__inner{grid-template-columns:1fr 1fr;grid-template-areas:"copy diagram";align-items:center;gap:var(--space-16)}}.hero__copy{grid-area:copy}.hero__diagram{grid-area:diagram}.hero__lead{font-size:var(--size-md);color:var(--text-secondary);line-height:1.5;margin-block-end:var(--space-4)}.hero__sublead{font-size:var(--size-base);color:var(--text-secondary);line-height:1.65;margin-block-end:var(--space-8)}.services-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4);margin-block-start:var(--space-8)}@media(min-width:768px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.services-grid{grid-template-columns:repeat(4,1fr)}}.services-grid__card{background-color:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-6);transition:border-color .15s ease,background-color .15s ease}.services-grid__card:hover{border-color:var(--border-default);background-color:var(--surface-2)}.services-grid__title{font-size:var(--size-base);font-weight:600;color:var(--text-primary);margin-block-end:var(--space-2)}.services-grid__blurb{font-size:var(--size-sm);color:var(--text-secondary);line-height:1.6;margin:0}.cta-text-link{display:inline-block;margin-block-start:var(--space-8);font-size:var(--size-sm);font-weight:500;color:var(--accent);text-decoration:none;letter-spacing:.01em}.cta-text-link:hover{color:var(--accent-hover);text-decoration:underline;text-underline-offset:3px}.services-dl{margin:var(--space-8)0 0;max-inline-size:var(--content-max)}.services-dl__term{font-family:var(--font-display);font-size:var(--size-xl);font-weight:400;letter-spacing:-.02em;color:var(--text-primary);margin-block-start:var(--space-8);margin-block-end:var(--space-2);line-height:1.15}.services-dl__term:first-child{margin-block-start:0}.services-dl dd{color:var(--text-secondary);font-size:var(--size-base);line-height:1.7;margin-inline-start:0;margin-block-end:0}@media(min-width:768px){.services-dl__term{font-size:var(--size-2xl)}}.faq{margin-block-start:var(--space-8);border-block-start:1px solid var(--border-subtle)}.faq-item{border-block-end:1px solid var(--border-subtle)}.faq-item>summary{list-style:none}.faq-item>summary::-webkit-details-marker{display:none}.faq-item summary{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding-block:var(--space-5);padding-inline:0;font-family:var(--font-body);font-size:var(--size-base);font-weight:500;color:var(--text-primary);cursor:pointer;user-select:none;-webkit-user-select:none;transition:color .15s ease}.faq-item summary:hover{color:var(--accent)}.faq-item summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.faq-item summary:focus:not(:focus-visible){outline:none}.faq-item summary::after{content:"";display:inline-block;flex-shrink:0;inline-size:10px;block-size:10px;border-inline-end:1.5px solid var(--text-muted);border-block-end:1.5px solid var(--text-muted);transform:rotate(45deg);transition:transform .2s ease,border-color .15s ease;margin-block-end:3px}.faq-item[open] summary::after{transform:rotate(-135deg);margin-block-end:-3px;border-color:var(--accent)}.faq-item[open] summary{color:var(--accent)}.faq-item__body{padding-block-end:var(--space-5);padding-inline:0;color:var(--text-secondary);font-size:var(--size-base);line-height:1.7}.faq-item__body p{color:var(--text-secondary);margin-block-end:var(--space-3)}.faq-item__body p:last-child{margin-block-end:0}.cta-band{background-color:var(--surface-1);border-block:1px solid var(--border-subtle);text-align:center;padding-block:var(--space-16)}@media(min-width:768px){.cta-band{padding-block:var(--space-24)}}.cta-band__headline{font-family:var(--font-display);font-size:var(--size-xl);font-weight:400;letter-spacing:-.02em;color:var(--text-primary);margin-block-end:var(--space-8);text-wrap:balance}@media(min-width:768px){.cta-band__headline{font-size:var(--size-2xl)}}.contact-form{max-inline-size:min(100%,640px);margin-block-start:var(--space-8);display:flex;flex-direction:column;gap:var(--space-6)}.contact-form fieldset{border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-6);margin:0;display:flex;flex-direction:column;gap:var(--space-6)}.contact-form legend{font-family:var(--font-display);font-size:var(--size-md);font-weight:400;letter-spacing:-.01em;color:var(--text-primary);padding-inline:var(--space-2)}.form-field{display:flex;flex-direction:column;gap:var(--space-1)}.form-field label{font-size:var(--size-sm);font-weight:500;color:var(--text-primary)}.contact-form input[type=text],.contact-form input[type=email],.contact-form input[type=tel],.contact-form textarea,.contact-form select{inline-size:100%;background-color:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-md);padding-block:var(--space-3);padding-inline:var(--space-4);color:var(--text-primary);font-size:var(--size-base);line-height:1.5;transition:border-color .15s ease,box-shadow .15s ease;-webkit-appearance:none;appearance:none}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--text-muted)}.contact-form input[type=text]:focus,.contact-form input[type=email]:focus,.contact-form input[type=tel]:focus,.contact-form textarea:focus,.contact-form select:focus{outline:2px solid transparent;outline-offset:2px;border-color:var(--focus-ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus-ring) 25%,transparent)}.contact-form input[aria-invalid=true],.contact-form textarea[aria-invalid=true],.contact-form select[aria-invalid=true]{border-color:var(--error)}.contact-form input[aria-invalid=true]:focus,.contact-form textarea[aria-invalid=true]:focus,.contact-form select[aria-invalid=true]:focus{border-color:var(--error);box-shadow:0 0 0 3px color-mix(in srgb,var(--error) 20%,transparent)}.contact-form textarea{resize:vertical;min-block-size:8rem}.contact-form select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23737f8d' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-4)center;padding-inline-end:var(--space-8);cursor:pointer}.form-help{font-size:var(--size-xs);color:var(--text-secondary);line-height:1.5}.form-error{font-size:var(--size-xs);color:var(--error);line-height:1.4;min-block-size:0}.form-error:empty{display:none}.form-status{background-color:var(--surface-1);border:1px solid var(--border-default);border-radius:var(--radius-md);padding-block:var(--space-4);padding-inline:var(--space-6);font-size:var(--size-sm);color:var(--text-secondary);line-height:1.6;margin-block-end:var(--space-4)}.hp-field{position:absolute;left:-9999px;top:auto;inline-size:1px;block-size:1px;overflow:hidden}