.section-head{gap:var(--space-3);max-width:760px;display:grid}.loader{z-index:100;pointer-events:none;place-items:center;animation:.5s 7s forwards loader-failsafe;display:grid;position:fixed;inset:0}.loader__cover{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.loader__cover path{fill:none;stroke:var(--bg);stroke-width:80%;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 1}.loader__signature{width:min(82vw,660px);height:auto;color:var(--brand-strong);position:relative;overflow:visible}[data-theme=dark] .loader__signature{color:var(--sky-100)}.loader__signature mask path{fill:none;stroke:#fff;stroke-width:15px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 1;stroke-dashoffset:1px;opacity:0}@keyframes loader-failsafe{to{opacity:0;visibility:hidden}}@media (prefers-reduced-motion:reduce){.loader{display:none}}:root{--cursor:url(/assets/img/cursors/paper.svg) 6 3, auto;--cursor-hover:url(/assets/img/cursors/paper-hover.svg) 6 3, pointer}.blueprint,.mascot-fly:not(.is-on-paper){--cursor:url(/assets/img/cursors/sky.svg) 6 3, auto;--cursor-hover:url(/assets/img/cursors/sky-hover.svg) 6 3, pointer}[data-theme=dark]{--cursor:url(/assets/img/cursors/night.svg) 6 3, auto;--cursor-hover:url(/assets/img/cursors/night-hover.svg) 6 3, pointer}[data-theme=dark] .blueprint{--cursor:url(/assets/img/cursors/sky.svg) 6 3, auto;--cursor-hover:url(/assets/img/cursors/sky-hover.svg) 6 3, pointer}html{cursor:var(--cursor)}:is(a,button,[role=button],label,summary,select,.mascot,.wm__hit){cursor:var(--cursor-hover)}.deck__stage,.deck__stage:active{cursor:url(/assets/img/cursors/drag.svg) 22 14,grab}.sound-toggle .ico-mute,.sound-toggle[aria-pressed=false] .ico-waves{display:none}.sound-toggle[aria-pressed=false] .ico-mute{display:inline}.music-toggle .ico-off{display:none}.music-toggle[aria-pressed=false] .ico-off{display:inline}.music-toggle[aria-pressed=false] svg{opacity:.75}.nav-mark{aspect-ratio:1;width:48px;display:block}.nav-pill{padding-inline:var(--space-2)}.nav:not(.is-scrolled) .nav-pill{background:#0a234642}.nav-pill__links .nav-link{color:var(--white)}.nav.is-scrolled .nav-pill__links .nav-link{color:var(--fg)}.nav-pill__links{margin:-14px -10px;padding:14px 10px}.nav-pill__links .nav-link{--cloud:var(--white);isolation:isolate;transition:color var(--dur-base) ease;border:0;position:relative}.nav.is-scrolled .nav-pill__links .nav-link{--cloud:var(--sky-100)}[data-theme=dark] .nav.is-scrolled .nav-pill__links .nav-link{--cloud:var(--sky-700)}.nav-pill__links .nav-link:before{content:"";z-index:-1;pointer-events:none;background:var(--cloud);opacity:0;transition:opacity var(--dur-base) ease, scale var(--dur-base) var(--ease-spring);position:absolute;inset:-6px -3px 1px;scale:.6;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 42' preserveAspectRatio='none'%3E%3Cpath fill='%23000' d='M 12 14 C 12 6, 26 2, 34 8 C 40 -1, 60 -1, 66 8 C 74 2, 88 6, 88 14 C 95 14, 100 19, 100 27 C 100 35, 95 40, 86 40 L 14 40 C 5 40, 0 35, 0 27 C 0 19, 5 14, 12 14 Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 42' preserveAspectRatio='none'%3E%3Cpath fill='%23000' d='M 12 14 C 12 6, 26 2, 34 8 C 40 -1, 60 -1, 66 8 C 74 2, 88 6, 88 14 C 95 14, 100 19, 100 27 C 100 35, 95 40, 86 40 L 14 40 C 5 40, 0 35, 0 27 C 0 19, 5 14, 12 14 Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}.nav-pill__links .nav-link:hover:before{opacity:.35;scale:.96}.nav .nav-pill__links .nav-link[aria-current=true]{color:var(--sky-800)}[data-theme=dark] .nav .nav-pill__links .nav-link[aria-current=true]{color:var(--white)}.nav-pill__links .nav-link[aria-current=true]:before{opacity:1;scale:1}.nav-pill__links .nav-link--page{margin-left:var(--space-3)}.nav-pill__links .nav-link--page:after{content:"";left:calc(-1 * var(--space-2) - 1px);opacity:.35;background:currentColor;width:1px;position:absolute;top:28%;bottom:28%}@media (min-width:761px) and (max-width:900px){.nav-pill__links .nav-link{padding-inline:6px}}.nav-pill__status{color:var(--fg);font:500 var(--text-xs) / 1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}@keyframes caret-blink{50%{opacity:0}}.hero{flex-direction:column;justify-content:flex-end;min-height:100svh;padding-top:110px;display:flex;overflow:hidden}.hero__center{z-index:2;text-align:center;justify-items:center;gap:var(--space-5);max-width:980px;display:grid;position:relative}.hero__mark{aspect-ratio:1;width:clamp(84px,9vw,120px);margin-bottom:var(--space-2);display:block}.mascot-fly{--accent:var(--sky-100);z-index:60;aspect-ratio:1;transform-origin:0 0;will-change:transform;color:var(--white);filter:drop-shadow(0 10px 22px #1f3b6d47);transition:color var(--dur-base) ease, filter var(--dur-base) ease;display:block;position:fixed;top:0;left:0}.mascot-fly:not(.is-placed){visibility:hidden}.mascot-fly .mk-ring{fill:var(--tejo-face);transition:fill var(--dur-base) ease}.mascot-fly.is-hello svg{animation:mark-hop .6s var(--ease-bounce) 2}.mascot-fly.is-hello .mk-eye{animation:.6s ease-in-out 2 mark-happy}.mascot-fly.is-hello .mk-packet{animation:packet-hop .6s var(--ease-bounce) 2}.mascot-hello{z-index:61;pointer-events:none;background:var(--white);color:var(--sky-800);font:600 18px / 1.25 var(--font-sans);opacity:0;transform-origin:0 100%;width:max-content;max-width:min(15em,100vw - 24px);transition:opacity .3s ease, scale .45s var(--ease-spring);border-radius:1.3em;padding:.7em 1.2em;position:fixed;top:0;left:0;translate:0 -100%;scale:.6;box-shadow:0 12px 28px #1f3b6d38}.mascot-hello.is-on{opacity:1;scale:1}@media (max-width:600px){.mascot-hello{max-width:calc(100vw - 32px)}}.mascot-hello__rest{visibility:hidden}.mascot-hello.is-left{transform-origin:100% 100%}.mascot-hello.is-below{transform-origin:0 0;translate:0}.mascot-fly.is-on-paper{filter:drop-shadow(0 4px 12px #1f3b6d59)}.mascot-fly.is-in-footer{--accent:var(--sky-300);color:var(--cream);filter:none}.mascot-fly .mk-packet,.mascot-fly .mk-eye{transition:fill .7s}.mascot-fly,.mascot-fly .mk-ring{transition-duration:.7s}.mascot-fly.is-in-footer .mk-ring{fill:#0000}.wm.has-tejo .wm__mark{visibility:hidden}.mascot svg{width:100%;height:auto;display:block;overflow:visible}.mascot .mk-eye{transform-box:fill-box;transform-origin:50%;translate:var(--lx,0) var(--ly,0);transition:translate .25s var(--ease-out)}.mascot .mk-packet,.mascot .mk-stem{transform-box:fill-box}.mascot .mk-stem{transform-origin:50% 100%}@media (prefers-reduced-motion:no-preference){.mascot svg{transform-origin:50% 90%;animation:4.2s ease-in-out infinite mark-float}.mascot .mk-eye{animation:9s ease-in-out infinite mark-eyes}.mascot .mk-packet{animation:1.9s ease-in-out infinite packet-bob}.mascot .mk-stem{animation:4.2s ease-in-out infinite stem-wave}.mascot.is-idle-hop svg{animation-name:mark-float,idle-hop;animation-duration:4.2s,.9s;animation-timing-function:ease-in-out, var(--ease-out);animation-iteration-count:infinite,1}.mascot.is-idle-twirl svg{animation-name:mark-float,idle-twirl;animation-duration:4.2s,1.2s;animation-timing-function:ease-in-out;animation-iteration-count:infinite,1}.mascot.is-idle-wiggle svg{animation-name:mark-float,idle-wiggle;animation-duration:4.2s,.9s;animation-timing-function:ease-in-out;animation-iteration-count:infinite,1}.mascot.is-idle-shake svg{animation-name:mark-float,idle-shake;animation-duration:4.2s,.8s;animation-timing-function:ease-in-out;animation-iteration-count:infinite,1}.mascot.is-idle-stretch svg{animation-name:mark-float,idle-stretch;animation-duration:4.2s,1.2s;animation-timing-function:ease-in-out;animation-iteration-count:infinite,1}.mascot.is-idle-sleepy svg{animation-name:mark-float,idle-sleepy;animation-duration:4.2s,2.8s;animation-timing-function:ease-in-out;animation-iteration-count:infinite,1}.mascot.is-idle-wink svg{animation-name:mark-float,idle-wink;animation-duration:4.2s,1s;animation-timing-function:ease-in-out;animation-iteration-count:infinite,1}.mascot.is-idle-boop svg{animation-name:mark-float,idle-boop;animation-duration:4.2s,.75s;animation-timing-function:ease-in-out, var(--ease-out);animation-iteration-count:infinite,1}.mascot.is-idle-boop .mk-eye{animation:.35s ease-in-out 2 mark-happy}.mascot.is-idle-boop .mk-packet,.mascot.is-idle-juggle .mk-packet{animation-name:packet-bob,idle-juggle;animation-duration:1.9s,1.1s;animation-timing-function:ease-in-out,cubic-bezier(.3,0,.3,1);animation-iteration-count:infinite,1}.mascot.is-idle-sleepy .mk-eye{animation:2.8s ease-in-out idle-eyes-shut}.mascot.is-idle-wink .mk-eye:nth-child(3){animation:1s ease-in-out idle-eyes-wink}.mascot.is-idle-stretch .mk-eye{animation:1.2s ease-in-out idle-eyes-yawn}}@keyframes idle-hop{20%{scale:1.08 .9}45%{translate:0 -18%;scale:.95 1.05}72%{translate:0;scale:1.06 .94}}@keyframes idle-boop{14%{scale:1.2 .76}38%{translate:0 -12%;scale:.9 1.12}62%{translate:0;scale:1.05 .95}80%{scale:.98 1.02}}@keyframes idle-twirl{50%{scale:-1 1}}@keyframes idle-wiggle{15%{rotate:-10deg}35%{rotate:9deg}55%{rotate:-7deg}75%{rotate:5deg}}@keyframes idle-shake{15%{translate:-5%}35%{translate:5%}55%{translate:-4%}75%{translate:4%}}@keyframes idle-stretch{35%{scale:.9 1.12}65%{scale:1.04 .96}}@keyframes idle-sleepy{20%,70%{translate:0 3%;rotate:8deg}78%{translate:0 -4%;rotate:-3deg}}@keyframes idle-wink{20%,60%{rotate:-6deg}}@keyframes idle-juggle{40%{translate:0 -130%;rotate:180deg}70%{translate:0;rotate:360deg}82%{translate:0 -20%}}@keyframes idle-eyes-shut{18%,72%{transform:scaleY(.12)}}@keyframes idle-eyes-wink{20%,60%{transform:scaleY(.1)}}@keyframes idle-eyes-yawn{30%,60%{transform:scaleY(.35)}}@keyframes mark-float{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-8px)rotate(3deg)}}@keyframes mark-eyes{0%,17%,21%,44%,76%,84%,88%,to{transform:none}19%{transform:scaleY(.1)}48%,56%{transform:translate(-22%)}64%,72%{transform:translate(22%)}86%{transform:scaleY(.1)}90%{transform:scaleY(.1)}}@keyframes stem-wave{0%,to{transform:none}50%{transform:scaleY(1.07)}}@keyframes packet-hop{50%{translate:0 -45%}}@keyframes mark-hop{0%,to{transform:translateY(0)rotate(0)}40%{transform:translateY(-14px)rotate(-6deg)}}@keyframes mark-happy{50%{transform:scaleY(.35)}}.hero__title{color:var(--white);text-shadow:0 4px 40px #1f3b6d38}.hero__title>span{display:block}.hero__light{letter-spacing:-.045em;font-weight:300}.hero__title .dim{margin-bottom:.75em}.hero__actions{margin-top:var(--space-4);justify-content:center}.hero__eyebrow{color:var(--white);text-shadow:0 1px 14px #1f3b6d59}.hero:before{content:"";z-index:-1;pointer-events:none;mix-blend-mode:soft-light;opacity:.55;background:radial-gradient(60% 9% at 22% 18%,#ffffff29,#0000 70%),radial-gradient(48% 7% at 74% 34%,#ffffff1f,#0000 70%),radial-gradient(70% 8% at 40% 62%,#ffffff1a,#0000 70%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");position:absolute;inset:0}.hero__mark:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(closest-side,#ffffff73,#0000);border-radius:50%;position:absolute;inset:-40%}.hero__mark{position:relative}.hero__side{writing-mode:vertical-rl;font:500 11px / 1 var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--white);opacity:.85;white-space:nowrap;position:absolute;top:50%;left:clamp(18px,3vw,44px);translate:0 -50%;rotate:180deg}@media (min-width:761px){.hero{justify-content:center;padding-bottom:clamp(120px,14vw,220px)}.hero__center{text-align:left;place-items:center start;column-gap:clamp(32px,6vw,120px);row-gap:var(--space-4);max-width:var(--container);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"eyebrow mark""title mark""actions mark";padding-left:clamp(64px,8vw,128px)}.hero__eyebrow{grid-area:eyebrow}.hero__title{grid-area:title}.hero__actions{margin-top:calc(var(--space-4) * -1);grid-area:actions;justify-content:flex-start}.hero__mark{grid-area:mark;width:clamp(190px,24vw,350px);margin:0 clamp(16px,5vw,110px) 0 0}}.hero.is-measuring .hero__center,.hero.is-measuring .hero__mark,.hero.is-measuring .hero__mark *{transition:none!important;animation:none!important;transform:none!important}@media (max-width:760px){.hero{justify-content:flex-start;padding-top:clamp(190px,27svh,270px)}.hero__center{text-align:left;justify-items:start;gap:var(--space-4);padding-left:58px}.hero__mark{width:92px;margin:0;position:absolute;top:-112px;right:10px}.hero__title{font-size:clamp(3.3rem,17vw,4.6rem);line-height:.92}.hero__actions{margin-top:var(--space-5);--cluster-gap:var(--space-2);flex-wrap:nowrap;justify-content:flex-start}.hero__actions .btn{padding:0 var(--space-4);letter-spacing:.08em;font-size:clamp(.625rem,3vw,.75rem)}.hero__side{left:18px}}@media (max-width:520px){.sheet{text-align:center;border-radius:14px;flex-direction:column;gap:4px}.sheet:before{display:none}.hero .sheet,.contact__inner .sheet{align-self:center}}@media (max-width:759px){.blueprint>.cloud:not(:first-of-type),.work>.cloud:not(:first-of-type){display:none}.hero>.cloud:first-of-type{--o:.55;right:-14%;--w:260px!important;top:8%!important;left:auto!important}}.hero>.container{z-index:2;position:relative}.hero{padding-bottom:clamp(170px,19vw,290px)}.hero .cloudbank{z-index:3;height:clamp(120px,15vw,230px)}.hero .cloudbank--back{opacity:.6;bottom:10%}.ticker{padding-block:var(--space-4) var(--space-6);color:var(--sky-600)}[data-theme=dark] .ticker{color:var(--sky-300)}.ticker .marquee__item{opacity:.9;font-weight:700}.marquee__sep{opacity:.6;background:radial-gradient(circle,currentColor 5px,#0000 5.5px) 50%/12px 12px no-repeat,linear-gradient(currentColor,currentColor) 50%/100% 1.5px no-repeat;flex:none;width:64px;height:12px}.intro__grid{gap:var(--space-8);align-items:center;display:grid}@media (min-width:960px){.intro__grid{gap:var(--space-9);grid-template-columns:5fr 7fr;align-items:start}.intro__photo{position:sticky;top:120px}.intro__text{padding-block:12vh 8vh}.intro__statement{font-size:var(--text-3xl);line-height:1.18}}.intro__photo{max-width:460px;color:var(--fg);margin-bottom:var(--space-5)}.intro__photo img{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-md);width:100%}.intro__statement{font-size:var(--text-2xl);letter-spacing:-.015em;color:var(--fg-muted);line-height:1.3}.intro__statement strong{margin-top:var(--space-4);color:var(--fg);font-weight:600;display:block}.intro__stats{gap:var(--space-5);padding-block:var(--space-5);border-block:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.intro__clients{gap:var(--space-4);display:grid}.logo-row{align-items:center;gap:var(--space-6);flex-wrap:wrap;padding:0;list-style:none;display:flex}.logo-row img{filter:grayscale();opacity:.7;width:auto;height:34px;transition:filter var(--dur-base) ease, opacity var(--dur-base) ease}.logo-row img:hover{filter:none;opacity:1}[data-theme=dark] .logo-row img{filter:grayscale()invert()}[data-theme=dark] .logo-row img:hover{filter:invert()}.work{padding-block:var(--space-6) clamp(220px, 24vw, 340px);background:linear-gradient(180deg, var(--hero-from) 0%, var(--hero-mid) 40%, var(--hero-to) calc(100% - clamp(320px, 34vw, 480px)), color-mix(in srgb, var(--hero-to) 55%, var(--bg)) calc(100% - clamp(160px, 17vw, 240px)), var(--bg) 100%);overflow:hidden}.work>.container{z-index:1;position:relative}.work__head{text-align:center;justify-items:center;gap:var(--space-4);margin-bottom:var(--space-8);display:grid}.bracket-heading{font:800 var(--text-4xl) / 1 var(--font-display);letter-spacing:var(--tracking-tight);align-items:center;gap:.25em;display:inline-flex}.bracket-heading__b{opacity:.8;transition:transform 1s var(--ease-out) .2s;font-weight:300}.bracket-heading:not(.is-in) .bracket-heading__b--l{transform:translate(-160%)}.bracket-heading:not(.is-in) .bracket-heading__b--r{transform:translate(160%)}.bracket-heading[data-reveal]{opacity:1;transform:none}.work__sub{max-width:22ch;font:800 var(--text-2xl) / 1.1 var(--font-display);letter-spacing:-.02em;text-transform:uppercase;color:var(--white)}.deck{gap:var(--space-6);outline:none;min-height:min(78vh,720px);display:grid}@media (min-width:900px){.deck{grid-template-columns:minmax(16rem,.75fr) 1.25fr;align-items:stretch}}.deck:focus-visible{outline:2px solid var(--white);outline-offset:8px;border-radius:var(--radius-lg)}.deck__info{z-index:200;justify-content:center;gap:var(--space-6);flex-direction:column;display:flex;position:relative}.deck__foot{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-5);max-width:36rem;padding-top:var(--space-4);border-top:1px solid #ffffff40;flex-wrap:wrap;display:flex}.deck__all{align-items:center;gap:var(--space-2);color:var(--white);display:inline-flex}.deck__all>span{text-underline-offset:5px;transition:text-decoration-color var(--dur-base) ease;-webkit-text-decoration:underline #fff6;text-decoration:underline #fff6}.deck__all:hover>span{-webkit-text-decoration-color:var(--white);text-decoration-color:var(--white)}.deck__all:hover .btn__icon{transform:translate(3px)}.deck__count{font:300 clamp(2.4rem, 5vw, 4.2rem) / 1 var(--font-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;align-items:center;gap:.2em;display:flex}.deck__count i{opacity:.7;background:currentColor;width:2px;height:.8em;margin-inline:.18em;rotate:15deg}.deck__count [data-deck-current]{font-weight:800}.deck-info{min-height:15rem;display:grid}.deck-info__item{align-content:start;gap:var(--space-3);opacity:0;pointer-events:none;transition:opacity var(--dur-base) ease, transform var(--dur-slow) var(--ease-out);grid-area:1/1;display:grid;transform:translateY(16px)}.deck-info__item.is-active{opacity:1;pointer-events:auto;transition-delay:.12s;transform:none}.deck-info__meta{color:var(--white)}.deck-info__title{font:800 var(--text-3xl) / 1 var(--font-display);letter-spacing:var(--tracking-tight)}.deck-info__text{color:var(--white);max-width:42ch}.chip--light{color:var(--white);border-color:#fff6}.deck__nav{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.deck__btn{width:52px;height:52px;color:var(--white);transition:background-color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-spring);border:1px solid #ffffff59;border-radius:10px;place-items:center;display:grid;position:relative}.deck__btn:before{content:"";pointer-events:none;--c:#ffffffe6;background:linear-gradient(var(--c), var(--c)) 0 0 / 10px 1.5px, linear-gradient(var(--c), var(--c)) 0 0 / 1.5px 10px, linear-gradient(var(--c), var(--c)) 100% 0 / 10px 1.5px, linear-gradient(var(--c), var(--c)) 100% 0 / 1.5px 10px, linear-gradient(var(--c), var(--c)) 0 100% / 10px 1.5px, linear-gradient(var(--c), var(--c)) 0 100% / 1.5px 10px, linear-gradient(var(--c), var(--c)) 100% 100% / 10px 1.5px, linear-gradient(var(--c), var(--c)) 100% 100% / 1.5px 10px;opacity:0;transition:opacity var(--dur-fast) ease, scale var(--dur-base) var(--ease-spring);background-repeat:no-repeat;border-radius:13px;position:absolute;inset:-5px;scale:1.15}.deck__btn:hover{background:#ffffff1f}.deck__btn:hover:before{opacity:1;scale:1}.deck__btn:active{transform:scale(.94)}.deck__btn svg{width:18px;height:18px}.deck__hint{color:var(--white);opacity:.9}.deck__stage{touch-action:pan-y;-webkit-user-select:none;user-select:none;min-height:min(70vh,640px);position:relative}.deck__cards{position:absolute;inset:0}.deck-card{will-change:transform, opacity;width:clamp(240px,30vw,480px);transition:box-shadow var(--dur-base) ease;background:0 0;border:0;margin:calc(clamp(240px,30vw,480px)/-3.57143) 0 0 calc(clamp(240px,30vw,480px)/-2);padding:0;position:absolute;top:50%;left:50%}.deck-card img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none;pointer-events:none}.deck-card .shot{transform:none;box-shadow:0 30px 50px -24px #0318358c}.deck-card[data-active] .shot{box-shadow:0 40px 70px -26px #031835a6,0 0 0 1px #ffffff80}.deck-card[data-active]:hover .shot{scale:1.03}.deck-card:focus-visible{outline:none}@media (max-width:899px){.deck__stage{touch-action:pan-y;order:-1;min-height:380px}.deck-card{width:min(72vw,320px);margin:calc(min(72vw,320px)/-3.57143) 0 0 calc(min(72vw,320px)/-2)}.deck-info{min-height:13rem}}.case{gap:var(--space-7);padding:0 clamp(20px,5vw,56px) clamp(24px,5vw,56px);display:grid}.case__head{gap:var(--space-4);justify-items:start;display:grid}.case__head .lead{max-width:60ch}.case__facts{gap:var(--space-6);flex-wrap:wrap;display:flex}.case__facts div{gap:var(--space-1);display:grid}.case__cover{border-radius:var(--radius-lg);border:1px solid var(--border);width:100%}.case__metrics{gap:var(--space-5);padding-block:var(--space-5);border-block:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.case__story{gap:var(--space-6);display:grid}.case__story section{gap:var(--space-3);display:grid}.case__story p{font-size:var(--text-lg);max-width:64ch}@media (min-width:760px){.case__story{grid-template-columns:1fr 1fr}.case__story section:last-child{grid-column:1/-1}}.case__gallery{gap:var(--space-4);display:grid}.case__gallery img{border-radius:var(--radius-md);border:1px solid var(--border);width:100%}@media (min-width:760px){.case__gallery{grid-template-columns:1fr 1fr}.case__gallery img:first-child{grid-column:1/-1}}.exp{gap:var(--space-7);display:grid}@media (min-width:960px){.exp{gap:var(--space-9);grid-template-columns:4fr 8fr;align-items:start}.exp__head{position:sticky;top:110px}}.exp__edu{gap:var(--space-3);margin-top:var(--space-5);display:grid}.edu-list{gap:var(--space-4);padding:0;list-style:none;display:grid}.edu-list li{gap:2px;display:grid}.edu-list span:last-child{color:var(--fg-muted);font-size:var(--text-sm)}.job{gap:var(--space-1) var(--space-4);grid-template-columns:1fr;display:grid}.job__role{font:700 var(--text-xl) / 1.15 var(--font-display);letter-spacing:-.02em}.job__org{color:var(--fg-muted)}@media (min-width:640px){.job{grid-template-columns:150px 1fr}.job__period{grid-row:1/span 2;padding-top:6px}}.accordion__content{gap:var(--space-4);display:grid}@media (min-width:640px){.accordion__content{padding-left:calc(150px + var(--space-4))}}.numbers{background:var(--bg-sunken)}.hscroll{position:relative}.hscroll__sticky{justify-content:center;gap:var(--space-7);padding-block:var(--space-9);flex-direction:column;display:flex}.hscroll.is-pinned .hscroll__sticky{height:100vh;padding-block:0;position:sticky;top:0;overflow:hidden}.hscroll__head{justify-content:space-between;align-items:flex-end;gap:var(--space-5);flex-wrap:wrap;display:flex}.hscroll__meta{align-items:center;gap:var(--space-4);min-width:220px;font:500 var(--text-xs) / 1 var(--font-mono);letter-spacing:.1em;color:var(--fg-muted);font-variant-numeric:tabular-nums;display:flex}.hscroll__bar-track{background:var(--border);border-radius:3px;flex:1;height:3px;overflow:hidden}.hscroll__bar{background:var(--brand);transform-origin:0;height:100%;transform:scaleX(var(--p,0));display:block}.hscroll__viewport{padding-block:var(--space-5) var(--space-7);overflow:hidden}.hscroll:not(.is-pinned) .hscroll__viewport{scroll-snap-type:x mandatory;scrollbar-width:none;overflow-x:auto}.hscroll:not(.is-pinned) .hscroll__viewport::-webkit-scrollbar{display:none}.hscroll__track{gap:var(--space-5);width:max-content;padding-inline:max(var(--gutter), calc((100vw - var(--container)) / 2 + var(--gutter)));will-change:transform;display:flex}.hscroll__card{scroll-snap-align:center;transform-origin:50% 100%;flex:none;width:clamp(260px,26vw,360px);min-height:300px}.hscroll__card:hover{transform:none}.hscroll__card p{opacity:.9}.hscroll__card.feature--brand p{opacity:1}.studio{padding-bottom:0;position:relative;overflow-x:clip}.studio__inner{z-index:1;position:relative}.studio__top{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.studio__top .sheet{flex:none}.studio__meta{font:500 var(--text-xs) / 1.5 var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--fg-muted);margin:0}.studio__title{z-index:3;font:800 clamp(3rem, .8rem + 8vw, 8.5rem) / .9 var(--font-display);letter-spacing:-.045em;font-variation-settings:"opsz" 96;text-wrap:balance;margin:0;position:relative}.studio__line{display:block}.studio__line--2{text-align:right}.studio__title em{color:var(--brand);transition:scale var(--dur-base) var(--ease-spring), rotate var(--dur-base) var(--ease-spring);font-style:normal;display:inline-block}.studio__title em:hover{rotate:-3deg;scale:.86}.studio__stage{--mx:0;--my:0;z-index:2;aspect-ratio:800/440;width:min(62vw,820px);margin:var(--space-4) auto 0;perspective:1200px;position:relative;container-type:inline-size}.studio__window{--w:clamp(280px, 64cqi, 620px);z-index:2;width:var(--w);background:var(--white);translate:-50% -50%;rotate:4deg;transform:rotateX(calc(var(--my) * -9deg)) rotateY(calc(var(--mx) * 12deg));transition:transform .5s var(--ease-out), rotate var(--dur-slow) var(--ease-spring), scale var(--dur-base) var(--ease-spring), box-shadow var(--dur-base) ease;border:1px solid #111c361f;border-radius:14px;position:absolute;top:50%;left:50%;overflow:hidden;box-shadow:0 40px 70px -26px #111c3673,0 8px 20px #111c361a}.studio__window:hover{rotate:1.5deg;scale:1.02;box-shadow:0 50px 80px -26px #111c3680,0 10px 24px #111c361f}[data-theme=dark] .studio__window{border-color:#ffffff24;box-shadow:0 40px 80px -26px #000000b3}.studio__window-bar{background:var(--cream-2);border-bottom:1px solid #111c3614;align-items:center;gap:6px;margin:0;padding:10px 14px;display:flex}.studio__window-bar i{border-radius:50%;width:10px;height:10px}.studio__window-bar i:first-child{background:#ff6b5e}.studio__window-bar i:nth-child(2){background:#ffc03d}.studio__window-bar i:nth-child(3){background:#3dcf62}.studio__window-bar span{border-radius:var(--radius-pill);background:var(--white);font:500 11px / 1 var(--font-mono);letter-spacing:.04em;color:#111c36a6;align-items:center;gap:7px;margin-inline:auto;padding:5px 14px;display:inline-flex}.studio__window-bar img{border-radius:4px}.studio__window-view{aspect-ratio:1440/900;background:linear-gradient(100deg, var(--cream-2) 30%, var(--cream) 50%, var(--cream-2) 70%) 0 0 / 300% 100%;animation:1.4s linear infinite preview-wait;position:relative;overflow:hidden}.studio__window-view.is-loaded{animation:none}.studio__window-view img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.studio__window-view iframe{transform-origin:0 0;width:1440px;height:900px;scale:var(--k,.36);pointer-events:none;opacity:0;border:0;transition:opacity .5s;position:absolute;top:0;left:0}.studio__window-view.is-live iframe{opacity:1}@keyframes preview-wait{to{background-position:-150% 0}}.studio__window-link{z-index:1;border-radius:inherit;position:absolute;inset:0}.studio__window-link:focus-visible{outline:3px solid var(--brand);outline-offset:4px}.studio__services{margin:0;padding:0;list-style:none}.studio__services li{border-radius:var(--radius-pill);font:500 11px / 1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:var(--sky-800);background:var(--white);rotate:var(--r,0deg);transition:rotate var(--dur-base) var(--ease-spring), scale var(--dur-base) var(--ease-spring), border-color var(--dur-fast) ease, color var(--dur-fast) ease, opacity var(--dur-slow) var(--ease-out);border:1px solid #3f8fd64d;padding:10px 14px;box-shadow:0 10px 24px -10px #3f8fd680}.studio__services li:hover{border-color:var(--brand);color:var(--brand-strong);rotate:0deg;scale:1.1}.studio__foot{justify-items:center;gap:var(--space-5);margin:var(--space-8) auto 0;text-align:center;max-width:46ch;display:grid}.studio__lead{font-size:var(--text-lg);color:var(--fg-muted);margin:0;line-height:1.55}.studio__word{z-index:0;width:100%;height:auto;margin-top:var(--space-7);fill:var(--fg);fill-opacity:.06;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:var(--font-display);letter-spacing:-.04em;margin-bottom:-1.2%;font-weight:800;display:block;position:relative}@media (min-width:760px){.studio__services{pointer-events:none;position:absolute;inset:0 -12%}.studio__services li{left:var(--x);top:var(--y);pointer-events:auto;position:absolute}}@media (max-width:759px){.studio__stage{width:100%;margin-top:var(--space-6);aspect-ratio:auto;justify-items:center;display:grid}.studio__window{--w:100%;position:relative;top:auto;left:auto;translate:none;rotate:2deg}.studio__services{margin-top:var(--space-5);flex-wrap:wrap;justify-content:center;gap:16px 10px;display:flex}.studio__services li{rotate:calc(var(--r,0deg) * .5)}}.wm{--wm-elastic:linear(0, .171, .374, .583, .778, .944, 1.073, 1.163, 1.216, 1.236, 1.23, 1.204, 1.166, 1.123, 1.079, 1.039, 1.006, .98, .963, .953, .95, .953, .959, .967, .976, .985, .993, 1, 1.005, 1.008, 1.01, 1.008, 1.005, 1.003, 1, .999, .998, .999, 1);width:100%;height:auto;display:block;overflow:visible}.wm__letter{clip-path:var(--from);transition:clip-path .7s cubic-bezier(.215, .61, .355, 1) calc(var(--i) * 70ms)}.wm__shape{fill:var(--sky-300);transform-box:fill-box;transform-origin:50%}.wm__dot{transition:transform 1s var(--wm-elastic) .55s;transform:scale(0)translateY(-60%)}.wm__bar{transform-origin:0;transition:transform .9s cubic-bezier(.645,.045,.355,1) .7s;transform:scaleX(0)}.wm__caret{fill:var(--cream);transform-origin:50% 100%;transition:transform .6s var(--wm-elastic) 1s;transform:scaleY(0)}.wm{--accent:var(--sky-300)}.wm .mk-ring{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset .9s cubic-bezier(.65,0,.35,1)}.wm .mk-stem{transform-box:fill-box;transform-origin:50% 100%;transition:transform .6s var(--wm-elastic) .35s;transform:scaleY(0)}.wm .mk-eye{transform-box:fill-box;transform-origin:50%;transition:transform .35s var(--ease-bounce) .7s;transform:scaleY(0)}.wm .mk-packet{transform-box:fill-box;transform-origin:50%;transition:transform .9s var(--wm-elastic) .8s;transform:scale(0)}.wm.is-in .mk-ring{stroke-dashoffset:0}.wm.is-in .mk-stem,.wm.is-in .mk-eye{transform:none}.wm.is-in .mk-packet{animation:2.4s ease-in-out 1.8s infinite packet-bob;transform:none}.wm.is-in .mk-eye{animation:4.5s 2.5s infinite blink}@keyframes blink{0%,94%,to{transform:none}97%{transform:scaleY(.1)}}@keyframes packet-bob{50%{translate:0 -12%}}.wm.is-in .wm__letter{clip-path:inset(0)}.wm.is-in .wm__dot,.wm.is-in .wm__bar{transform:none}.wm.is-in .wm__caret{animation:1.1s step-end 1.8s infinite caret-blink;transform:none}.footer__mark:hover .wm.is-in .wm__dot{animation:dot-hop .9s var(--wm-elastic)}@keyframes dot-hop{30%{transform:translateY(-45%)scale(1.15)}}@media (prefers-reduced-motion:reduce){.wm__letter{clip-path:none;transition:none}.wm__shape,.wm [class^=mk-]{stroke-dashoffset:0!important;transition:none!important;animation:none!important;transform:none!important}}.footer__inner{gap:var(--space-4);font-size:var(--text-sm);align-items:center;display:grid}.footer__meta{gap:var(--space-2);color:#fff9f1b3;flex-wrap:wrap;display:flex}.footer__consent{color:inherit;font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;-webkit-text-decoration:underline #fff9f166;text-decoration:underline #fff9f166}.footer__consent:hover{color:var(--cream);text-decoration-color:currentColor}.footer__clock{gap:var(--space-3);align-items:center;display:flex}.footer__clock .label--muted{color:#fff9f180}.footer__links{gap:var(--space-5);flex-wrap:wrap;padding:0;list-style:none;display:flex}.footer__links a{position:relative}.footer__links a:after{content:"";transform-origin:100%;height:1px;transition:transform var(--dur-base) var(--ease-out);background:currentColor;position:absolute;bottom:-3px;left:0;right:0;transform:scaleX(0)}.footer__links a:hover:after{transform-origin:0;transform:scaleX(1)}@media (min-width:900px){.footer__inner{gap:var(--space-7);grid-template-columns:1fr auto auto}}@media (max-width:640px){.dialog{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:100%;max-height:92dvh;margin:auto 0 0}.dialog[open]{animation:sheet-in var(--dur-slow) var(--ease-out)}}@keyframes sheet-in{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:no-preference){.hero__inner{transform:translateY(calc(var(--p,0) * -22vh));opacity:calc(1 - var(--p,0) * 1.5)}.hero-shot{transform:translateY(calc(var(--p,0) * var(--d) * -9px)) rotate(calc(var(--p,0) * var(--r) * 2))}.hero__sun{translate:0 calc(var(--p,0) * 30vh)}.hero .cloud{translate:calc(var(--p,0) * 18vw) calc(var(--p,0) * 8vh)}.hero .cloud:nth-of-type(2n){translate:calc(var(--p,0) * -22vw) calc(var(--p,0) * 4vh)}.hero__title>span:nth-child(2){--delay:.12s}.hero__title>span:nth-child(3){--delay:.24s}.intro__photo{transform:translateY(calc((.5 - var(--p,.5)) * 120px)) rotate(calc(-7deg + var(--p,.5) * 9deg));rotate:0deg}.index-row[data-reveal]{transform:translate(-24px)}.index-row[data-reveal].is-in{transform:none}.index-row{border-bottom-color:#0000;position:relative}.index-row:after{content:"";background:var(--border);transform-origin:0;height:1px;transition:transform 1.2s var(--ease-out) calc(var(--i,0) * 70ms);position:absolute;inset:auto 0 0;transform:scaleX(0)}.index-row.is-in:after{transform:scaleX(1)}}@media (prefers-reduced-motion:no-preference) and (max-width:760px){.intro__photo{transform:translateY(calc((.5 - var(--p,.5)) * 50px)) rotate(calc(-4deg + var(--p,.5) * 5deg))}}.hire{padding-top:calc(var(--section-y) + clamp(150px, 21vw, 320px));overflow-x:clip}.hire .cloudbank--top{--bank:var(--bg-sunken)}.hire__inner{z-index:2;gap:var(--space-8);display:grid;position:relative}.hire__lead{max-width:600px;font-size:var(--text-lg);color:var(--fg-muted)}.hire__grid{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}@media (min-width:860px){.hire__grid{grid-template-columns:repeat(3,1fr)}}.hire__card{gap:var(--space-3)}.hire__card-title{font:800 var(--text-2xl) / 1.1 var(--font-display);letter-spacing:-.02em}.hire__card-text{opacity:.82}.hire__proof{padding-top:var(--space-4);border-top:1px solid;border-top-color:color-mix(in srgb, currentColor 22%, transparent);font:500 var(--text-xs) / 1.4 var(--font-mono);letter-spacing:.04em;margin-top:auto}.hire__proof span{opacity:.65;margin-right:.4em}[data-theme=dark] .hire .feature--white{background:var(--bg-raised);color:var(--fg)}.hire__how{gap:var(--space-5);margin-top:var(--space-8);display:grid}.hire__how-title{font-size:clamp(2.4rem,.6rem + 6vw,6.5rem)}.hire__sky{padding-top:84px;position:relative}.hire__trail{display:none}.hire__steps{z-index:1;align-items:start;gap:var(--space-8);margin:0;padding:0;list-style:none;display:grid;position:relative}.hire__cloud{--cloud:var(--white);--ink-c:var(--ink);gap:var(--space-2);width:min(100%,290px);padding:var(--space-5) var(--space-6);background:var(--cloud);color:var(--ink-c);text-align:center;filter:drop-shadow(0 16px 22px #1f3b6d24);border-radius:999px;justify-items:center;font-weight:500;line-height:1.35;display:grid;position:relative}.hire__cloud:before,.hire__cloud:after{content:"";z-index:-1;background:var(--cloud);border-radius:50%;position:absolute}.hire__cloud:before{aspect-ratio:1;width:34%;bottom:42%;left:14%}.hire__cloud:after{aspect-ratio:1;width:44%;bottom:30%;right:12%}.hire__cloud:nth-child(2n){justify-self:end}.hire__cloud:last-child{--cloud:var(--sky-200);--ink-c:var(--sky-800)}.hire__step-no{font:600 var(--text-xs) / 1 var(--font-mono);letter-spacing:var(--tracking-label);color:var(--brand)}.hire__cloud:last-child .hire__step-no{color:var(--sky-800)}[data-theme=dark] .hire__cloud{--cloud:#1f3663;--ink-c:var(--cream);filter:drop-shadow(0 16px 24px #00000059)}[data-theme=dark] .hire__cloud:last-child{--cloud:var(--brand-strong);--ink-c:var(--white)}[data-theme=dark] .hire__cloud:last-child .hire__step-no{color:var(--sky-100)}.hire__note{text-align:center;font-size:var(--text-sm);color:var(--fg-muted);margin:0}@media (min-width:900px){.hire__sky{padding-top:110px}.hire__steps{gap:var(--space-5);grid-template-columns:repeat(4,1fr)}.hire__cloud{justify-self:stretch;width:100%}.hire__cloud:nth-child(2n){margin-top:90px}.hire__trail{fill:none;width:100%;height:100%;stroke:var(--brand);stroke-width:2px;stroke-dasharray:2 9;stroke-linecap:round;opacity:.45;vector-effect:non-scaling-stroke;display:block;position:absolute;inset:0;overflow:visible}.hire__trail path{vector-effect:non-scaling-stroke}}@property --bob{syntax:"<length>";inherits:false;initial-value:0}.hire__cloud:first-child{--depth:140px}.hire__cloud:nth-child(2){--depth:-60px}.hire__cloud:nth-child(3){--depth:200px}.hire__cloud:nth-child(4){--depth:-20px}@media (prefers-reduced-motion:no-preference){.hire__cloud{translate:0 calc((var(--p,.5) - .5) * var(--depth,0px) + var(--bob));will-change:translate}.hire__cloud.is-in{animation:7s ease-in-out infinite alternate cloud-bob;animation-delay:calc(var(--i,0) * -1.9s)}.hire__cloud:hover{transition:scale .4s var(--ease-spring);scale:1.04}.hire__trail{translate:0 calc((var(--p,.5) - .5) * 60px)}}@media (prefers-reduced-motion:no-preference) and (max-width:899px){.hire__cloud:nth-child(n){--depth:0px}}@keyframes cloud-bob{0%{--bob:-6px}to{--bob:8px}}.contact{background:var(--sky-900)}.contact__band{background:linear-gradient(180deg, var(--hero-from) 0%, var(--hero-mid) 30%, var(--hero-to) 64%, color-mix(in srgb, var(--hero-to) 50%, var(--horizon)) 84%, var(--horizon) 100%);padding-block:clamp(230px,27vw,390px) clamp(160px,18vw,260px);overflow:hidden}.contact__band .cloudbank--top{--bank:var(--bg)}.contact__band>.container{z-index:2;position:relative}.contact__inner{text-align:center;justify-items:center;gap:var(--space-5);display:grid}.contact__actions{justify-content:center}.contact__title{font:800 var(--text-5xl) / .95 var(--font-display);letter-spacing:var(--tracking-tight);max-width:13ch}.contact__lead{max-width:46ch;font-size:var(--text-lg);color:var(--white)}.contact__email{font:500 var(--text-sm) / 1 var(--font-mono);color:var(--white);letter-spacing:.04em;overflow-wrap:anywhere}.hero__center,.hero .cloud,.contact__band .cloud{will-change:transform}:root{--horizon:#9fd0f5;--sea-back:#69b4e6;--sea-mid:#3f93d4;--sea-top:#2a7bc0;--sea-deep:#0b2b57;--sea-floor:#061a3a;--glint:#fff}[data-theme=dark]{--horizon:#2c4d86;--sea-back:#1f4278;--sea-mid:#183566;--sea-top:#112a55;--sea-deep:#081a3a;--sea-floor:#040c1f;--glint:#e3ecff}.footer{isolation:isolate;color:var(--cream);padding-block:clamp(150px, 16vw, 210px) var(--space-6);position:relative}@media (max-width:760px){.footer{padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))}}.ocean{z-index:-1;pointer-events:none;background:linear-gradient(180deg, var(--horizon) 0 50px, var(--sea-top) 112px, color-mix(in srgb, var(--sea-top) 45%, var(--sea-deep)) 38%, var(--sea-deep) 72%, var(--sea-floor));position:absolute;inset:0;overflow:hidden}.ocean[data-offscreen] *,.ocean[data-offscreen] :before,.ocean[data-offscreen] :after{animation-play-state:paused!important}.wave{left:0;top:var(--top);height:var(--h);width:calc(100% + var(--tile));background:var(--fill);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 100' preserveAspectRatio='none'%3E%3Cpath d='M0 38 Q150 8 300 38 T600 38 V100 H0 Z'/%3E%3C/svg%3E") 0 0 / var(--tile) 100% repeat-x;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 100' preserveAspectRatio='none'%3E%3Cpath d='M0 38 Q150 8 300 38 T600 38 V100 H0 Z'/%3E%3C/svg%3E") 0 0 / var(--tile) 100% repeat-x;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 100' preserveAspectRatio='none'%3E%3Cpath d='M0 38 Q150 8 300 38 T600 38 V100 H0 Z'/%3E%3C/svg%3E") 0 0 / var(--tile) 100% repeat-x;animation:wave-roll var(--speed) linear infinite;will-change:transform;position:absolute}.wave--back{--fill:var(--sea-back);--tile:520px;--h:64px;--top:22px;--speed:26s;opacity:.85}.wave--mid{--fill:var(--sea-mid);--tile:760px;--h:70px;--top:36px;--speed:19s;animation-direction:reverse}.wave--front{--fill:var(--sea-top);--tile:980px;--h:72px;--top:48px;--speed:14s}@keyframes wave-roll{to{transform:translateX(calc(-1 * var(--tile)))}}.ocean__glints{background:radial-gradient(1.6px 1.6px at 12% 20%, var(--glint), transparent), radial-gradient(1.2px 1.2px at 23% 62%, var(--glint), transparent), radial-gradient(2px 2px at 37% 34%, var(--glint), transparent), radial-gradient(1.3px 1.3px at 49% 70%, var(--glint), transparent), radial-gradient(1.8px 1.8px at 58% 18%, var(--glint), transparent), radial-gradient(1.2px 1.2px at 71% 52%, var(--glint), transparent), radial-gradient(2px 2px at 83% 28%, var(--glint), transparent), radial-gradient(1.4px 1.4px at 92% 66%, var(--glint), transparent);height:120px;animation:3.2s ease-in-out infinite glint;position:absolute;top:96px;left:0;right:0}.ocean__glints+.ocean__glints{animation-delay:-1.6s;top:108px;transform:translate(4%)}@keyframes glint{0%,to{opacity:.2}50%{opacity:.95}}.ocean__shimmer{width:min(340px,46vw);height:150px;position:absolute;top:78px;left:62%;translate:-50%;-webkit-mask:linear-gradient(#000 40%,#0000);mask:linear-gradient(#000 40%,#0000)}.ocean__shimmer:before,.ocean__shimmer:after{content:"";animation:2.2s ease-in-out infinite alternate shimmer;position:absolute;inset:0}.ocean__shimmer:before{background:radial-gradient(12px 1.6px at 24% 45%, color-mix(in srgb, var(--glint) 81%, transparent), transparent), radial-gradient(14px 1.7px at 43% 19%, color-mix(in srgb, var(--glint) 91%, transparent), transparent), radial-gradient(20px 1.8px at 49% 11%, color-mix(in srgb, var(--glint) 57%, transparent), transparent), radial-gradient(15px 1.8px at 58% 94%, color-mix(in srgb, var(--glint) 83%, transparent), transparent), radial-gradient(7px 1.3px at 60% 17%, color-mix(in srgb, var(--glint) 66%, transparent), transparent), radial-gradient(14px 1.5px at 51% 5%, color-mix(in srgb, var(--glint) 93%, transparent), transparent), radial-gradient(14px 1.6px at 40% 51%, color-mix(in srgb, var(--glint) 68%, transparent), transparent), radial-gradient(15px 1.9px at 32% 96%, color-mix(in srgb, var(--glint) 87%, transparent), transparent), radial-gradient(6px 1.9px at 51% 32%, color-mix(in srgb, var(--glint) 73%, transparent), transparent), radial-gradient(9px 2.1px at 65% 82%, color-mix(in srgb, var(--glint) 93%, transparent), transparent), radial-gradient(14px 2.1px at 53% 2%, color-mix(in srgb, var(--glint) 73%, transparent), transparent), radial-gradient(17px 1.9px at 65% 9%, color-mix(in srgb, var(--glint) 67%, transparent), transparent), radial-gradient(19px 1.2px at 41% 10%, color-mix(in srgb, var(--glint) 66%, transparent), transparent), radial-gradient(7px 1.9px at 66% 11%, color-mix(in srgb, var(--glint) 63%, transparent), transparent), radial-gradient(15px 1.2px at 41% 55%, color-mix(in srgb, var(--glint) 84%, transparent), transparent), radial-gradient(13px 1.3px at 52% 13%, color-mix(in srgb, var(--glint) 67%, transparent), transparent), radial-gradient(14px 1.3px at 56% 93%, color-mix(in srgb, var(--glint) 73%, transparent), transparent), radial-gradient(12px 1.2px at 35% 82%, color-mix(in srgb, var(--glint) 100%, transparent), transparent), radial-gradient(11px 1.4px at 49% 22%, color-mix(in srgb, var(--glint) 58%, transparent), transparent), radial-gradient(16px 1.3px at 62% 10%, color-mix(in srgb, var(--glint) 82%, transparent), transparent), radial-gradient(13px 1.7px at 23% 37%, color-mix(in srgb, var(--glint) 94%, transparent), transparent), radial-gradient(8px 2px at 56% 19%, color-mix(in srgb, var(--glint) 92%, transparent), transparent), radial-gradient(21px 1.3px at 56% 25%, color-mix(in srgb, var(--glint) 98%, transparent), transparent), radial-gradient(11px 1.5px at 78% 85%, color-mix(in srgb, var(--glint) 60%, transparent), transparent), radial-gradient(18px 1.4px at 55% 6%, color-mix(in srgb, var(--glint) 92%, transparent), transparent), radial-gradient(9px 1.3px at 48% 58%, color-mix(in srgb, var(--glint) 87%, transparent), transparent)}.ocean__shimmer:after{background:radial-gradient(21px 1.7px at 51% 8%, color-mix(in srgb, var(--glint) 68%, transparent), transparent), radial-gradient(6px 1.1px at 74% 88%, color-mix(in srgb, var(--glint) 67%, transparent), transparent), radial-gradient(11px 1.7px at 57% 44%, color-mix(in srgb, var(--glint) 61%, transparent), transparent), radial-gradient(19px 2.1px at 53% 36%, color-mix(in srgb, var(--glint) 85%, transparent), transparent), radial-gradient(5px 1.1px at 43% 67%, color-mix(in srgb, var(--glint) 96%, transparent), transparent), radial-gradient(17px 1.1px at 46% 68%, color-mix(in srgb, var(--glint) 84%, transparent), transparent), radial-gradient(20px 1.2px at 49% 47%, color-mix(in srgb, var(--glint) 80%, transparent), transparent), radial-gradient(16px 1.8px at 36% 71%, color-mix(in srgb, var(--glint) 87%, transparent), transparent), radial-gradient(13px 2px at 64% 77%, color-mix(in srgb, var(--glint) 94%, transparent), transparent), radial-gradient(17px 2px at 44% 41%, color-mix(in srgb, var(--glint) 81%, transparent), transparent), radial-gradient(13px 1.2px at 36% 61%, color-mix(in srgb, var(--glint) 84%, transparent), transparent), radial-gradient(14px 1.8px at 68% 95%, color-mix(in srgb, var(--glint) 72%, transparent), transparent), radial-gradient(15px 1.2px at 35% 71%, color-mix(in srgb, var(--glint) 89%, transparent), transparent), radial-gradient(17px 1.6px at 47% 5%, color-mix(in srgb, var(--glint) 65%, transparent), transparent), radial-gradient(17px 1.4px at 28% 68%, color-mix(in srgb, var(--glint) 56%, transparent), transparent), radial-gradient(16px 1.3px at 50% 30%, color-mix(in srgb, var(--glint) 63%, transparent), transparent), radial-gradient(15px 1.4px at 39% 87%, color-mix(in srgb, var(--glint) 85%, transparent), transparent), radial-gradient(13px 1.9px at 42% 21%, color-mix(in srgb, var(--glint) 96%, transparent), transparent), radial-gradient(8px 1.2px at 32% 85%, color-mix(in srgb, var(--glint) 77%, transparent), transparent), radial-gradient(15px 1.8px at 66% 81%, color-mix(in srgb, var(--glint) 98%, transparent), transparent), radial-gradient(10px 1.3px at 55% 28%, color-mix(in srgb, var(--glint) 74%, transparent), transparent), radial-gradient(11px 1.4px at 64% 61%, color-mix(in srgb, var(--glint) 93%, transparent), transparent), radial-gradient(4px 2px at 42% 94%, color-mix(in srgb, var(--glint) 57%, transparent), transparent), radial-gradient(12px 1.4px at 52% 69%, color-mix(in srgb, var(--glint) 91%, transparent), transparent), radial-gradient(6px 1.9px at 54% 4%, color-mix(in srgb, var(--glint) 66%, transparent), transparent), radial-gradient(6px 1.7px at 56% 15%, color-mix(in srgb, var(--glint) 75%, transparent), transparent);animation-delay:-1.1s}@keyframes shimmer{0%{opacity:.15;transform:translate(-4px)}to{opacity:.95;transform:translate(4px)}}.ocean__rays{transform-origin:50% 0;background:linear-gradient(100deg,#0000 12%,#ffffff12 16%,#0000 22%),linear-gradient(96deg,#0000 38%,#ffffff0f 43%,#0000 49%),linear-gradient(104deg,#0000 63%,#ffffff14 67%,#0000 73%),linear-gradient(98deg,#0000 82%,#ffffff0d 86%,#0000 91%);height:70%;animation:9s ease-in-out infinite alternate rays;position:absolute;top:100px;left:0;right:0;-webkit-mask:linear-gradient(#000,#0000);mask:linear-gradient(#000,#0000)}@keyframes rays{0%{opacity:.55;transform:skew(-4deg)}to{opacity:1;transform:skew(4deg)}}.ocean__bubbles{position:absolute;inset:110px 0 0;overflow:hidden}.ocean__bubbles i{bottom:-24px;left:var(--x);width:var(--s);aspect-ratio:1;animation:bubble var(--d) ease-in infinite;animation-delay:var(--l);background:radial-gradient(circle at 32% 30%,#ffffff8c,#ffffff0f 45%,#0000 70%);border:1px solid #ffffff73;border-radius:50%;position:absolute}@keyframes bubble{0%{opacity:0;transform:translate(0)}12%{opacity:.9}50%{transform:translate(var(--sway), -45vh)}85%{opacity:.7}to{opacity:0;transform:translateY(-90vh)}}@media (prefers-reduced-motion:reduce){.ocean *,.footer__mark{animation:none!important}}.footer__mark{animation:7s ease-in-out infinite float-on-sea}@keyframes float-on-sea{50%{transform:translateY(-6px)rotate(-.4deg)}}.footer__mark{margin-bottom:var(--space-7);color:var(--cream);display:block;position:relative}.wm__letter--at{transition:clip-path .7s cubic-bezier(.215, .61, .355, 1) calc(var(--i) * 70ms), opacity .25s ease, transform .5s var(--ease-spring);transform-box:fill-box;transform-origin:50%}.wm__at{fill:var(--sky-300);opacity:0;transform-box:fill-box;transform-origin:50%;transition:opacity .2s ease, transform .6s var(--ease-spring);transform:scale(.3)rotate(-160deg)}.wm.is-at .wm__letter--at{opacity:0;transform:scale(.3)rotate(140deg)}.wm.is-at .wm__at{opacity:1;transform:none}.wm__hit{fill:#0000;outline:none}.wm__ping{fill:none;stroke:var(--sky-300);stroke-width:10px;opacity:0;transform-box:fill-box;transform-origin:50%;pointer-events:none}@media (prefers-reduced-motion:no-preference){.wm.is-in:not(.is-at) .wm__letter--at{animation:4.2s ease-in-out 2.6s infinite at-nudge}.wm.is-in:not(.is-at) .wm__ping{animation:4.2s ease-out 2.6s infinite at-ping}}@keyframes at-nudge{0%,78%,to{transform:none}83%{transform:translateY(-14%)rotate(-12deg)}88%{transform:translateY(0)rotate(9deg)}93%{transform:rotate(-5deg)}97%{transform:rotate(2deg)}}@keyframes at-ping{0%,80%{opacity:0;transform:scale(.55)}84%{opacity:.9}to{opacity:0;transform:scale(1.25)}}.wm__hit:focus-visible{stroke:var(--sky-300);stroke-width:12px;stroke-dasharray:30 20}.wm-spread{left:var(--ax,50%);top:var(--ay,50%);z-index:5;pointer-events:none;width:0;height:0;position:absolute}.wm-card{background:var(--cream);min-width:176px;color:var(--ink);border:2px solid var(--sky-300);opacity:0;transition:transform .45s var(--ease-out) calc((4 - var(--k)) * 30ms), opacity .2s calc((4 - var(--k)) * 30ms), background-color var(--dur-fast) ease;border-radius:16px;gap:2px;padding:12px 16px;display:grid;position:absolute;top:0;left:0;transform:translate(-50%,-50%)scale(.15);box-shadow:0 18px 40px #00000059}.wm-card b{font:700 var(--text-base) / 1.2 var(--font-display);letter-spacing:-.01em}.wm-card small{font:500 var(--text-xs) / 1.3 var(--font-mono);letter-spacing:.04em;color:#06060699}.wm-card:hover,.wm-card:focus-visible{background:var(--sky-100);outline:none}.wm-spread.is-open{pointer-events:auto}.wm-spread.is-open .wm-card{opacity:1;pointer-events:auto;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) rotate(var(--r)) scale(1);transition-delay:calc(var(--k) * 45ms)}@media (prefers-reduced-motion:reduce){.wm-card,.wm__at,.wm__letter--at{transition:none}}@media (max-width:760px){.nav-pill{display:none}.hero .cloud{--o:.4}.hero .cloud[data-cloud="2"]:nth-of-type(2){top:-3%}.nav{gap:var(--space-2);grid-template-columns:auto minmax(0,1fr) auto;inset-block-start:var(--space-3)}.nav__side:first-child{display:flex}.intro__stats .stat__label{font-size:var(--text-xs)}.logo-row{gap:var(--space-5)}.logo-row img{height:26px}.hero .cloud,.contact__band .cloud,.hero .cloudbank{will-change:auto}.ocean__bubbles i:nth-child(n+9){display:none}}@media (prefers-reduced-motion:no-preference){.hero__center{transform:translateY(calc(var(--p,0) * 22vh));opacity:calc(1 - var(--p,0) * 1.25)}.hero .cloudbank:not(.cloudbank--back){transform:translateY(calc(var(--p,0) * -62vh));will-change:transform}.hero .cloudbank:not(.cloudbank--back):after{content:"";background:var(--bank);height:110vh;position:absolute;top:99%;left:0;right:0}.hero__title>span:nth-child(2){--delay:.12s}.hero__title>span:nth-child(3){--delay:.24s}.mascot-fly.is-entering{animation:mark-in 1s var(--ease-spring) .15s both}@keyframes mark-in{0%{opacity:0;rotate:-20deg;scale:.5}}.hero .cloud[data-cloud="1"]{transform:translate(calc(var(--p,0) * -8vw), calc(var(--p,0) * -20vh))}.hero .cloud[data-cloud="2"]{transform:translate(calc(var(--p,0) * 10vw), calc(var(--p,0) * -28vh))}.hero .cloud[data-cloud="3"]{transform:translateY(calc(var(--p,0) * -40vh)) scale(calc(1 + var(--p,0) * .4))}.hero .cloudbank--back{transform:translateY(calc(var(--p,0) * -34vh));will-change:transform}.studio__line{translate:calc((var(--p,.5) - .5) * -40px) 0}.studio__line--2{translate:calc((var(--p,.5) - .5) * 40px) 0}.studio__window{translate:-50% calc(-50% + (.5 - var(--p,.5)) * 50px)}.studio__services li{translate:calc(var(--mx) * var(--depth,50px) * .35) calc((.5 - var(--p,.5)) * var(--depth,50px) + var(--my) * var(--depth,50px) * .25);animation:5.5s ease-in-out infinite balloon-bob;animation-delay:calc(var(--i,0) * -.9s)}.studio__stage:not(.is-in) .studio__services li{opacity:0;scale:.4}.studio__stage.is-in .studio__services li{transition-delay:calc(.45s + var(--i,0) * 80ms), calc(.45s + var(--i,0) * 80ms), 0s, 0s, calc(.45s + var(--i,0) * 80ms)}.studio__stage.is-in .studio__services li:hover{transition-delay:0s}@keyframes balloon-bob{50%{transform:translateY(-8px)}}.studio__word{translate:0 calc((.5 - var(--p,.5)) * 50px)}@media (max-width:759px){.studio__services li,.studio__line,.studio__line--2{translate:none}.studio__window{translate:0 calc((.5 - var(--p,.5)) * 24px)}}@media (max-width:959px){.intro__photo{transform:translateY(calc((.5 - var(--p,.5)) * 40px))}}.contact__band .cloud{transform:translateY(calc((.5 - var(--p,.5)) * 120px))}}.projects-hero{padding-block:clamp(150px,15vw,190px) clamp(190px,22vw,300px);overflow:hidden}.projects-hero .cloudbank{height:clamp(120px,15vw,230px)}.projects-hero .cloudbank--back{opacity:.6;bottom:10%}.projects-hero__inner{z-index:2;text-align:center;justify-items:center;gap:var(--space-5);display:grid;position:relative}.btn:hover .btn__icon--back{transform:translate(-3px)}.projects-hero__lead{max-width:40ch;font-size:var(--text-lg);color:var(--white)}.projects-main{padding-block:0 var(--space-9)}.projects-page .nav-mark.mascot{--accent:var(--sky-100);color:var(--white);filter:drop-shadow(0 4px 12px #1f3b6d59);transition:transform var(--dur-fast) var(--ease-spring), filter var(--dur-fast) ease}.projects-page .nav-mark.mascot:hover{filter:drop-shadow(0 6px 16px #1f3b6d80);transform:scale(1.06)}.projects-page .nav-mark.mascot .mk-ring{fill:var(--tejo-face);stroke:currentColor;transition:fill var(--dur-base) ease}[data-theme=dark] .projects-page .nav-mark.mascot{--accent:var(--sky-200);filter:drop-shadow(0 4px 14px #0000008c)}.nav-center{justify-content:center;align-items:center;gap:var(--space-2);min-width:0;display:flex}.nav-center .nav-search-pill{flex:0 540px;margin-inline:0}.nav-home{background:color-mix(in srgb, var(--bg) 78%, transparent);width:52px;height:52px;color:var(--fg);border:1px solid var(--border);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(14px)saturate(1.3);transition:transform var(--dur-fast) var(--ease-spring), border-color var(--dur-fast) ease;border-radius:50%;flex:none;place-items:center;display:grid}.nav-home:hover{border-color:var(--border-strong);transform:scale(1.06)}.nav-home:active{transform:scale(.94)}.nav-home svg{width:19px;height:19px}@media (max-width:760px){.nav-home{width:42px;height:42px}.nav-home svg{width:17px;height:17px}}.projects-page .nav{gap:var(--space-4);grid-template-columns:auto minmax(0,1fr) auto}.nav-search-pill{align-items:center;gap:var(--space-3);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--bg) 78%, transparent);border:1px solid var(--border);width:min(100%,540px);min-width:0;height:52px;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(14px)saturate(1.3);transition:border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease, background-color var(--dur-fast) ease;margin-inline:auto;padding:0 18px;display:flex;position:relative}.nav-search-pill:focus-within{border-color:var(--brand);background:color-mix(in srgb, var(--bg-raised) 92%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 18%, transparent), var(--shadow-sm)}.nav-search-pill .projects-search-icon{width:18px;height:18px;color:var(--fg-muted);transition:color var(--dur-fast) ease;flex:none}.nav-search-pill:focus-within .projects-search-icon{color:var(--brand)}.nav-search-pill .projects-search-input{min-width:0;height:100%;font:450 var(--text-sm) / 1 var(--font-sans);color:var(--fg);background:0 0;border:0;outline:none;flex:1;padding:0}.nav-search-pill .projects-search-input::placeholder{color:var(--fg-subtle);font-size:var(--text-sm)}.nav-search-pill .nav-search__kbd{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-sunken) 70%, transparent);min-width:20px;height:20px;font:500 11px / 1 var(--font-mono);color:var(--fg-subtle);pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0 5px;display:inline-flex}.nav-search-pill:focus-within .nav-search__kbd{display:none}.nav-search-pill .projects-search-clear{border-radius:var(--radius-pill);background:var(--bg-sunken);width:22px;height:22px;color:var(--fg-muted);cursor:pointer;transition:background var(--dur-fast) ease, color var(--dur-fast) ease;border:0;flex:none;justify-content:center;align-items:center;padding:0;font-size:15px;line-height:1;display:none}.nav-search-pill .projects-search-clear.is-visible{display:inline-flex}.nav-search-pill .projects-search-clear:hover{background:var(--border);color:var(--fg)}@media (max-width:760px){.projects-page .nav{grid-template-columns:auto 1fr;gap:8px;padding-inline:12px;inset-block-start:var(--space-3)}.projects-page .nav__side:first-child{display:flex}.projects-page .nav-center{display:none}.projects-page .nav__side--end{justify-self:end}}.projects-toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:calc(-1 * var(--space-6));z-index:2;flex-wrap:wrap;display:flex;position:relative}.projects-filters{gap:var(--space-2)}@media (max-width:760px){.projects-filters{margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);flex-wrap:nowrap;overflow-x:auto}.projects-filters .chip--filter{flex:none}}.projects-filters .chip__count{opacity:.55}.projects-view{--seg-count:2}.projects-view button{min-width:72px}.projects-meta{gap:var(--space-4);min-height:20px;margin-block:var(--space-5);flex-wrap:wrap;align-items:center;display:flex}.projects-meta .reset-link{font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--brand);text-underline-offset:3px;text-decoration:underline}.projects-grid{gap:var(--space-5);perspective:1200px;grid-template-columns:1fr;margin-top:0;display:grid}@media (min-width:680px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1080px){.projects-grid{gap:var(--space-6);grid-template-columns:repeat(3,1fr)}}.card__media{border-radius:calc(var(--radius-lg) - 1px)}.project-card{height:100%}.project-card__visual{cursor:pointer}.project-card__visual:focus-visible{outline:2px solid var(--focus);outline-offset:-3px}.project-card__body{gap:var(--space-3);flex-direction:column;flex:1;display:flex}.project-card__meta-line>span:first-child{white-space:nowrap;flex-shrink:0}.project-card__meta-line>span:last-child{white-space:nowrap;text-overflow:ellipsis;text-align:right;overflow:hidden}.project-card__title{margin:0}.project-card__title a{color:var(--fg);justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;text-decoration:none;display:inline-flex}.project-card__title svg{opacity:.45;width:16px;height:16px;transition:transform var(--dur-fast) ease, opacity var(--dur-fast) ease, color var(--dur-fast) ease;flex:none}.project-card:hover .project-card__title a{color:var(--brand)}.project-card:hover .project-card__title svg{opacity:1;color:var(--brand);transform:translate(2px,-2px)}.project-card__category{font:500 var(--text-xs) / 1.3 var(--font-mono);letter-spacing:.04em;color:var(--fg-muted);white-space:nowrap;text-overflow:ellipsis;margin:calc(-1 * var(--space-1)) 0 0;overflow:hidden}.project-card__summary{font-size:var(--text-sm);color:var(--fg-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:3.1em;margin:0;line-height:1.55;display:-webkit-box;overflow:hidden}.project-card__tags{padding-top:var(--space-1);flex-wrap:wrap;align-items:center;gap:5px;margin-top:auto;display:flex}.project-tag{font:500 11px / 1 var(--font-mono);border-radius:var(--radius-sm);border:1px solid var(--border);height:22px;color:var(--fg-muted);background:var(--bg-sunken);align-items:center;padding:0 7px;display:inline-flex}.project-tag--more{color:var(--fg-subtle);background:0 0;border-style:dashed;font-size:10px}.project-card__footer{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-2);border-top:0;min-height:28px;display:flex}.project-card__metric{font:500 11px / 1 var(--font-mono);color:var(--fg-muted);flex:1;align-items:center;gap:6px;min-width:0;display:inline-flex;overflow:hidden}.project-card__metric strong{color:var(--fg);white-space:nowrap;flex-shrink:0;font-size:11px;font-weight:700}.project-card__metric span{color:var(--fg-subtle);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.project-card__cta{font:600 var(--text-xs) / 1 var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--brand-strong);cursor:pointer;white-space:nowrap;background:0 0;border:0;flex-shrink:0;align-items:center;gap:6px;margin-left:auto;padding:0;display:inline-flex}[data-theme=dark] .project-card__cta{color:var(--sky-200)}.project-card:hover .project-card__cta .btn__icon{transform:translate(4px)}@media (hover:hover) and (prefers-reduced-motion:no-preference){.project-card:hover .project-card__cta .roll__a{transform:translateY(-115%)}.project-card:hover .project-card__cta .roll__b>span{transform:none}}.project-card-wrap>.project-card{height:100%}.projects-grid.is-table-view{display:block}.projects-grid:has(.projects-table-wrapper){display:block}.projects-table-wrapper{width:100%;margin-top:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-raised);box-shadow:var(--shadow-sm);grid-column:1/-1;overflow-x:auto}.projects-table{border-collapse:collapse;text-align:left;width:100%;min-width:860px}.projects-table th{font:600 11px / 1 var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--fg-muted);background:var(--bg-sunken);border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 18px}.projects-table td{border-bottom:1px solid var(--border);font-size:var(--text-sm);vertical-align:middle;padding:14px 18px}.projects-table tr:last-child td{border-bottom:0}.projects-table tr{cursor:pointer;transition:background-color var(--dur-fast) ease}.projects-table tbody tr:hover{background:color-mix(in srgb, var(--brand) 6%, var(--bg-raised))}.projects-table__thumb{border-radius:var(--radius-sm);background:var(--bg-sunken);border:1px solid var(--border);width:52px;height:34px;display:block;overflow:hidden}.projects-table__thumb img{object-fit:cover;object-position:top;width:100%;height:100%}.projects-table__title{font:700 var(--text-sm) / 1.25 var(--font-display);color:var(--fg)}.projects-table__cat{font:400 11px / 1.3 var(--font-mono);color:var(--fg-muted);margin-top:2px}.projects-table__stack{font:400 12px / 1.4 var(--font-mono);color:var(--fg-muted);max-width:260px}.projects-empty{text-align:center;padding:clamp(48px, 10vw, 80px) var(--space-5);border-radius:var(--radius-lg);border:1px dashed var(--border);background:var(--bg-sunken);place-items:center;gap:var(--space-4);grid-column:1/-1;display:grid}.projects-empty__icon{border-radius:var(--radius-pill);background:var(--bg-raised);width:56px;height:56px;color:var(--fg-muted);border:1px solid var(--border);place-items:center;display:grid}.projects-empty__title{font:700 var(--text-xl) / 1.2 var(--font-display)}.projects-empty__desc{max-width:44ch;color:var(--fg-muted);font-size:var(--text-sm)}.case-page__body{padding-block:clamp(120px, 14vw, 168px) var(--space-8);gap:var(--space-6);max-width:920px;display:grid}.case-page__body .case{padding:0}.case-page__more{gap:var(--space-5);padding-block:var(--space-8) var(--space-9);border-top:1px solid var(--border);display:grid}.case-page__list{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:0;padding:0;list-style:none;display:grid}.case-page__link{gap:var(--space-2);color:inherit;text-decoration:none;display:grid}.case-page__link img{aspect-ratio:1600/848;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--border);width:100%;height:auto;transition:transform var(--dur-base) var(--ease-std)}.case-page__link:hover img{transform:translateY(-3px)}.case-page__link-title{font-weight:600}@media (max-width:760px){.case-page__list{gap:var(--space-4);grid-template-columns:1fr 1fr}}.preview-page{height:100svh;overflow:hidden}.preview-frame{background:var(--white);border:0;width:100%;height:100%;display:block}.is-guided .loader{display:none}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}.nav__side--end{view-transition-name:nav-tools}::view-transition-old(root){animation:none}::view-transition-new(root){animation:page-in .5s var(--ease-out) both}}@keyframes page-in{0%{opacity:0}}:root{--tejo-face:var(--sky-400)}:root[data-theme=dark]{--tejo-face:#1c3868}.tejo-zoom{--accent:var(--sky-100);z-index:1000;pointer-events:none;width:100%;height:100%;color:var(--white);position:fixed;inset:0}.tejo-zoom .mk-ring{fill:var(--tejo-face)}.mascot.is-away{visibility:hidden}.is-tejo-arriving body:after{content:"";z-index:1000;background:var(--tejo-face);animation:.4s 3s forwards tejo-cover-failsafe;position:fixed;inset:0}@keyframes tejo-cover-failsafe{to{opacity:0;visibility:hidden}}.is-tejo-leaving .nav__side--end,.is-tejo-arriving .nav__side--end{view-transition-name:none}@media (min-width:980px){.svc-page .nav{grid-template-columns:1fr auto 1fr}}.svc-page .svc-nav{transition:background-color var(--dur-base) ease, border-color var(--dur-base) ease, box-shadow var(--dur-base) ease;gap:0}.svc-page .nav.is-scrolled .svc-nav{background:color-mix(in srgb, var(--bg-raised) 88%, transparent);border-color:var(--border);box-shadow:var(--shadow-sm)}[data-theme=dark] .svc-page .nav.is-scrolled .svc-nav{background:color-mix(in srgb, var(--bg-raised) 86%, transparent)}[data-theme=dark] .svc-page .nav:not(.is-scrolled) .svc-nav .nav-link{--cloud:#7db8f53d}.svc-page .svc-nav .nav-link--page{margin-left:var(--space-4)}.svc-page .svc-nav .nav-link--page:after{background:var(--white);opacity:.35;transition:background-color var(--dur-base) ease, opacity var(--dur-base) ease;left:-11px}.svc-page .nav.is-scrolled .svc-nav .nav-link--page:after{background:var(--fg);opacity:.24}.svc-hero{padding-block:clamp(152px,15vw,188px) clamp(185px,20vw,275px);overflow:hidden}.svc-hero:before{content:"";z-index:-1;pointer-events:none;mix-blend-mode:soft-light;opacity:.55;background:radial-gradient(60% 9% at 22% 18%,#ffffff29,#0000 70%),radial-gradient(48% 7% at 74% 34%,#ffffff1f,#0000 70%),radial-gradient(70% 8% at 40% 62%,#ffffff1a,#0000 70%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");position:absolute;inset:0}.svc-hero .cloudbank{z-index:3;height:clamp(120px,15vw,230px)}.svc-hero .cloudbank--back{opacity:.6;z-index:1;bottom:10%}.svc-hero__inner{z-index:2;text-align:center;justify-items:center;gap:var(--space-4);max-width:1080px;display:grid;position:relative}.svc-hero .sheet{gap:var(--space-2);text-align:center;border-radius:var(--radius-pill);flex-direction:row}.svc__crumbs ol{justify-content:center;align-items:center;gap:var(--space-2);font:500 var(--text-xs) / 1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#ffffffd6;text-shadow:0 1px 10px #0a23464d;flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.svc__crumbs li+li:before{content:"/";margin-right:var(--space-2);opacity:.55}.svc__crumbs a{color:inherit;transition:color var(--dur-fast) ease;text-decoration:none}.svc__crumbs a:hover{color:var(--white);text-underline-offset:3px;text-decoration:underline}.svc__crumbs [aria-current=page]{color:var(--white);font-weight:700}.svc-hero__title{font:800 clamp(2rem, 4.1vw, 3.5rem) / 1.04 var(--font-display);letter-spacing:var(--tracking-tight);font-variation-settings:"opsz" 96;max-width:20ch;color:var(--white);text-shadow:0 4px 36px #111c363d;text-wrap:balance;margin:0}.svc-hero__lead{color:#fffffff2;text-shadow:0 1px 16px #111c3633;text-wrap:pretty;max-width:48ch;margin:0;font-size:clamp(1rem,.95rem + .3vw,1.2rem);line-height:1.5}.svc-hero__facts{font:500 var(--text-xs) / 1.4 var(--font-mono);letter-spacing:.04em;color:#ffffffe6;text-shadow:0 1px 10px #0a23464d;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 0;margin:0;padding:0;list-style:none;display:flex}.svc-hero__facts li{white-space:nowrap;align-items:center;display:inline-flex}.svc-hero__facts li+li:before{content:"";opacity:.55;background:currentColor;border-radius:50%;width:4px;height:4px;margin-inline:12px}.svc-hero__ctas{margin-top:var(--space-2);justify-content:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.svc-hero__ctas .btn{min-height:48px}.svc-hero__ctas .btn--glass{background:#0a234647}.svc-hero__mail{margin-top:calc(-1 * var(--space-2));font:500 var(--text-xs) / 1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:#ffffffd1;text-underline-offset:4px;transition:color var(--dur-fast) ease, text-decoration-color var(--dur-fast) ease;-webkit-text-decoration:underline #fff6;text-decoration:underline #fff6}.svc-hero__mail:hover{color:var(--white);text-decoration-color:currentColor}.svc__glance-lead{border-bottom:1px solid var(--border);font-size:var(--text-lg);color:var(--fg);text-wrap:pretty;max-width:72ch;margin:0;padding:20px clamp(22px,3vw,36px);line-height:1.55}@media (max-width:759px){.svc-hero:before,.svc-hero .cloud[data-cloud="3"],.svc-hero .cloudbank--back,.svc-hero .firefly:nth-of-type(n+4),.svc-hero .night__stars--near{display:none}}.svc-mobile-tabs{display:none}@media (max-width:760px){.svc-mobile-tabs{margin-bottom:calc(-1 * var(--space-4));flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.svc-mobile-tabs__link{background:var(--bg-raised);height:32px;padding:0 12px;font-size:11px;text-decoration:none}.svc-mobile-tabs__link[aria-current=page]{background:var(--fg);color:var(--bg);border-color:var(--fg)}}.svc__inner{z-index:4;max-width:var(--container);grid-template-columns:minmax(0,1fr);gap:clamp(96px,11vw,168px);margin-top:calc(-1*clamp(16px,2.5vw,32px));padding-bottom:clamp(104px,12vw,176px);display:grid;position:relative}.svc__inner .sheet{justify-self:start;gap:var(--space-2);text-align:left;flex-direction:row}.svc__glance{border-radius:var(--radius-xl);background:var(--bg-raised);border:1px solid var(--border);box-shadow:var(--shadow-md);overflow:hidden}.svc__glance-head{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-5);border-bottom:1px solid var(--border);flex-wrap:wrap;padding:20px clamp(22px,3vw,36px);display:flex}.svc__glance-tag{font:500 var(--text-xs) / 1.3 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);margin:0}.svc__glance-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}@media (max-width:359px){.svc__glance-grid{grid-template-columns:1fr}}@media (min-width:920px){.svc__glance-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.svc__glance-cell{border-bottom:1px solid var(--border);transition:background-color var(--dur-fast) ease;align-content:start;gap:6px;padding:clamp(18px,2.4vw,30px) clamp(16px,2.6vw,34px);display:grid}.svc__glance-cell:hover{background:color-mix(in srgb, var(--brand) 4%, var(--bg-raised))}@media (max-width:359px){.svc__glance-cell:last-child{border-bottom:0}}@media (min-width:360px) and (max-width:919px){.svc__glance-cell:nth-child(odd){border-right:1px solid var(--border)}.svc__glance-cell:nth-last-child(-n+2){border-bottom:0}}@media (min-width:920px){.svc__glance-cell{border-bottom:0;border-right:1px solid var(--border)}.svc__glance-cell:last-child{border-right:0}}.svc__glance-label{font:600 11px / 1.2 var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--fg-muted)}.svc__glance-val{flex-wrap:nowrap;align-items:baseline;gap:6px;margin:4px 0 2px;display:flex}.svc__glance-prefix{font:500 11px / 1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--brand-strong)}[data-theme=dark] .svc__glance-prefix{color:var(--sky-200)}.svc__glance-val strong{font:800 clamp(1.25rem, 1rem + 1vw, 1.95rem) / 1.05 var(--font-display);letter-spacing:-.025em;color:var(--fg);white-space:nowrap}.svc__glance-detail{font-size:var(--text-sm);color:var(--fg-muted);margin:0;line-height:1.45}.svc__glance-foot{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-5);border-top:1px solid var(--border);background:color-mix(in srgb, var(--bg-sunken) 58%, var(--bg-raised));flex-wrap:wrap;padding:16px clamp(18px,3vw,36px);display:flex}.svc__glance-foot-label{font:600 11px / 1.2 var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--brand-strong);flex:none}[data-theme=dark] .svc__glance-foot-label{color:var(--sky-200)}.svc__glance-perks{flex-wrap:wrap;align-items:center;gap:8px 20px;margin:0;padding:0;list-style:none;display:flex}.svc__glance-perks li{font-size:var(--text-sm);color:var(--fg);padding-left:16px;font-weight:500;line-height:1.4;position:relative}.svc__glance-perks li:before{content:"";background:var(--brand);border-radius:50%;width:7px;height:7px;position:absolute;top:.48em;left:0}.svc__section{grid-template-columns:minmax(0,1fr);gap:clamp(36px,4.2vw,56px);display:grid}.svc .section-head{gap:var(--space-4);max-width:820px}.svc .heading{text-wrap:balance;max-width:22ch;margin:0;font-size:clamp(2.1rem,1.3rem + 3.4vw,4rem);line-height:1.04}.svc__h3{font:700 var(--text-xl) / 1.25 var(--font-display);letter-spacing:-.015em;color:var(--fg);margin:0}.svc__sub{font-size:var(--text-lg);color:var(--fg-muted);max-width:62ch;margin:0;line-height:1.65}@media (min-width:960px){.svc__editorial{grid-template-columns:minmax(0,4.6fr) minmax(0,7.4fr);align-items:start;gap:clamp(48px,6vw,96px)}.svc__editorial-head{position:sticky;top:120px}}.svc__prose{gap:var(--space-5);max-width:64ch;display:grid}.svc__prose p{font-size:var(--text-lg);color:var(--fg);margin:0;line-height:1.75}.svc__cases{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));margin:0;padding:0;list-style:none;display:grid}.svc__case-item{display:flex}.svc__case-card{width:100%;height:100%}.svc__case-body{gap:var(--space-3);flex-direction:column;flex:1;display:flex}.svc__case-note{color:var(--fg-muted);font-size:var(--text-sm);margin:0;line-height:1.55}.svc__more{padding-top:var(--space-2);font:600 var(--text-xs) / 1 var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--brand-strong);align-items:center;gap:6px;margin-top:auto;display:inline-flex}[data-theme=dark] .svc__more{color:var(--sky-200)}.svc__case-card:hover .svc__more .btn__icon{transform:translate(4px)}@media (hover:hover) and (prefers-reduced-motion:no-preference){.svc__case-card:hover .roll__a{transform:translateY(-115%)}.svc__case-card:hover .roll__b>span{transform:none}}.svc__grid{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));margin:0;padding:0;list-style:none;display:grid}@media (min-width:760px){.svc__grid--two{gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:900px){.svc__grid--five{gap:var(--space-5);grid-template-columns:repeat(6,minmax(0,1fr))}.svc__grid--five>li{grid-column:span 2}.svc__grid--five>li:nth-child(n+4){grid-column:span 3}}.svc__card{gap:var(--space-4);box-shadow:var(--shadow-sm);padding:clamp(24px,2.8vw,36px)}.svc__card .label{opacity:.68}.svc__card-title{font:800 var(--text-2xl) / 1.12 var(--font-display);letter-spacing:-.02em;margin:0}.svc__card p{opacity:.92;margin:0;line-height:1.68}.svc__card--link{position:relative}.svc__card-stretch{color:inherit;text-decoration:none}.svc__card-stretch:after{content:"";z-index:1;border-radius:inherit;position:absolute;inset:0}.svc__card-stretch:focus-visible{outline:none}.svc__card--link:has(.svc__card-stretch:focus-visible){outline:2px solid var(--focus);outline-offset:3px}.svc__from{padding-top:var(--space-4);border-top:1px solid color-mix(in srgb, currentColor 18%, transparent);align-items:baseline;gap:var(--space-2);font-size:var(--text-sm);margin-top:auto;display:flex;opacity:1!important}.svc__from strong{font:800 var(--text-xl) / 1 var(--font-display);letter-spacing:-.02em}.svc__from .btn__icon{transition:transform var(--dur-fast) var(--ease-spring);align-self:center;margin-left:auto}.svc__card--link:hover .svc__from .btn__icon{transform:translate(4px)}.svc__note{gap:var(--space-4);box-shadow:var(--shadow-sm)}@media (min-width:860px){.svc__note{gap:var(--space-7);grid-template-columns:minmax(0,4fr) minmax(0,8fr);align-items:center;display:grid}}.svc__note p{font-size:var(--text-lg);margin:0;line-height:1.65}[data-theme=dark] .svc .feature--white{background:var(--bg-raised);color:var(--fg)}[data-theme=dark] .svc .feature--ink{border:1px solid var(--border);background:#0d1a38}.svc .feature[data-reveal].is-in:hover{box-shadow:var(--shadow-md);transition:transform var(--dur-base) var(--ease-spring), box-shadow var(--dur-base) ease;transition-delay:0s;transform:translateY(-6px)rotate(-.6deg)}.svc .card[data-reveal].is-in:hover{box-shadow:var(--shadow-lg);transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) ease;transition-delay:0s;transform:translateY(-4px)}.svc__checks{gap:var(--space-4) var(--space-5);grid-template-columns:1fr;margin:0;padding:0;list-style:none;display:grid}@media (min-width:720px){.svc__checks{grid-template-columns:repeat(2,minmax(0,1fr))}.svc__checks li:last-child:nth-child(odd){grid-column:1/-1}}.svc__checks li{padding:var(--space-5) var(--space-5) var(--space-5) 54px;border-radius:var(--radius-lg);background:var(--bg-raised);border:1px solid var(--border);box-shadow:var(--shadow-sm);color:var(--fg);line-height:1.62;position:relative}.svc__checks li:before{content:"";background:color-mix(in srgb, var(--brand) 15%, transparent);border-radius:50%;width:24px;height:24px;position:absolute;top:24px;left:18px}.svc__checks li:after{content:"";border:solid var(--brand-strong);border-width:0 0 2px 2px;width:10px;height:6px;position:absolute;top:32px;left:25px;transform:rotate(-45deg)}[data-theme=dark] .svc__checks li:after{border-color:var(--sky-200)}.svc__checks li[data-reveal].is-in:hover{border-color:color-mix(in srgb, var(--brand) 45%, var(--border));box-shadow:var(--shadow-md);transition:transform var(--dur-fast) var(--ease-spring), border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease;transition-delay:0s;transform:translateY(-3px)}.svc__steps{gap:var(--space-4);counter-reset:step;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));margin:0;padding:0;list-style:none;display:grid}.svc__steps li{gap:var(--space-2);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--bg-raised);border:1px solid var(--border);box-shadow:var(--shadow-sm);counter-increment:step;flex-direction:column;display:flex}.svc__steps li:before{content:counter(step, decimal-leading-zero);margin-bottom:var(--space-1);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--brand) 14%, transparent);color:var(--brand-strong);font:600 var(--text-xs) / 1 var(--font-mono);letter-spacing:var(--tracking-label);align-self:flex-start;padding:4px 10px}[data-theme=dark] .svc__steps li:before{color:var(--sky-200)}.svc__steps p{color:var(--fg-muted);font-size:var(--text-sm);margin:0;line-height:1.6}.svc__steps li[data-reveal].is-in:hover{border-color:color-mix(in srgb, var(--brand) 45%, var(--border));box-shadow:var(--shadow-md);transition:transform var(--dur-base) var(--ease-spring), border-color var(--dur-fast) ease, box-shadow var(--dur-base) ease;transition-delay:0s;transform:translateY(-5px)}.svc__clouds-stage{padding-top:76px;position:relative}.svc__clouds-trail{display:none}.svc__clouds{z-index:1;align-items:start;gap:82px var(--space-5);margin:0;padding:0;list-style:none;display:grid;position:relative}@media (min-width:680px){.svc__clouds{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:680px) and (max-width:979px){.svc__cloud:nth-child(2n){margin-top:32px}}@media (min-width:980px){.svc__clouds-stage{padding-top:86px}.svc__clouds{gap:94px var(--space-6);grid-template-columns:repeat(3,minmax(0,1fr))}.svc__cloud:nth-child(3n+2){margin-top:40px}.svc__clouds-trail{fill:none;width:100%;height:100%;stroke:var(--brand);stroke-width:2px;stroke-dasharray:2 9;stroke-linecap:round;opacity:.45;pointer-events:none;vector-effect:non-scaling-stroke;display:block;position:absolute;inset:0;overflow:visible}.svc__clouds-trail path{vector-effect:non-scaling-stroke}}.svc__cloud{--cloud:var(--white);--ink-c:var(--ink);gap:var(--space-2);text-align:center;background:var(--cloud);color:var(--ink-c);filter:drop-shadow(0 16px 22px #1f3b6d24);border-radius:999px;justify-items:center;padding:26px 40px 30px;display:grid;position:relative}.svc__cloud:before,.svc__cloud:after{content:"";z-index:-1;aspect-ratio:1;background:var(--cloud);pointer-events:none;border-radius:50%;position:absolute}.svc__cloud:before{width:37%;top:18px;left:13%;transform:translateY(-50%)}.svc__cloud:after{width:47%;top:24px;right:11%;transform:translateY(-50%)}.svc__cloud:last-child{--cloud:var(--sky-200);--ink-c:var(--sky-800)}.svc__cloud:last-child .hire__step-no{color:var(--sky-800)}[data-theme=dark] .svc__cloud{--cloud:#1f3663;--ink-c:var(--cream);filter:drop-shadow(0 16px 24px #00000059)}[data-theme=dark] .svc__cloud:last-child{--cloud:var(--brand-strong);--ink-c:var(--white)}[data-theme=dark] .svc__cloud:last-child .hire__step-no{color:var(--sky-100)}.svc__cloud-title{font:700 var(--text-lg) / 1.2 var(--font-display);letter-spacing:-.015em;margin:0}.svc__cloud p{max-width:28ch;font-size:var(--text-sm);opacity:.86;margin:0;line-height:1.5}.svc__cloud:first-child{--depth:36px}.svc__cloud:nth-child(2){--depth:-20px}.svc__cloud:nth-child(3){--depth:44px}.svc__cloud:nth-child(4){--depth:-18px}.svc__cloud:nth-child(5){--depth:30px}.svc__cloud:nth-child(6){--depth:-14px}@media (prefers-reduced-motion:no-preference){.svc__cloud{translate:0 calc((var(--p,.5) - .5) * var(--depth,0px) + var(--bob));transition:scale .4s var(--ease-spring);will-change:translate}.svc__cloud.is-in{animation:7s ease-in-out infinite alternate cloud-bob;animation-delay:calc(var(--i,0) * -1.7s)}.svc__cloud:hover{scale:1.035}.svc__clouds-trail{translate:0 calc((var(--p,.5) - .5) * 18px)}}@media (prefers-reduced-motion:no-preference) and (max-width:979px){.svc__cloud:nth-child(n){--depth:0px}}.svc__table-card{border-radius:var(--radius-xl);background:var(--bg-raised);border:1px solid var(--border);box-shadow:var(--shadow-md);overflow:hidden}.svc__table-wrap{overflow-x:auto}.svc__table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.svc__table th,.svc__table td{padding:26px var(--space-5);text-align:left;vertical-align:top;border-bottom:1px solid var(--border)}.svc__table tbody tr:last-child th,.svc__table tbody tr:last-child td{border-bottom:0}.svc__table thead th{background:var(--bg-sunken);font:600 var(--text-xs) / 1.2 var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--fg-muted);white-space:nowrap;padding-block:18px}.svc__table tbody tr{transition:background-color var(--dur-fast) ease}.svc__table tbody tr:hover{background:color-mix(in srgb, var(--brand) 5%, var(--bg-raised))}.svc__table tbody tr.is-picked{background:color-mix(in srgb, var(--sky-200) 22%, var(--bg-raised))}[data-theme=dark] .svc__table tbody tr.is-picked{background:color-mix(in srgb, var(--brand) 16%, var(--bg-raised))}.svc__table tbody th{gap:6px;min-width:210px;font-weight:400;display:grid}.svc__tier{font:700 var(--text-xl) / 1.2 var(--font-display);letter-spacing:-.015em;color:var(--fg)}.svc__fits{color:var(--fg-muted);font-size:var(--text-sm);line-height:1.5}.svc__price{font:800 var(--text-2xl) / 1.1 var(--font-display);letter-spacing:-.02em;color:var(--fg);white-space:nowrap}.svc__badge{border-radius:var(--radius-pill);background:var(--brand-strong);color:var(--white);font:600 10px / 1.2 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;justify-self:start;margin-bottom:4px;padding:4px 11px}.svc__list{font-size:var(--text-sm);color:var(--fg);gap:8px;margin:0;padding-left:1.15em;line-height:1.55;display:grid}.svc__table-cta{vertical-align:middle;text-align:right;white-space:nowrap}.svc__addons{gap:var(--space-5);margin-top:clamp(24px,3vw,44px);display:grid}.svc__addons-split{gap:var(--space-6);align-items:stretch;display:grid}@media (min-width:900px){.svc__addons-split{gap:var(--space-7);grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}.svc__addons-split>.svc__table-card{flex-direction:column;height:100%;display:flex}.svc__addons-split .svc__table--plain{height:100%;font-size:var(--text-base);flex:1}.svc__table--plain tbody th{min-width:0;color:var(--fg);padding:16px var(--space-6);vertical-align:middle;font-weight:600;display:table-cell}.svc__table--plain tbody td{text-align:right;font-weight:700;font-family:var(--font-display);color:var(--fg);white-space:nowrap;padding:16px var(--space-6);vertical-align:middle}.svc__custom-card{isolation:isolate;border-radius:var(--radius-xl);justify-content:space-between;gap:var(--space-6);height:100%;box-shadow:var(--shadow-md);background:radial-gradient(circle at 86% 22%, #ffffff8c, transparent 48%), linear-gradient(155deg, var(--sky-100) 0%, var(--sky-200) 100%);border:1px solid #3f8fd638;padding:clamp(28px,3.2vw,42px);position:relative;overflow:hidden}[data-theme=dark] .svc__custom-card{color:var(--cream);background:radial-gradient(circle at 86% 22%,#71b7f433,#0000 50%),linear-gradient(155deg,#162c54 0%,#1f3d73 100%);border-color:#9fd3fa33}.svc__custom-art{z-index:-1;pointer-events:none;width:100%;height:100%;color:var(--sky-800);position:absolute;inset:0}[data-theme=dark] .svc__custom-art{color:var(--sky-100)}[data-theme=dark] .svc__custom-clouds path{fill:var(--sky-200);fill-opacity:.16}[data-theme=dark] .svc__custom-clouds path:last-child{fill-opacity:.26}.svc__custom-orbit,.svc__custom-clouds,.svc__custom-sun{transition:transform .65s var(--ease-spring)}.svc__custom-orbit{transform-origin:412px 248px}.svc__custom-card:hover .svc__custom-orbit{transform:rotate(-6deg)scale(1.03)}.svc__custom-card:hover .svc__custom-clouds{transform:translate(-6px)}.svc__custom-card:hover .svc__custom-sun{transform:translate(-3px,-4px)}.svc__custom-body{z-index:1;gap:var(--space-3);max-width:38ch;display:grid;position:relative}.svc__custom-card .svc__card-title{font-size:var(--text-2xl);line-height:1.15}.svc__custom-card p{font-size:var(--text-base);margin:0;line-height:1.68}.svc__custom-cta{z-index:1;padding-top:var(--space-2);margin-top:auto;position:relative}.svc__custom-banner{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-6);min-height:0;box-shadow:var(--shadow-sm);flex-flow:wrap}.svc__custom-banner p{max-width:64ch;margin:0;line-height:1.55}.svc__about{gap:var(--space-7);align-items:start;display:grid}@media (min-width:860px){.svc__about{grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:clamp(48px,6vw,96px)}}.svc__fig{margin:0 0 var(--space-5);max-width:320px;color:var(--fg)}.svc__portrait{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-md);width:100%;height:auto;display:block}.svc__about-body{gap:var(--space-5);display:grid}@media (max-width:859px){.svc__fig{margin-inline:auto}}.svc__contact-row{font-family:var(--font-mono);font-size:var(--text-sm)}.svc__inline-link{color:var(--brand-strong);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);transition:color var(--dur-fast) ease, text-decoration-color var(--dur-fast) ease;font-weight:600}[data-theme=dark] .svc__inline-link{color:var(--sky-200)}.svc__inline-link:hover{text-decoration-color:currentColor}.svc .accordion__summary{padding:26px 0}.svc .accordion__content{max-width:66ch;padding:0 0 28px}.svc__q{font:700 var(--text-xl) / 1.3 var(--font-display);letter-spacing:-.015em;color:var(--fg);margin:0;transition:color .28s}.svc .accordion__summary:hover .svc__q,.svc .accordion__item[open]:not(.is-closing) .svc__q{color:var(--brand-strong)}[data-theme=dark] .svc .accordion__summary:hover .svc__q,[data-theme=dark] .svc .accordion__item[open]:not(.is-closing) .svc__q{color:var(--sky-200)}.svc__faq-answer p{font-size:var(--text-base);color:var(--fg);margin:0;line-height:1.65}.svc .contact__title{text-wrap:balance;max-width:14ch;font-size:clamp(2.5rem,1.1rem + 6.4vw,6.8rem)}.svc__related{gap:var(--space-4)}.svc__related-grid{gap:var(--space-4);grid-template-columns:1fr;margin:0;padding:0;list-style:none;display:grid}@media (min-width:720px){.svc__related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.svc__related-card{gap:var(--space-2);height:100%;padding:var(--space-5);border-radius:var(--radius-lg);background:var(--bg-raised);border:1px solid var(--border);box-shadow:var(--shadow-sm);color:var(--fg);transition:transform var(--dur-base) var(--ease-spring), border-color var(--dur-fast) ease, box-shadow var(--dur-base) ease;flex-direction:column;text-decoration:none;display:flex}.svc__related-card:hover{border-color:var(--brand);box-shadow:var(--shadow-md);transform:translateY(-4px)}.svc__related-title{justify-content:space-between;align-items:center;gap:var(--space-3);font:700 var(--text-xl) / 1.2 var(--font-display);letter-spacing:-.02em;display:flex}.svc__related-card:hover .btn__icon{color:var(--brand);transform:translate(4px)}@media (prefers-reduced-motion:no-preference){.svc-hero__inner{transform:translateY(calc(var(--p,0) * 16vh));opacity:calc(1 - var(--p,0) * 1.15);will-change:transform, opacity}.svc-hero .cloud[data-cloud="1"]{transform:translate(calc(var(--p,0) * -6vw), calc(var(--p,0) * -14vh))}.svc-hero .cloud[data-cloud="2"]{transform:translate(calc(var(--p,0) * 8vw), calc(var(--p,0) * -18vh))}.svc-hero .cloud[data-cloud="3"]{transform:translateY(calc(var(--p,0) * -24vh)) scale(calc(1 + var(--p,0) * .25))}.svc-hero .cloudbank:not(.cloudbank--back){transform:translateY(calc(var(--p,0) * -32vh));will-change:transform}.svc-hero .cloudbank:not(.cloudbank--back):after{content:"";background:var(--bank);height:60vh;position:absolute;top:99%;left:0;right:0}.svc__fig.is-in{transform:translateY(calc((.5 - var(--p,.5)) * 36px)) rotate(calc(-2deg + var(--p,.5) * 3.5deg))}}@media (max-width:860px){.svc__table:not(.svc__table--plain) thead{display:none}.svc__table:not(.svc__table--plain) tbody tr{gap:var(--space-2);padding:var(--space-5);border-bottom:1px solid var(--border);display:grid}.svc__table:not(.svc__table--plain) tbody tr:last-child{border-bottom:0}.svc__table:not(.svc__table--plain) th,.svc__table:not(.svc__table--plain) td{padding:var(--space-1) 0;text-align:left;border:0;gap:4px;min-width:0;display:grid}.svc__table:not(.svc__table--plain) td[data-label]:before{content:attr(data-label);font:600 11px / 1.2 var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--fg-muted)}.svc__table:not(.svc__table--plain) .svc__table-cta{padding-top:var(--space-3)}.svc__table:not(.svc__table--plain) .svc__table-cta .btn{width:100%;min-height:44px}.svc__table--plain tbody td{white-space:normal}}@media (max-width:760px){.svc-hero{padding-block:132px 150px}.svc-hero__inner{gap:var(--space-3)}.svc-hero__facts{font-size:11px}.svc-hero__facts li+li:before{margin-inline:8px}.svc-hero__ctas{align-items:stretch;gap:var(--space-2);flex-direction:column;width:100%;max-width:360px}.svc-hero__ctas .btn{justify-content:center;width:100%;min-height:48px}.svc__glance-lead{font-size:var(--text-base)}.svc__inner{gap:var(--space-8)}.svc__fig{justify-self:stretch;width:100%;max-width:none;margin-inline:auto}}.hire__services{margin-top:var(--space-5);justify-content:center;display:flex}.case-page__service{padding-block:var(--space-6);font-size:var(--text-lg);border-top:1px solid var(--border)}.case-page__service a{font-weight:600}.blog-grid{margin:0;padding:0;list-style:none}.blog-grid>li{min-width:0}@media (min-width:860px){.blog-grid{grid-template-columns:repeat(min(2, var(--cols,3)), minmax(0, 1fr))}}@media (min-width:1080px){.blog-grid{grid-template-columns:repeat(var(--cols,3), minmax(0, 1fr))}}.blog-main{z-index:4;margin-top:calc(-1*clamp(56px,7vw,110px));position:relative}.blog-card__media{text-decoration:none}.blog-card__media .shot img{aspect-ratio:1200/630;object-fit:cover}.blog-ph{isolation:isolate;--grid:#ffffff52;background:linear-gradient(var(--grid) 1px, transparent 1px) 0 0 / 22px 22px, linear-gradient(90deg, var(--grid) 1px, transparent 1px) 0 0 / 22px 22px, radial-gradient(120% 90% at 20% 0%, #ffffff8c, transparent 60%), linear-gradient(165deg, var(--sky-100), var(--sky-300));place-items:center;padding:7% 9%;display:grid;position:absolute;inset:0;overflow:hidden}.blog-ph--v1{--tilt:1.2deg;background-position:11px 11px,11px 11px,0 0,0 0}.blog-ph--v2{--tilt:-.8deg}.blog-ph__sun{z-index:-2;aspect-ratio:1;background:radial-gradient(circle,#fff3b0 0 38%,#ffda3f8c 39% 52%,#0000 70%);border-radius:50%;width:18%;position:absolute;top:9%;right:10%}.blog-ph--v1 .blog-ph__sun{width:14%;top:12%;left:8%;right:auto}.blog-ph--v2 .blog-ph__sun{width:16%;top:auto;bottom:10%;right:6%}.blog-ph__cloud{z-index:-1;animation-duration:70s}.blog-ph__cloud--a{--w:62%;--o:.9;--blur:3px;--dx:24px;top:4%;left:-18%}.blog-ph__cloud--b{--w:52%;--o:.75;--blur:4px;--dx:-20px;bottom:0;right:-16%}.blog-ph--v1 .blog-ph__cloud--a{top:2%;left:auto;right:-20%}.blog-ph--v1 .blog-ph__cloud--b{left:-14%;right:auto}.blog-ph--v2 .blog-ph__cloud--a{top:30%;left:-24%}.blog-ph__sheet{background:var(--white);width:100%;height:100%;color:var(--ink,#111c36);rotate:var(--tilt,0deg);transition:rotate var(--dur-base) var(--ease-out), translate var(--dur-base) var(--ease-out);border-radius:10px;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 40px -22px #111c3673,0 2px 6px #111c3614}.blog-card:hover .blog-ph__sheet{translate:0 -3px;rotate:0deg}.blog-ph__bar{background:var(--sky-50);border-bottom:1px solid #111c3614;flex:none;align-items:center;gap:5px;padding:7px 10px;display:flex}.blog-ph__bar i{background:#111c3629;border-radius:50%;width:7px;height:7px}.blog-ph__bar i:first-child{background:#ff8a7a}.blog-ph__bar i:nth-child(2){background:var(--sun)}.blog-ph__body{flex-direction:column;flex:1;justify-content:center;gap:8px;min-height:0;padding:6% 8%;display:flex}.blog-ph__body:after{content:"+";font:400 14px / 1 var(--font-mono);color:var(--sky-400);position:absolute;bottom:6px;right:10px}.blog-ph__kicker{font:600 10px / 1 var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--sky-500);background:var(--sky-50);border:1px solid var(--sky-100);border-radius:999px;align-self:flex-start;padding:4px 7px}.blog-ph__title{font:800 clamp(.95rem, 1.35vw, 1.15rem) / 1.15 var(--font-display);letter-spacing:-.02em;color:#111c36;text-wrap:balance;-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.blog-ph__lines{gap:5px;margin-top:2px;display:grid}.blog-ph__lines i{background:#111c3614;border-radius:3px;height:5px}.blog-ph__lines i:nth-child(2){width:86%}.blog-ph__lines i:nth-child(3){width:58%}[data-theme=dark] .blog-ph{--grid:#ffffff0f;background:linear-gradient(var(--grid) 1px, transparent 1px) 0 0 / 22px 22px, linear-gradient(90deg, var(--grid) 1px, transparent 1px) 0 0 / 22px 22px, linear-gradient(165deg, #1b2f52, #0f1c35)}[data-theme=dark] .blog-ph__sun{background:radial-gradient(circle,#f4f1e4 0 40%,#f4f1e440 41% 55%,#0000 70%)}@media (prefers-reduced-motion:reduce){.blog-ph__sheet{transition:none}}@media (min-width:860px){.blog-card-wrap--featured{grid-column:1/-1}.blog-card--featured{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);display:grid}.blog-card--featured .blog-card__media{aspect-ratio:auto;height:100%;min-height:340px}.blog-card--featured .project-card__body{justify-content:center;gap:var(--space-4);padding:clamp(24px,3.2vw,48px)}.blog-card--featured .blog-card__title{font-size:clamp(1.6rem,2.4vw,2.2rem);line-height:1.12}.blog-card--featured .blog-card__excerpt{font-size:var(--text-base);-webkit-line-clamp:4}.blog-card--featured .blog-card__footer{margin-top:var(--space-2)}.blog-card--featured .blog-ph{padding:9% 12%}.blog-card--featured .blog-ph__title{font-size:clamp(1.3rem,2vw,1.75rem)}.blog-card--featured .blog-ph__body{gap:12px}.blog-card--featured .blog-ph__kicker{font-size:11px}}.blog-card__title{font-size:var(--text-xl);line-height:1.2}.blog-card__title a{align-items:flex-start}.blog-card__title svg{margin-top:.3em}.blog-card__excerpt{font-size:var(--text-sm);color:var(--fg-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;line-height:1.6;display:-webkit-box;overflow:hidden}.blog-card__footer{padding-top:var(--space-3);border-top:1px solid var(--border);margin-top:auto}.blog-card__tags{flex-wrap:nowrap;min-width:0;margin:0;padding:0;list-style:none;overflow:hidden}.blog-card__tags .project-tag{white-space:nowrap}.blog-card__cta{text-decoration:none}.blog-card:hover .blog-card__cta .btn__icon{transform:translate(4px)}.blog-card:has(.blog-card__title a:hover) .blog-card__cta .btn__icon{transform:translate(4px)}.blog-empty{border-radius:var(--radius-xl);background:var(--bg-raised);border:1px solid var(--border);box-shadow:var(--shadow-md);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);display:grid;overflow:hidden}.blog-empty__copy{align-content:center;justify-items:start;gap:var(--space-4);padding:clamp(28px,4.5vw,64px);display:grid}.blog-empty__title{font:800 clamp(1.75rem, 3vw, 2.5rem) / 1.08 var(--font-display);letter-spacing:var(--tracking-tight);text-wrap:balance;margin:0}.blog-empty__desc{max-width:44ch;color:var(--fg-muted);font-size:var(--text-lg);margin:0;line-height:1.55}.blog-empty__actions{gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.blog-empty__drafts{--grid-line:color-mix(in srgb, var(--fg) 7%, transparent);align-content:center;gap:var(--space-4);border-left:1px solid var(--border);background:linear-gradient(var(--grid-line) 1px, transparent 1px) 0 0 / 24px 24px, linear-gradient(90deg, var(--grid-line) 1px, transparent 1px) 0 0 / 24px 24px, linear-gradient(160deg, color-mix(in srgb, var(--sky-100) 55%, var(--bg-raised)), var(--bg-sunken));padding:clamp(28px,4vw,56px);display:grid;position:relative}[data-theme=dark] .blog-empty__drafts{background:linear-gradient(var(--grid-line) 1px, transparent 1px) 0 0 / 24px 24px, linear-gradient(90deg, var(--grid-line) 1px, transparent 1px) 0 0 / 24px 24px, linear-gradient(160deg, color-mix(in srgb, var(--sky-900) 50%, var(--bg-raised)), var(--bg-sunken))}.blog-empty__drafts-label{margin:0}.blog-empty__list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.blog-empty__draft{align-items:center;gap:var(--space-3);border-radius:var(--radius-md);background:color-mix(in srgb, var(--bg-raised) 88%, transparent);border:1px dashed var(--border-strong);box-shadow:var(--shadow-sm);translate:calc(var(--i,0) * 14px) 0;grid-template-columns:auto minmax(0,1fr) auto;padding:14px 16px;display:grid}.blog-empty__draft-no{font:600 var(--text-xs) / 1 var(--font-mono);color:var(--brand)}.blog-empty__draft-title{font:600 var(--text-sm) / 1.35 var(--font-sans);color:var(--fg)}.blog-empty__draft-tag{font:500 10px / 1 var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;border-radius:var(--radius-pill);color:var(--fg-muted);background:var(--bg-sunken);border:1px solid var(--border);padding:5px 8px}@media (max-width:860px){.blog-empty{grid-template-columns:1fr}.blog-empty__drafts{border-left:0;border-top:1px solid var(--border)}.blog-empty__draft{translate:none}}@media (max-width:520px){.blog-empty__actions{flex-direction:column;align-items:stretch;width:100%}.blog-empty__actions .btn{justify-content:center}.blog-empty__desc{font-size:var(--text-base)}}.blog-hero--article .svc-hero__title{max-width:22ch;font-size:clamp(1.9rem,3.7vw,3.1rem)}.blog-hero__kicker{border-radius:var(--radius-pill);font:600 11px / 1 var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;background:#ffffff29;border:1px solid #ffffff4d;margin:0;padding:5px 12px}.blog-hero__dek{color:#ffffffdb;text-wrap:pretty;max-width:60ch;margin:0;font-size:clamp(1rem,1.3vw,1.125rem);line-height:1.6}.blog-byline{text-align:left;align-items:center;gap:12px;display:flex}.blog-byline__avatar{object-fit:cover;background:var(--sky-100);border:2px solid #ffffffb3;border-radius:50%;flex:none;width:44px;height:44px}.blog-byline__text{gap:2px;display:grid}.blog-byline__name{font:700 var(--text-sm) / 1.2 var(--font-sans)}.blog-byline__meta{font:500 12px / 1.3 var(--font-mono);letter-spacing:.02em;color:#fffc}.blog-crumb-current{align-items:center;min-width:0;max-width:min(40ch,60vw);display:flex}.blog-crumb-current:before{flex:none}.blog-crumb-current span{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.blog-translation{align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(8px);color:var(--white);font:500 var(--text-sm) / 1.2 var(--font-sans);transition:background-color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-spring);background:#0a234647;border:1px solid #ffffff5c;padding:7px 14px;text-decoration:none;display:inline-flex}.blog-translation:hover{background:#0a23466b;transform:translateY(-1px)}.blog-article{z-index:4;grid-template-columns:minmax(0,1fr);gap:clamp(48px,6vw,80px);padding-bottom:clamp(96px,11vw,160px);display:grid;position:relative}.blog-cover{border-radius:var(--radius-xl);border:1px solid var(--border);width:100%;max-width:1040px;box-shadow:var(--shadow-lg);background:var(--bg-sunken);justify-self:center;margin:calc(-1*clamp(56px,8vw,120px)) 0 0;overflow:hidden}.blog-cover img{aspect-ratio:1200/630;object-fit:cover;width:100%;height:auto;display:block}.blog-layout{grid-template-columns:230px minmax(0,1fr);justify-self:center;align-items:start;gap:clamp(32px,5vw,72px);width:100%;max-width:1040px;display:grid}.blog-layout--single{grid-template-columns:minmax(0,1fr);max-width:72ch}.blog-article:not(:has(.blog-cover)){margin-top:calc(-1*clamp(24px,4vw,64px))}.blog-rail{gap:var(--space-6);flex-direction:column;max-height:calc(100vh - 128px);display:flex;position:sticky;top:104px}.blog-rail .blog-toc{overscroll-behavior:contain;scrollbar-width:none;min-height:0;overflow-y:auto}.blog-rail .blog-toc::-webkit-scrollbar{display:none}.blog-rail .blog-share{flex:none}.blog-layout--single .blog-rail{display:none}.blog-toc__title{margin:0 0 var(--space-3)}.blog-toc__list{border-left:1px solid var(--border);margin:0;padding:0;list-style:none;display:grid}.blog-toc__item--level-3 .blog-toc__link{padding-left:24px;font-size:.8125rem}.blog-toc__link{font-size:var(--text-sm);color:var(--fg-muted);transition:color var(--dur-fast) ease, border-color var(--dur-fast) ease;border-left:2px solid #0000;margin-left:-1px;padding:6px 0 6px 12px;line-height:1.4;text-decoration:none;display:block}.blog-toc__link:hover{color:var(--fg)}.blog-toc__link.is-active{color:var(--fg);border-left-color:var(--brand);font-weight:600}[data-theme=dark] .blog-toc__link.is-active{border-left-color:var(--sky-300)}.blog-toc-mobile{display:none}@media (max-width:960px){.blog-layout{grid-template-columns:minmax(0,1fr);max-width:72ch}.blog-rail{display:none}.blog-toc-mobile{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-raised);display:block}.blog-toc-mobile>summary{cursor:pointer;font:600 11px / 1 var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--fg-muted);justify-content:space-between;align-items:center;padding:14px 18px;list-style:none;display:flex}.blog-toc-mobile>summary::-webkit-details-marker{display:none}.blog-toc-mobile>summary:after{content:"+";color:var(--fg);font-size:16px}.blog-toc-mobile[open]>summary:after{content:"−"}.blog-toc-mobile .blog-toc{padding:0 18px 16px}.blog-toc-mobile .blog-toc__title{display:none}}.blog-progress{z-index:60;pointer-events:none;height:3px;position:fixed;inset:0 0 auto}.blog-progress>span{background:linear-gradient(90deg, var(--sky-400), var(--brand));transform-origin:0;height:100%;display:block;transform:scaleX(0)}.blog-share__label{margin:0 0 var(--space-3)}.blog-share--rail .blog-share__list{flex-wrap:nowrap;gap:6px}.blog-share--rail .blog-share__btn{width:32px;height:32px}.blog-share--rail .blog-share__btn svg{width:15px;height:15px}.blog-share__list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.blog-share__btn{border:1px solid var(--border);background:var(--bg-raised);width:38px;height:38px;color:var(--fg-muted);cursor:pointer;transition:color var(--dur-fast) ease, border-color var(--dur-fast) ease, background-color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-spring);border-radius:50%;place-items:center;padding:0;display:grid}.blog-share__btn:hover{color:var(--fg);border-color:color-mix(in srgb, var(--fg) 30%, transparent);transform:translateY(-1px)}.blog-share__btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.blog-share--end{justify-content:space-between;align-items:center;gap:var(--space-3);padding-block:var(--space-5);border-block:1px solid var(--border);flex-wrap:wrap;display:flex}.blog-share__title{font:700 var(--text-lg) / 1.2 var(--font-display);letter-spacing:-.01em;margin:0}.blog-preferred{color:var(--fg);transition:border-color var(--dur-fast) ease, background-color var(--dur-fast) ease;align-items:center;gap:10px;text-decoration:none;display:flex}.blog-preferred--end{gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-raised)}.blog-preferred--end:hover{border-color:color-mix(in srgb, var(--fg) 30%, transparent)}.blog-preferred--end:hover .btn__icon{transform:translate(4px)}.blog-preferred__icon{background:var(--white);border:1px solid var(--border);border-radius:50%;flex:none;place-items:center;width:44px;height:44px;display:grid}.blog-preferred__copy{flex:1;gap:2px;min-width:0;display:grid}.blog-preferred__copy strong{font:700 var(--text-base) / 1.3 var(--font-display)}.blog-preferred__copy span{font-size:var(--text-sm);color:var(--fg-muted);line-height:1.5}.blog-preferred--end .btn__icon{width:16px;height:16px;transition:transform var(--dur-fast) ease;flex:none}.blog-author{gap:var(--space-5);grid-template-columns:96px minmax(0,1fr);align-items:start;display:grid}.blog-author__photo{object-fit:cover;background:var(--sky-100);border:1px solid var(--border);border-radius:50%;width:96px;height:96px}.blog-author__copy{gap:4px;display:grid}.blog-author__by{margin:0}.blog-author__name{font:800 var(--text-xl) / 1.2 var(--font-display);letter-spacing:-.02em;margin:0}.blog-author__role{font-size:var(--text-sm);color:var(--fg-muted);margin:0}.blog-author__bio{margin:var(--space-2) 0 0;max-width:60ch;line-height:1.65}.blog-author__links{margin:var(--space-2) 0 0;font:600 12px / 1.4 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;flex-wrap:wrap;gap:4px 18px;padding:0;list-style:none;display:flex}.blog-author__links a{color:var(--brand-strong);text-decoration:none}.blog-author__links a:hover{text-underline-offset:3px;text-decoration:underline}[data-theme=dark] .blog-author__links a{color:var(--sky-200)}@media (max-width:520px){.blog-author{gap:var(--space-4);grid-template-columns:64px minmax(0,1fr)}.blog-author__photo{width:64px;height:64px}}.blog-prose-wrap{gap:var(--space-8);grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.blog-prose{max-width:70ch;color:var(--fg);overflow-wrap:break-word;font-size:1.0625rem;line-height:1.75}.blog-prose>:first-child{margin-top:0}.blog-prose>:last-child{margin-bottom:0}.blog-prose>p:first-child{color:var(--fg);font-size:1.2rem;line-height:1.65}.blog-prose h2,.blog-prose h3,.blog-prose h4{font-family:var(--font-display);color:var(--fg);text-wrap:balance;scroll-margin-top:110px}.blog-prose h2{letter-spacing:-.02em;margin:2.4em 0 .6em;font-size:clamp(1.45rem,2.6vw,1.9rem);font-weight:800;line-height:1.2}.blog-prose h3{letter-spacing:-.01em;margin:1.9em 0 .5em;font-size:1.3rem;font-weight:700;line-height:1.3}.blog-prose h4{margin:1.6em 0 .4em;font-size:1.1rem;font-weight:700}.blog-anchor{opacity:0;transition:opacity var(--dur-fast) ease;margin-left:.35em;padding:0 .15em;font-weight:500;color:var(--fg-muted)!important;text-decoration:none!important}.blog-prose h2:hover .blog-anchor,.blog-prose h3:hover .blog-anchor,.blog-anchor:focus-visible{opacity:1}@media (hover:none){.blog-anchor{opacity:.35}}.blog-prose p{margin:0 0 1.15em}.blog-prose strong{color:var(--fg);font-weight:650}.blog-prose a{color:var(--brand-strong);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);text-underline-offset:3px;transition:text-decoration-color var(--dur-fast) ease}.blog-prose a:hover{text-decoration-color:currentColor}[data-theme=dark] .blog-prose a{color:var(--sky-200)}.blog-prose ul,.blog-prose ol{margin:0 0 1.25em;padding-left:1.4em}.blog-prose li{margin-bottom:.5em;padding-left:.2em}.blog-prose li::marker{color:var(--brand)}.blog-prose blockquote{padding:var(--space-5) var(--space-6);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--sky-100) 45%, var(--bg-raised));border:1px solid var(--border);border-left:4px solid var(--brand);font:600 1.15rem / 1.55 var(--font-sans);color:var(--fg);margin:1.8em 0}[data-theme=dark] .blog-prose blockquote{background:color-mix(in srgb, var(--sky-900) 40%, var(--bg-raised))}.blog-prose blockquote>:last-child{margin-bottom:0}.blog-prose code{font-family:var(--font-mono);background:var(--bg-sunken);border:1px solid var(--border);border-radius:5px;padding:2px 6px;font-size:.86em}.blog-prose pre{padding:var(--space-5);border-radius:var(--radius-lg);background:var(--ink);color:var(--cream);font:400 var(--text-sm) / 1.65 var(--font-mono);box-shadow:var(--shadow-md);margin:1.6em 0;overflow-x:auto}.blog-prose pre code{color:inherit;font-size:inherit;background:0 0;border:0;padding:0}.blog-prose__table{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-raised);max-width:100%;box-shadow:var(--shadow-sm);margin:1.6em 0;overflow-x:auto}.blog-prose table{border-collapse:collapse;width:100%;min-width:520px;font-size:var(--text-sm);line-height:1.5}.blog-prose th,.blog-prose td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:12px 16px}.blog-prose tr:last-child td{border-bottom:0}.blog-prose th{background:var(--bg-sunken);font:600 11px / 1.2 var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--fg-muted)}.blog-prose mark{background:color-mix(in srgb, var(--sun) 40%, transparent);color:inherit;border-radius:3px;padding:1px 4px}.blog-prose hr{border:0;border-top:1px solid var(--border);margin:2.4em 0}.blog-prose img{border-radius:var(--radius-lg);border:1px solid var(--border);max-width:100%;height:auto}.blog-prose figure{margin:1.8em 0}.blog-prose figcaption{margin-top:var(--space-2);font:500 var(--text-xs) / 1.4 var(--font-mono);color:var(--fg-muted);text-align:center}.blog-tags{align-items:center;gap:var(--space-3);padding-top:var(--space-5);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.blog-tags>.label{margin:0}.blog-tags__list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.blog-prose-wrap>.blog-tags__list{margin-top:calc(-1 * var(--space-3))}.blog-cta{gap:var(--space-5);border-radius:var(--radius-xl);background:var(--ink,#0b1428);color:var(--cream);padding:clamp(24px,3.5vw,40px);display:grid;position:relative;overflow:hidden}.blog-cta .blog-cta__lead{color:#fff9f1b8}.blog-cta .btn:not(.btn--brand){--btn-bg:var(--cream);--btn-fg:var(--ink)}[data-theme=dark] .blog-cta{background:var(--bg-raised);color:var(--fg);border:1px solid var(--border)}[data-theme=dark] .blog-cta .blog-cta__lead{color:var(--fg-muted)}.blog-cta__copy{gap:var(--space-3);justify-items:start;display:grid}.blog-cta__title{font:800 clamp(1.5rem, 2.6vw, 2rem) / 1.12 var(--font-display);letter-spacing:var(--tracking-tight);text-wrap:balance;margin:0}.blog-cta__lead{max-width:56ch;color:var(--fg-muted);margin:0;line-height:1.6}.blog-cta__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}@media (max-width:520px){.blog-cta__actions{flex-direction:column;align-items:stretch}.blog-cta__actions .btn{justify-content:center}}.blog-related{gap:var(--space-6);display:grid}.blog-related__head{justify-content:space-between;align-items:end;gap:var(--space-3);flex-wrap:wrap;display:flex}.blog-related__title{margin:0}.blog-related__all{font:600 var(--text-xs) / 1 var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--brand-strong);align-items:center;gap:6px;text-decoration:none;display:inline-flex}[data-theme=dark] .blog-related__all{color:var(--sky-200)}.blog-related__all:hover .btn__icon{transform:translate(4px)}@media (max-width:760px){.blog-prose{font-size:1.0625rem}.blog-prose>p:first-child{font-size:1.125rem}.blog-prose blockquote{padding:var(--space-4) var(--space-5);font-size:1.05rem}.blog-crumb-current{display:none}}.blog-empty .sheet,.blog-cta .sheet{gap:var(--space-2);text-align:left;flex-direction:row}
