@font-face{font-family:Barlow Condensed;src:url("./media/barlow-condensed-800-3ESJPOYS.ttf") format("truetype");font-weight:800;font-style:normal;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:#080808;font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}p,h1,h2,h3,h4,h5{margin:0}svg{display:block;flex-shrink:0}.site{--bg:#080808;--fg:#f4f2ed;--muted:#a5a39e;--line:#343433;--accent:#f4f2ed;--surface:#141414;--display:"Barlow Condensed",sans-serif;--gutter:clamp(22px,4.2vw,80px);background:var(--bg);color:var(--fg);padding:0 var(--gutter);overflow:clip;color-scheme:dark;accent-color:var(--accent);transition:background-color .25s,color .25s;scrollbar-color:var(--muted) var(--bg)}.site.light{--bg:#f4f2ed;--fg:#101010;--muted:#5c5b57;--line:#cccac4;--accent:#101010;--surface:#e7e5df;color-scheme:light}.site ::selection{background:var(--fg);color:var(--bg)}.site :is(input,textarea){caret-color:var(--fg)}:is(a,button,summary,input,select,textarea):focus-visible{outline:2px solid currentColor;outline-offset:5px}button:disabled{cursor:not-allowed;opacity:.45}.skip{position:fixed;top:10px;left:16px;padding:14px 20px;transform:translateY(-160%);background:#f4f2ed;color:#080808;z-index:100}.skip:focus{transform:none}.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}.masthead{height:100px;display:flex;align-items:center;gap:28px;position:relative;z-index:20}.identity{font:800 38px/.9 var(--display);letter-spacing:-.03em}.identity span{color:var(--muted)}.masthead-location{margin-left:auto;font-size:12px;color:var(--muted)}.theme{display:grid;place-items:center;width:44px;height:44px;border:0;background:none;color:var(--fg)}.menu-toggle{display:flex;align-items:center;gap:18px;min-height:44px;background:transparent;border:0;padding:8px 0 8px 10px;font-size:13px}.theme:hover,.menu-toggle:hover{color:var(--muted)}.masthead nav{position:absolute;right:0;top:84px;width:min(520px,100%);background:var(--surface);padding:20px 32px 28px;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s}.masthead nav.mobile-open{visibility:visible;opacity:1;transform:none}.masthead nav a{display:flex;align-items:center;min-height:67px;font:800 38px/1.1 var(--display);border-bottom:1px solid var(--line);transition:padding-left .25s}.masthead nav a:last-child{border:0}.masthead nav a:hover{padding-left:12px}.personal-intro{padding:22px 0 38px;position:relative}.intro-title-row{display:grid;grid-template-columns:minmax(0,1fr) 24%;gap:2.5vw;align-items:end}.personal-intro h1{font:800 clamp(100px,min(24vw,26svh),400px)/.74 var(--display);letter-spacing:-.035em;text-transform:uppercase;max-width:100%;padding-bottom:.035em}.personal-intro h1>span{display:block}.personal-intro h1>span+span{margin-top:.07em}.intro-role{padding:0 0 4vw 14px;align-self:end}.intro-role>p{font-size:clamp(22px,2.5vw,45px);line-height:1.08;letter-spacing:-.035em}.intro-role>span{display:block;font-size:12px;color:var(--muted);margin-top:16px}.intro-scroll{display:flex;flex-direction:column;gap:18px;align-items:start;margin-top:70px}.intro-scroll span{font-size:10px;color:var(--muted)}.intro-scroll svg{transition:transform .3s}.intro-scroll:hover svg{transform:translateY(6px)}.intro-bottom{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-top:36px}.intro-bottom>p{font-size:14px;line-height:1.6;max-width:50ch;color:var(--muted)}.intro-about{font-size:12px;padding:14px 0;display:inline-flex;gap:35px;align-items:center;border-bottom:1px solid var(--line)}.intro-about:hover{border-color:var(--fg)}.projects{position:relative;padding:0 0 100px}.work-topline{display:flex;align-items:center;justify-content:space-between;padding:25px 0 34px;gap:20px}.work-topline h2{font-size:12px;font-weight:400;color:var(--muted)}.gallery-switcher{display:flex;align-items:center;gap:14px;font-size:10px;font-variant-numeric:tabular-nums}.gallery-switcher button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:none;font-size:20px;transition:background .2s,color .2s}.gallery-switcher button:hover{background:var(--fg);color:var(--bg)}.project-list{display:flex;flex-direction:column}.project{display:grid;grid-template-columns:minmax(0,25%) minmax(0,1fr);align-items:center;gap:4%;position:relative;min-width:0;padding:30px 0 70px;margin-top:-12px}.project:nth-child(2){grid-template-columns:minmax(0,1fr) minmax(0,26%);margin-left:3%;margin-right:4%;padding-top:0;margin-top:-3vw}.project:nth-child(2) .project-cover{grid-column:1;grid-row:1;transform:rotate(-3deg)}.project:nth-child(2) .project-body{grid-column:2;grid-row:1;padding-left:12px}.project:nth-child(3){margin-left:7%;grid-template-columns:minmax(0,26%) minmax(0,1fr);margin-top:-2vw}.project-body{position:relative;z-index:3;min-width:0;padding:10px 0}.project-position{display:block;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums;margin-bottom:16px}.project h3{font:800 clamp(32px,3.5vw,68px)/.96 var(--display);letter-spacing:-.025em;overflow-wrap:anywhere}.project-summary{font-size:13px;line-height:1.55;max-width:30ch;margin-top:18px}.tags{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:18px;color:var(--muted);font-size:10px;line-height:1.6}.tags span:not(:last-child):after{content:" /";margin-left:8px}.project details{margin-top:22px;border-block:1px solid var(--line);max-width:44ch}.project summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:44px;font-size:11px;cursor:pointer}.project summary::-webkit-details-marker{display:none}.project summary>span{font-size:19px;transition:transform .2s}.project details[open] summary>span{transform:rotate(45deg)}.project-details{padding:4px 0 18px;font-size:12px;line-height:1.75;color:var(--muted)}.project-details p+p{margin-top:15px}.project-demo-link{display:inline-flex;justify-content:space-between;align-items:center;gap:32px;min-height:48px;font-size:12px;border:0;border-bottom:1px solid var(--fg);padding:10px 0;background:transparent;margin-top:18px}.project-demo-link>span{font-size:20px;transition:transform .25s}.project-demo-link:hover>span{transform:translate(3px,-3px)}.project-availability{font-size:10px;line-height:1.5;margin-top:13px;color:var(--muted);max-width:34ch}.project-cover{display:block;position:relative;min-width:0;width:100%;aspect-ratio:1.6;overflow:hidden;background:var(--surface);transform:rotate(3deg);padding:0;border:0;box-shadow:0 20px 60px #0003;transition:transform .65s cubic-bezier(.16,1,.3,1)}.project-cover>img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;transition:transform .8s cubic-bezier(.16,1,.3,1)}.project-cover:hover,.project-cover:focus-visible{transform:rotate(0)}.project-cover:hover>img{transform:scale(1.025)}.cover-action{position:absolute;right:22px;bottom:22px;display:flex;align-items:center;min-height:44px;background:#f4f2ed;color:#080808;font-size:11px;padding:0 20px;opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s}.project-cover:hover .cover-action,.project-cover:focus-visible .cover-action{opacity:1;transform:none}.preview-board{height:100%;text-align:left;background:#eeefeb;color:#222322;padding:4%;font-family:Arial,Helvetica,sans-serif;overflow:hidden}.preview-top{display:flex;align-items:center;gap:15px;border-bottom:1px solid #d3d5d0;padding-bottom:3%}.preview-top b{font-size:clamp(16px,2vw,28px);letter-spacing:-.04em}.preview-top b span{color:#6e7770}.preview-top>span{font-size:9px;color:#626862}.preview-top i{margin-left:auto;font-size:9px;font-style:normal;background:#d9ddd5;padding:8px;border-radius:50%}.preview-heading{display:flex;justify-content:space-between;align-items:center;margin:3% 0}.preview-heading h4{font-size:clamp(15px,1.8vw,26px);font-weight:500;letter-spacing:-.025em}.preview-heading>span{background:#202422;color:#f4f2ed;padding:9px 11px;font-size:9px;border-radius:4px}.preview-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2%}.preview-columns h5{font-size:10px;margin-bottom:10px;font-weight:500}.preview-columns h5 span{margin-left:5px;color:#737771}.preview-task{padding:12px;background:#fff;margin-bottom:8px;border-radius:5px;min-height:80px}.preview-task>span{font-size:7px;color:#687064}.preview-task p{font-size:10px;line-height:1.4;margin:7px 0 10px}.preview-task small{font-size:7px;color:#737771}.section{display:grid;grid-template-columns:minmax(0,22%) minmax(0,1fr);gap:6%;padding:100px 0;border-top:1px solid var(--line)}.section-label{font-size:10px;letter-spacing:.06em;color:var(--muted);padding-top:12px}.section h2{font:800 clamp(36px,4.9vw,82px)/1.02 var(--display);letter-spacing:-.025em;max-width:22ch;text-wrap:balance}.muted{color:var(--muted)}.projects-intro{font-size:14px;line-height:1.75;color:var(--muted);max-width:65ch;margin-top:25px}.services-grid{display:flex;flex-direction:column;margin-top:44px}.service-card{display:grid;grid-template-columns:38% minmax(0,1fr);gap:12px 7%;padding:30px 0;border-top:1px solid var(--line);align-items:start}.service-card h3{font-size:20px;font-weight:400;line-height:1.2;letter-spacing:-.025em}.service-card p{font-size:13px;line-height:1.75;color:var(--muted)}.service-tags{grid-column:2;display:flex;gap:7px 12px;flex-wrap:wrap;font-size:10px;color:var(--muted)}.guarantees-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;margin-top:30px;border-top:1px solid var(--line);padding-top:35px}.guarantee-card h4{font-size:14px;font-weight:400;margin:0 0 12px}.guarantee-card p{font-size:12px;line-height:1.7;color:var(--muted);max-width:32ch}.about-columns{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:35px}.about-columns p{font-size:14px;line-height:1.8;color:var(--muted)}.facts{display:flex;flex-wrap:wrap;gap:25px 45px;margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}.facts div{display:flex;flex-direction:column;gap:9px}.facts strong{font-size:20px;font-weight:400;letter-spacing:-.03em}.facts em{font-style:normal;color:var(--muted)}.facts span{font-size:10px;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:35px}.text-link{display:inline-flex;align-items:center;min-height:44px;font-size:12px;white-space:nowrap;border-bottom:1px solid var(--line)}.text-link:hover{border-color:var(--fg)}.job{padding:30px 0;border-top:1px solid var(--line)}.job-date{font-size:10px;color:var(--muted)}.job h3{font-size:23px;font-weight:400;letter-spacing:-.025em;margin:14px 0 8px}.job .role{font-size:12px;margin-bottom:17px}.job p:not(.role){font-size:13px;color:var(--muted);line-height:1.75;max-width:70ch}.skill-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:40px}.skill-grid article{padding-top:20px;border-top:1px solid var(--line)}.skill-grid h3{font-size:20px;font-weight:400;margin-bottom:14px}.skill-grid p{font-size:13px;line-height:1.8;color:var(--muted);max-width:33ch}.contact{border-top:1px solid var(--line);padding:90px 0 55px}.client-badge{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px}.dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor}.contact-lead{font-size:16px;line-height:1.6;max-width:55ch;margin-top:30px;color:var(--muted)}.big-contact{display:block;font:800 clamp(58px,11vw,180px)/.95 var(--display);text-transform:uppercase;letter-spacing:-.025em;margin-top:36px}.big-contact>span{display:block}.big-contact i{display:inline-block;font-family:Arial,sans-serif;font-style:normal;font-size:.65em;transition:transform .3s}.big-contact:hover i{transform:translate(8px,-8px)}.contact-sub{font-size:12px;color:var(--muted);line-height:1.7;max-width:65ch;margin-top:30px}.contact-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:12px 40px;margin-top:40px}.contact-bottom a,.contact-bottom button{display:inline-flex;align-items:center;min-height:44px;font-size:13px;overflow-wrap:anywhere}.contact-bottom button{padding:0;background:none;border:0;border-bottom:1px solid var(--line)}footer{display:flex;align-items:center;gap:30px;border-top:1px solid var(--line);padding:25px 0 30px;font-size:10px;color:var(--muted)}footer .logo{font:800 30px var(--display);color:var(--fg)}footer>a:last-child{margin-left:auto;min-height:44px;display:flex;align-items:center}.reveal-section{opacity:1}@media(prefers-reduced-motion:no-preference){.intro-title-row{animation:opening 1s cubic-bezier(.16,1,.3,1) both}.project.reveal-section.is-revealed .project-cover{animation:frame-arrival 1.5s cubic-bezier(.22,.61,.36,1) both}@keyframes opening{0%{clip-path:inset(0 0 8% 0);translate:0 12px}to{clip-path:inset(0);translate:0 0}}@keyframes frame-arrival{0%{scale:.975}to{scale:1}}}@media(min-width:1700px){.site{--gutter:max(70px, calc((100vw - 1600px)/2) )}.personal-intro h1{font-size:400px}}@media(max-width:1100px){.masthead{height:85px}.intro-role{padding-left:0}.intro-scroll{margin-top:40px}.project{grid-template-columns:28% minmax(0,1fr);gap:4%}.project:nth-child(2){grid-template-columns:minmax(0,1fr) 29%;margin-right:0}.project:nth-child(3){margin-left:0;grid-template-columns:28% minmax(0,1fr)}.project h3{font-size:40px}.project-summary{font-size:12px}.project-cover{aspect-ratio:1.35}.section{grid-template-columns:18% minmax(0,1fr);gap:6%;padding:75px 0}.section-heading{flex-direction:column;align-items:start}.about-columns{gap:25px}}@media(max-width:700px){html{scroll-padding-top:20px}.site{--gutter:22px}.masthead{height:78px;gap:16px}.identity{font-size:32px}.masthead-location{font-size:10px}.menu-toggle{gap:12px;font-size:12px}.theme{width:40px}.masthead nav{top:70px;padding:14px 23px 20px;width:100%}.masthead nav a{font-size:36px;min-height:62px}.personal-intro{padding:16px 0 25px}.intro-title-row{grid-template-columns:minmax(0,1fr) 25%;gap:12px;align-items:end}.personal-intro h1{font-size:clamp(96px,25vw,180px);line-height:.78;letter-spacing:-.03em}.personal-intro h1>span+span{margin-top:.055em}.intro-role{padding:0 0 4px}.intro-role>p{font-size:clamp(13px,3.1vw,22px);line-height:1.15}.intro-role>span{font-size:8px;margin-top:13px;line-height:1.6}.intro-scroll{margin-top:25px;gap:8px}.intro-scroll svg{width:15px;height:26px}.intro-scroll span{font-size:7px;line-height:1.5}.intro-bottom{margin-top:27px;gap:16px;align-items:start}.intro-bottom>p{font-size:11px;line-height:1.7;max-width:36ch}.intro-about{font-size:9px;gap:10px;flex-shrink:0;padding:8px 0}.work-topline{padding:10px 0 22px}.work-topline h2{font-size:10px}.gallery-switcher{gap:8px}.gallery-switcher button{width:44px;height:44px;font-size:17px}.gallery-switcher>span{font-size:9px}.projects{padding-bottom:55px}.project,.project:nth-child(2),.project:nth-child(3){display:flex;flex-direction:column;align-items:stretch;margin:0;padding:0 0 55px;gap:24px}.project-cover,.project:nth-child(2) .project-cover{order:0;width:96%;align-self:center;aspect-ratio:1.5;transform:rotate(2deg)}.project:nth-child(2) .project-cover{transform:rotate(-2deg)}.project-body,.project:nth-child(2) .project-body{order:1;padding:0 2px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 20px;align-items:start}.project-position{grid-column:1/-1;margin-bottom:10px;font-size:9px}.project h3{font-size:44px;grid-column:1}.project-summary{grid-column:1;max-width:42ch;font-size:12px;margin-top:10px}.project .tags{grid-column:1/-1;margin-top:14px;font-size:9px}.project details{grid-column:1/-1;max-width:none;margin-top:18px}.project-demo-link{grid-column:2;grid-row:2/4;align-self:start;margin-top:0;font-size:10px;gap:12px;min-height:44px}.project-availability{grid-column:1/-1;max-width:none;font-size:9px}.cover-action{display:none}.preview-board{padding:5%}.preview-top b{font-size:20px}.preview-top>span{font-size:7px}.preview-heading h4{font-size:17px}.preview-heading>span{font-size:7px;padding:7px}.preview-top i{font-size:7px;padding:6px}.preview-columns h5{font-size:8px}.preview-columns h5 span{margin-left:2px}.preview-task{padding:8px;min-height:65px;margin-bottom:6px}.preview-task p{font-size:8px;margin:5px 0 7px}.preview-task>span,.preview-task small{font-size:6px}.section{display:block;padding:55px 0}.section-label{padding:0;margin-bottom:26px;font-size:9px}.section h2{font-size:clamp(38px,8vw,55px);max-width:23ch}.projects-intro{font-size:13px;margin-top:20px}.services-grid{margin-top:25px}.service-card{display:block;padding:24px 0}.service-card h3{font-size:21px}.service-card p{font-size:12px;margin-top:14px}.service-tags{margin-top:15px;font-size:9px}.guarantees-grid{gap:25px 20px;margin-top:10px;padding-top:25px}.guarantee-card h4{font-size:13px}.guarantee-card p{font-size:11px}.about-columns{grid-template-columns:1fr;gap:20px;margin-top:25px}.about-columns p{font-size:13px}.facts{gap:24px;margin-top:25px}.facts strong{font-size:18px}.facts span{font-size:9px}.job{padding:25px 0}.job h3{font-size:21px}.job p:not(.role){font-size:12px}.skill-grid{gap:26px 20px;margin-top:28px}.skill-grid h3{font-size:18px}.skill-grid p{font-size:12px}.contact{padding:55px 0 35px}.contact-lead{font-size:14px;max-width:36ch}.big-contact{font-size:clamp(52px,13vw,95px);margin-top:25px}.contact-sub{font-size:11px}.contact-bottom{gap:6px 25px;margin-top:25px}.contact-bottom a,.contact-bottom button{font-size:12px}footer{gap:15px;flex-wrap:wrap;font-size:9px}footer>span:nth-of-type(2){display:none}}@media(max-width:360px){.site{--gutter:17px}.masthead-location{display:none}.theme{margin-left:auto}.intro-title-row{grid-template-columns:1fr}.personal-intro h1{font-size:35vw}.intro-role{display:flex;align-items:end;gap:15px;margin-top:25px}.intro-role>p{font-size:17px}.intro-role>span{font-size:10px}.intro-scroll{margin:0 0 0 auto}.intro-scroll span{display:none}.intro-bottom{flex-direction:column}.project-body{column-gap:10px}.project h3{font-size:36px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site *,.site *:before,.site *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.project-cover,.project:nth-child(2) .project-cover{transform:none}}.logo-cover{display:grid;place-items:center;aspect-ratio:1.6;isolation:isolate}.cookie-logo-cover{background:#f3eee5;color:#152c27}.cookie-logo-window{position:relative;display:block;width:70%;max-width:560px;aspect-ratio:827 / 293;overflow:hidden}.cookie-logo-window img{position:absolute;width:120.92%;height:auto;max-width:none;left:-10.88%;top:-99.66%}.cali-logo-cover{background:#161616}.cali-logo{display:block;width:57%;height:80%;object-fit:contain}.spazio-cover{background:#e7e9e3;color:#252c27}.spazio-wordmark{font:600 clamp(60px,9vw,150px)/1 Arial,sans-serif;letter-spacing:-.04em}.spazio-wordmark>span{color:#697568}.case-heading{margin:65px 0 38px;max-width:960px}.case-heading h2{font:800 clamp(60px,9vw,140px)/.95 var(--display);letter-spacing:-.025em}.case-heading>p{font-size:clamp(17px,2vw,25px);line-height:1.5;max-width:48ch;margin-top:25px;color:var(--muted)}.case-logo-stage{display:grid;place-items:center;aspect-ratio:2.7;min-height:220px;width:100%;margin:0 0 65px}.case-logo-stage .cookie-logo-window{width:55%;max-width:580px}.case-logo-stage .cali-logo{width:40%;max-height:340px}.project-story{display:grid;grid-template-columns:1fr 1fr;gap:40px 7%;padding:0 0 55px}.project-story section{padding-top:22px;border-top:1px solid var(--line)}.project-story section:first-child{grid-column:1/-1;display:grid;grid-template-columns:28% 1fr;gap:6%}.project-story h3{font:800 35px/1 var(--display);letter-spacing:-.025em}.project-story p,.project-story li{font-size:14px;line-height:1.85;color:var(--muted);max-width:70ch}.project-story section:not(:first-child) h3{margin-bottom:20px}.project-story ul{padding-left:18px;margin:0}.project-story li+li{margin-top:10px}.case-screenshot{margin:0}.case-screenshot img{display:block;width:100%;height:auto}.case-screenshot figcaption{font-size:11px;color:var(--muted);margin-top:15px}.case-external{margin-top:55px;padding-top:30px;border-top:1px solid var(--line)}.case-external>p{font:800 45px/1 var(--display)}.case-external .project-demo-link{margin-top:22px;font-size:15px}.case-external>span{display:block;margin-top:17px;color:var(--muted);font-size:11px;overflow-wrap:anywhere}@media(max-width:700px){.logo-cover{aspect-ratio:1.5}.cookie-logo-window{width:78%}.cali-logo{width:65%}.spazio-wordmark{font-size:clamp(60px,15vw,100px)}.case-heading{margin:40px 0 28px}.case-heading h2{font-size:64px}.case-heading>p{font-size:17px}.case-logo-stage{aspect-ratio:1.65;min-height:180px;margin-bottom:40px}.case-logo-stage .cookie-logo-window{width:80%}.case-logo-stage .cali-logo{width:65%;max-height:240px}.project-story{display:block;padding-bottom:35px}.project-story section,.project-story section:first-child{display:block;margin-top:30px}.project-story h3{font-size:30px;margin-bottom:18px}.project-story p,.project-story li{font-size:13px}.case-external{margin-top:35px}}.logo-cover>img.cali-logo{width:57%;height:80%;object-fit:contain}.cali-logo-cover{background:#000}@media(max-width:700px){.logo-cover>img.cali-logo{width:65%}}.personal-intro h1 .intro-line{overflow:hidden;padding:0 .02em .065em 0;margin-bottom:-.065em;transition:translate .2s linear}.hero-letter{display:inline-block;transform-origin:bottom center}.intro-title-row{animation:none!important}.logo-cover{--angle:3deg;transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) rotate(calc(var(--angle) + var(--scroll-turn,0deg)));translate:0 var(--scroll-shift,0px);transition:transform .6s cubic-bezier(.16,1,.3,1),translate .25s linear;transform-style:preserve-3d}.project:nth-child(2) .logo-cover{--angle:-3deg;transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) rotate(calc(var(--angle) + var(--scroll-turn,0deg)))}.logo-cover:hover,.project:nth-child(2) .logo-cover:hover,.logo-cover:focus-visible{--angle:0deg}@media(prefers-reduced-motion:no-preference){.hero-letter{animation:montage-letter 1.5s cubic-bezier(.22,.61,.36,1) both;animation-delay:calc(var(--letter) * 45ms)}.intro-role{animation:montage-support 1.2s cubic-bezier(.22,.61,.36,1) .4s both}.intro-bottom{animation:montage-support 1.2s cubic-bezier(.22,.61,.36,1) .65s both}.intro-line:first-child{translate:calc(var(--intro-progress,0) * -24px) 0}.intro-line:last-child{translate:calc(var(--intro-progress,0) * 24px) 0}.masthead nav{clip-path:inset(0 0 100% 0);transition:clip-path .45s cubic-bezier(.16,1,.3,1),opacity .2s,visibility .2s,transform .3s}.masthead nav.mobile-open{clip-path:inset(0)}.masthead nav a{translate:0 15px;opacity:0;transition:translate .4s cubic-bezier(.16,1,.3,1),opacity .25s,padding-left .25s}.masthead nav.mobile-open a{translate:0 0;opacity:1}.masthead nav.mobile-open a:nth-child(2){transition-delay:40ms}.masthead nav.mobile-open a:nth-child(3){transition-delay:80ms}.masthead nav.mobile-open a:nth-child(4){transition-delay:.12s}.masthead nav.mobile-open a:nth-child(5){transition-delay:.16s}.case-dialog[open] .case-heading{animation:montage-support .6s cubic-bezier(.16,1,.3,1) both}@keyframes montage-letter{0%{transform:translateY(80%)}to{transform:translateY(0)}}@keyframes montage-support{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}}::view-transition-group(project-identity){animation-duration:1s;animation-timing-function:cubic-bezier(.16,1,.3,1)}::view-transition-old(project-identity),::view-transition-new(project-identity){animation-duration:1s;mix-blend-mode:normal;height:100%;object-fit:contain}@media(max-width:700px){.logo-cover{--angle:2deg;translate:0 0}.project:nth-child(2) .logo-cover{--angle:-2deg}.hero-letter{animation-duration:1.5s}.intro-line:first-child,.intro-line:last-child{translate:0 0}}@media(prefers-reduced-motion:reduce){.site .logo-cover,.site .project:nth-child(2) .logo-cover{transform:none;translate:0 0}.site .hero-letter,.site .intro-role,.site .intro-bottom{animation:none;transform:none;opacity:1}.site .masthead nav a{opacity:1;translate:0 0}::view-transition-group(project-identity),::view-transition-old(project-identity),::view-transition-new(project-identity){animation:none!important}}.personal-intro h1{line-height:.84;letter-spacing:-.02em}.personal-intro h1>span+span{margin-top:.035em}.project-list{gap:72px}.project,.project:nth-child(2),.project:nth-child(3){margin-top:0;padding-top:20px;padding-bottom:20px}.project h3,.case-heading h2{line-height:1.04;letter-spacing:-.015em}.project-body{padding-block:24px}.project-summary{font-size:14px;line-height:1.7}.project .tags{font-size:11px;line-height:1.7}.project-availability{font-size:11px;line-height:1.6}.projects{padding-bottom:72px}.logo-cover{aspect-ratio:1.8}.logo-cover>img.cali-logo{width:68%;height:86%}.section{padding-block:80px}.case-logo-stage{aspect-ratio:3;min-height:200px;margin-bottom:48px}.case-heading{margin-block:48px 32px}.project-story{gap:32px 7%}@media(max-width:1100px){.project-list{gap:64px}.section{padding-block:64px}.project h3{font-size:clamp(36px,4.3vw,48px)}}@media(max-width:900px){.project,.project:nth-child(2),.project:nth-child(3){display:flex;flex-direction:column;align-items:stretch;gap:28px;margin:0;padding:12px 0}.project-cover,.project:nth-child(2) .project-cover{order:0;width:94%;align-self:center;aspect-ratio:1.8}.project-body,.project:nth-child(2) .project-body{order:1;display:block;padding:0 3%}.project h3{font-size:48px;max-width:none;overflow-wrap:normal}.project-summary{max-width:60ch;margin-top:14px}.project details{max-width:none;margin-top:20px}.project-demo-link{margin-top:18px}.project-availability{max-width:none}.project-position{margin-bottom:12px}.project-list{gap:52px}.projects{padding-bottom:56px}.logo-cover>img.cali-logo{width:65%;height:86%}}@media(max-width:600px){.project-list{gap:40px}.project-body,.project:nth-child(2) .project-body{padding-inline:0}.project h3{font-size:44px;line-height:1.05}.project-summary{font-size:14px;line-height:1.7;max-width:42ch}.project .tags{font-size:11px;margin-top:16px}.project details{margin-top:20px}.project summary{font-size:12px;min-height:48px}.project-details{font-size:13px}.project-demo-link{margin-top:18px;font-size:12px;min-height:48px}.project-availability{font-size:11px;margin-top:16px}.project-cover,.project:nth-child(2) .project-cover{aspect-ratio:1.65}.section{padding-block:48px}.section h2{line-height:1.08}.intro-role>span,.intro-scroll span{font-size:10px;line-height:1.5}.intro-bottom>p{font-size:13px;line-height:1.7}.intro-about{font-size:11px}.work-topline{padding-block:16px 28px}.case-heading{margin-block:36px 28px}.case-heading h2{font-size:56px;overflow-wrap:anywhere}.case-logo-stage{aspect-ratio:1.8;min-height:160px;margin-bottom:32px}.project-story section{margin-top:28px;padding-top:20px}}@media(max-width:480px){.intro-title-row{grid-template-columns:1fr;gap:24px}.personal-intro h1{font-size:clamp(100px,30vw,145px);line-height:.84}.intro-role{display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px;padding:0}.intro-role>p{font-size:16px;line-height:1.3}.intro-role>p br{display:none}.intro-role>span{font-size:10px;margin:0}.intro-scroll{margin:0 0 0 auto;gap:0}.intro-scroll span{display:none}.intro-bottom{margin-top:24px;display:block}.intro-about{margin-top:12px;min-height:44px;gap:22px}.intro-bottom>p{max-width:none}}.language-switch{display:flex;gap:2px;align-items:center;margin-left:12px;flex-shrink:0}.language-switch button{min-width:34px;min-height:44px;padding:8px 5px;border:0;background:transparent;color:var(--muted);font-size:11px}.language-switch button[aria-pressed=true]{color:var(--fg);text-decoration:underline;text-underline-offset:7px}@media(max-width:480px){.masthead-location{display:none}.language-switch{margin-left:auto}.masthead{gap:10px}.language-switch button{min-width:30px}}@font-face{font-family:Neue Montreal;src:url("./media/NeueMontreal-Regular-W5KYHDJQ.otf") format("opentype");font-style:normal;font-weight:450;font-display:swap}@font-face{font-family:Neue Montreal;src:url("./media/NeueMontreal-Light-J4NLKBSH.otf") format("opentype");font-style:normal;font-weight:300;font-display:swap}@font-face{font-family:Neue Montreal;src:url("./media/NeueMontreal-Bold-NPZO6355.otf") format("opentype");font-style:normal;font-weight:800;font-display:swap}.site{--display:"Neue Montreal",Arial,sans-serif;font-family:Neue Montreal,Arial,sans-serif;font-weight:450}.personal-intro h1{font-family:var(--display);font-weight:450;font-size:clamp(96px,min(18vw,24svh),320px);line-height:.96;letter-spacing:-.04em}.personal-intro h1>span+span{margin-top:.02em}.intro-role>p{letter-spacing:-.025em}.section h2{font-size:clamp(34px,4.1vw,68px);font-weight:450;line-height:1.14;letter-spacing:-.035em}.project h3{font-size:clamp(30px,3.1vw,49px);font-weight:450;line-height:1.12;letter-spacing:-.035em}.case-heading h2{font-size:clamp(46px,7.5vw,112px);font-weight:450;line-height:1.08;letter-spacing:-.035em}.masthead nav a{font-weight:450;font-size:34px;line-height:1.2;letter-spacing:-.025em}.project-story h3,.case-external>p{font-weight:450;font-size:30px;line-height:1.15;letter-spacing:-.025em}.big-contact{font-weight:450;font-size:clamp(54px,9vw,140px);line-height:1.02;letter-spacing:-.04em}.site .project-dialog{font-family:Neue Montreal,Arial,sans-serif}.site .dialog-heading h2,.site .case-intro h3{font-family:Neue Montreal,Arial,sans-serif;font-weight:450;letter-spacing:-.035em}.site .dialog-brand,.site .demo-brand,.site .architecture b,.site .case-grid h3,.site .live-column-title h3{font-family:Neue Montreal,Arial,sans-serif}.project-summary,.projects-intro,.about-columns p,.job p:not(.role),.service-card p,.project-story p,.project-story li{text-wrap:pretty}@media(max-width:1100px){.project h3{font-size:36px}}@media(max-width:900px){.project h3{font-size:40px}}@media(max-width:600px){.project h3{font-size:36px}.case-heading h2{font-size:clamp(34px,9.5vw,54px)}.section h2{font-size:clamp(32px,7vw,45px);line-height:1.16}.big-contact{font-size:clamp(46px,11vw,75px)}.project-story h3{font-size:27px}}@media(max-width:480px){.personal-intro h1{font-size:clamp(64px,19.5vw,100px);line-height:1;letter-spacing:-.035em}}@media(max-width:480px){.intro-role{margin-top:0}}.site h1,.site h2,.site h3,.site .big-contact{text-transform:none}.service-card h3,.job h3,.skill-grid h3{font-family:var(--display);font-weight:450;line-height:1.16}.identity,footer .logo{display:flex;align-items:center;min-height:44px;width:66px;flex-shrink:0}.personal-mark{display:block;width:66px;height:auto;transition:transform .5s cubic-bezier(.16,1,.3,1)}.identity:hover .personal-mark,footer .logo:hover .personal-mark{transform:rotate(-7deg)}.intro-signature{position:absolute;left:62%;top:13%;width:clamp(180px,23vw,340px);aspect-ratio:1;transform:translate(-50%) rotate(-12deg);color:var(--fg);isolation:isolate}.intro-signature svg{width:100%;height:100%;overflow:visible}.code-wing{animation:code-float 10s cubic-bezier(.45,0,.55,1) infinite;transform-box:fill-box;transform-origin:center}.code-wing-right{animation-delay:-5s}.code-object:hover .code-wing{animation-play-state:paused}.personal-intro{padding-bottom:22px}.intro-bottom{margin-top:24px}@keyframes code-float{0%,to{translate:0 0}50%{translate:0 -10px}}@media(max-width:1100px)and (min-width:601px){.intro-signature{left:62%;width:clamp(140px,20vw,220px);top:16%}}@media(max-width:600px){.identity,footer .logo{width:49px}.personal-mark{width:49px}.intro-signature{left:auto;right:-8px;top:86px;transform:rotate(-12deg);width:clamp(94px,29vw,150px)}.personal-intro{padding-bottom:8px}.intro-bottom{margin-top:22px;gap:20px}.intro-bottom>p{max-width:40ch}.work-topline{padding-top:14px;padding-bottom:22px}}@media(prefers-reduced-motion:reduce){.code-wing{animation:none}}.reading-progress{position:fixed;inset:0 0 auto;height:2px;background:var(--fg);transform:scaleX(var(--reading-progress,0));transform-origin:left;z-index:50;pointer-events:none}.section{display:block}.section-label{padding-top:0;margin-bottom:32px}.chapter-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8%;align-items:start}.chapter-title{position:sticky;top:40px;align-self:start}.chapter-title h2{font-size:clamp(36px,3.8vw,64px);max-width:19ch;line-height:1.13}.chapter-title .section-heading{display:block;margin:0}.chapter-title .text-link{margin-top:28px}.chapter-body{min-width:0}.chapter-body>.projects-intro,.chapter-body>.services-grid,.chapter-body>.about-columns,.chapter-body>.skill-grid{margin-top:0}.chapter-body .about-columns{grid-template-columns:1fr;gap:28px}.chapter-body .about-columns p{font-size:clamp(15px,1.2vw,19px);line-height:1.75;max-width:55ch}.chapter-body .service-card{grid-template-columns:1fr;gap:14px}.chapter-body .service-tags{grid-column:1}.chapter-body .service-card h3{font-size:clamp(25px,2.2vw,34px)}.chapter-body .service-card:first-child{margin-top:28px}.chapter-body .job:first-child{padding-top:0;border-top:0}.chapter-body .job{padding-block:36px}.chapter-body .skill-grid{gap:32px 24px}@media(prefers-reduced-motion:no-preference){.chapter-title.is-revealed h2{animation:chapter-cut 1.5s cubic-bezier(.22,.61,.36,1) both}:is(.service-card,.job).is-revealed{animation:story-arrival 1.35s cubic-bezier(.22,.61,.36,1) both}.about-columns p.is-revealed,.skill-grid article.is-revealed{animation:reading-arrival 1.25s cubic-bezier(.22,.61,.36,1) both}@keyframes chapter-cut{0%{opacity:.65;translate:0 14px}to{opacity:1;translate:0 0}}@keyframes story-arrival{0%{translate:0 12px;opacity:.65}to{translate:0 0;opacity:1}}@keyframes reading-arrival{0%{translate:0 10px;opacity:.65}to{translate:0 0;opacity:1}}}@media(max-width:900px){.chapter-layout{display:block}.chapter-title{position:static;margin-bottom:32px}.chapter-title h2{font-size:clamp(32px,5.5vw,52px);max-width:24ch}.chapter-body .about-columns p{font-size:15px}.chapter-body .service-card{padding-block:26px}.chapter-body .service-card:first-child{margin-top:0}.section-label{margin-bottom:24px}.chapter-body .job{padding-block:28px}}.personal-intro h1 .intro-line{translate:0 0;transition:none}.logo-cover{translate:0 0;transition:transform .45s cubic-bezier(.22,.61,.36,1)}@supports (animation-timeline:scroll()){.reading-progress{animation:reading-track linear both;animation-timeline:scroll(root block)}@keyframes reading-track{0%{transform:scaleX(0)}to{transform:scaleX(1)}}}@media(min-width:1000px)and (min-height:700px)and (prefers-reduced-motion:no-preference){.project-list{gap:0;isolation:isolate}.project,.project:nth-child(2),.project:nth-child(3){position:sticky;top:24px;min-height:calc(100svh - 48px);margin:0;padding:48px 0;grid-template-columns:minmax(0,30%) minmax(0,1fr);gap:6%;background:var(--bg);border-top:1px solid var(--line);align-items:center}.project:nth-child(2) .project-body{grid-column:1;padding-left:0}.project:nth-child(2) .project-cover{grid-column:2}.project .logo-cover{--angle:0deg;box-shadow:none;animation:none}.project-list:has(:focus-visible) .project{position:relative}.project:has(details[open]){position:relative}.project-body{padding-block:8px}.project h3{font-size:clamp(36px,3.8vw,60px)}.project:nth-child(2){box-shadow:0 -25px 65px #0005}.project:nth-child(3){box-shadow:0 -25px 65px #0005}}@supports (animation-timeline:view()){@media(prefers-reduced-motion:no-preference){.scroll-reading{view-timeline-name:--reading-scene;view-timeline-axis:block}.scroll-word{color:var(--muted);animation:word-ink linear both;animation-timeline:--reading-scene;animation-range-start:cover var(--word-start);animation-range-end:cover var(--word-end)}@keyframes word-ink{0%{color:var(--muted)}to{color:var(--fg)}}.about-columns p.is-revealed{animation:none}.project{view-timeline-name:--project-scene;view-timeline-axis:block}.project .logo-cover{animation:scene-depth linear both;animation-timeline:--project-scene;animation-range:entry 0% entry 100%}@keyframes scene-depth{0%{scale:.91;rotate:-2deg}to{scale:1;rotate:0deg}}}}.about .chapter-body .about-columns p{font-size:clamp(20px,1.8vw,29px);line-height:1.6;letter-spacing:-.02em}@media(max-width:900px)and (prefers-reduced-motion:no-preference){.project{isolation:isolate}.project .logo-cover{position:sticky;top:18px;z-index:0}.project-body,.project:nth-child(2) .project-body{position:relative;z-index:1;background:var(--bg);padding-block:22px}}@media(max-width:600px){.about .chapter-body .about-columns p{font-size:21px;line-height:1.6}.about .chapter-body .about-columns{gap:36px}}.intro-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin-top:28px;padding-bottom:22px}.intro-actions a{display:inline-flex;justify-content:space-between;align-items:center;gap:28px;min-height:48px;padding:12px 20px;font-size:14px}.action-primary{background:var(--fg);color:var(--bg)}.action-secondary{border:1px solid var(--line)}.intro-actions a:hover{outline:1px solid var(--fg);outline-offset:3px}.intro-actions p{font-size:13px;line-height:1.6;color:var(--muted);max-width:36ch}.visual-cover{aspect-ratio:1.35;isolation:isolate}.visual-cover>.cookie-logo-window{position:absolute;left:5%;top:5%;width:27%;z-index:2}.visual-cover>img.cali-logo{position:absolute;left:5%;top:4%;width:12%!important;height:17%!important;z-index:2;object-fit:contain}app-project-preview{display:block;width:100%;height:100%;min-width:0}.preview-composition{position:relative;display:block;width:100%;height:100%;isolation:isolate}.preview-desktop{position:absolute;left:6%;bottom:9%;width:77%;display:block;overflow:hidden;background:#fff;color:#262626;box-shadow:0 16px 36px #0003;border:1px solid #8c8c8c45}.preview-desktop>img{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;object-position:top}.preview-chrome{display:flex;align-items:center;gap:4px;height:22px;padding:0 9px;background:#ecece9;color:#62625e;font-size:9px;text-align:center}.preview-chrome i{width:4px;height:4px;background:#a2a29d;border-radius:50%}.preview-chrome>span{margin-inline:auto}.preview-mobile{position:absolute;right:5%;bottom:5%;width:21%;display:block;background:#111;border:5px solid #222;border-radius:18px;overflow:hidden;box-shadow:0 12px 30px #0004}.preview-mobile>img{display:block;width:100%;height:auto;aspect-ratio:390/844;object-fit:cover;object-position:top}.preview-speaker{position:absolute;left:32%;right:32%;top:0;height:7px;background:#222;border-radius:0 0 8px 8px;z-index:1}.visual-cover .cover-action{z-index:4}.project-role{font-size:13px;line-height:1.65;max-width:32ch;color:var(--muted);margin-top:20px}.case-page-link{display:inline-flex;align-items:center;min-height:44px;font-size:13px;border-bottom:1px solid var(--line);margin-top:10px}.case-page-link:hover{border-color:var(--fg)}.case-visual{aspect-ratio:1.7;background:var(--surface);margin-bottom:44px;overflow:hidden}.case-visual .preview-desktop{bottom:8%;width:72%}.case-visual .preview-mobile{width:17%;right:9%}.case-role{border-block:1px solid var(--line);padding:28px 0;margin-bottom:36px}.case-role h3,.case-decisions h3{font-size:23px;font-weight:450;margin-bottom:14px}.case-role p,.case-decisions p{font-size:15px;line-height:1.75;max-width:65ch;color:var(--muted)}.case-decisions{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:44px}.experience-proof{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:24px 0;padding:20px 0;border-block:1px solid var(--line)}.experience-proof span{font-size:13px}.experience-proof svg{color:var(--muted)}.project-position,.tags,.project .tags,.project-availability,.job-date,.section-label,.facts span,.service-tags,.guarantee-card p,.contact-sub{font-size:12px}.guarantee-card p{line-height:1.75}.contact-bottom a,.contact-bottom button{font-size:14px}@media(min-width:1000px)and (min-height:700px)and (prefers-reduced-motion:no-preference){.project,.project:nth-child(2),.project:nth-child(3){grid-template-columns:minmax(0,30%) minmax(0,1fr);gap:5%;padding-block:28px}.project-summary{margin-top:14px}.project .tags{margin-top:12px}.project-role{margin-top:14px}}@media(max-width:600px){.intro-actions{gap:12px;margin-top:22px}.intro-actions a{font-size:13px;padding:12px 16px;gap:20px}.intro-actions p{max-width:none;flex-basis:100%}.project .visual-cover,.project:nth-child(2) .visual-cover{aspect-ratio:1.25}.preview-mobile{border-width:3px;border-radius:12px;width:23%}.preview-chrome{font-size:7px;height:16px;gap:3px;padding:0 5px}.preview-chrome i{width:3px;height:3px}.preview-speaker{height:5px}.case-visual{aspect-ratio:1.25;margin-bottom:28px}.case-visual .preview-desktop{width:77%;left:5%;bottom:12%}.case-visual .preview-mobile{width:22%;right:5%}.case-decisions{grid-template-columns:1fr;gap:26px}.case-role p,.case-decisions p{font-size:14px}.project-role{max-width:42ch}.section-label{font-size:11px}.facts span{line-height:1.6}}.intro-about,.client-badge,footer{font-size:13px}.intro-about{min-height:44px}.facts strong{overflow-wrap:anywhere}@media(max-width:900px){.site .project .logo-cover,.site .project:nth-child(2) .logo-cover{position:relative;top:auto;width:100%;align-self:stretch;transform:none;translate:0 0;rotate:0deg;scale:1;animation:none;transition:none}.site .project .project-body,.site .project:nth-child(2) .project-body{background:none;padding-inline:0}}@media(max-width:900px){.site .project.reveal-section.is-revealed .project-cover{animation:none}}.site .identity{width:auto;font:450 14px/1.3 Neue Montreal,Arial,sans-serif;letter-spacing:-.02em;min-height:44px}.plain-identity{color:var(--fg)}.site .visual-cover,.site .project:nth-child(2) .visual-cover{aspect-ratio:auto;display:block;background:var(--surface);overflow:visible}.preview-composition{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.23fr);align-items:center;gap:5%;padding:6%;height:auto;min-height:0}.preview-desktop,.case-visual .preview-desktop{position:relative;left:auto;bottom:auto;width:100%;min-width:0;box-shadow:0 10px 24px #0002}.preview-mobile,.case-visual .preview-mobile{position:relative;right:auto;bottom:auto;width:100%;min-width:0;box-shadow:0 8px 20px #0003;border-radius:14px}.preview-desktop>img,.preview-mobile>img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center}.case-visual{aspect-ratio:auto;overflow:visible}.case-visual app-project-preview{height:auto}.preview-speaker{display:none}@media(max-width:600px){.site .identity{font-size:12px;max-width:66px}.preview-composition{gap:4%;padding:5%;grid-template-columns:minmax(0,1fr) minmax(0,.24fr)}.preview-mobile,.case-visual .preview-mobile{border-radius:8px;border-width:2px}.site .project .visual-cover,.site .project:nth-child(2) .visual-cover{aspect-ratio:auto}.case-visual{aspect-ratio:auto}.preview-desktop,.case-visual .preview-desktop{width:100%;left:auto;bottom:auto}.preview-mobile,.case-visual .preview-mobile{width:100%;right:auto;bottom:auto}}.project-dialog{--bg:#111111;--fg:#e9e9e9;--muted:#a3a3a3;--line:#ffffff24;--accent:#c0c0c0;width:100%;max-width:none;height:100dvh;max-height:none;border:0;margin:0;padding:0;background:var(--bg);color:var(--fg);overflow-y:auto;overscroll-behavior:contain}.project-dialog::backdrop{background:#080808dd;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.project-dialog-inner{max-width:1500px;padding:30px 5% 70px;margin:auto}.dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-brand{font:700 32px Arial,sans-serif;letter-spacing:-2px}.dialog-brand>span{color:var(--accent)}.dialog-brand small{font:9px monospace;letter-spacing:1px;color:var(--muted);margin-left:20px}.close-project{border:1px solid var(--line);background:none;border-radius:30px;padding:10px 16px;font:11px monospace}.close-project>span{font-size:20px;margin-left:18px;vertical-align:middle}.close-project:hover{border-color:var(--accent)}.dialog-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin:55px 0 35px}.dialog-heading .intro-kicker{margin-bottom:15px;font-size:9px}.dialog-heading h2{font:500 clamp(45px,6vw,78px)/1.1 Arial,sans-serif;letter-spacing:-4px}.dialog-heading h2>span{color:var(--accent)}.dialog-heading p:last-child{font-size:14px;color:var(--muted);margin-top:15px}.project-tabs{display:flex;gap:5px;border:1px solid var(--line);padding:5px;border-radius:30px;flex-shrink:0}.project-tabs>button{background:transparent;border:0;padding:10px 17px;font-size:11px;border-radius:25px;color:var(--muted)}.project-tabs>button[aria-pressed=true]{background:var(--accent);color:#232323}.demo-workspace{background:#ededed;color:#262626;border-radius:12px;overflow:hidden;box-shadow:0 25px 100px #0004}.demo-toolbar{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:1px solid #28282816;gap:15px}.demo-brand{display:flex;gap:10px;align-items:center;font:600 25px Arial,sans-serif;letter-spacing:-1px}.demo-brand i{width:15px;height:15px;border-radius:50%;background:#7e7e7e}.demo-brand>span{font:8px monospace;letter-spacing:1px;color:#7a7a7a;margin-left:15px}.demo-add{border:0;border-radius:6px;background:#bdbdbd;color:#252525;padding:12px 17px;font-size:12px;white-space:nowrap}.demo-add:hover{background:#afafaf}.task-form{background:#e2e2e2;display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:15px;align-items:end;padding:24px 28px}.task-form label{display:block;font-size:10px;margin-bottom:8px;color:#585858}.task-form input,.task-form select{width:100%;min-width:0;border:1px solid #9a9a9a55;border-radius:5px;padding:11px 10px;font:12px inherit;background:#fafafa;color:#262626;min-height:42px}.demo-filters{display:flex;align-items:center;gap:20px;padding:25px 28px}.search-field{display:flex;align-items:center;gap:10px;flex:1;max-width:430px;color:#777}.search-field input{background:#e2e2e2;border:1px solid #87878725;border-radius:5px;padding:11px 12px;width:100%;font:12px inherit;color:#292929}.state-filter{display:flex;gap:10px;align-items:center;font-size:10px;color:#626262}.state-filter select{border:1px solid #87878755;padding:9px;border-radius:5px;background:transparent;color:#373737;font:11px inherit}.task-total{margin-left:auto;font:10px monospace;color:#6d6d6d}.live-kanban{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0 28px 28px;align-items:start}.live-column{min-height:300px;background:#e3e3e3;border:1px solid #98989833;padding:15px;border-radius:8px;transition:border-color .2s,background .2s}.live-column.drag-over{border-color:#666;background:#d8d8d8}.live-column-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.live-column-title h3{display:flex;align-items:center;gap:8px;font:500 13px Arial,sans-serif}.live-column-title i{width:7px;height:7px;border:1px solid #7b7b7b;border-radius:50%}.live-column-title i.complete{background:#686868}.live-column-title>span{font:10px monospace;color:#787878}.live-task{background:#fdfdfd;border:1px solid #d4d4d4;border-radius:6px;padding:16px;margin-bottom:12px;box-shadow:0 3px 5px #2a2a2a04;cursor:grab}.live-task:active{cursor:grabbing}.live-task-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.live-tag{font-size:9px;padding:4px 7px;background:#e7e7e7;border-radius:4px;color:#5d5d5d}.live-task-head button{background:none;border:0;color:#797979;font-size:18px;padding:0 3px}.live-task-head button:hover{color:#9e3729}.live-task h4{font-size:13px;line-height:1.6;font-weight:500;margin:14px 0 10px;overflow-wrap:anywhere}.task-complete{text-decoration:line-through;color:#7b7b7b}.due-date{font-size:9px;color:#868686}.live-task-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:20px}.avatar{font:8px monospace;color:#616161;background:#ececec;border:1px solid #c5c5c5;border-radius:50%;padding:6px}.live-task-bottom select{max-width:125px;width:100%;font-size:9px;color:#676767;border:1px solid #cacaca;background:#f4f4f4;border-radius:4px;padding:6px}.empty-column{font-size:11px;line-height:1.8;color:#8b8b8b;padding:25px 5px;border:1px dashed #aeaeae;border-radius:5px}.demo-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #28282816;padding:18px 28px;color:#787878}.demo-footer p{font-size:10px;line-height:1.8}.demo-footer p span{display:block}.demo-footer button{font-size:10px;background:none;border:0;color:#585858;white-space:nowrap;text-decoration:underline;text-underline-offset:4px}.demo-message{color:var(--accent);font-size:11px;margin-top:20px;min-height:18px}.demo-workspace :is(input,select,button):focus-visible{outline:2px solid #5c5c5c;outline-offset:3px}.case-intro{max-width:700px;margin:70px 0 40px}.case-study span,.case-grid article>span{font:9px monospace;color:var(--muted);letter-spacing:1.5px}.case-intro h3{font:400 clamp(32px,4vw,50px)/1.3 Arial,sans-serif;letter-spacing:-2px;margin:20px 0}.case-study p{font-size:14px;line-height:1.9;color:var(--muted)}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.case-grid article{border-top:1px solid var(--line);padding-top:25px}.case-grid h3{font:400 22px Arial,sans-serif;margin:18px 0 12px}.architecture{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:50px;padding:30px;border:1px solid var(--line)}.architecture b{font:400 20px Arial,sans-serif}.architecture span{display:block;font-size:9px;letter-spacing:0;margin-top:8px}.architecture i{color:var(--accent);font-style:normal}.architecture .planned{margin-left:auto;border-left:1px dashed var(--line);padding-left:25px;color:var(--muted)}@media(max-width:800px){.intro-bottom p{font-size:13px}.intro-note{display:none}.intro-kicker{font-size:8px;letter-spacing:1.2px}.dialog-heading{flex-direction:column;align-items:start;margin-top:35px}.project-dialog-inner{padding:20px 5% 40px}.dialog-brand small{display:none}.close-project{font-size:9px;padding:7px 12px}.task-form{grid-template-columns:1fr 1fr;padding:20px}.task-form>div:first-child{grid-column:1/-1}.live-kanban{gap:10px;padding:0 15px 20px}.live-column{padding:10px}.live-task{padding:12px}.demo-filters{padding:20px 15px;gap:12px;flex-wrap:wrap}.task-total{font-size:9px}.demo-toolbar{padding:20px}.demo-brand>span{display:none}.demo-footer{padding:15px 20px}.case-grid{gap:30px}.architecture .planned{margin-left:0}.dialog-heading h2{letter-spacing:-2px}}@media(max-width:550px){.live-kanban{grid-template-columns:1fr}.live-column{min-height:130px}.live-column-title h3,.live-task h4{font-size:14px}.task-form{grid-template-columns:1fr}.task-form>div:first-child{grid-column:auto}.demo-filters .search-field{min-width:100%;max-width:none}.demo-footer{align-items:start;flex-direction:column;gap:12px}.case-grid{grid-template-columns:1fr}.architecture{padding:20px;gap:20px}.architecture .planned{border-left:0;padding:20px 0 0;border-top:1px dashed var(--line);width:100%}.project-tabs>button{padding:9px 14px}.dialog-heading .intro-kicker{font-size:8px}.demo-toolbar{gap:8px}.demo-brand{font-size:21px}.demo-add{font-size:11px;padding:10px 12px}}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation-duration:0s!important}.live-column{transition:none}}.demo-workspace .empty-column,.demo-workspace .due-date,.demo-workspace .live-column-title>span,.demo-workspace .demo-footer,.demo-workspace .task-total{color:#595959}.demo-workspace input::placeholder{color:#606060;opacity:1}@media(prefers-reduced-motion:reduce){.site{transition:none}}
