@charset "UTF-8";:root{--accent: #192ac2;--accent-soft: #e8eafb;--ink: #111318}html{scroll-behavior:smooth}body{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-weight:400;margin:0;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}h1,h2,h3,.section__label,.service__num,.project__type{font-family:"Exo 2",Inter,sans-serif}*{box-sizing:border-box}img{max-width:100%}.tc-main{color:var(--accent)}.tc-black{color:var(--ink)}.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(60vmax 60vmax at 50% 42%,var(--accent-soft) 0%,rgba(232,234,251,0) 60%),#fff}.brand{margin:0;display:flex;flex-direction:column;align-items:center;gap:4vh}.brand__mark-wrap{position:relative;display:block}.brand__mark{display:block;height:24vh;width:auto;max-width:55vw;animation:markIn 1.6s cubic-bezier(.2,.75,.2,1) both}.brand__dot{position:absolute;left:50%;top:50%;width:30.71%;height:auto;transform:translate(-50%,-50%) scale(0);animation:dotGrow .7s cubic-bezier(.3,1.4,.5,1) 1.2s both}.brand__mark-wrap:after{content:"";position:absolute;left:50%;top:50%;width:28%;aspect-ratio:1;border-radius:50%;border:1.5px solid var(--accent);transform:translate(-50%,-50%);opacity:0;pointer-events:none;animation:ringOut 2.4s cubic-bezier(.15,.6,.3,1) 1.75s forwards}.brand__word{display:block;height:12vh;width:auto;max-width:80vw;animation:wordIn 1s cubic-bezier(.2,.75,.2,1) 1.9s both}@keyframes markIn{0%{opacity:0;transform:scale(.55) rotate(-200deg);filter:blur(6px)}60%{opacity:1;filter:blur(0)}to{opacity:1;transform:none}}@keyframes dotGrow{0%{transform:translate(-50%,-50%) scale(.04);opacity:0}15%{opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes ringOut{0%{width:28%;opacity:.9}to{width:190%;opacity:0}}@keyframes wordIn{0%{opacity:0;transform:translateY(24px);letter-spacing:.2em}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.brand__mark,.brand__dot,.brand__word{animation:none;opacity:1}.brand__dot{transform:translate(-50%,-50%)}.brand__mark-wrap:after{display:none}}.fade-in-on-finish{opacity:0;animation:fadeIn 1s ease forwards;animation-delay:2s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.scroll-hint{position:absolute;left:50%;bottom:32px;transform:translate(-50%);animation-delay:3s}.scroll-hint__btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:0;background:none;color:var(--ink);cursor:pointer;transition:opacity .4s,color .2s}.scroll-hint__btn svg{width:32px;height:32px;animation:hintBounce 2s ease-in-out infinite}.scroll-hint__btn:hover,.scroll-hint__btn:focus-visible{color:var(--accent)}.scroll-hint__btn.is-hidden{opacity:0;pointer-events:none}@keyframes hintBounce{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.container{max-width:1100px;margin:0 auto;padding:0 24px}.section{padding:120px 0}.section+.section{border-top:1px solid #eee}.section__label{display:flex;align-items:center;gap:12px;margin:0 0 48px;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:#8a8586}.section__label span{color:var(--accent)}.section__label:after{content:"";flex:0 0 48px;height:1px;background:var(--accent)}h2,h3{font-weight:500;margin:0}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:32px 0 0;padding:0}.chips li{padding:6px 14px;border:1px solid var(--ink);border-radius:999px;font-size:14px}.chips--small{margin-top:20px;gap:6px}.chips--small li{padding:3px 10px;font-size:12px;border-color:#cfcbcc;color:#5a5556}.about{display:grid;grid-template-columns:1fr 1.4fr;gap:64px;align-items:start}.about__heading{font-size:clamp(36px,5vw,60px);line-height:1.05}.about__body p{font-size:19px;line-height:1.65;margin:0 0 20px;color:#3d3839}.services{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#eee;border:1px solid #eee}.service{position:relative;background:#fff;padding:40px 36px 44px;transition:background-color .3s}.service:before{content:"";position:absolute;left:0;top:0;width:0;height:3px;background:var(--accent);transition:width .4s ease}.service:hover{background:#fafafa}.service:hover:before{width:100%}.service__num{display:block;font-size:13px;color:var(--accent);margin-bottom:20px}.service h3{font-size:24px;margin-bottom:12px}.service p{margin:0;font-size:16px;line-height:1.6;color:#5a5556}.projects{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.project{position:relative;display:block;padding:32px;border:1px solid #e6e3e4;color:inherit;text-decoration:none;transition:border-color .3s,transform .3s,box-shadow .3s}.project__type{margin:0 0 16px;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent)}.project h3{font-size:22px;margin-bottom:6px}.project__role{margin:0 0 16px;font-size:14px;color:#8a8586}.project__desc{margin:0;font-size:15px;line-height:1.6;color:#3d3839}.section--contact{padding-bottom:160px}.contact__heading{font-size:clamp(36px,6vw,72px);line-height:1.05;margin-bottom:48px}.contact__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:0}.contact__list>div{border-top:1px solid #e6e3e4;padding-top:20px}.contact__list dt{font-family:"Exo 2",Inter,sans-serif;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:#8a8586;margin-bottom:10px}.contact__list dd{margin:0;font-size:20px}.contact__list a{color:var(--ink);text-decoration:none;border-bottom:2px solid var(--accent);padding-bottom:2px;transition:color .2s}.contact__list a:hover,.contact__list a:focus-visible{color:var(--accent)}.footer{padding:32px 0;border-top:1px solid #eee;font-size:13px;color:#8a8586}@media (max-width: 800px){.section{padding:80px 0}.section__label{margin-bottom:32px}.about{grid-template-columns:1fr;gap:24px}.about__body p{font-size:17px}.services{grid-template-columns:1fr}.service{padding:32px 24px}.projects{grid-template-columns:1fr}.contact__list{grid-template-columns:1fr;gap:24px}.contact__list dd{font-size:18px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.scroll-hint__btn svg{animation:none}}.project{padding:0;display:flex;flex-direction:column;overflow:hidden;background:#fff;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent}.project__body{position:relative;padding:32px;display:flex;flex-direction:column;flex:1;transition:opacity .35s ease}.project__body h3{font-size:20px;margin-bottom:14px;padding-right:36px}.project__body .chips{margin-top:auto;padding-top:20px}.project__media{position:absolute;inset:0;z-index:1;opacity:0;background:#0b0d1f;transition:opacity .45s ease}.project__media img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform .9s ease}.project__media:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#080a1cd9,#080a1c59 38%,#080a1c00 65%)}.project__caption{position:absolute;left:32px;right:32px;bottom:28px;z-index:2;color:#fff;opacity:0;transform:translateY(12px);transition:opacity .4s ease .05s,transform .4s ease .05s}.project__caption .project__type{color:#c6ccfb;margin-bottom:8px}.project__caption h3{font-size:20px}.project__hint{position:absolute;top:20px;right:20px;z-index:3;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--accent-soft);color:var(--accent);transition:background-color .3s,color .3s,opacity .3s}.project__hint svg{width:18px;height:18px}.project__hint .i-close{display:none}.project.is-active,.project:focus-visible{border-color:var(--accent)}.project.is-active .project__media,.project:focus-visible .project__media{opacity:1}.project.is-active .project__media img,.project:focus-visible .project__media img{transform:none}.project.is-active .project__caption,.project:focus-visible .project__caption{opacity:1;transform:none}.project.is-active .project__body,.project:focus-visible .project__body{opacity:0}.project.is-active .project__hint{background:#ffffffe6;color:var(--ink)}.project:focus-visible:not(.is-active) .project__hint{opacity:0}.project.is-active .project__hint .i-photo{display:none}.project.is-active .project__hint .i-close{display:block}@media (hover: hover){.project:hover{border-color:var(--accent)}.project:hover .project__media{opacity:1}.project:hover .project__media img{transform:none}.project:hover .project__caption{opacity:1;transform:none}.project:hover .project__body{opacity:0}.project:hover:not(.is-active) .project__hint{opacity:0}}@media (max-width: 800px){.project__body{padding:28px 24px}.project__caption{left:24px;right:24px;bottom:24px}}.about__heading{letter-spacing:-.01em}.footer__inner{display:flex;align-items:center;gap:12px}.footer__inner img{width:24px;height:auto}@media (prefers-reduced-motion: reduce){.brand__mark,.brand__word{animation:none;opacity:1}.brand__mark-wrap:after{display:none}.fade-in-on-finish{animation-delay:0s}}.tech{display:flex;flex-wrap:wrap;align-items:center;gap:28px 44px;list-style:none;margin:40px 0 0;padding:28px 0 0;border-top:1px solid #eee}.tech li{display:flex;align-items:center;height:50px}.tech img{display:block;height:var(--h, 32px);width:auto;max-width:190px;filter:grayscale(1);opacity:.5;transition:opacity .3s}.tech li:hover img{opacity:.9}.footer__inner{justify-content:space-between;flex-wrap:wrap}.footer__brand{display:flex;align-items:center;gap:12px}@media (max-width: 800px){.tech{gap:20px 32px}.tech li{height:40px}.tech img{height:calc(var(--h, 32px) * .8)}}.footer__left{display:flex;flex-direction:column;gap:6px}.footer__credit{font-size:12px;color:#b0abac;padding-left:36px}.footer__credit a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}.footer__credit a:hover,.footer__credit a:focus-visible{color:var(--accent);border-bottom-color:currentColor}@media (max-width: 800px){.footer__inner{flex-direction:column;align-items:flex-start;gap:12px}}.call-me-back-form{position:fixed;bottom:40px;right:40px;z-index:20;animation-delay:3s}.call-me-back-form .icon-open{display:block;width:50px;height:50px;padding:0;border:0;background:none;cursor:pointer;animation:shake 4s infinite}.call-me-back-form .icon-open:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:50%}.call-me-back-form .icon-open:focus-visible svg path{fill:var(--accent)}@media (max-width: 800px){.call-me-back-form{bottom:20px;right:20px}}@media (prefers-reduced-motion: reduce){.call-me-back-form{animation-delay:0s}.call-me-back-form .icon-open{animation:none}}.call-me-back-form .icon-open svg{width:100%;height:100%}.call-me-back-form .icon-open svg path{fill:#000;transition:all .2s}.call-me-back-form .icon-open:hover svg path{fill:var(--accent)}@keyframes shake{0%{transform:rotate(0)}1%{transform:rotate(-10deg)}2%{transform:rotate(10deg)}4%{transform:rotate(-10deg)}5%{transform:rotate(10deg)}6%{transform:rotate(0)}to{transform:rotate(0)}}
