@font-face{font-family:Archivo;src:url('/portfolio/fonts/archivo-latin.woff2') format('woff2');font-weight:400 800;font-style:normal;font-display:swap}
/* The journal is intentionally scoped: the business site's design is unchanged. */
.field-journal{--fj-ink:#16231e;--fj-muted:#53615a;--fj-paper:#fafbf8;--fj-blue:#183bcc;--fj-blue-dark:#102b9e;--fj-line:#d8dfd5;--fj-surface:#e9eee6;--fj-ease:cubic-bezier(.16,1,.3,1);background:var(--fj-paper);color:var(--fj-ink);font:400 17px/1.65 Archivo,sans-serif;overflow-x:clip}
.field-journal *{box-sizing:border-box}
.field-journal ::selection{background:var(--fj-blue);color:white}
.field-journal a{color:inherit;text-decoration:none;text-underline-offset:5px}
.field-journal a:hover{text-decoration:underline}
.field-journal :focus-visible{outline:3px solid var(--fj-blue);outline-offset:5px}
.field-journal button,.field-journal input,.field-journal textarea{font:inherit;caret-color:var(--fj-blue)}
.field-journal h1,.field-journal h2,.field-journal h3{font-family:Archivo,sans-serif;font-style:normal;letter-spacing:-.035em;text-wrap:balance;color:inherit}
.field-journal h1{font-size:clamp(3rem,5.6vw,5.8rem);font-weight:600;line-height:1.02;margin:0 0 28px}
.field-journal h2{font-size:clamp(2rem,3.4vw,3.2rem);font-weight:600;line-height:1.1;margin:0 0 24px}
.field-journal h3{font-size:26px;line-height:1.25;font-weight:600;margin:24px 0 12px}
.field-journal p{margin:0 0 24px;max-width:70ch}
.field-journal svg{flex:none;vertical-align:middle}
.fj-header,.fj-section,.fj-footer{width:min(1280px,calc(100% - 96px));margin-inline:auto}
.fj-header{height:104px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px}
.fj-wordmark{justify-self:start;font-size:24px;font-weight:700;letter-spacing:-.035em;line-height:1.1}
.fj-wordmark span{display:block;font-size:12px;line-height:1.5;font-weight:500;letter-spacing:0;margin-top:6px;color:var(--fj-muted)}
.fj-nav{grid-column:2;justify-self:center;display:flex;gap:30px;align-items:center;font-size:14px;font-weight:600}
.fj-nav a{display:flex;align-items:center;min-height:44px;white-space:nowrap}
.fj-nav a:last-child{color:var(--fj-muted)}
.fj-menu{display:none}
.fj-intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center;width:min(1440px,100%);margin:24px auto 0;padding:52px 48px 76px}
.fj-intro-copy{padding-left:max(0px,calc((100vw - 1376px)/2));max-width:610px}
.fj-intro-copy p{font-size:19px;line-height:1.6;color:var(--fj-muted);max-width:42ch;margin-bottom:30px}
.fj-primary{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;background:var(--fj-blue);color:#fff!important;min-height:54px;padding:14px 22px;font-size:15px;font-weight:600;border-radius:3px;transition:background .2s var(--fj-ease)}
.fj-primary:hover{background:var(--fj-blue-dark);text-decoration:none!important}
.fj-inline{display:inline-flex;align-items:center;gap:14px;font-size:14px;font-weight:600;line-height:1.5;min-height:44px}
.fj-inline svg{transition:transform .35s var(--fj-ease)}
.fj-inline:hover svg{transform:translateX(4px)}
.fj-intro-copy>.fj-inline{display:flex;width:fit-content;margin-top:12px}
.fj-intro-artifact{margin:0;background:var(--fj-surface);padding:32px 24px 0;align-self:stretch;display:flex;flex-direction:column;justify-content:center;border-radius:4px}
.fj-intro-artifact>a{display:block}
.fj-intro-artifact img{width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;filter:drop-shadow(0 14px 18px #16231e1c)}
.fj-intro-artifact figcaption{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:26px 0 22px;font-size:14px;line-height:1.5}
.fj-intro-artifact figcaption>span{font-weight:600}
.fj-caption-detail{display:block;font-size:12px;font-weight:400;color:var(--fj-muted)}
.fj-intro-artifact figcaption>a{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;min-height:44px;flex:none}
.fj-section{padding-block:78px}
.fj-section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:40px}
.fj-section-heading h2{margin:0}
.fj-section-heading p{font-size:15px;color:var(--fj-muted);margin:0;max-width:35ch}
.fj-feature{display:grid;grid-template-columns:1.35fr 1fr;gap:52px;align-items:center;margin-bottom:64px}
.fj-project-image{display:block;overflow:hidden;background:var(--fj-surface);border-radius:3px}
.fj-project-image img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;transition:transform .6s var(--fj-ease)}
.fj-project-image:hover img{transform:scale(1.025)}
.fj-dashboard{padding:28px 20px}
.fj-feature-notes h3{font-size:34px;line-height:1.12;margin-top:0}
.fj-feature-notes p{color:var(--fj-muted);font-size:16px}
.fj-facts{margin:28px 0 18px}
.fj-facts>div{display:grid;grid-template-columns:85px 1fr;gap:14px;margin:10px 0;font-size:13px}
.fj-facts dt{color:var(--fj-muted)}
.fj-facts dd{margin:0}
.fj-work-pair{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:start}
.fj-work-pair article:nth-child(2){padding-top:76px}
.fj-work-pair p{font-size:15px;color:var(--fj-muted);max-width:48ch;margin-bottom:8px}
.fj-flow-image{background:#dce7e4;padding:24px}
.fj-website-image{background:#e9e8e2;padding:24px}
.fj-archive-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;border:0;border-bottom:1px solid var(--fj-line);background:transparent;padding:26px 0;margin-top:40px;color:var(--fj-ink);font-size:16px!important;font-weight:600!important;cursor:pointer}
.fj-archive-toggle:hover{color:var(--fj-blue)}
.fj-archive[hidden]{display:none}
.fj-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:30px;border:0;padding:0}
.fj-filters legend{font-size:14px;margin-bottom:14px;font-weight:600}
.fj-filters button{background:transparent;border:1px solid var(--fj-line);padding:9px 16px;border-radius:3px;cursor:pointer;font-size:14px}
.fj-filters button[aria-pressed=true]{background:var(--fj-ink);color:#fff;border-color:var(--fj-ink)}
.fj-filters button:hover{border-color:var(--fj-ink)}
.fj-result-count{font-size:13px;color:var(--fj-muted);margin:20px 0!important;font-variant-numeric:tabular-nums}
.fj-archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px 28px}
.fj-archive-grid h3{font-size:19px;margin:16px 0 8px}
.fj-archive-grid p{font-size:14px;color:var(--fj-muted);margin-bottom:0}
.fj-walkthrough{background:var(--fj-blue);color:#fff;padding:72px max(48px,calc((100vw - 1280px)/2));margin-top:30px}
.fj-walkthrough-top{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-bottom:42px}
.fj-walkthrough-top h2{font-size:clamp(2rem,3.4vw,3.3rem);max-width:14ch;margin:0}
.fj-walkthrough-top p{color:#dce4ff;font-size:16px;max-width:45ch;margin:4px 0 0}
.fj-walkthrough-body{display:grid;grid-template-columns:1.35fr 1fr;gap:64px;align-items:start}
.fj-workflow-visual img{width:100%;height:auto;aspect-ratio:16/11;object-fit:contain;background:#f1f4ee;padding:18px;border-radius:3px}
.fj-workflow-visual>a{margin-top:12px}
.fj-step-list{padding:0;margin:0;list-style:none}
.fj-step-list button{display:flex;align-items:center;gap:16px;width:100%;border:0;border-bottom:1px solid #ffffff40;background:transparent;color:#dce4ff;padding:16px 4px;text-align:left;cursor:pointer;font-size:15px;font-weight:500;min-height:58px}
.fj-step-list button svg{margin-left:auto;opacity:0}
.fj-step-list button:hover{background:#ffffff0a;color:#fff}
.fj-step-list button[aria-pressed=true]{color:#fff;font-weight:700}
.fj-step-list button[aria-pressed=true] svg{opacity:1}
.fj-step-number{font-size:12px;display:inline-flex;justify-content:center;align-items:center;min-width:26px;height:26px;border:1px solid #ffffff60;border-radius:50%;font-variant-numeric:tabular-nums}
.fj-step-list button[aria-pressed=true] .fj-step-number{background:#fff;color:var(--fj-blue);border-color:#fff}
.fj-walkthrough :focus-visible{outline-color:#fff}
.fj-step-notes{min-height:210px;padding-top:12px}
.fj-step-notes h3{font-size:20px;letter-spacing:-.02em;margin:20px 0 12px}
.fj-step-notes p{font-size:15px;line-height:1.7;color:#dce4ff;margin:0;max-width:46ch}
.fj-note-change{animation:fj-note .42s var(--fj-ease) both}
@keyframes fj-note{from{filter:blur(3px);transform:translateY(6px)}to{filter:blur(0);transform:translateY(0)}}
.fj-walkthrough-foot{font-size:12px;color:#dce4ff;margin:36px 0 0!important;max-width:none!important}
.fj-capabilities{display:grid;grid-template-columns:.75fr 1.4fr;gap:80px;padding-top:100px}
.fj-capabilities h2{max-width:12ch}
.fj-capability{display:grid;grid-template-columns:1fr auto;gap:0 30px;padding:0 0 28px;margin-bottom:28px;border-bottom:1px solid var(--fj-line)}
.fj-capability h3{grid-column:1/-1;font-size:21px;margin:0 0 10px;letter-spacing:-.02em}
.fj-capability p{font-size:15px;color:var(--fj-muted);margin:0;max-width:40ch}
.fj-about{display:grid;grid-template-columns:.65fr 1fr;gap:100px;align-items:center;background:var(--fj-surface);padding:48px 64px;margin-block:20px 32px}
.fj-portrait img{display:block;width:100%;height:380px;object-fit:cover;object-position:50% 32%;border-radius:3px}
.fj-about h2{font-size:36px;max-width:19ch}
.fj-about p{font-size:16px;color:var(--fj-muted)}
.fj-about-links{display:flex;flex-wrap:wrap;gap:8px 24px}
.fj-tools{display:grid;grid-template-columns:.75fr 1.4fr;grid-template-rows:min-content 1fr;align-items:start;gap:0 80px}
.fj-tools h2{margin-bottom:12px}
.fj-tools-intro{grid-column:1;font-size:15px;color:var(--fj-muted);margin-top:0}
.fj-tools dl{grid-column:2;grid-row:1/3;margin:0}
.fj-tools dl>div{margin-bottom:24px}
.fj-tools dt{font-size:14px;font-weight:600;margin-bottom:8px}
.fj-tools dd{font-size:15px;line-height:1.85;color:var(--fj-muted);margin:0}
.fj-tools .fj-tool-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 20px;list-style:none;padding:0;margin:16px 0 36px}
.fj-tool-badge{display:flex;align-items:center;gap:12px;min-height:56px;font-size:13px;line-height:1.45;color:var(--fj-ink);overflow-wrap:anywhere}
.fj-tool-mark{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:#fff;border:1px solid var(--fj-line);border-radius:4px;flex:none;overflow:hidden}
.fj-tool-mark img{display:block;width:28px;height:28px;object-fit:contain}
.fj-tool-initials{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;font-size:11px;font-weight:700;color:var(--fj-ink)}
@media(max-width:1050px){.fj-tools .fj-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px}}
@media(max-width:767px){.fj-tools .fj-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}.fj-tool-badge{font-size:13px}}
.fj-contact{--background:80 27% 97%;--foreground:157 22% 11%;--primary:228 79% 45%;--primary-foreground:0 0% 100%;--secondary:228 79% 45%;--muted:95 19% 92%;--muted-foreground:149 8% 35%;--border:96 13% 85%;--destructive:0 70% 38%;font-family:Archivo,sans-serif;background:#eef1ea}
.fj-contact #contact{padding:72px 0 80px;overflow:visible}
.fj-contact #contact>div.absolute{display:none}
.fj-contact #contact>div.relative{width:min(1280px,calc(100% - 96px));max-width:none}
.fj-contact #contact>div.relative>div:first-child{display:none}
.fj-contact #contact>div.relative>div:last-child{gap:88px;grid-template-columns:.85fr 1fr}
.fj-contact #contact>div.relative>div:last-child>div{opacity:1!important;transform:none!important}
.fj-contact h3{font-size:42px!important;line-height:1.08!important;font-family:Archivo,sans-serif!important;font-weight:600!important}
.fj-contact #contact .glass{background:none!important;border:0!important;border-radius:0!important;backdrop-filter:none!important;padding:12px 0!important;box-shadow:none!important}
.fj-contact #contact .glass>div:first-child{background:none!important;padding:0!important;color:var(--fj-blue)!important}
.fj-contact #contact .glass>div:first-child svg{color:var(--fj-blue)!important}
.fj-contact #contact .glass-strong{background:none!important;border:0!important;border-radius:0!important;backdrop-filter:none!important;box-shadow:none!important;padding:0!important}
.fj-contact #contact .text-lg{font-size:16px;line-height:1.7}
.fj-contact #contact .flex.items-center.gap-3>svg{display:none}
.fj-contact #contact input,.fj-contact #contact textarea{background:var(--fj-paper)!important;color:var(--fj-ink);border:1px solid #a4b0a6;border-radius:3px!important;box-shadow:none!important}
.fj-contact #contact input::placeholder,.fj-contact #contact textarea::placeholder{color:var(--fj-muted);opacity:1}
.fj-contact #contact input[aria-invalid=true],.fj-contact #contact textarea[aria-invalid=true]{border-color:#a41d1d}
.fj-contact #contact button[type=submit],.fj-contact #contact a.bg-gradient-primary{background:var(--fj-blue)!important;color:#fff!important;box-shadow:none!important;border-radius:3px;font-family:Archivo,sans-serif!important}
.fj-contact #contact button[type=submit]:hover{background:var(--fj-blue-dark)!important;opacity:1!important}
.fj-contact #contact button:disabled{opacity:.55!important;cursor:wait}
.fj-contact #contact .font-mono{font-family:Archivo,sans-serif;font-variant-numeric:tabular-nums}
.fj-contact #contact .glow-cyan{box-shadow:none!important}
.fj-contact #contact .glass{opacity:1!important;transform:none!important}
.fj-contact #contact h2{font-size:42px!important;line-height:1.08!important;font-family:Archivo,sans-serif!important;font-weight:600!important;margin:0}
.fj-footer{display:flex;justify-content:space-between;gap:24px;padding-block:32px;font-size:12px;color:var(--fj-muted)}
.fj-footer>div{display:flex;gap:28px}
.field-journal [id]{scroll-margin-top:30px}
body:has(.field-journal){background:#fafbf8;scrollbar-color:#a4b0a6 #fafbf8}
body:has(.field-journal) .ryzworkx-home-link{display:none}
@media(min-width:1441px){.fj-intro{padding-inline:80px;gap:64px}.fj-intro-copy{padding-left:0}}
@media(max-width:1050px){.fj-header,.fj-section,.fj-footer{width:calc(100% - 64px)}.fj-intro{padding:32px 32px 56px;gap:30px}.field-journal h1{font-size:clamp(3rem,6vw,4.6rem)}.fj-intro-copy p{font-size:17px}.fj-nav{gap:22px}.fj-intro-artifact{padding:24px 16px 0}.fj-feature{gap:32px}.fj-feature-notes h3{font-size:30px}.fj-work-pair{gap:32px}.fj-walkthrough{padding:60px 32px}.fj-walkthrough-top,.fj-walkthrough-body{gap:36px}.fj-capabilities{gap:40px}.fj-capability{display:block}.fj-capability .fj-inline{margin-top:8px}.fj-about{padding:36px;gap:48px}.fj-about h2{font-size:30px}.fj-tools{gap:0 40px}.fj-contact #contact>div.relative{width:calc(100% - 64px)}.fj-contact #contact>div.relative>div:last-child{gap:40px}}
@media(max-width:767px){.fj-header,.fj-section,.fj-footer{width:calc(100% - 40px)}.fj-header{height:90px;position:relative}.fj-wordmark{font-size:22px}.fj-menu{display:block;border:1px solid var(--fj-line);border-radius:3px;padding:8px 12px;background:transparent;min-height:44px;font-size:13px!important;font-weight:600!important;cursor:pointer}.fj-nav{display:none;position:absolute;z-index:30;top:78px;left:0;right:0;background:var(--fj-paper);border:1px solid var(--fj-line);box-shadow:0 12px 28px #16231e1a;padding:12px 20px;gap:0}.fj-nav.is-open{display:flex;flex-direction:column;align-items:stretch}.fj-nav a{padding:12px 0;min-height:44px}.fj-intro{display:block;margin:0;padding:28px 20px 0}.field-journal h1{font-size:clamp(2.85rem,10.6vw,4.2rem);margin-bottom:22px}.fj-intro-copy p{font-size:16px;max-width:38ch;margin-bottom:24px}.fj-intro-copy>.fj-inline{display:inline-flex;margin:12px 0 0 0}.fj-intro-copy>.fj-primary{margin-right:20px}.fj-intro-artifact{margin-top:34px;padding:16px 14px 0}.fj-intro-artifact img{aspect-ratio:16/10}.fj-intro-artifact figcaption{padding:14px 0;gap:8px}.fj-section{padding-block:56px}.fj-section-heading{display:block;margin-bottom:28px}.fj-section-heading p{margin-top:14px;max-width:36ch}.fj-feature{display:block;margin-bottom:36px}.fj-dashboard{padding:18px 12px}.fj-feature-notes{padding-top:26px}.fj-feature-notes h3{font-size:28px}.fj-feature-notes p{font-size:15px}.fj-facts{margin:20px 0 14px}.fj-work-pair{display:block}.fj-work-pair article{margin-top:32px}.fj-work-pair article:nth-child(2){padding-top:0}.fj-flow-image,.fj-website-image{padding:16px}.field-journal h3{font-size:24px;margin-top:20px}.fj-archive-toggle{margin-top:30px;padding:22px 0}.fj-archive-grid{grid-template-columns:1fr;gap:30px}.fj-filters{gap:8px}.fj-filters button{font-size:13px;padding:10px 12px;min-height:44px}.fj-walkthrough{margin-top:4px;padding:50px 20px}.fj-walkthrough-top,.fj-walkthrough-body{display:block}.fj-walkthrough-top{margin-bottom:26px}.fj-walkthrough-top h2{max-width:18ch;font-size:34px;margin-bottom:18px}.fj-walkthrough-top p{font-size:15px}.fj-workflow-inspector{margin-top:22px}.fj-workflow-visual img{padding:12px;aspect-ratio:16/10}.fj-step-notes{min-height:192px}.fj-step-notes h3{font-size:20px}.fj-walkthrough-foot{margin-top:22px!important}.fj-capabilities{display:block;padding-top:58px}.fj-capabilities h2{max-width:none;margin-bottom:34px}.fj-capability{margin-bottom:24px;padding-bottom:24px}.fj-capability h3{font-size:21px}.fj-about{display:flex;flex-direction:column;padding:24px;gap:30px;margin-block:0}.fj-portrait{width:100%}.fj-portrait img{height:320px;object-position:50% 35%}.fj-about h2{font-size:30px}.fj-about p{font-size:15px}.fj-about-links{gap:8px 24px}.fj-tools{display:block;padding-block:56px}.fj-tools dl{margin-top:30px}.fj-tools dd{font-size:14px}.fj-contact #contact{padding-block:50px}.fj-contact #contact>div.relative{width:calc(100% - 40px)}.fj-contact #contact>div.relative>div:last-child{display:block}.fj-contact #contact>div.relative>div:last-child>div:last-child{margin-top:32px}.fj-contact h3{font-size:34px!important}.fj-contact #contact .text-lg{font-size:15px;margin-bottom:24px}.fj-contact #contact .space-y-6{display:grid;gap:12px}.fj-contact #contact .space-y-6>*{margin:0!important}.fj-footer{display:block;padding-block:28px}.fj-footer>div{flex-wrap:wrap;gap:8px 22px;margin-top:14px}.fj-footer a{min-height:44px;display:inline-flex;align-items:center}}
@media(prefers-reduced-motion:reduce){.field-journal *,.field-journal *::before,.field-journal *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.fj-project-image:hover img,.fj-inline:hover svg{transform:none}}
@media(max-width:767px){.fj-contact #contact h2{font-size:34px!important}}
@media(min-width:768px) and (max-width:1050px){.fj-header{height:auto;grid-template-columns:1fr;padding-block:24px;gap:16px}.fj-wordmark{justify-self:center;text-align:center}.fj-nav{grid-column:1}}
@media(max-width:767px){.fj-header{display:flex;justify-content:space-between}.fj-nav{justify-self:stretch}.fj-nav a{justify-content:center}}
