@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Space+Grotesk:wght@300;400;500;600;700&display=swap");:root{--ink:#1c2d3e;--navy:#1c2d3e;--mid:#4a5e6e;--soft:#7a95a8;--cream:#f5f2ec;--c2:#eae4d8;--white:#fff;--rule:#d8d2c6;--p:#6b1fa0;--pd:#4d1578;--pt:#f1eafb;--pt2:#e0cff5;--page-bg:#f8f7f4;--ff-sans:"Space Grotesk",system-ui,sans-serif;--ff-mono:"IBM Plex Mono",monospace;--text-xs:clamp(0.75rem,0.7rem + 0.25vw,0.875rem);--text-sm:clamp(0.875rem,0.8rem + 0.3vw,1rem);--text-base:clamp(1rem,0.9rem + 0.4vw,1.125rem);--text-lg:clamp(1.125rem,1rem + 0.5vw,1.375rem);--text-xl:clamp(1.25rem,1.1rem + 0.6vw,1.625rem);--text-2xl:clamp(1.5rem,1.2rem + 0.8vw,2rem);--text-3xl:clamp(2rem,1.5rem + 1.2vw,3rem);--text-4xl:clamp(2.5rem,1.8rem + 1.6vw,4rem);--heading-weight:300;--heading-ls:-0.02em;--heading-lh:1.15}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-size:var(--text-base);font-weight:400;line-height:1.6;color:var(--mid);background:var(--page-bg);-webkit-font-smoothing:antialiased}body,h1,h2,h3,h4{font-family:var(--ff-sans)}h1,h2,h3,h4{font-weight:var(--heading-weight);letter-spacing:var(--heading-ls);line-height:var(--heading-lh);color:var(--ink)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}p{margin-bottom:0}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.container{max-width:1200px;margin:0 auto;padding:0 52px}.label{font-family:var(--ff-mono);font-size:var(--text-xs);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--p)}.label-rule{border-top:2px solid var(--p);padding-top:12px;margin-bottom:12px}.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--ff-mono);font-size:var(--text-xs);font-weight:500;letter-spacing:.08em;text-transform:uppercase;border:none;cursor:pointer;transition:all .18s;text-decoration:none;white-space:nowrap}.btn-primary{background:var(--p);color:#fff;padding:12px 28px}.btn-primary:hover{background:var(--pd)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-outline{background:transparent;color:var(--ink);padding:11px 26px;border:1.5px solid var(--ink)}.btn-outline:hover{background:var(--ink);color:#fff}.btn-ghost{background:none;border:none;color:var(--p);cursor:pointer;padding:0;transition:opacity .15s}.btn-ghost:hover{opacity:.6}@media (max-width:768px){.container{padding:0 32px}.grid-2,.grid-3,.grid-footer,.grid-includes,.grid-principle,.grid-services,.grid-sidebar,.grid-sidebar-reverse{grid-template-columns:1fr!important}.hide-mobile{display:none!important}.stack-mobile{flex-direction:column!important}.section-pad{padding-top:56px!important;padding-bottom:56px!important}.gap-mobile-0{gap:0!important}.gap-mobile-24{gap:24px!important}.pb-mobile-48{padding-bottom:48px!important}.p-mobile-24{padding:24px!important}.p-mobile-20{padding:20px!important}.px-mobile-0{padding-left:0!important;padding-right:0!important}.bl-mobile-none{border-left:none!important}.b-mobile-none{border:none!important}.bt-mobile-none{border-top:none!important}.w-mobile-100{width:100%!important}.jc-mobile-start{justify-content:flex-start!important}.ai-mobile-start{align-items:flex-start!important}.ta-mobile-left{text-align:left!important}.overflow-mobile{overflow-x:auto}.nav-hamburger{display:block!important}.nav-links{display:none!important;position:fixed;top:72px;left:0;right:0;bottom:0;background:hsla(0,0%,100%,.98);flex-direction:column;align-items:flex-start!important;gap:0!important;padding:24px;z-index:199;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.nav-links.nav-links-open{display:flex!important}.nav-links button{font-size:16px!important;padding:16px 0!important;width:100%!important;text-align:left!important;border-bottom:1px solid var(--rule)!important}.hero-panel{padding-left:0!important;border-left:none!important;padding-top:48px}}@media (max-width:640px){h1{font-size:var(--text-2xl)!important}h2{font-size:var(--text-xl)!important}h3{font-size:var(--text-lg)!important}}@media (max-width:480px){.container{padding:0 20px}}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:var(--c2)}