@font-face{font-family:head;src:url(../media/lexend_giga_latin_500_normal-s.p.1sxz8um4vtd5b.woff2)format("woff2");font-display:swap;font-weight:500}@font-face{font-family:head Fallback;src:local(Arial);ascent-override:65.1%;descent-override:16.27%;line-gap-override:0.0%;size-adjust:153.62%}.E2pH5q_className{font-family:head,head Fallback,system-ui,sans-serif;font-weight:500}.E2pH5q_variable{--font-head:"head", "head Fallback", system-ui, sans-serif}
@font-face{font-family:body;src:url(../media/quattrocento_latin_400_normal-s.p.2wjxjhmjj71d7.woff2)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:body Fallback;src:local(Arial);ascent-override:82.87%;descent-override:25.41%;line-gap-override:0.0%;size-adjust:102.33%}.eWX_gG_className{font-family:body,body Fallback,Georgia,serif;font-weight:400}.eWX_gG_variable{--font-body:"body", "body Fallback", Georgia, serif}
:root{--mist:#edf0f5;--surface:#fafbfd;--stage:#e2e7ef;--stage-hover:#dbe2ee;--ink:#1a2033;--navy:#22326f;--muted:#565d70;--cobalt:#2348e8;--cobalt-tint:#e1e6fb;--butter:#f1de9c;--line:#1a20331a;--line-2:#1a203329;--line-3:#1a203380;--deep:linear-gradient(118deg, #1a2033 0%, #1e2b5c 52%, #2348e8 135%);--r-sm:2px;--r-md:4px;--ease:cubic-bezier(.22, 1, .36, 1);--shell:1360px;--reveal-y:24px;--reveal-dur:.9s;--gutter:clamp(20px, 4vw, 56px)}*,:before,:after{box-sizing:border-box}html{background:var(--mist);-webkit-text-size-adjust:100%;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;scroll-padding-top:96px}body{background:url(/grain.png) repeat, var(--mist);color:var(--ink);font-family:var(--font-body), Georgia, serif;background-size:128px 128px,auto;margin:0;font-size:1.0625rem;line-height:1.6;overflow-x:clip}h1,h2,h3,p,ul{margin:0}ul[role=list],.nav-list,.menu-panel ul,.footer-list,.tags{padding:0;list-style:none}a{color:inherit}img,svg{display:block}::selection{background:#2348e829}:focus-visible{outline:2px solid var(--cobalt);outline-offset:3px;border-radius:var(--r-sm)}main:focus{outline:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{left:var(--gutter);z-index:60;background:var(--ink);color:var(--mist);border-radius:var(--r-md);transition:transform .3s var(--ease);padding:10px 16px;text-decoration:none;position:fixed;top:12px;transform:translateY(-160%)}.skip:focus-visible{transform:none}.shell{width:min(var(--shell), calc(100% - var(--gutter) * 2));margin-inline:auto}.mg-a{stop-color:var(--ink);animation:10s ease-in-out infinite alternate mg-a}.mg-b{stop-color:var(--navy);animation:10s ease-in-out infinite alternate mg-b}.mg-c{stop-color:var(--cobalt);animation:10s ease-in-out infinite alternate mg-c}@keyframes mg-a{50%{stop-color:var(--navy)}to{stop-color:var(--ink)}}@keyframes mg-b{50%{stop-color:var(--cobalt)}to{stop-color:var(--ink)}}@keyframes mg-c{50%{stop-color:var(--ink)}to{stop-color:var(--navy)}}.roll{min-height:44px;color:inherit;align-items:center;text-decoration:none;display:inline-flex}.roll-track{height:1.3em;line-height:1.3em;display:block;overflow:hidden}.roll-track>span{white-space:nowrap;transition:transform .45s var(--ease);display:block}.roll .roll-track>span+span{color:var(--cobalt)}.roll:hover .roll-track>span,.roll:focus-visible .roll-track>span,.btn:hover .roll-track>span,.btn:focus-visible .roll-track>span{transform:translateY(-100%)}.btn{isolation:isolate;border-radius:var(--r-md);min-height:52px;font-family:var(--font-head), system-ui, sans-serif;letter-spacing:-.06em;cursor:pointer;transition:color .4s var(--ease), border-color .4s var(--ease), background-color .4s var(--ease);border:1px solid #0000;justify-content:center;align-items:center;padding:0 24px;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn-sm{min-height:44px;padding:0 18px;font-size:.8125rem}.btn-primary{color:var(--surface);background:linear-gradient(110deg, var(--ink) 0%, var(--ink) 42%, var(--navy) 70%, var(--cobalt) 100%);transition:background-position .9s var(--ease), color .4s var(--ease);background-position:0 0;background-size:260% 100%}.btn-primary:hover,.btn-primary:focus-visible{background-position:100% 0}.btn-arrow{transition:transform .5s var(--ease);margin-left:14px;display:inline-block}.btn:hover .btn-arrow,.btn:focus-visible .btn-arrow{transform:translate(4px)}.btn-ghost:hover .btn-arrow.up,.btn-ghost:focus-visible .btn-arrow.up{transform:translate(3px,-3px)}.btn-ghost{border-color:var(--line-3);color:var(--ink);background:0 0}.btn-ghost:hover,.btn-ghost:focus-visible{border-color:var(--ink);background:#1a20330a}.icon-btn{border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--surface);width:44px;height:44px;color:var(--ink);cursor:pointer;transition:border-color .3s var(--ease), color .3s var(--ease);place-items:center;font-size:1rem;display:inline-grid}.icon-btn:hover{border-color:var(--ink)}.icon-btn[aria-disabled=true]{color:var(--muted);border-color:var(--line);cursor:default}.site-header{z-index:40;pointer-events:none;position:fixed;inset:0 0 auto}.nav-shell{pointer-events:auto;width:min(var(--shell), calc(100% - var(--gutter) * 2));transition:width .7s var(--ease), margin-top .7s var(--ease);margin:0 auto}.nav-bar{border-radius:var(--r-md);height:76px;transition:height .7s var(--ease), padding .7s var(--ease), background-color .5s var(--ease), border-color .5s var(--ease), box-shadow .5s var(--ease);background:0 0;border:1px solid #0000;align-items:center;padding:0;display:flex}.site-header[data-scrolled=true] .nav-shell{width:min(780px,100% - 24px);margin-top:12px}.site-header[data-scrolled=true] .nav-bar{border-color:var(--line-2);-webkit-backdrop-filter:blur(14px)saturate(1.1);backdrop-filter:blur(14px)saturate(1.1);background:#fafbfddb;height:60px;padding:0 8px 0 16px;box-shadow:0 14px 34px -22px #1a203366}.brand-link{align-items:center;min-width:44px;min-height:44px;display:inline-flex}.brand-mark{width:40px;height:36px;color:var(--ink);transition:width .7s var(--ease), height .7s var(--ease);display:block}@media (min-width:1240px){.brand-mark{width:50px;height:45px}}.site-header[data-scrolled=true] .brand-mark{width:40px;height:36px}.nav-desktop{margin-left:auto}.nav-list{gap:clamp(18px,2.4vw,32px);font-size:1rem;display:flex}.nav-cta{margin-left:clamp(18px,2.4vw,32px)}.menu-btn{border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--surface);min-height:44px;color:var(--ink);font-family:var(--font-head), system-ui, sans-serif;letter-spacing:-.06em;cursor:pointer;align-items:center;gap:10px;margin-left:auto;padding:0 14px;font-size:.8125rem;display:none}.menu-icon{gap:5px;width:18px;display:grid}.menu-icon i{height:1.5px;transition:transform .4s var(--ease);background:currentColor;display:block}.site-header[data-open=true] .menu-icon i:first-child{transform:translateY(3.25px)rotate(45deg)}.site-header[data-open=true] .menu-icon i:last-child{transform:translateY(-3.25px)rotate(-45deg)}.menu-panel{border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--surface);animation:panel-in .45s var(--ease);margin-top:8px;padding:12px 20px 20px;box-shadow:0 24px 50px -30px #1a203373}.menu-panel[hidden]{display:none}.menu-panel li a{border-bottom:1px solid var(--line);min-height:56px;font-family:var(--font-head), system-ui, sans-serif;letter-spacing:-.09em;align-items:center;font-size:1.5rem;text-decoration:none;display:flex}.menu-cta{width:100%;margin-top:20px}@keyframes panel-in{0%{opacity:0;transform:translateY(-8px)}}@media (max-width:900px){.nav-desktop,.nav-cta{display:none}.menu-btn{display:inline-flex}.nav-bar{height:68px}}.hero{isolation:isolate;align-items:center;min-height:min(100svh,1000px);padding-block:clamp(120px,14vw,180px) clamp(64px,8vw,120px);display:flex;position:relative;overflow:hidden}.hero-light{z-index:-1;pointer-events:none;background:radial-gradient(42vmax 42vmax at var(--mx,72%) var(--my,38%), #2348e81c, transparent 62%), radial-gradient(28vmax 28vmax at calc(var(--mx,72%) - 24%) calc(var(--my,38%) + 16%), #f1de9c57, transparent 64%), radial-gradient(30vmax 30vmax at calc(var(--mx,72%) + 16%) calc(var(--my,38%) - 30%), #22326f12, transparent 66%);position:absolute;inset:0}.hero-inner{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,64px);display:grid}.hero-title{font-family:var(--font-head), system-ui, sans-serif;letter-spacing:-.095em;white-space:pre;padding-right:.6em;font-size:clamp(1.9rem,4.85vw,4.7rem);font-weight:500;line-height:1.04;position:relative}.hero-line{display:block}.ch{visibility:hidden;animation:type-in 0s linear calc(.22s + var(--i) * 42ms) forwards;position:relative}.ch:after{content:"";background:var(--cobalt);visibility:hidden;width:.42em;height:.86em;animation:caret-pass 42ms steps(1) calc(.22s + var(--i) * 42ms);margin-left:.08em;position:absolute;top:.13em;left:100%}.hero-line:last-child .ch:last-child:after{animation:caret-blink 1.05s steps(1) calc(.22s + var(--i) * 42ms) infinite}@keyframes type-in{to{visibility:visible}}@keyframes caret-pass{0%,to{visibility:visible}}@keyframes caret-blink{0%,49%{visibility:visible}50%,to{visibility:hidden}}.hero-sub{color:var(--muted);margin-top:clamp(24px,3vw,40px);font-size:clamp(1.125rem,1.45vw,1.4rem);line-height:1.5}.hero-sub span{display:block}.cube-scene{--s:clamp(150px, 18vw, 290px);width:calc(var(--s) * 1.7);height:calc(var(--s) * 1.7);perspective:calc(var(--s) * 5);justify-self:center;place-items:center;display:grid}.cube-tilt{transform-style:preserve-3d;transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}.cube{width:var(--s);height:var(--s);transform-style:preserve-3d;animation:30s linear infinite spin;position:relative}.cube-scene[data-paused=true] .cube{animation-play-state:paused}@keyframes spin{0%{transform:rotateX(-16deg)rotateY(0)}to{transform:rotateX(-16deg)rotateY(-360deg)}}.face{transform-style:preserve-3d;border:1px solid #0000;border-image:linear-gradient(135deg,#2348e8b3,#1a203380 40%,#1a20336b 60%,#c4a03cbf) 1;place-items:center;display:grid;position:absolute;inset:0}.face:before,.face:after{content:"";pointer-events:none;backface-visibility:hidden;position:absolute;inset:7%}.face:before{border:1px solid #1a203329}.face:after{background:radial-gradient(circle, #1a203361 .75px, transparent 1.25px) center / calc(var(--s) * .0716) calc(var(--s) * .0716);inset:calc(7% + 1px);-webkit-mask:radial-gradient(closest-side,#0000 55%,#000 115%);mask:radial-gradient(closest-side,#0000 55%,#000 115%)}.face-top:after,.face-bottom:after{-webkit-mask:none;mask:none}.face>*{backface-visibility:hidden}.face span{font-family:var(--font-head), system-ui, sans-serif;font-size:calc(var(--s) * .085);letter-spacing:-.07em}.face-mark{width:46%;height:auto;color:var(--ink)}.face-front{transform:translateZ(calc(var(--s) / 2))}.face-right{transform:rotateY(90deg) translateZ(calc(var(--s) / 2))}.face-back{transform:rotateY(180deg) translateZ(calc(var(--s) / 2))}.face-left{transform:rotateY(-90deg) translateZ(calc(var(--s) / 2))}.face-top{transform:rotateX(90deg) translateZ(calc(var(--s) / 2))}.face-bottom{transform:rotateX(-90deg) translateZ(calc(var(--s) / 2))}.work{padding-block:clamp(72px,9vw,140px)}.section-title{font-family:var(--font-head), system-ui, sans-serif;margin-bottom:clamp(36px,5vw,72px);font-weight:500}.st-big{letter-spacing:-.095em;font-size:clamp(2rem,4.2vw,3.8rem);line-height:1;display:block}.st-small{letter-spacing:-.075em;color:var(--muted);margin-top:clamp(10px,1.2vw,18px);font-size:clamp(1rem,1.6vw,1.45rem);line-height:1.3;display:block}.grid{gap:clamp(48px,5vw,80px) clamp(24px,3vw,44px);display:grid}@media (min-width:760px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-wide{grid-column:1/-1}}@media (min-width:1100px){.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.card-link{color:inherit;-webkit-user-drag:none;text-decoration:none;display:block;position:relative}a.card-link:focus-visible{outline-offset:8px}.stage{aspect-ratio:16/11;border-radius:var(--r-md);background:var(--stage);transition:background-color .6s var(--ease);position:relative;overflow:hidden}a.card-link:hover .stage{background:var(--stage-hover)}.stage-browser,.stage-app{padding:7% 7% 0}.card-wide .stage{aspect-ratio:16/8.4}.card-wide .stage-browser{padding:3.6% 4.5% 0}.card-wide .stage-app{padding:4% 9% 0}.stage-slides{place-items:center;display:grid}.browser{border:1px solid var(--line-2);border-radius:var(--r-md) var(--r-md) 0 0;background:var(--surface);transition:transform .8s var(--ease);border-bottom:0;position:relative;overflow:hidden;box-shadow:0 28px 60px -36px #1a203373}a.card-link:hover .browser,a.card-link:focus-visible .browser{transform:translateY(-6px)}.bf-bar{border-bottom:1px solid var(--line);height:clamp(24px,2.2vw,32px);color:var(--muted);align-items:center;gap:12px;padding-inline:12px;font-size:.75rem;display:flex}.bf-dots{gap:5px;display:flex}.bf-dots i{background:var(--line-2);border-radius:50%;width:7px;height:7px}.bf-dots i:first-child{background:var(--cobalt)}.bf-url{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bf-img{pointer-events:none;width:100%;height:auto}.bf-placeholder{aspect-ratio:16/10;background:var(--surface);place-items:center;display:grid}.bf-placeholder span{font-family:var(--font-head), system-ui, sans-serif;letter-spacing:-.09em;color:var(--muted);font-size:clamp(1.1rem,2.4vw,2rem)}.app-pair{height:100%;position:relative}.app-desk{width:82%;height:100%}.app-screen{grid-template-columns:22% 1fr;height:100%;display:grid}.app-side{border-right:1px solid var(--line);background:#f3f5f9}.app-main{grid-template-columns:repeat(3,1fr);grid-auto-rows:22%;gap:4%;padding:5%;display:grid}.app-main i{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--mist)}.app-main i:first-child{background:var(--stage);grid-column:1/-1}.app-main i:nth-child(2){background:var(--butter);border-color:#0000}.phone{aspect-ratio:9/19;border:1px solid var(--line-2);background:var(--surface);width:21%;transition:transform .8s var(--ease);border-radius:14px;padding:3.5%;position:absolute;bottom:-14%;right:0;box-shadow:0 28px 60px -32px #1a203380}a.card-link:hover .phone{transform:translateY(-10px)}.phone-screen{background:var(--mist);border-radius:9px;align-content:start;gap:8px;height:100%;padding:12% 10%;display:grid}.phone-title{font-family:var(--font-head), system-ui, sans-serif;letter-spacing:-.07em;color:var(--ink);font-size:clamp(.5rem,.9vw,.75rem)}.phone-screen i{border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line);height:22px}.phone-screen i:last-child{background:var(--butter);border-color:#0000}.fan{aspect-ratio:16/9;width:62%;position:relative}.fan-slide{border-radius:var(--r-sm);transition:transform .8s var(--ease);position:absolute;inset:0;overflow:hidden;box-shadow:0 24px 50px -28px #1a203380}.fan-slide img{object-fit:cover;width:100%;height:100%}.fan-0{transform:translate(-14%,-6%)rotate(-7deg)scale(.92)}.fan-1{transform:translate(-6%,-2%)rotate(-3deg)scale(.96)}.fan-2{transform:translate(4%,4%)}a.card-link:hover .fan-0,a.card-link:focus-visible .fan-0{transform:translate(-30%,-12%)rotate(-12deg)scale(.92)}a.card-link:hover .fan-1,a.card-link:focus-visible .fan-1{transform:translate(-14%,-6%)rotate(-5deg)scale(.96)}a.card-link:hover .fan-2,a.card-link:focus-visible .fan-2{transform:translate(10%,6%)rotate(2deg)}.caption{padding-top:18px}.card-title{font-family:var(--font-head), system-ui, sans-serif;letter-spacing:-.075em;align-items:baseline;gap:10px;font-size:clamp(1.05rem,1.3vw,1.25rem);font-weight:500;display:flex}.card-arrow{color:var(--cobalt);transition:transform .45s var(--ease);flex:none;align-self:center}a.card-link:hover .card-arrow,a.card-link:focus-visible .card-arrow{transform:translate(3px,-3px)}.card-line{max-width:58ch;color:var(--muted);margin-top:6px}@media (min-width:760px){.card-wide .card-line{text-wrap:balance;max-width:none}}.card-note{color:var(--muted);margin-top:4px;font-size:.9375rem;font-style:italic}.tags{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.tags li{border-radius:var(--r-sm);background:var(--cobalt-tint);color:var(--cobalt);font-family:var(--font-head), system-ui, sans-serif;letter-spacing:-.05em;padding:4px 9px 5px;font-size:.75rem;line-height:1.3}.tags li.tag-kind{background:var(--ink);color:var(--surface)}@media (hover:hover) and (pointer:fine){.tags li{opacity:0;transition:opacity .45s var(--ease), transform .45s var(--ease);transform:translateY(6px)}.tags li:nth-child(2){transition-delay:40ms}.tags li:nth-child(3){transition-delay:80ms}.tags li:nth-child(4){transition-delay:.12s}.card-link:hover .tags li,.card-link:focus-visible .tags li{opacity:1;transform:none}}.gallery{margin-top:clamp(48px,5vw,80px)}.gallery-head{justify-content:flex-end;margin-bottom:20px;display:flex}.gallery-controls{gap:8px;display:flex}.rail{--inset:max(var(--gutter), calc((100% - var(--shell)) / 2));overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--inset);padding:4px var(--inset) 12px;scrollbar-width:none;cursor:grab;grid-auto-columns:min(560px,78vw);grid-auto-flow:column;column-gap:clamp(20px,2.6vw,40px);display:grid;position:relative;overflow-x:auto}.rail::-webkit-scrollbar{display:none}.rail[data-dragging=true]{cursor:grabbing;scroll-snap-type:none;-webkit-user-select:none;user-select:none}.rail[data-dragging=true] a{pointer-events:none}.rail:focus-visible{outline-offset:-2px}.rail-item{scroll-snap-align:start}.rail .card{height:100%}.contact{padding-block:clamp(72px,9vw,140px) clamp(96px,11vw,180px)}.contact-card{border-radius:var(--r-md);background:var(--deep);min-height:clamp(420px,40vw,560px);color:var(--surface);grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;display:grid;position:relative;overflow:hidden}.contact-card:after{content:"";pointer-events:none;background-image:linear-gradient(#fafbfd0d 1px,#0000 1px),linear-gradient(90deg,#fafbfd0d 1px,#0000 1px);background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 90% at 85% 30%,#000,#0000 75%);mask-image:radial-gradient(70% 90% at 85% 30%,#000,#0000 75%)}.contact-copy{z-index:1;padding:clamp(32px,5vw,72px);position:relative}.contact-title{font-family:var(--font-head), system-ui, sans-serif;letter-spacing:-.1em;text-wrap:balance;font-size:clamp(2rem,4.2vw,4.2rem);font-weight:500;line-height:1.04}.contact-sub{text-wrap:pretty;color:#c9d0e0;max-width:44ch;margin-top:18px;font-size:clamp(1.05rem,1.3vw,1.25rem)}.contact-actions{justify-items:start;gap:12px;margin-top:clamp(28px,3vw,40px);display:grid}.contact .btn{width:15rem;transition:width .6s var(--ease), background-position .9s var(--ease), border-color .4s var(--ease), background-color .4s var(--ease);justify-content:space-between}.contact .btn .roll-track{flex:1;min-width:0}.contact .btn-email:hover,.contact .btn-email:focus-visible{width:18.75rem}.contact .btn-primary{color:var(--ink);background:linear-gradient(110deg, var(--surface) 0%, var(--surface) 42%, #e4e9fb 68%, var(--butter) 100%);background-size:260% 100%}.contact .btn-primary:hover,.contact .btn-primary:focus-visible{background-position:100% 0}.contact .btn-ghost{color:var(--surface);border-color:#fafbfd73}.contact .btn-ghost:hover,.contact .btn-ghost:focus-visible{border-color:var(--surface);background:#fafbfd0f}.contact .btn:focus-visible{outline-color:var(--butter)}.contact-art{align-self:stretch;min-height:360px;position:relative}.ca{border-radius:var(--r-md);transition:transform 1.1s var(--ease);position:absolute;box-shadow:0 34px 70px -34px #000000a6}.ca-code{background:#121829;border:1px solid #fafbfd1f;width:62%;top:12%;left:2%;transform:translate(6%,10%)}.ca-code .bf-bar{color:#9aa3ba;border-color:#fafbfd1a}.ca-code .bf-dots i{background:#fafbfd38}.code-lines{gap:9px;padding:7% 8% 10%;display:grid}.code-lines i{background:#fafbfd29;border-radius:1px;height:7px;display:block}.code-lines i:first-child{background:#7d92ff;width:46%}.code-lines i:nth-child(2){width:72%;margin-left:8%}.code-lines i:nth-child(3){background:var(--butter);opacity:.85;width:58%;margin-left:8%}.code-lines i:nth-child(4){width:64%;margin-left:16%}.code-lines i:nth-child(5){background:#7d92ff;width:38%;margin-left:16%}.code-lines i:nth-child(6){width:52%;margin-left:8%}.code-lines i:nth-child(7){width:22%}.ca-deck{aspect-ratio:16/10;background:var(--surface);grid-template-rows:auto 1fr;gap:10%;width:46%;padding:7%;display:grid;top:6%;right:-4%;transform:translate(4%,14%)rotate(4deg)}.ca-deck .deck-title{background:var(--ink);border-radius:1px;width:58%;height:10px;display:block}.ca-deck .deck-bars{align-items:flex-end;gap:8%;height:100%;display:flex}.ca-deck .deck-bars i{background:var(--cobalt-tint);border-radius:1px 1px 0 0;flex:1}.deck-bars i:first-child{height:34%}.deck-bars i:nth-child(2){height:52%}.deck-bars i:nth-child(3){height:44%}.deck-bars i:nth-child(4){background:var(--cobalt);height:72%}.deck-bars i:nth-child(5){background:var(--butter);height:90%}.ca-browser{border-radius:var(--r-md) var(--r-md) 0 0;width:64%;bottom:-4%;right:-3%;transform:translate(6%,18%)}.ca-site{gap:12px;padding:8% 8% 16%;display:grid}.ca-site span{border-radius:var(--r-sm);background:var(--stage);display:block}.ca-h{width:64%;height:20px;background:var(--ink)!important}.ca-l{width:80%;height:8px}.ca-short{width:52%}.ca-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px;background:0 0!important;display:grid!important}.ca-grid i{aspect-ratio:4/3;border-radius:var(--r-sm);background:var(--mist)}.ca-grid i:nth-child(2){background:var(--butter)}.ca-phone{border-radius:14px;width:19%;bottom:-14%;left:18%;right:auto;transform:translate(10%,22%)}.contact-card.is-in .ca-code{transform:none}.contact-card.is-in .ca-deck{transform:rotate(4deg)}.contact-card.is-in .ca-browser,.contact-card.is-in .ca-phone{transform:none}.contact-card:hover .ca-code{transform:translate(-3%,-4%)}.contact-card:hover .ca-deck{transform:translate(3%,-5%)rotate(7deg)}.contact-card:hover .ca-browser{transform:translate(-2%,-3%)}.contact-card:hover .ca-phone{transform:translate(-8%,-10%)rotate(-3deg)}.site-footer{border-top:1px solid var(--line)}.footer-grid{gap:40px;padding-block:56px;font-size:.9375rem;display:grid}@media (min-width:760px){.footer-grid{grid-template-columns:1.2fr 1fr 1fr}}.footer-mark{width:40px;height:36px;color:var(--ink);display:block}.footer-tag{color:var(--muted);margin-top:16px}.footer-copy{color:var(--muted);margin-top:24px}.footer-label{font-family:var(--font-head), system-ui, sans-serif;letter-spacing:-.06em;color:var(--muted);margin-bottom:14px;font-size:.8125rem;font-weight:500}.footer-list a,.footer-privacy{min-height:32px;transition:color .3s var(--ease);align-items:center;text-decoration:none;display:inline-flex}.footer-list a:hover,.footer-privacy:hover{color:var(--cobalt)}.footer-cols{grid-template-columns:repeat(2,max-content);column-gap:40px;display:grid}.footer-privacy{color:var(--muted);text-decoration:underline;-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2);text-underline-offset:4px;margin-top:16px}.notice{z-index:50;border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--surface);width:min(400px,100% - 24px);color:var(--muted);animation:notice-in .6s var(--ease);transition:opacity .35s var(--ease), transform .35s var(--ease);gap:14px;padding:18px 20px 20px;font-size:.9375rem;line-height:1.5;display:grid;position:fixed;bottom:20px;right:20px;box-shadow:0 24px 50px -28px #1a203373}.notice[data-leaving=true]{opacity:0;transform:translateY(16px)}.notice a{color:var(--ink);text-underline-offset:3px}.notice .btn{justify-self:start}@keyframes notice-in{0%{opacity:0;transform:translateY(16px)}}@media (max-width:520px){.notice{bottom:12px;right:12px}}.phone-shot{aspect-ratio:auto;border-radius:12px;padding:3px;bottom:7%;overflow:hidden}.phone-img{border-radius:9px;width:100%;height:auto}.cs-intro,.cs-block{gap:20px 64px;display:grid}.cs-intro{padding-block:clamp(56px,8vw,112px) clamp(40px,5vw,64px)}.cs-block{padding-block:clamp(56px,7vw,112px) 0}@media (min-width:900px){.cs-intro,.cs-block{grid-template-columns:minmax(0,1fr) minmax(0,1.7fr)}.cs-wide{grid-column:1/-1}}.cs-kicker{font-family:var(--font-head), system-ui, sans-serif;letter-spacing:-.06em;color:var(--cobalt);margin-bottom:14px;font-size:.9375rem}.cs-lead{max-width:70ch}.cs-meta{border-top:1px solid var(--line);margin:32px 0 0;display:grid}.cs-meta div{border-bottom:1px solid var(--line);grid-template-columns:88px minmax(0,1fr);gap:16px;padding-block:12px;display:grid}.cs-meta dt{font-family:var(--font-head), system-ui, sans-serif;letter-spacing:-.06em;font-size:.875rem;line-height:1.9}.cs-meta dd{color:var(--muted);margin:0}.cs-meta a{color:var(--ink);text-underline-offset:3px;-webkit-text-decoration-color:var(--line-3);text-decoration-color:var(--line-3)}.cs-hero{border-radius:var(--r-md);background:var(--stage);padding:clamp(20px,4.5vw,64px) clamp(20px,4.5vw,64px) 0}.cs-h2{font-family:var(--font-head), system-ui, sans-serif;letter-spacing:-.09em;font-size:clamp(1.6rem,3vw,2.6rem);font-weight:500;line-height:1.05}.cs-copy{max-width:64ch;color:var(--muted);gap:1em;display:grid}.cs-identity{border-radius:var(--r-md);margin-top:clamp(16px,3vw,40px);overflow:hidden}.cs-identity img{width:100%;height:auto}.cs-swatches{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 16px;margin-top:20px;display:grid}@media (min-width:760px){.cs-swatches{grid-template-columns:repeat(6,minmax(0,1fr))}}.cs-swatches li{gap:2px;display:grid}.cs-chip{border-radius:var(--r-sm);height:clamp(56px,6vw,88px);box-shadow:inset 0 0 0 1px var(--line);margin-bottom:10px}.cs-swatch-name{font-family:var(--font-head), system-ui, sans-serif;letter-spacing:-.06em;font-size:.875rem}.cs-swatch-hex{color:var(--muted);font-size:.875rem}.cs-views{gap:clamp(40px,5vw,64px) clamp(20px,2.4vw,32px);margin-top:clamp(16px,3vw,40px);display:grid}@media (min-width:760px){.cs-views{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:760px) and (max-width:1099px){.cs-views{grid-template-columns:repeat(2,minmax(0,1fr))}}.cs-views .stage{aspect-ratio:4/3}.cs-views .stage-browser{padding:9% 7% 0}.cs-tags li{opacity:1!important;transform:none!important}.cs-list{border-top:1px solid var(--line);margin:clamp(16px,3vw,40px) 0 0;display:grid}.cs-list div{border-bottom:1px solid var(--line);gap:6px 64px;padding-block:clamp(18px,2.2vw,28px);display:grid}@media (min-width:900px){.cs-list div{grid-template-columns:minmax(0,1fr) minmax(0,1.7fr)}}.cs-list dt{font-family:var(--font-head), system-ui, sans-serif;letter-spacing:-.07em;font-size:1.05rem;font-weight:500}.cs-list dd{max-width:64ch;color:var(--muted);margin:0}.cs-end{padding-block:clamp(72px,9vw,140px)}.cs-end-card{border-radius:var(--r-md);background:var(--stage);padding:clamp(32px,5vw,72px)}.cs-end-sub{color:var(--muted);margin-top:14px}.cs-end .contact-actions{flex-wrap:wrap;margin-top:32px;display:flex}.sf-hero{aspect-ratio:16/8;border-radius:var(--r-md);background:var(--stage);place-items:center;display:grid}.sf-hero-mark{width:min(44%,520px);height:auto}.sf-directions{gap:clamp(36px,4vw,56px) clamp(20px,2.4vw,32px);margin-top:clamp(16px,3vw,40px);display:grid}@media (min-width:760px){.sf-directions{grid-template-columns:repeat(2,minmax(0,1fr))}}.sf-direction-art{border-radius:var(--r-md);box-shadow:0 0 0 1px var(--line);margin-bottom:18px;overflow:hidden}.sf-direction-art img{width:100%;height:auto}.sf-tone{color:var(--ink);margin-top:6px}.sf-directions .card-line{margin-top:2px}.sf-type{gap:16px;margin-top:clamp(16px,3vw,40px);display:grid}@media (min-width:900px){.sf-type{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}.sf-specimen{border-radius:var(--r-md);background:var(--surface);min-height:clamp(220px,24vw,320px);box-shadow:inset 0 0 0 1px var(--line);align-content:space-between;gap:40px;padding:clamp(24px,3vw,40px);display:grid}.sf-specimen-label{color:var(--muted);font-size:.875rem}.sf-specimen-head{font-family:var(--font-head), system-ui, sans-serif;letter-spacing:-.1em;font-size:clamp(2rem,4vw,3.6rem);font-weight:500;line-height:1}.sf-specimen-body{font-size:clamp(1.25rem,1.8vw,1.6rem);line-height:1.45}.sf-use{gap:clamp(20px,2.4vw,32px);margin-top:clamp(16px,3vw,40px);display:grid}.sf-apps{gap:clamp(28px,3vw,40px) clamp(20px,2.4vw,32px);display:grid}@media (min-width:900px){.sf-apps{grid-template-columns:repeat(3,minmax(0,1fr))}}.sf-app{gap:14px;margin:0;display:grid}.sf-app-stage{aspect-ratio:4/3;border-radius:var(--r-md);background:var(--stage);place-items:center;padding:clamp(20px,2.4vw,32px);display:grid}.sf-app-cap{font-family:var(--font-head), system-ui, sans-serif;letter-spacing:-.04em;justify-content:space-between;gap:16px;font-size:.875rem;display:flex}.sf-app-cap span{font-family:var(--font-body), Georgia, serif;letter-spacing:0;color:var(--muted)}.sf-sizes{align-items:flex-end;gap:clamp(24px,3vw,40px);display:flex}.sf-sizes img{display:block}.sf-chrome,.sf-share{border-radius:var(--r-md);background:var(--surface);width:min(100%,340px);box-shadow:0 0 0 1px var(--line), 0 28px 56px -34px #1a203373;overflow:hidden}.sf-chrome-tabs{background:#d3d9e3;align-items:flex-end;gap:2px;padding:7px 7px 0;display:flex}.sf-chrome-tab{border-radius:var(--r-md) var(--r-md) 0 0;color:#474e61;flex:1 1 0;align-items:center;gap:8px;min-width:0;height:32px;padding:0 10px;font-size:.8125rem;display:flex}.sf-chrome-tab.is-active{background:var(--surface);color:var(--ink);flex-grow:1.7}.sf-chrome-tab img{flex:none;display:block}.sf-chrome-tab svg{color:var(--muted);flex:none}.sf-chrome-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.sf-chrome-blank{opacity:.5;border:1px solid;border-radius:50%;flex:none;width:14px;height:14px}.sf-chrome-url{border-radius:var(--r-md);background:var(--mist);color:var(--muted);margin:6px 7px;padding:6px 12px;font-size:.8125rem}.sf-chrome-page{gap:8px;padding:18px 16px 22px;display:grid}.sf-chrome-page i{border-radius:var(--r-sm);background:var(--mist);width:72%;height:10px;display:block}.sf-chrome-page i+i{width:46%}.sf-share img{width:100%;height:auto;display:block}.sf-share-text{border-top:1px solid var(--line);gap:2px;padding:12px 14px 14px;display:grid}.sf-share-title{color:var(--ink);font-size:.875rem}.sf-share-host{color:var(--muted);font-size:.8125rem}.sf-site{border-radius:var(--r-md);background:var(--stage);padding:clamp(20px,4.5vw,64px) clamp(20px,4.5vw,64px) 0}.policy-header{border-bottom:1px solid var(--line)}.policy-bar{justify-content:space-between;align-items:center;min-height:76px;display:flex}.policy-back{min-height:44px;text-decoration:underline;-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2);text-underline-offset:4px;align-items:center;display:inline-flex}.policy-inner{gap:32px 64px;padding-block:clamp(56px,8vw,112px);display:grid}@media (min-width:900px){.policy-inner{grid-template-columns:minmax(0,1fr) minmax(0,1.7fr)}.policy-aside{align-self:start;position:sticky;top:40px}}.policy-body{max-width:70ch}.policy-title{font-family:var(--font-head), system-ui, sans-serif;letter-spacing:-.1em;font-size:clamp(2.4rem,6vw,4.4rem);font-weight:500;line-height:1}.policy-updated{color:var(--muted);margin-top:16px}.policy-lead{margin-top:0;font-size:1.2rem}.policy-block{color:var(--muted);margin-top:36px}.policy-block h2{font-family:var(--font-head), system-ui, sans-serif;letter-spacing:-.07em;color:var(--ink);margin-bottom:10px;font-size:1.05rem;font-weight:500}.policy-block a{color:var(--ink);text-underline-offset:3px}.js [data-reveal]{opacity:0;transform:translateY(var(--reveal-y));transition:opacity var(--reveal-dur) var(--ease), transform var(--reveal-dur) var(--ease);transition-delay:var(--rd,0s)}.js [data-reveal].is-in{opacity:1;transform:none}.js [data-reveal].is-static{animation:enter-up var(--reveal-dur) var(--ease) var(--load-delay,.2s) both;transition:none}.nav-shell{animation:enter-down .8s var(--ease) both}.cube-scene{animation:enter-fade 1.2s var(--ease) .3s both}.hero-sub{animation:enter-up var(--reveal-dur) var(--ease) 1.5s both}@keyframes enter-up{0%{opacity:0;transform:translateY(var(--reveal-y))}}@keyframes enter-down{0%{opacity:0;transform:translateY(-12px)}}@keyframes enter-fade{0%{opacity:0;transform:scale(.96)}}@media (max-width:900px){.contact-card{grid-template-columns:1fr}.contact-art{min-height:clamp(280px,70vw,420px)}.ca-code{width:64%;top:6%;left:6%}.ca-deck{width:44%;top:2%;right:2%}.ca-browser{width:66%;right:4%}.ca-phone{width:22%;left:10%}}@media (max-width:820px){.hero{min-height:auto;padding-bottom:24px}.hero-inner{grid-template-columns:1fr}.hero-sub span{display:inline}.hero-sub{text-wrap:balance}.cube-scene{--s:clamp(120px, 34vw, 200px);height:calc(var(--s) * 1.45);justify-self:center;margin-top:16px}}@media (max-width:480px){.stage,.card-wide .stage{aspect-ratio:4/3}.card-wide .stage-browser,.card-wide .stage-app{padding:7% 7% 0}.fan{width:70%}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.mg-a,.mg-b,.mg-c{animation:none}.cube{animation:none;transform:rotateX(-16deg)rotateY(-32deg)}.ch,.ch:after,.hero-line:last-child .ch:last-child:after{visibility:visible;animation:none}.ch:after{visibility:hidden}.hero-line:last-child .ch:last-child:after{visibility:visible}.js [data-reveal],.js [data-reveal].is-static,.nav-shell,.cube-scene,.hero-sub{opacity:1;animation:none;transform:none}}.deck{width:100%;max-width:none;height:100%;max-height:none;color:var(--surface);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:0;margin:0;padding:0;overflow:hidden}.deck::backdrop{background:#101421eb}.deck[open]{flex-direction:column;display:flex}.deck-bar{padding:14px var(--gutter);align-items:center;gap:16px;display:flex}.deck-title{font-family:var(--font-head), system-ui, sans-serif;letter-spacing:-.075em;font-weight:500}.deck-count{color:#fafbfd99;font-size:.9375rem}.deck-close{border-radius:var(--r-md);width:44px;height:44px;color:inherit;cursor:pointer;transition:border-color .3s var(--ease);background:0 0;border:1px solid #fafbfd40;place-items:center;margin-left:auto;display:inline-grid}.deck-close:hover,.deck-close:focus-visible{border-color:var(--surface)}.deck-pages{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 var(--gutter) 48px;flex-direction:column;flex:1;align-items:center;gap:16px;display:flex;overflow-y:auto}.deck-page{border-radius:var(--r-sm);pointer-events:none;-webkit-touch-callout:none;width:100%;max-width:1100px;height:auto;display:block}
