:root{--paper: #f3f3f1;--paper-soft: #e9e9e6;--ink: #0a0a0a;--ink-soft: rgba(10, 10, 10, .62);--white: #fbfbfa;--line: rgba(10, 10, 10, .1);--dark: #080808;--radius: 8px;--page-pad: clamp(16px, 3vw, 42px);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-out-quint: cubic-bezier(.22, 1, .36, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--intro-radius: 48px;--intro-page-offset: min(22vh, 220px);font-family:Atkinson,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--paper);font-synthesis-weight:none;text-rendering:optimizeLegibility}@font-face{font-family:Atkinson;src:url(/fonts/atkinson-regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Atkinson;src:url(/fonts/atkinson-bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable;background:var(--paper)}body{min-height:100vh;margin:0;overflow-wrap:break-word;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.35}body.has-open-menu{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}img,video{display:block;max-width:100%}img{height:auto;border-radius:var(--radius)}strong,b{font-weight:700}table{width:100%}textarea{width:100%;resize:vertical}code{padding:2px 5px;background:var(--paper-soft);border-radius:2px}pre{padding:1.5em;overflow-x:auto;border-radius:var(--radius)}pre>code{all:unset}blockquote{margin:0;padding-left:20px;border-left:4px solid var(--ink);font-size:1.25rem}hr{border:0;border-top:1px solid var(--line)}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.home-page.is-loading{overflow:hidden}.home-page.is-loading .site-header,.home-page.is-loading main,.home-page.is-loading .footer{transform:translate3d(0,var(--intro-page-offset),0)}.home-page.is-loaded .site-header,.home-page.is-loaded main,.home-page.is-loaded .footer{animation:page-enter 1.04s var(--ease-out-expo) .12s backwards}.home-page main,body.blog-page main{width:100%;max-width:none;margin:0;padding:0}.intro-loader{position:fixed;inset:0 0 calc(-1 * var(--intro-radius));z-index:100;display:grid;place-items:center;overflow:hidden;color:var(--white);background:#050505;border-radius:0 0 var(--intro-radius) var(--intro-radius);box-shadow:0 28px 80px #00000052;pointer-events:none;contain:paint}.intro-loader:before,.intro-loader:after{position:absolute;inset:0;content:""}.intro-loader:before{background:radial-gradient(ellipse at 32% 50%,rgba(255,255,255,.16),transparent 18%),radial-gradient(ellipse at 68% 44%,rgba(255,255,255,.12),transparent 14%),#050505;filter:blur(22px);animation:loader-smoke 2.6s var(--ease-out-quint) both}.intro-loader:after{background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:4px 4px;opacity:.4}.intro-loader span{position:relative;z-index:1;font-size:8rem;font-weight:700;letter-spacing:0;animation:loader-word 1s var(--ease-out-expo) both}.home-page.is-loaded .intro-loader{animation:loader-exit 2.6s var(--ease-out-expo) .11s forwards}.home-page.is-loaded .intro-loader span{animation:loader-word-exit .52s var(--ease-out-quint) forwards}.site-header{position:sticky;top:0;z-index:80;height:60px;padding:0 var(--page-pad);background:#f3f3f1e0;backdrop-filter:blur(18px);isolation:isolate}.site-header-top{position:relative;z-index:3;display:grid;grid-template-columns:1fr minmax(360px,1.15fr) 1fr;align-items:center;gap:24px;height:100%}.brand,.desktop-nav a,.menu-link{font-size:.95rem;font-weight:700;letter-spacing:0}.desktop-nav{display:flex;align-items:center;justify-content:space-between;gap:30px}.desktop-nav a{position:relative;padding:10px 0}.desktop-nav a:after{position:absolute;right:0;bottom:4px;left:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .22s ease;content:""}.desktop-nav a:hover:after{transform:scaleX(1)}.desktop-nav sup{position:relative;top:-.45em;margin-left:3px;font-size:.6rem}.site-menu{position:relative;z-index:2;justify-self:end}.menu-link{appearance:none;display:grid;gap:9px;width:58px;padding:10px 0;color:var(--ink);background:transparent;border:0}.menu-link span{display:block;height:2px;background:var(--ink);transform-origin:center;transition:transform .26s var(--ease-out-quart),opacity .26s var(--ease-out-quart)}.site-header.is-menu-open .menu-link span:first-child{transform:translate3d(0,5.5px,0) rotate(45deg)}.site-header.is-menu-open .menu-link span:last-child{transform:translate3d(0,-5.5px,0) rotate(-45deg)}.menu-panel{position:fixed;top:0;right:0;left:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:96px;height:min(742px,100svh);padding:130px 36px 36px;overflow-y:auto;color:var(--ink);background:#f5f5f5;opacity:0;pointer-events:none;transform:translate3d(0,-28px,0);visibility:hidden;transition:opacity .32s var(--ease-out-quart),transform .52s var(--ease-out-expo),visibility 0ms linear .36s}.site-header.is-menu-open .menu-panel{opacity:1;pointer-events:auto;transform:translateZ(0);visibility:visible;transition-delay:80ms,80ms,0ms}.menu-panel-nav{display:flex;flex-direction:column;align-items:center;width:100%}.menu-panel-nav a{position:relative;display:grid;place-items:center;width:fit-content;height:72px;overflow:hidden;font-size:3.75rem;font-weight:700;line-height:1.2;text-align:center}.menu-panel-nav a span{grid-area:1 / 1;transition:transform .42s var(--ease-out-expo)}.menu-panel-nav a span:last-child{transform:translate3d(0,100%,0)}.menu-panel-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:36px;width:100%}.menu-panel-contact{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.menu-panel-contact>a:first-child,.menu-panel-legal a,.menu-panel-copy{font-size:.9rem;font-weight:700;line-height:1.4}.menu-panel-email{display:inline-flex;align-items:center;gap:14px;width:fit-content;font-size:2rem;font-weight:700;line-height:1.1}.menu-panel-email i{position:relative;display:grid;place-items:center;width:32px;height:32px;background:var(--ink);border-radius:999px}.menu-panel-email i:before,.menu-panel-email i:after{position:absolute;width:12px;height:2px;background:var(--white);content:""}.menu-panel-email i:after{transform:rotate(90deg)}.menu-panel-email span{border-bottom:2px solid currentColor}.menu-panel-legal{display:flex;align-items:center;justify-content:center;gap:42px;justify-self:center;width:fit-content}.menu-panel-copy{justify-self:end;margin:0;color:var(--ink-soft);text-align:right}.menu-link:focus-visible,.menu-panel-nav a:focus-visible,.menu-panel-contact a:focus-visible,.menu-panel-legal a:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.hero{position:relative;display:grid;--hero-media-y: 0px;--hero-title-y: 0px;--hero-copy-y: 0px;--hero-radius: clamp(28px, 4vw, 58px);min-height:calc(100svh - 66px);margin:0 6px;padding:86px 54px 34px;overflow:hidden;isolation:isolate;color:var(--white);background:#111;border-radius:var(--hero-radius);clip-path:inset(0 round var(--hero-radius));contain:paint}.hero:after,.services-panel:after,.pricing:after{position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:3px 3px;mix-blend-mode:screen;opacity:.44;content:""}.hero-media,.hero-media:before,.hero-media:after{position:absolute;inset:0;z-index:-2}.hero-media{background:url(/fabrica-media/hero-poster.jpg),linear-gradient(120deg,#343431eb,#0a0a0afc 46%,#050505);background-position:center;background-size:cover;filter:grayscale(1) contrast(1.28) brightness(.82);transform:translate3d(0,var(--hero-media-y),0) scale(1.04);border-radius:inherit;overflow:hidden;clip-path:inset(0 round var(--hero-radius));will-change:transform}.hero-media:before{background:radial-gradient(ellipse at 18% 3%,rgba(255,255,255,.25),transparent 34%),radial-gradient(ellipse at 76% 10%,rgba(255,255,255,.14),transparent 30%),linear-gradient(to bottom,#00000014,#00000061 46%,#000000e6),linear-gradient(90deg,rgba(0,0,0,.52),transparent 34%,rgba(0,0,0,.35));content:""}.hero-media:after{z-index:-1;background-image:url(/fabrica-media/grain.png);background-size:220px 220px;mix-blend-mode:screen;opacity:.18;content:""}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92;border-radius:var(--hero-radius);clip-path:inset(0 round var(--hero-radius))}.hero-fog{position:absolute;border-radius:999px;background:#ffffff7a;filter:blur(58px);opacity:.26;mix-blend-mode:screen}.hero-fog-a{top:-8%;left:-4%;width:42vw;height:20vw;transform:rotate(-14deg);animation:fog-float-a 28s ease-in-out infinite alternate}.hero-fog-b{top:2%;right:24%;width:34vw;height:16vw;transform:rotate(18deg);animation:fog-float-b 32s ease-in-out infinite alternate}.hero-fog-c{top:32%;right:-5%;width:30vw;height:14vw;opacity:.3;animation:fog-float-c 26s ease-in-out infinite alternate}.hero-topline{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);align-items:center;gap:32px}.hero h1{max-width:980px;margin:0;font-size:10rem;font-weight:700;line-height:.78;letter-spacing:0;white-space:nowrap;transform:translate3d(0,var(--hero-title-y),0);will-change:transform}.hero-topline ul{display:grid;gap:14px;margin:0;padding:0;list-style:none;font-size:1.25rem;font-weight:700;line-height:1.08;transform:translate3d(0,calc(var(--hero-title-y) * .42),0);will-change:transform}.hero-subtitle{margin:-.12em 0 0 43%;font-size:4.5rem;font-weight:700;line-height:.86;transform:translate3d(0,calc(var(--hero-title-y) * .72),0);will-change:transform}.hero-cross{position:absolute;color:#ffffffc2;font-size:1.9rem;font-weight:300;line-height:1}.cross-one{left:3%;top:55%}.cross-two{left:27%;top:55%}.cross-three{left:51%;top:55%}.cross-four{left:75%;top:55%}.hero-bottom{display:grid;grid-template-columns:minmax(260px,560px) 1fr;align-items:end;gap:32px;align-self:end;margin-top:min(28vh,260px);transform:translate3d(0,var(--hero-copy-y),0);will-change:transform}.hero-bottom>p{max-width:560px;margin:0;font-size:1.55rem;font-weight:400;line-height:1.06}.hero-bottom>p:first-line{font-weight:700}.hero-bottom>span{justify-self:end;margin-bottom:8px;color:#ffffffbd;font-size:.8rem;font-weight:700}.button,.footer button{display:inline-flex;align-items:center;justify-content:center;gap:14px;width:fit-content;min-height:36px;margin-top:22px;padding:0 18px;color:var(--white);background:var(--ink);border:0;border-radius:999px;font-size:.8rem;font-weight:700;line-height:1;transition:transform .22s var(--ease-out-quart),background-color .22s var(--ease-out-quart),color .22s var(--ease-out-quart)}.button:after,.footer button i{display:block;width:8px;height:8px;background:currentColor;border-radius:999px;content:""}.light-button{color:var(--ink);background:var(--white)}.section-space{padding:170px var(--page-pad)}.section-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-size:.75rem;font-weight:700}.section-kicker span{width:11px;height:11px;background:var(--ink);border-radius:50%;box-shadow:inset 0 0 0 3px var(--paper)}.section-kicker.light{color:var(--white)}.section-kicker.light span{background:var(--white);box-shadow:inset 0 0 0 3px var(--ink)}.project-intro{display:grid;min-height:auto;padding-top:150px;padding-bottom:90px}.projects-heading{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:44px}.projects-heading>span{align-self:start;color:var(--ink-soft);font-size:1.2rem;font-weight:700}.projects-heading div{display:grid;gap:26px}.projects-heading h2,.services-panel h2,.faq h2,.pricing-heading h2{margin:0;font-size:7.5rem;font-weight:700;line-height:.9;letter-spacing:0}.projects-heading strong{font-size:2.75rem;line-height:.9}.projects-heading p{justify-self:end;max-width:330px;margin:0;color:var(--ink-soft);font-size:1.2rem;font-weight:700;line-height:1.12}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 var(--page-pad) 190px}.project-card{display:grid;gap:6px}.project-titlebar{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:18px;min-height:58px;padding:0 24px;background:var(--white);border-radius:var(--radius)}.project-titlebar strong{font-size:1.3rem;line-height:1}.project-titlebar small{color:var(--ink-soft);font-size:.85rem;font-weight:700}.project-titlebar i{justify-self:end;display:inline-grid;grid-template-columns:repeat(3,7px);gap:5px}.project-titlebar i,.project-titlebar i:before,.project-titlebar i:after{display:block;width:7px;height:7px;background:#e2e2df;border-radius:50%;content:""}.project-titlebar i:before{transform:translate(-12px)}.project-titlebar i:after{transform:translate(12px)}.project-visual{position:relative;display:grid;place-items:center;min-height:520px;overflow:hidden;background:#d8d8d4;border-radius:var(--radius);isolation:isolate}.project-visual:before{position:absolute;inset:-1%;z-index:-2;background-image:var(--project-image);background-position:center;background-size:cover;filter:saturate(1.04) contrast(1.03);content:"";transition:transform .52s var(--ease-out-expo),filter .52s var(--ease-out-expo)}.project-visual:after{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(to bottom,#00000008,#00000029),linear-gradient(rgba(0,0,0,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.055) 1px,transparent 1px);background-size:auto,4px 4px,4px 4px;content:""}.project-logo{position:relative;z-index:1;display:inline-flex;align-items:center;gap:12px;color:var(--white);font-size:2.2rem;font-weight:700;line-height:.95;text-align:center}.project-logo b{display:inline-block;width:42px;height:42px;background:currentColor;border-radius:50%;box-shadow:inset 0 0 0 15px #0000002e}.project-logo.chain b{width:44px;height:24px;background:transparent;border:6px solid currentColor;border-radius:999px;box-shadow:18px 0 0 -6px #fff}.project-logo.capsule b{width:28px;height:42px;border-radius:var(--radius);box-shadow:inset 0 0 0 8px #0000002e}.project-logo.tiles b{width:34px;height:34px;border-radius:7px;box-shadow:-13px -13px 0 -5px #fff,13px -13px 0 -5px #fff,-13px 13px 0 -5px #fff,13px 13px 0 -5px #fff;transform:rotate(45deg)}.project-logo.link b,.project-logo.watch b{width:46px;height:24px;background:transparent;border:6px solid currentColor;border-radius:999px;box-shadow:none}.services-panel,.pricing{position:relative;display:grid;min-height:760px;margin:0 6px;padding:82px var(--page-pad);overflow:hidden;isolation:isolate;color:var(--white);background:#0b0b0b;border-radius:var(--radius)}.services-panel h2{align-self:center;color:var(--white)}.service-list{align-self:end;display:grid;gap:8px;width:min(780px,100%);margin-left:auto}.service-row{background:#ffffff0d;border-radius:var(--radius);transition:background-color .26s var(--ease-out-quart),transform .26s var(--ease-out-quart)}.service-row summary{display:grid;grid-template-columns:72px 1fr 32px;align-items:center;gap:16px;min-height:78px;padding:0 24px;cursor:pointer;list-style:none}.service-row summary::-webkit-details-marker{display:none}.service-row summary span,.service-row p{color:#ffffffa3}.service-row summary strong{font-size:2.4rem;line-height:1}.service-row summary i{justify-self:end;font-size:1.75rem;font-style:normal;transition:transform .26s var(--ease-out-quart)}.service-row[open] summary i{transform:rotate(45deg)}.service-row p{max-width:560px;max-height:0;margin:0 24px 0 112px;overflow:hidden;opacity:0;font-size:.95rem;font-weight:700;line-height:1.25;transition:max-height .32s var(--ease-out-quint),opacity .26s var(--ease-out-quart),margin .32s var(--ease-out-quint)}.service-row[open]{background:#ffffff17}.service-row[open] p{max-height:120px;margin-bottom:24px;opacity:1}.services-panel>.button{align-self:end}.metrics{display:grid;gap:80px;min-height:780px}.metric-grid{align-self:end;display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.metric-grid div{display:grid;gap:18px}.metric-grid strong{font-size:5rem;line-height:.9}.metric-grid span,.metrics p{color:var(--ink-soft);font-size:.85rem;font-weight:700;line-height:1.15}.metrics p{max-width:240px;margin:0}.pricing{grid-template-columns:minmax(0,.62fr) minmax(0,1fr);gap:54px;align-items:start;min-height:900px;background:linear-gradient(to bottom,#000000bd,#000000db),url(/fabrica-media/pricing-room.jpg) center / cover,#0b0b0b}.pricing-heading{align-self:end;display:grid;gap:28px;max-width:570px}.pricing-heading h2{color:var(--white)}.pricing-heading p{max-width:330px;margin:0;color:#ffffffad;font-weight:700;line-height:1.16}.pricing-grid{display:grid;gap:8px}.pricing-card{display:grid;grid-template-columns:minmax(108px,.44fr) minmax(0,1fr) auto;align-items:center;gap:24px;min-height:236px;padding:18px 22px 18px 18px;background:var(--white);color:var(--ink);border-radius:var(--radius)}.pricing-card-media{align-self:stretch;min-height:188px;background:linear-gradient(135deg,rgba(255,255,255,.28),transparent 42%),var(--pricing-image) center / cover;border-radius:var(--radius);filter:grayscale(1) contrast(1.05)}.pricing-card span{color:var(--ink-soft);font-weight:700}.pricing-card h3{margin:64px 0 14px;font-size:3.25rem;line-height:.92}.pricing-card p{max-width:380px;margin:0;color:var(--ink-soft);font-weight:700;line-height:1.18}.pricing-card ul{display:grid;gap:8px;margin:0;padding:0;list-style:none;color:var(--ink-soft);font-size:.8rem;font-weight:700}.pricing-card li:before{margin-right:8px;content:"+"}.pricing-card .button{grid-column:3;justify-self:end;align-self:end}.price{display:flex;align-items:end;gap:10px}.price small{color:var(--ink-soft);font-weight:700}.price strong{font-size:5rem;line-height:.86}.faq{display:grid;grid-template-columns:1fr minmax(0,2fr);gap:42px}.faq h2,.faq-list{grid-column:2}.faq-list{display:grid;border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:88px;cursor:pointer;list-style:none;font-size:2rem;font-weight:700;line-height:1}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:1.75rem;transition:transform .26s var(--ease-out-quart)}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list p{max-width:680px;margin:-8px 0 30px;color:var(--ink-soft);font-size:.95rem;font-weight:700;line-height:1.25}.blog-main,.post-main{padding-bottom:120px}.blog-hero{display:grid;gap:110px;min-height:760px;padding:230px var(--page-pad) 110px}.blog-hero h1{margin:0;font-size:8rem;font-weight:700;line-height:.86;letter-spacing:0}.blog-hero-bottom{display:grid;grid-template-columns:minmax(160px,1fr) minmax(430px,.94fr) minmax(220px,.36fr);align-items:start;gap:72px}.blog-hero-lead,.blog-hero-note{margin:0;font-weight:700}.blog-hero-lead{max-width:660px;font-size:2.35rem;line-height:1.06;text-align:center}.blog-hero-lead span,.blog-hero-note{color:var(--ink-soft)}.blog-hero-note{max-width:250px;font-size:1rem;line-height:1.38}.blog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:0 var(--page-pad)}.blog-card{position:relative;display:flex;min-height:520px;padding:10px 30px 30px;overflow:hidden;background:var(--white);border-radius:var(--radius);transition:transform .32s var(--ease-out-quart),filter .32s var(--ease-out-quart)}.blog-card-media{display:block;width:110px;height:110px;overflow:hidden;background:var(--paper-soft);border-radius:var(--radius)}.blog-card-media img{width:100%;height:100%;object-fit:cover;border-radius:0;filter:grayscale(.12) contrast(1.04)}.blog-card-plus{position:absolute;top:20px;right:20px;z-index:2;display:grid;place-items:center;width:18px;height:18px;color:var(--white);background:var(--ink);border-radius:999px;font-size:1.1rem;font-weight:700;line-height:1}.blog-card-body{position:relative;z-index:1;display:block;width:100%;margin-top:auto}.blog-card-date{display:block;margin-bottom:26px;color:var(--ink-soft);font-size:.8rem;font-weight:700;line-height:1}.blog-card h2,.post-header h1{margin:0;color:var(--ink);font-weight:700;letter-spacing:0}.blog-card h2{max-width:300px;font-size:1.5rem;line-height:1.04}.blog-card p{max-width:300px;margin:16px 0 0;color:var(--ink-soft);font-size:1rem;font-weight:700;line-height:1.32}.blog-card.is-featured{grid-column:span 2;padding:0;color:var(--white);background:#111}.blog-card.is-featured:after{position:absolute;inset:0;z-index:0;background:linear-gradient(to bottom,#00000005,#000000ad),linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:auto,3px 3px,3px 3px;content:""}.blog-card.is-featured .blog-card-media{position:absolute;inset:0;width:auto;height:auto;border-radius:0}.blog-card.is-featured .blog-card-media img{filter:grayscale(1) contrast(1.08) brightness(.9)}.blog-card.is-featured .blog-card-plus{display:none}.blog-card.is-featured .blog-card-body{padding:0 42px 42px}.blog-card.is-featured .blog-card-date,.blog-card.is-featured p{color:#ffffffb8}.blog-card.is-featured h2{max-width:560px;color:var(--white);font-size:2.5rem;line-height:.98}.post-article{display:grid;grid-template-columns:minmax(360px,42vw) minmax(0,1fr);gap:96px;padding:0 6px}.post-media{position:sticky;top:60px;height:calc(100svh - 66px);min-height:740px;overflow:hidden;background:#d9d9d6;border-radius:var(--radius)}.post-media img{width:100%;height:100%;object-fit:cover;border-radius:0;filter:grayscale(1) contrast(1.06)}.post-content{width:min(684px,100%);padding:min(48vh,520px) 0 0}.post-date{display:grid;gap:8px;margin-bottom:34px;color:var(--ink-soft);font-size:.9rem;font-weight:700}.post-date small{font-size:.8rem}.post-header h1{max-width:690px;font-size:4rem;line-height:1.02}.post-header>p{max-width:430px;margin:28px 0 0;color:var(--ink-soft);font-size:1.1rem;font-weight:700;line-height:1.28}.post-author{display:flex;align-items:center;gap:14px;margin-top:56px}.post-author img{width:46px;height:46px;object-fit:cover;border-radius:999px;filter:grayscale(1)}.post-author span{display:grid;gap:4px}.post-author strong{font-size:.95rem;line-height:1}.post-author small{color:var(--ink-soft);font-size:.8rem;font-weight:700}.post-rule{height:1px;margin:90px 0 72px;background:var(--line)}.post-prose{width:100%;max-width:none;margin:0;padding:0 0 110px;color:var(--ink-soft);font-size:1.1rem;font-weight:700;line-height:1.35}.post-prose>:first-child{margin-top:0;color:var(--ink);font-size:2.1rem;font-weight:700;line-height:1.12}.post-prose p{margin:0 0 26px}.post-prose h2,.post-prose h3{margin:42px 0 20px;color:var(--ink);line-height:1.06}.post-prose h2{font-size:2rem}.post-prose h3{font-size:1.45rem}.post-prose ul,.post-prose ol{margin:0 0 34px;padding-left:22px}.post-prose li{margin:4px 0}.post-prose a{color:var(--ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.about-main{padding-bottom:120px}.about-hero{display:grid;gap:34px;padding:180px var(--page-pad) 100px}.about-hero h1{max-width:980px;margin:0;font-size:5.5rem;font-weight:700;line-height:.95}.about-hero p{max-width:560px;margin:0;color:var(--ink-soft);font-size:1.25rem;font-weight:700;line-height:1.25}.about-grid{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1fr);gap:12px;padding:0 var(--page-pad)}.about-media{min-height:620px;background:linear-gradient(135deg,rgba(255,255,255,.22),transparent 42%),url(/fabrica-media/about-tall.jpg) center / cover;border-radius:var(--radius);filter:grayscale(1) contrast(1.04)}.about-copy{display:grid;align-content:end;gap:40px;padding:42px;background:var(--white);border-radius:var(--radius)}.about-copy h2{max-width:520px;margin:0;font-size:4.5rem;line-height:.95}.about-copy ul{display:grid;gap:14px;margin:0;padding:0;list-style:none;color:var(--ink-soft);font-size:1.4rem;font-weight:700}.about-copy li:before{margin-right:10px;content:"+"}.about-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:12px var(--page-pad) 0}.about-metrics div{display:grid;gap:16px;min-height:220px;padding:24px;align-content:end;background:var(--white);border-radius:var(--radius)}.about-metrics strong{font-size:4rem;line-height:.9}.about-metrics span{color:var(--ink-soft);font-size:.9rem;font-weight:700;line-height:1.15}.legal-content{padding:0 var(--page-pad) 120px}.legal-content article{max-width:920px;padding:42px;background:var(--white)}.legal-updated{margin:0 0 48px;color:var(--ink-soft);font-size:.9rem;font-weight:700}.legal-content h2{margin:42px 0 16px;font-size:2.25rem;line-height:1}.legal-content h2:first-of-type{margin-top:0}.legal-content p,.legal-content li{color:var(--ink-soft);font-size:1.08rem;font-weight:700;line-height:1.42}.legal-content p{margin:0 0 22px}.legal-content ul{display:grid;gap:10px;margin:0 0 28px;padding-left:22px}.legal-content a{color:var(--ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.footer{display:grid;gap:120px;padding:96px var(--page-pad) 18px;background:#f5f5f3}.footer-contact-shell{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(320px,.45fr);align-items:end;gap:120px;min-height:520px}.footer-contact-lead{display:grid;align-content:end;gap:22px}.footer-plus{display:grid;place-items:center;width:20px;height:20px;color:var(--white);background:var(--ink);border-radius:999px;font-size:1.2rem;font-weight:700;line-height:1}.footer .footer-contact-lead h2{max-width:730px;margin:0;font-size:5.75rem;font-weight:700;line-height:.9}.footer-contact-lead p{max-width:430px;margin:0;color:var(--ink-soft);font-size:1.05rem;font-weight:700;line-height:1.28}.footer-email{width:fit-content;color:var(--ink);font-size:2.4rem;font-weight:700;line-height:1;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:5px}.footer-newsletter{display:grid;gap:18px;align-content:end}.footer .footer-newsletter strong{margin-bottom:18px;font-size:3.25rem;line-height:.92}.footer label{display:grid;gap:8px}.footer label span{color:var(--ink-soft);font-size:.8rem;font-weight:700}.footer input,.footer textarea{width:100%;padding:12px 0;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;outline:0}.footer input:focus,.footer textarea:focus{border-bottom-color:var(--ink)}.footer form p,.footer output{max-width:360px;margin:0;color:var(--ink-soft);font-size:.8rem;font-weight:700;line-height:1.2}.footer output{color:var(--ink)}.footer-bottom{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;align-items:start}.footer-bottom div,.footer-bottom nav{display:grid;gap:8px}.footer-bottom span,.footer-bottom strong{color:var(--ink-soft);font-size:.8rem}.footer-bottom a{width:fit-content;font-size:1rem;font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.footer-bottom nav a{text-decoration:none}.footer-marquee{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;min-height:140px;overflow:hidden}.footer-marquee span{font-size:8rem;font-weight:700;line-height:.72;white-space:nowrap}.footer-marquee span:nth-child(2),.footer-marquee span:nth-child(3){font-size:3.5rem}.footer-marquee span:nth-child(2){justify-self:center}.footer-marquee span:nth-child(3){justify-self:end}.reveal{opacity:0;transform:translate3d(0,42px,0);transition:opacity .76s var(--ease-out-expo) var(--reveal-delay, 0ms),transform .76s var(--ease-out-expo) var(--reveal-delay, 0ms);will-change:transform,opacity}.reveal.is-visible{opacity:1;transform:translateZ(0)}@media(hover:hover){.project-card:hover .project-visual:before{transform:scale(1.04) rotate(1deg)}.service-row:hover,.blog-card:hover,.button:hover,.footer button:hover{transform:translate3d(0,-2px,0)}.menu-link:hover span{transform:translate3d(0,-1px,0)}.site-header.is-menu-open .menu-link:hover span:first-child{transform:translate3d(0,5.5px,0) rotate(45deg)}.site-header.is-menu-open .menu-link:hover span:last-child{transform:translate3d(0,-5.5px,0) rotate(-45deg)}.menu-panel-nav a:hover span:first-child{transform:translate3d(0,-100%,0)}.menu-panel-nav a:hover span:last-child{transform:translateZ(0)}}@keyframes loader-word{0%{opacity:0;filter:blur(12px);transform:translate3d(0,18px,0) scale(.96)}56%,to{opacity:1;filter:blur(0);transform:translateZ(0) scale(1)}}@keyframes loader-word-exit{to{opacity:0;filter:blur(10px);transform:translate3d(0,-34px,0) scale(.98)}}@keyframes loader-smoke{0%{opacity:0;transform:scale(1.18) rotate(-2deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes loader-exit{to{transform:translate3d(0,-106%,0);visibility:hidden}}@keyframes page-enter{0%{opacity:.98;transform:translate3d(0,var(--intro-page-offset),0) scale(.992)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes fog-float-a{to{transform:translate3d(42px,20px,0) rotate(-6deg) scale(1.16)}}@keyframes fog-float-b{to{transform:translate3d(-34px,22px,0) rotate(8deg) scale(1.12)}}@keyframes fog-float-c{to{transform:translate3d(-44px,-16px,0) scale(1.24)}}@media(max-width:980px){.site-header-top{grid-template-columns:1fr auto}.desktop-nav{display:none}.menu-panel{height:min(720px,100svh);padding:118px 32px 36px}.menu-panel-nav a{height:60px;font-size:3.2rem}.menu-panel-bottom{grid-template-columns:1fr;justify-items:center;gap:36px;text-align:center}.menu-panel-contact{align-items:center}.menu-panel-copy{justify-self:center;text-align:center}.hero{min-height:760px;padding:54px 20px 34px}.hero-topline{grid-template-columns:1fr;gap:30px}.hero h1{font-size:7rem}.hero-subtitle{margin:-.08em 0 0;font-size:3.6rem}.hero-topline ul{justify-items:end;text-align:right}.hero-cross{display:none}.hero-bottom{grid-template-columns:1fr;gap:22px;margin-top:36px}.hero-bottom>span{justify-self:start;order:3}.projects-heading,.pricing,.faq,.about-grid{grid-template-columns:1fr}.projects-heading p{justify-self:start}.projects-grid{grid-template-columns:1fr}.pricing-card,.pricing-heading,.faq h2,.faq-list{grid-column:auto}.pricing-card{grid-template-columns:minmax(108px,.36fr) minmax(0,1fr)}.pricing-card .button{grid-column:2;justify-self:start}.metric-grid,.about-metrics{grid-template-columns:repeat(2,1fr)}.blog-hero{min-height:auto;padding-top:170px}.blog-hero-bottom,.footer-contact-shell{grid-template-columns:1fr}.blog-hero-lead{text-align:left}.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-card.is-featured{grid-column:1 / -1}.post-article{grid-template-columns:1fr;gap:0}.post-media{position:relative;top:auto;height:640px;min-height:0}.post-content{width:100%;padding:80px 0 0}.footer-contact-shell{min-height:auto}.footer-bottom{grid-template-columns:1fr 1fr}}@media(max-width:640px){body{font-size:15px}.site-header{padding-right:20px;padding-left:20px}.brand{font-size:1.2rem}.menu-link{width:60px}.menu-panel{gap:70px;padding:76px 20px 40px}.menu-panel-nav{gap:4px}.menu-panel-nav a{height:41px;font-size:2.1rem}.menu-panel-email{gap:12px;font-size:1.45rem}.menu-panel-email i{width:28px;height:28px}.menu-panel-legal{flex-direction:column;gap:12px}.hero{min-height:calc(100svh - 66px);margin:0 2px;--hero-radius: 28px;padding:58px 20px 28px;border-radius:var(--hero-radius)}.hero-media{filter:grayscale(1) contrast(1.34) brightness(.58)}.hero h1{font-size:4.2rem;white-space:normal}.hero-subtitle{font-size:2.5rem}.hero-topline ul{justify-items:start;gap:12px;max-width:260px;font-size:1rem;text-align:left}.hero-bottom{gap:12px;overflow:hidden}.hero-bottom>p{max-width:100%;font-size:1.1rem;line-height:1.05}.button,.footer button{gap:10px;min-height:34px;padding:0 14px;font-size:.75rem}.section-space{padding:112px 20px}.project-intro{padding-top:130px}.projects-heading h2,.services-panel h2,.pricing-heading h2,.faq h2{font-size:4.5rem}.projects-heading strong{font-size:2rem}.projects-grid{gap:12px;padding:0 20px 130px}.project-visual{min-height:292px}.project-titlebar{min-height:54px;padding:0 18px}.project-titlebar strong{font-size:1.2rem}.project-logo{font-size:1.55rem}.services-panel,.pricing{min-height:720px;margin:0 2px;padding:42px 18px}.service-row summary{grid-template-columns:54px 1fr 24px;min-height:72px;padding:0 16px}.service-row summary strong{font-size:1.4rem}.service-row p{margin:-2px 16px 20px 70px}.metric-grid,.about-metrics{grid-template-columns:1fr}.metric-grid strong,.about-metrics strong,.price strong{font-size:3.4rem}.pricing-card{grid-template-columns:1fr;padding:28px}.pricing-card h3{margin-top:70px;font-size:2.6rem}.pricing-card .button{grid-column:auto}.pricing-card-media{min-height:220px}.faq-list summary{min-height:78px;font-size:1.45rem}.blog-main,.post-main,.about-main{padding-bottom:96px}.blog-hero{gap:58px;padding:112px 20px 76px}.blog-hero h1{font-size:4.5rem}.blog-hero-bottom{gap:24px}.blog-hero-lead{font-size:1.55rem}.blog-hero-note{max-width:310px;font-size:.95rem}.blog-grid{grid-template-columns:1fr;gap:6px;padding:0 20px}.blog-card{min-height:390px;padding:10px 22px 24px}.blog-card.is-featured{min-height:500px}.blog-card-media{width:96px;height:96px}.blog-card h2{font-size:1.5rem}.blog-card.is-featured h2{font-size:2.1rem}.post-article{padding:0 20px}.post-media{height:480px}.post-content{padding-top:58px}.post-date{margin-bottom:24px}.post-header h1{font-size:2.8rem}.post-header>p,.post-prose{font-size:1rem}.post-author{margin-top:38px}.post-rule{margin:58px 0 48px}.post-prose>:first-child{font-size:1.7rem}.about-hero{padding:112px 20px 76px}.about-hero h1{font-size:3.6rem}.about-hero p{font-size:1.05rem}.about-grid,.about-metrics{padding-right:20px;padding-left:20px}.about-media{min-height:420px}.about-copy{padding:28px}.about-copy h2{font-size:3rem}.about-copy ul{font-size:1.1rem}.legal-content{padding:0 20px 96px}.legal-content article{padding:28px}.legal-content h2{font-size:1.75rem}.legal-content p,.legal-content li{font-size:1rem}.footer-contact-shell{gap:46px}.footer-contact-lead p{font-size:.95rem}.footer .footer-contact-lead h2{font-size:3.4rem}.footer-email{font-size:1.75rem}.footer{gap:110px;padding:70px 20px 18px}.footer .footer-newsletter strong{font-size:2.6rem}.footer-bottom{grid-template-columns:1fr}.footer-marquee{grid-template-columns:1fr;gap:20px}.footer-marquee span,.footer-marquee span:nth-child(2),.footer-marquee span:nth-child(3){justify-self:start;font-size:3.5rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
