:root{--black:#000;--white:#fff;--paper:#f5f5f7;--ink:#1d1d1f;--muted:#1d1d1f9e;--line:#00000014;--line-strong:#00000024;--inverse-line:#ffffff24;--max:1160px;--header-h:68px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--white)}body{color:var(--ink);background:var(--white);text-rendering:geometricprecision;-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Inter,Segoe UI,sans-serif;overflow-x:hidden}body:before{content:"";z-index:-1;pointer-events:none;background-image:linear-gradient(#00000007 1px,#0000 1px),linear-gradient(90deg,#00000007 1px,#0000 1px);background-size:84px 84px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 18%,#000,#0000 54%);mask-image:radial-gradient(circle at 50% 18%,#000,#0000 54%)}::selection{color:var(--white);background:var(--ink)}a{color:inherit;text-decoration:none}main{isolation:isolate}.section-shell{width:min(var(--max), calc(100% - 56px));margin-inline:auto}.site-header{z-index:80;height:var(--header-h);color:#1d1d1fe0;justify-content:space-between;align-items:center;width:min(100% - 38px,1280px);margin:0 auto;padding-inline:4px;transition:width .28s,padding .28s,border-color .28s,background .28s,-webkit-backdrop-filter .28s,backdrop-filter .28s;display:flex;position:sticky;top:0}.site-header.is-scrolled{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px)saturate(140%);backdrop-filter:blur(14px)saturate(140%);background:#ffffffc2;width:100%;max-width:none;padding-inline:max(24px,50vw - 616px)}.brand{letter-spacing:-.02em;font-size:15px;font-weight:640}.site-header nav{color:#1d1d1fad;align-items:center;gap:clamp(18px,3vw,34px);font-size:13px;display:flex}.site-header nav a{transition:color .24s}.site-header nav a:hover{color:var(--ink)}.hero{min-height:calc(100svh - var(--header-h));background:#fff;place-items:center;padding:clamp(80px,11vh,136px) 0 clamp(80px,10vh,128px);display:grid;position:relative;overflow:hidden}.hero-background{opacity:.96;will-change:transform;background-image:linear-gradient(#ffffff94 0%,#ffffffd1 54%,#fffffffa 100%),url(/images/fac-hero-architecture-bg.webp);background-position:bottom;background-size:cover;animation:18s ease-in-out infinite alternate heroDrift;position:absolute;inset:0;transform:scale(1.03)}.hero-noise{pointer-events:none;background:radial-gradient(circle at 50% 44%,#ffffff6b,#0000 28%),linear-gradient(90deg,#ffffff6b,#0000 18% 82%,#ffffff6b);position:absolute;inset:0}.hero-inner{z-index:2;text-align:center;justify-items:center;display:grid;position:relative}.eyebrow,.section-kicker{letter-spacing:.12em;text-transform:uppercase;color:#1d1d1f75;margin:0 0 16px;font-size:12px;font-weight:660}.section-kicker.inverse{color:#ffffff7a}.hero h1{letter-spacing:-.072em;text-wrap:balance;max-width:980px;margin:0;font-size:clamp(42px,6.1vw,82px);font-weight:680;line-height:.98}.hero-copy{color:#1d1d1fa8;letter-spacing:-.015em;text-wrap:balance;max-width:640px;margin:26px auto 0;font-size:clamp(16px,1.55vw,20px);line-height:1.58}.hero-actions{justify-content:center;align-items:center;gap:22px;margin-top:34px;display:flex}.primary-button{color:#fff;letter-spacing:-.01em;background:#000;border:1px solid #000000e6;border-radius:999px;justify-content:center;align-items:center;min-height:46px;padding:0 24px;font-size:14px;font-weight:600;transition:transform .25s,box-shadow .25s,background .25s;display:inline-flex;box-shadow:0 18px 38px #00000024}.primary-button:hover{background:#141414;transform:translateY(-2px);box-shadow:0 22px 48px #0000002e}.text-link{color:#1d1d1fb3;align-items:center;gap:10px;font-size:14px;font-weight:600;transition:color .25s,transform .25s;display:inline-flex}.text-link:hover{color:var(--ink);transform:translateY(-1px)}.sticky-manifesto{background:linear-gradient(180deg, #fff 0%, var(--paper) 42%, #fff 100%);height:300vh;position:relative}.manifesto-stage{place-items:center;height:100svh;min-height:680px;display:grid;position:relative;overflow:hidden}.manifesto-visual{opacity:.95;place-items:center;display:grid;position:absolute;inset:0}.manifesto-grid{transform-origin:50%;will-change:transform, opacity;width:min(1180px,105vw);height:auto;overflow:visible}.thin-grid path{fill:none;stroke:#0000000e;stroke-width:1px}.draw-lines path{fill:none;stroke:#00000057;stroke-width:1.4px;vector-effect:non-scaling-stroke}.manifesto-nodes circle{fill:#000}.manifesto-copy{z-index:2;text-align:center;justify-items:center;width:min(940px,100% - 56px);margin:0 auto;display:grid;position:relative}.manifesto-copy .section-kicker{margin-bottom:22px}.manifesto-step{letter-spacing:-.07em;text-wrap:balance;will-change:transform, opacity;grid-area:1/1;max-width:940px;margin:0;font-size:clamp(42px,6vw,86px);font-weight:680;line-height:.98}.manifesto-copy p:not(.section-kicker){color:#1d1d1f9e;letter-spacing:-.015em;text-wrap:balance;max-width:690px;margin:clamp(170px,19vh,220px) auto 0;font-size:clamp(16px,1.45vw,19px);line-height:1.72}.approach,.services,.product-types{padding:clamp(96px,12vw,170px) 0}.section-heading{max-width:720px;margin-bottom:clamp(48px,8vw,90px)}.section-heading.wide{max-width:880px}.section-heading h2,.technology-heading h2,.depth-copy h2,.sticky-title h2,.closing h2{letter-spacing:-.058em;text-wrap:balance;margin:0;font-size:clamp(34px,4.6vw,64px);font-weight:660;line-height:1.02}.approach-list,.service-list,.product-list{border-top:1px solid var(--line-strong)}.approach-row,.service-row,.product-row{border-bottom:1px solid var(--line);grid-template-columns:94px minmax(220px,.82fr) minmax(260px,1fr);align-items:baseline;gap:clamp(24px,5vw,84px);padding:clamp(26px,4vw,48px) 0;transition:background .25s,padding-inline .25s;display:grid;position:relative}.approach-row:hover,.service-row:hover,.product-row:hover{background:linear-gradient(90deg,#00000009,#0000 55%);padding-inline:18px}.approach-no,.service-row span,.product-row span{letter-spacing:.11em;color:#1d1d1f61;font-size:12px;font-weight:700}.approach-row h3,.service-row h3,.product-row h3{letter-spacing:-.048em;margin:0;font-size:clamp(24px,3vw,42px);font-weight:640;line-height:1.05}.approach-row p,.service-row p{color:#1d1d1f94;letter-spacing:-.015em;margin:0;font-size:clamp(15px,1.55vw,18px);line-height:1.56}.depth{color:#fff;background:radial-gradient(circle at 80% 22%,#ffffff21,#0000 18rem),linear-gradient(#090909,#000 58%,#0d0d0f);padding:clamp(100px,14vw,190px) 0;position:relative;overflow:hidden}.depth:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:82px 82px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 68% 45%,#000,#0000 58%);mask-image:radial-gradient(circle at 68% 45%,#000,#0000 58%)}.depth-grid{z-index:2;grid-template-columns:minmax(270px,.72fr) minmax(420px,1.25fr);align-items:center;gap:clamp(44px,7vw,90px);display:grid;position:relative}.depth-copy p:not(.section-kicker){color:#ffffff9e;letter-spacing:-.015em;max-width:470px;margin:24px 0 0;font-size:17px;line-height:1.7}.architecture-map{transform-origin:50%;will-change:transform;background:radial-gradient(circle at 50% 42%,#ffffff17,#0000 20rem),#ffffff09;border:1px solid #ffffff1c;border-radius:34px;min-height:520px;position:relative;overflow:hidden}.architecture-map svg{width:100%;height:100%;position:absolute;inset:0}.map-grid path{fill:none;stroke:#ffffff0b;stroke-width:1px}.diagram-path{fill:none;stroke:#ffffff94;stroke-width:1.5px;vector-effect:non-scaling-stroke}.subtle-path{stroke:#ffffff47}.diagram-node{fill:#fff;filter:drop-shadow(0 0 10px #ffffff38)}.layer-labels{pointer-events:none;align-content:space-between;display:grid;position:absolute;inset:34px}.layer-label{color:#ffffffeb;border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;gap:20px;width:min(300px,58%);padding:12px 0;display:flex}.layer-label:nth-child(2n){margin-left:auto}.layer-label span{color:#ffffff61;letter-spacing:.12em;font-size:11px}.layer-label strong{letter-spacing:-.035em;font-size:clamp(17px,2vw,25px);font-weight:590}.technology{background:#fff;padding:clamp(100px,12vw,170px) 0;overflow:hidden}.technology-heading{margin-bottom:clamp(42px,6vw,72px)}.marquee{white-space:nowrap;border-block:1px solid var(--line);background:#f5f5f7b8;width:100%;overflow:hidden}.marquee-track{will-change:transform;align-items:center;gap:clamp(28px,4vw,64px);padding:clamp(28px,5vw,54px) 0;display:inline-flex}.marquee-track span{color:#1d1d1fd6;letter-spacing:-.072em;font-size:clamp(34px,6vw,82px);font-weight:650;line-height:1}.marquee-track span:nth-child(3n){color:#1d1d1f4d}.product-types{grid-template-columns:minmax(250px,.72fr) minmax(420px,1fr);align-items:start;gap:clamp(44px,8vw,108px);display:grid}.sticky-title{top:calc(var(--header-h) + 58px);position:sticky}.product-row{grid-template-columns:88px 1fr}.closing{text-align:center;border-top:1px solid var(--line);place-items:center;min-height:72svh;padding-block:clamp(110px,14vw,190px);display:grid;position:relative;overflow:hidden}.closing h2{max-width:820px}.closing p:not(.section-kicker){color:#1d1d1f99;letter-spacing:-.016em;text-wrap:balance;max-width:650px;margin:24px auto 34px;font-size:clamp(16px,1.6vw,20px);line-height:1.62}.closing-orbit{z-index:-1;opacity:.58;background:radial-gradient(circle,#0000000f,#0000 19rem),repeating-radial-gradient(circle,#0000000f 0 1px,#0000 1px 34px);border-radius:50%;position:absolute;inset:8% 4%;-webkit-mask-image:radial-gradient(circle,#000,#0000 70%);mask-image:radial-gradient(circle,#000,#0000 70%)}.site-footer{padding:42px max(28px, calc((100vw - var(--max)) / 2));color:#fff;background:#050505;grid-template-columns:1.2fr .8fr 1fr;gap:36px;display:grid}.site-footer strong{letter-spacing:-.02em;font-size:15px}.site-footer p,.site-footer a,.site-footer span,.site-footer small{color:#ffffff8f;font-size:13px;line-height:1.7}.site-footer nav,.site-footer address{gap:8px;font-style:normal;display:grid}.site-footer a{transition:color .24s}.site-footer a:hover{color:#fff}.site-footer small{border-top:1px solid #ffffff1a;grid-column:1/-1;padding-top:24px}@keyframes heroDrift{0%{transform:scale(1.03)translate(0,0)}to{transform:scale(1.06)translateY(-14px)}}@media (max-width:900px){.section-shell{width:min(100% - 36px, var(--max))}.site-header nav{gap:16px}.hero{min-height:82svh}.approach-row,.service-row{grid-template-columns:64px 1fr;gap:18px}.approach-row p,.service-row p{grid-column:2}.depth-grid,.product-types{grid-template-columns:1fr}.sticky-title{position:relative;top:auto}.architecture-map{min-height:430px}.site-footer{grid-template-columns:1fr}}@media (max-width:767px){:root{--header-h:62px}.site-header{width:min(100% - 26px,1280px)}.site-header nav a:not(:last-child){display:none}.hero{min-height:76svh;padding-top:84px}.hero-background{opacity:.72;background-position:bottom;background-size:auto 100%}.hero h1{font-size:clamp(38px,11vw,58px);line-height:1.02}.hero-actions{flex-direction:column;gap:14px}.sticky-manifesto{height:auto;padding:96px 0}.manifesto-stage{height:auto;min-height:0;padding:64px 0}.manifesto-visual{opacity:.28}.manifesto-copy{gap:22px}.manifesto-step{grid-area:auto;font-size:clamp(36px,10vw,54px);position:relative}.manifesto-copy p:not(.section-kicker){margin-top:4px}.approach,.services,.product-types,.technology{padding:84px 0}.section-heading h2,.technology-heading h2,.depth-copy h2,.sticky-title h2,.closing h2{font-size:clamp(32px,9vw,48px);line-height:1.05}.approach-row,.service-row,.product-row{grid-template-columns:1fr;gap:12px;padding:26px 0}.approach-row p,.service-row p{grid-column:auto}.architecture-map{border-radius:26px;min-height:390px}.layer-labels{inset:24px}.layer-label{width:78%}.marquee-track span{font-size:clamp(42px,13vw,68px)}.closing{min-height:64svh}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.manifesto-step,.service-row,.diagram-path,.diagram-node,.layer-label,.closing>*{opacity:1!important;visibility:visible!important;transform:none!important}}
