@font-face{font-family:Manrope;src:url(/fonts/manrope-latin.woff2) format("woff2");font-weight:200 800;font-display:swap}:root{font-family:Manrope,Arial,sans-serif;font-synthesis:none;color:var(--ink);background:var(--bg);--bg: oklch(17.8% .009 295);--ink: oklch(96% .008 285);--muted: oklch(71% .013 285);--line: oklch(32% .014 285);--accent: oklch(67% .21 295);--accent-text: oklch(75% .13 295);--violet: oklch(50% .29 295);--paper: oklch(94% .01 285);--paper-muted: oklch(41% .012 285);--gutter: clamp(20px, 5.2vw, 88px);--space-section: clamp(64px, 8vw, 128px);--ease: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{scroll-padding-top:28px}body{margin:0}a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}button,input{font:inherit}img,svg{display:block;max-width:100%}figure,p,h1,h2,h3,h4{margin:0}p{text-wrap:pretty}h1,h2,h3,p,dt,dd{overflow-wrap:anywhere}::selection{color:var(--ink);background:#6327ba}a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.wrap{max-width:1720px;margin-inline:auto;padding-inline:var(--gutter)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:12px;left:20px;padding:12px 20px;background:var(--ink);color:var(--bg);transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{min-height:108px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 32px;padding-block:16px}.brand{display:flex;align-items:center;gap:14px;min-height:44px;min-width:0;max-width:100%}.brand-symbol{width:58px;height:auto;flex-shrink:0;filter:brightness(0) invert(1);opacity:.94}.brand-name{font-size:22px;font-weight:750;letter-spacing:-.035em;line-height:1.2}.brand-name>span{display:block;font-size:13px;font-weight:500;letter-spacing:.045em;line-height:1.8}.site-header nav{display:flex;flex-wrap:wrap;align-items:center;gap:0 clamp(24px,3vw,44px);font-size:14px;font-weight:500}.site-header nav a{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;transition:color .2s}.site-header nav a:hover,.site-header nav a:focus-visible{color:var(--accent-text)}.nav-short{display:none}.hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:end;column-gap:clamp(40px,5vw,88px);padding-top:clamp(40px,4vw,64px);padding-bottom:clamp(40px,4vw,64px)}.hero h1{font-size:clamp(52px,6.2vw,106px);line-height:1.06;font-weight:600;letter-spacing:-.065em}.hero h1 span{color:var(--muted)}.hero-copy,.project-copy,.about-copy{min-width:0}.hero-copy{max-width:36ch;padding-bottom:6px}.hero-copy>p{font-size:clamp(20px,1.65vw,27px);line-height:1.6;letter-spacing:-.02em}.company-links{display:flex;flex-direction:column;align-items:flex-start;margin-top:12px;font-size:16px;color:var(--muted)}.company-links a{display:flex;align-items:center;min-height:44px;max-width:100%;overflow-wrap:anywhere;transition:color .2s}.company-links a:hover{color:var(--accent-text)}.text-link{width:fit-content;max-width:100%;display:flex;align-items:center;gap:28px;min-height:48px;padding-block:12px;border-bottom:1px solid currentColor;font-size:14px;line-height:1.5;font-weight:600;transition:color .2s}.text-link svg{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .25s var(--ease)}.text-link:hover,.text-link:focus-visible{color:var(--accent-text)}.text-link:hover svg,.text-link:focus-visible svg{transform:translate(2px,-2px)}.text-link[href^="/"]:hover svg,.text-link[href^="/"]:focus-visible svg{transform:translate(2px)}.hero-link{margin-top:24px;gap:28px;font-size:16px}.hero-link:hover svg,.hero-link:focus-visible svg{transform:translateY(2px)}.projects{padding-top:clamp(40px,4vw,64px);padding-bottom:var(--space-section)}.section-heading{margin-bottom:40px}.section-heading h2{font-size:clamp(36px,4vw,60px);letter-spacing:-.05em;font-weight:500;line-height:1.2}.section-heading h2 span{color:var(--accent)}.project-index{display:flex;flex-wrap:wrap;gap:0 clamp(20px,2.5vw,40px);margin-top:20px;color:var(--muted);font-size:14px;line-height:1.5}.project-index a{display:flex;align-items:center;min-width:44px;min-height:44px;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:6px;transition:color .2s}.project-index a:hover,.project-index a:focus-visible{color:var(--accent-text);text-decoration-color:currentColor}.project{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,.8fr);column-gap:clamp(36px,5.2vw,88px);align-items:center;margin-top:var(--space-section)}.project:first-of-type{margin-top:0}.project-visual{position:relative;display:block;overflow:hidden;background:#1a1a1f}.project-visual>img{width:100%;height:auto}.visual-open{position:absolute;bottom:18px;right:18px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:var(--bg);background:var(--ink);font-size:24px;transition:background .2s,transform .25s var(--ease)}.visual-open svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5}a.project-visual:hover .visual-open,a.project-visual:focus-visible .visual-open{background:var(--accent);transform:translate(2px,-2px)}.project-category{display:block;margin-bottom:22px;color:var(--muted);font-size:14px;line-height:1.5}.project-status{display:block;margin-top:8px;color:var(--accent-text)}.project h3{font-size:clamp(32px,3.35vw,56px);line-height:1.12;letter-spacing:-.045em;font-weight:500;text-wrap:balance}.project-copy p{max-width:35ch;margin-top:22px;color:var(--muted);font-size:16px;line-height:1.8}.project-copy .text-link{margin-top:22px;gap:24px}.project-gaming,.project-civis{grid-template-columns:minmax(0,.8fr) minmax(0,1.65fr)}.project-gaming .project-visual,.project-civis .project-visual{grid-column:2;grid-row:1}.project-gaming .project-copy,.project-civis .project-copy{grid-column:1;grid-row:1}.forge-lockup{display:flex;align-items:center;gap:16px}.forge-lockup>img{width:clamp(56px,5.2vw,80px);height:auto;flex-shrink:0}.forge-lockup h3{min-width:0;font-size:clamp(32px,3vw,52px)}.project-workforce .project-product-name{display:block;font-size:16px;line-height:1.5;color:var(--muted);margin-top:20px}.product-url>span:first-child{min-width:0;overflow-wrap:anywhere}.civis-visual{background:transparent;overflow:visible}.civis-preview-link{display:block;position:relative}.civis-preview-link:hover .visual-open,.civis-preview-link:focus-visible .visual-open{background:var(--accent);transform:translate(2px)}.civis-visual img{width:100%;height:auto}.civis-visual figcaption{margin-top:14px;font-size:14px;line-height:1.5;color:var(--muted);text-align:right}.civis-number{font-size:.64em;letter-spacing:-.05em;margin-left:.06em}.project-pet{max-width:1200px;margin-inline:auto;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.project-pet .project-visual{width:100%;max-width:650px}.project-pet h3{font-size:clamp(30px,2.8vw,44px)}.project-pet .project-copy p{max-width:43ch}.about{color:var(--bg);background:var(--paper)}.about a:focus-visible{outline-color:var(--violet)}.about-inner{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:60px 8vw;padding-block:clamp(64px,6.5vw,104px) 64px}.about h2{font-size:clamp(44px,5vw,80px);line-height:1.12;letter-spacing:-.055em;font-weight:500}.about h2 span{color:var(--violet)}.about-copy{align-self:center}.about-copy p:first-child{max-width:48ch;font-size:clamp(21px,1.85vw,29px);line-height:1.65;letter-spacing:-.025em}.about-copy p+p{max-width:48ch;margin-top:24px;color:var(--paper-muted);font-size:16px;line-height:1.7}.about .company-links{color:var(--paper-muted)}.about .company-links a:hover{color:var(--bg)}.brand-line{grid-column:1 / -1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;justify-items:center;gap:clamp(24px,3vw,48px);border-top:1px solid oklch(78% .01 285);padding-top:40px}.brand-line>a{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:112px;transition:color .2s}.brand-line>a:hover,.brand-line>a:focus-visible{color:var(--violet)}.brand-line img{transition:transform .25s var(--ease)}.brand-line a:hover img,.brand-line a:focus-visible img{transform:translateY(-2px)}.brand-line img{width:100%;max-width:180px;height:100px;object-fit:contain}.brand-line .forge-brand{max-width:95px;height:112px}.civis-wordmark{font-family:Georgia,serif;font-size:clamp(25px,2.5vw,39px);font-weight:700;letter-spacing:-.07em;white-space:nowrap}.civis-wordmark span{font-size:.7em}.contact{padding-block:var(--space-section) clamp(64px,6vw,104px)}.contact-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:32px}.contact h2{font-size:clamp(44px,6vw,96px);font-weight:500;line-height:1.13;letter-spacing:-.055em}.contact h2 span{color:var(--accent)}.contact-arrow{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:clamp(72px,8vw,120px);height:clamp(72px,8vw,120px);border-radius:50%;color:var(--bg);background:var(--accent);transition:background .2s}.contact-arrow svg{width:42%;height:42%;fill:none;stroke:currentColor;stroke-width:1.2;transition:transform .25s var(--ease)}.contact-arrow:hover{background:var(--ink)}.contact-arrow:hover svg{transform:translate(2px,-2px)}.contact-person{margin-top:30px;font-size:16px;line-height:1.7}.contact-number{display:flex;flex-wrap:wrap;align-items:center;gap:0 24px;min-height:44px;width:fit-content;max-width:100%;margin-top:18px;font-size:16px;line-height:1.5}.contact-person+.contact-number{margin-top:12px}.contact-number>span:not(.sr-only){color:var(--muted)}.contact-number:hover,.contact-number:hover>span,.contact-number:focus-visible,.contact-number:focus-visible>span{color:var(--accent-text)}.contact-email{display:flex;align-items:center;min-height:44px;width:fit-content;max-width:100%;color:var(--muted);font-size:16px;line-height:1.6;overflow-wrap:anywhere;transition:color .2s}.contact-email:hover,.contact-email:focus-visible{color:var(--accent-text)}.site-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 28px;max-width:calc(1720px - var(--gutter) * 2);margin-inline:var(--gutter);padding:24px 0 28px;border-top:1px solid var(--line);color:var(--muted);font-size:14px;line-height:1.6}.site-footer a{display:flex;align-items:center;min-height:44px}.site-footer a:hover,.site-footer a:focus-visible{color:var(--accent-text)}.footer-brand{color:var(--ink);font-size:14px}.footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:4px 28px;max-width:100%}.footer-links a{min-width:0;overflow-wrap:anywhere}.back-to-top{gap:18px}@media(min-width:1720px){.site-footer{margin-inline:auto}}@media(max-width:1100px){.hero h1{font-size:6.25vw}.hero-copy>p{font-size:19px}.project{grid-template-columns:minmax(0,1.5fr) minmax(0,.95fr);column-gap:36px}.project-gaming,.project-civis{grid-template-columns:minmax(0,.95fr) minmax(0,1.5fr)}.project-copy p{font-size:15px}.project-copy .text-link{gap:16px}.brand-line{gap:28px}}@media(max-width:900px){.hero{grid-template-columns:minmax(0,1fr);gap:36px}.hero h1{font-size:clamp(52px,9vw,80px)}.hero-copy{max-width:42ch;padding-bottom:0}}@media(max-width:1000px){.project,.project-gaming,.project-civis,.project-pet{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:80px}.project:first-of-type{margin-top:0}.project-gaming .project-visual,.project-civis .project-visual{grid-column:1;grid-row:1}.project-gaming .project-copy,.project-civis .project-copy{grid-column:1;grid-row:2}.project-copy{max-width:60ch}.project h3 br{display:none}.project-copy p{max-width:48ch;font-size:16px}}@media(max-width:760px){.site-header{min-height:92px;gap:12px}.brand{gap:10px}.brand-symbol{width:40px}.brand-name{font-size:18px}.brand-name>span{font-size:13px;letter-spacing:0;line-height:1.7}.site-header nav{gap:0 12px}.nav-full{display:none}.nav-short{display:inline}.hero{padding-top:28px;padding-bottom:28px}.hero h1{font-size:clamp(48px,10.5vw,76px)}.hero-copy>p{font-size:18px}.company-links{margin-top:20px}.company-links a{min-height:44px}.hero-link{margin-top:18px}.projects{padding-top:44px}.section-heading{margin-bottom:36px}.section-heading h2{font-size:clamp(32px,7.6vw,44px)}.project,.project-gaming,.project-civis,.project-pet{gap:26px;margin-top:64px}.project-category{margin-bottom:16px}.project h3{font-size:clamp(32px,8.5vw,44px)}.project-copy p{max-width:46ch;font-size:16px;margin-top:16px}.project-copy .text-link{margin-top:18px;gap:24px}.visual-open{bottom:14px;right:14px}.forge-lockup>img{width:62px}.forge-lockup h3{font-size:clamp(30px,7.5vw,40px)}.project-workforce .project-product-name{margin-top:18px}.civis-visual figcaption{text-align:left}.project-pet h3{font-size:30px}.about-inner{grid-template-columns:minmax(0,1fr);padding-block:64px 44px;gap:32px}.about h2{font-size:clamp(42px,9vw,64px)}.about-copy p:first-child{font-size:22px}.about-copy p+p{margin-top:20px}.brand-line{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:30px;gap:28px 24px}.brand-line img{max-width:155px;height:88px}.brand-line>a{min-height:100px}.brand-line .forge-brand{max-width:82px;height:100px}.brand-line .civis-brand{grid-column:1 / -1}.contact h2{font-size:clamp(42px,8.8vw,64px)}.contact-arrow{width:72px;height:72px}.contact-number{gap:0 20px}.site-footer{gap:12px 24px}.footer-brand{flex-basis:100%}.footer-links{flex-basis:100%;flex-direction:column;align-items:flex-start;gap:0}.back-to-top{margin-left:auto}}@media(max-width:380px){.site-header{gap:10px}.brand{gap:8px}.brand-symbol{width:32px}.brand-name{font-size:17px}.hero h1{font-size:clamp(42px,13.5vw,51px)}.forge-lockup{gap:14px}.forge-lockup>img{width:52px}.forge-lockup h3{font-size:29px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
