@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;color:#f1f1f7;background:#111015;font-synthesis:none;--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);--violet:oklch(50% .29 295);--gutter:clamp(22px,5.2vw,100px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}img,svg{display:block;max-width:100%}figure,p,h1,h2,h3{margin:0}a:focus-visible{outline:2px solid var(--accent);outline-offset:7px}.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:14px;left:20px;padding:12px 20px;background:var(--ink);color:var(--bg);transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{height:112px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;gap:14px;align-items:center}.brand-symbol{width:58px;height:42px;color:var(--accent)}.brand-name{font-size:22px;font-weight:800;letter-spacing:-.8px;line-height:1.1}.brand-name>span{display:block;font-size:10px;font-weight:600;letter-spacing:3px;line-height:2;text-transform:uppercase}.site-header nav{display:flex;align-items:center;gap:40px;font-size:14px;font-weight:500}.site-header nav a{padding-block:12px}.site-header nav a:hover{color:var(--accent)}.nav-contact{display:flex;align-items:center;gap:25px}.nav-contact span{font-size:22px}.hero{position:relative;display:grid;grid-template-columns:1.02fr 1fr;align-items:center;column-gap:3vw;padding-top:52px;padding-bottom:40px;min-height:min(850px,calc(100svh - 112px))}.hero-copy{position:relative;z-index:2;padding-bottom:34px}.hero h1{font-size:clamp(54px,6.4vw,110px);line-height:1.03;font-weight:600;letter-spacing:-.074em}.hero h1 span{color:var(--muted)}.hero p{font-size:clamp(19px,1.5vw,25px);line-height:1.5;margin-top:36px;letter-spacing:-.035em}.text-link{width:fit-content;display:flex;align-items:center;gap:34px;font-size:14px;font-weight:600;padding-block:14px;border-bottom:1px solid currentColor;transition:color .2s}.text-link svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .3s cubic-bezier(.2,.7,.2,1)}.text-link:hover{color:var(--accent)}.text-link:hover svg{transform:translate(3px,-3px)}.hero-link{margin-top:38px;gap:68px}.hero-link:hover svg{transform:translateY(4px)}.hero-art{position:relative;align-self:stretch;min-height:460px;overflow:hidden;clip-path:polygon(0 9%,100% 0,100% 91%,0 100%)}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:68% center}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:45px;padding-top:22px;border-top:1px solid var(--line)}.hero-bottom span:last-child{letter-spacing:.07em}.projects{padding-top:110px;padding-bottom:145px}.section-heading{margin-bottom:72px}.section-heading h2{font-size:clamp(36px,4vw,62px);letter-spacing:-.055em;font-weight:500;line-height:1.15}.section-heading h2 span{color:var(--accent)}.project{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,.75fr);column-gap:clamp(40px,5.8vw,100px);align-items:center;margin-top:110px}.project:first-of-type{margin-top:0}.project-visual{position:relative;display:block;overflow:hidden;background:#1a1a1f;aspect-ratio:1.75}.project-visual>img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}a.project-visual:hover>img{transform:scale(1.025)}.visual-open{position:absolute;bottom:22px;right:22px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;font-size:24px;color:var(--bg);background:var(--ink);transition:transform .3s}a.project-visual:hover .visual-open{transform:rotate(45deg)}.project-category{display:block;color:var(--muted);font-size:13px;margin-bottom:26px}.project h3{font-size:clamp(35px,3.35vw,57px);line-height:1.08;letter-spacing:-.05em;font-weight:500}.project-copy p{font-size:16px;line-height:1.8;color:var(--muted);max-width:33ch;margin-top:26px}.project-copy .text-link{margin-top:26px;gap:24px}.project-gaming{grid-template-columns:minmax(0,.75fr) minmax(0,1.65fr);margin-top:150px}.project-gaming .project-visual{grid-column:2;grid-row:1}.project-gaming .project-copy{grid-column:1;grid-row:1}.project-gaming .project-visual{aspect-ratio:1.55}.project-gaming .project-visual img{object-position:26% center}.project-network{margin-top:155px}.project-network .project-visual{aspect-ratio:1.7}.project-civis{grid-template-columns:minmax(0,.75fr) minmax(0,1.65fr);margin-top:155px}.project-civis .project-visual{grid-column:2;grid-row:1;aspect-ratio:auto;overflow:visible;background:transparent;padding-bottom:26px}.project-civis .project-copy{grid-column:1;grid-row:1}.project-civis .project-visual img{height:auto}.civis-visual figcaption{font-size:11px;color:var(--muted);text-align:right;margin-top:12px}.civis-number{font-size:.64em;letter-spacing:-.07em;margin-left:.06em}.about{background:#eaeaf2;color:var(--bg)}.about-inner{padding-top:112px;padding-bottom:70px;display:grid;grid-template-columns:1fr 1fr;gap:70px 9vw}.about h2{font-size:clamp(48px,6.3vw,104px);font-weight:500;line-height:1.04;letter-spacing:-.065em}.about h2 span{color:var(--violet)}.about-copy{padding-top:12px}.about-copy p:first-child{font-size:clamp(22px,2.2vw,33px);line-height:1.5;letter-spacing:-.035em}.about-copy p+p{font-size:16px;line-height:1.7;max-width:44ch;margin-top:28px;color:#57575f}.brand-line{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:50px;border-top:1px solid oklch(78% .01 285);padding-top:48px}.brand-line img{object-fit:contain;width:clamp(100px,14vw,180px);height:80px}.brand-line img:nth-child(2),.brand-line img:nth-child(3){filter:brightness(.26) saturate(0);width:clamp(95px,12vw,160px)}.civis-wordmark{font-family:Georgia,serif;font-size:clamp(23px,2.5vw,39px);font-weight:700;letter-spacing:-.08em;white-space:nowrap}.civis-wordmark span{font-size:.7em}.contact{padding-top:125px;padding-bottom:112px}.contact-top{display:flex;align-items:center;justify-content:space-between;gap:40px}.contact h2{font-size:clamp(44px,6.6vw,110px);font-weight:500;line-height:1.1;letter-spacing:-.065em}.contact h2 span{color:var(--accent)}.contact-arrow{display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--accent);color:var(--bg);border-radius:50%;width:clamp(75px,9vw,142px);height:clamp(75px,9vw,142px);transition:transform .35s,background .2s}.contact-arrow svg{width:42%;height:42%;fill:none;stroke:currentColor;stroke-width:1.2}.contact-arrow:hover{transform:rotate(45deg);background:var(--ink)}.contact-number{display:flex;align-items:center;gap:26px;width:fit-content;font-size:14px;margin-top:32px}.contact-number>span:not(.sr-only){color:var(--muted)}.contact-number:hover,.contact-number:hover>span{color:var(--accent)}.site-footer{border-top:1px solid var(--line);margin-inline:var(--gutter);padding:26px 0 30px;display:flex;gap:25px;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted);max-width:calc(1720px - var(--gutter)*2)}.footer-brand{color:var(--ink);font-size:12px}.back-to-top{display:flex;gap:25px}.back-to-top:hover{color:var(--accent)}@media(min-width:1720px){.site-footer{margin-inline:auto}}@media(max-width:1100px){.hero{column-gap:24px}.hero h1{font-size:6.25vw}.hero-art{min-height:400px}.project{column-gap:40px;grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr)}.project-gaming,.project-civis{grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr)}.project-copy p{font-size:14px}.project-copy .text-link{font-size:12px;gap:15px}.project-visual{aspect-ratio:1.5}.about-inner{gap:65px 6vw}.brand-line{gap:32px}}@media(max-width:760px){.site-header{height:92px;gap:16px}.brand-symbol{width:40px}.brand{gap:9px}.brand-name{font-size:18px}.brand-name>span{font-size:8px;letter-spacing:2.4px}.site-header nav{gap:20px;font-size:12px}.site-header nav a:nth-child(2){display:none}.nav-contact{gap:10px}.hero{padding-top:38px;min-height:0;grid-template-columns:1fr;gap:0}.hero h1{font-size:clamp(52px,10.5vw,80px)}.hero-copy{padding-bottom:40px}.hero p{font-size:19px;margin-top:25px}.hero p br{display:none}.hero-link{margin-top:18px;gap:52px}.hero-art{min-height:0;height:auto;aspect-ratio:1.28;clip-path:polygon(0 6%,100% 0,100% 94%,0 100%);margin-top:6px}.hero-art img{object-position:center}.hero-bottom{margin-top:32px;padding-top:18px;font-size:9px}.hero-bottom span:last-child{letter-spacing:0}.projects{padding-top:65px;padding-bottom:75px}.section-heading{margin-bottom:42px}.section-heading h2{font-size:37px}.project,.project-gaming,.project-civis{grid-template-columns:1fr;gap:28px;margin-top:70px}.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-visual,.project-gaming .project-visual,.project-network .project-visual{aspect-ratio:1.6}.project-category{font-size:11px;margin-bottom:14px}.project h3{font-size:40px}.project h3 br{display:none}.project-copy p{font-size:15px;max-width:42ch;margin-top:14px}.project-copy .text-link{font-size:13px;gap:28px;margin-top:16px}.project-civis .project-visual{padding-bottom:0}.civis-visual figcaption{font-size:10px}.about-inner{grid-template-columns:1fr;padding-top:65px;padding-bottom:45px;gap:32px}.about h2{font-size:62px}.about-copy{padding-top:0}.about-copy p:first-child{font-size:24px;line-height:1.5}.about-copy p+p{font-size:15px;margin-top:18px}.brand-line{margin-top:12px;flex-wrap:wrap;display:grid;grid-template-columns:1fr 1fr;justify-items:center;gap:26px;padding-top:30px}.brand-line img,.brand-line img:nth-child(2),.brand-line img:nth-child(3){width:130px;height:62px}.civis-wordmark{font-size:31px}.contact{padding-top:70px;padding-bottom:65px}.contact-top{align-items:flex-start;gap:20px}.contact h2{font-size:clamp(39px,7.9vw,60px);max-width:8ch;line-height:1.06}.contact-arrow{width:72px;height:72px}.contact-number{font-size:12px;gap:18px;margin-top:29px}.site-footer{flex-wrap:wrap;gap:22px;font-size:10px;padding-top:24px}.footer-brand{font-size:11px;flex-basis:75%}.back-to-top{margin-left:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}.contact-number{min-height:44px}.site-header nav a{min-height:44px}.site-footer a{min-height:36px;display:flex;align-items:center}.contact-person{margin-top:32px;font-size:14px;line-height:1.6}.contact-person+.contact-number{margin-top:12px}.contact-email{display:flex;align-items:center;min-height:44px;width:fit-content;font-size:14px;color:var(--muted);transition:color .2s}.contact-email:hover{color:var(--accent)}@media(max-width:760px){.contact-person,.contact-email{font-size:12px}}@media(max-width:380px){.site-header{gap:12px}.brand{gap:8px}.brand-symbol{width:32px;flex-shrink:0}.brand-name{font-size:16px}.site-header nav{font-size:11px;gap:12px}.nav-contact{gap:8px}.nav-contact span{font-size:18px}.about h2{font-size:clamp(44px,15.6vw,58px)}}.brand-name>span{text-transform:none}.hero p{max-width:47ch}.company-links{display:flex;flex-direction:column;align-items:flex-start;margin-top:20px;font-size:13px;color:var(--muted)}.company-links a{display:flex;align-items:center;min-height:36px;max-width:100%;overflow-wrap:anywhere}.company-links a:hover{color:var(--accent)}.hero-link{margin-top:24px;gap:26px}.hero-link:hover svg{transform:translate(3px,-3px)}.project-workforce .project-visual{aspect-ratio:1400/664}.project-status{display:block;color:var(--accent);margin-top:10px}.product-url{max-width:100%}.product-url>span:first-child{overflow-wrap:anywhere;min-width:0}.product-url svg{flex-shrink:0}.contact-email{max-width:100%;overflow-wrap:anywhere}.site-footer{flex-wrap:wrap;gap:16px 28px}.footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:6px 28px;max-width:100%}.footer-links a{overflow-wrap:anywhere;min-width:0}.site-footer a:hover{color:var(--accent)}@media(max-width:760px){.company-links{font-size:12px;margin-top:18px}.footer-brand{flex-basis:100%}.footer-links{flex-basis:100%;flex-direction:column;align-items:flex-start;gap:0;font-size:11px}.footer-links a{min-height:44px}.hero-link{font-size:13px}.project-workforce .project-visual{aspect-ratio:1400/664}}
