@layer components{.ui-icon{width:calc(var(--spacing,.25rem) * 6);height:calc(var(--spacing,.25rem) * 6);background-color:currentColor;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.icon-sun{-webkit-mask-image:url(/ui/sun.svg);mask-image:url(/ui/sun.svg)}.icon-moon{-webkit-mask-image:url(/ui/moon.svg);mask-image:url(/ui/moon.svg)}.icon-menu{-webkit-mask-image:url(/ui/menu.svg);mask-image:url(/ui/menu.svg)}.icon-close{-webkit-mask-image:url(/ui/close.svg);mask-image:url(/ui/close.svg)}.icon-telegram{-webkit-mask-image:url(/ui/telegram.svg);mask-image:url(/ui/telegram.svg)}.icon-email{-webkit-mask-image:url(/ui/email.svg);mask-image:url(/ui/email.svg)}.icon-phone{-webkit-mask-image:url(/ui/phone.svg);mask-image:url(/ui/phone.svg)}.icon-linkedin{-webkit-mask-image:url(/ui/linkedin.svg);mask-image:url(/ui/linkedin.svg)}.ui-icon-vector{background-color:#0000;-webkit-mask:none;mask:none}}
@layer components{.text-link-label{transition:background-size .16s}.text-link-arrow{transition:transform .16s}.text-link:hover .text-link-label,.text-link:focus-visible .text-link-label{background-size:100% 2px}.text-link:hover .text-link-arrow{transform:translate(2px,-2px)}@media (prefers-reduced-motion:reduce){.text-link-label,.text-link-arrow{transition:none}.text-link:hover .text-link-arrow{transform:none}}.text-link-label{-webkit-box-decoration-break:clone;box-decoration-break:clone;background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px;padding-bottom:3px}.text-link-contact-icon{vertical-align:-.12em;width:1em;height:1em;margin-inline-end:calc(var(--spacing,.25rem) * 2);display:inline-block}.text-link-arrow{margin-inline-start:.25em;display:inline-block}.text-link-arrow .ui-icon-vector{width:1em;height:1em}}
@keyframes backdrop-in{0%{background:0 0}to{background:#0000007a}}@keyframes backdrop-out{0%{background:#0000007a}to{background:0 0}}@layer components{.ui-dialog[data-state=opening]::backdrop{animation:.24s ease-out both backdrop-in}.ui-dialog[data-state=closing]::backdrop{animation:.18s ease-out both backdrop-out}@media (prefers-reduced-motion:reduce){.ui-dialog::backdrop{animation:none!important}}.ui-dialog{max-width:min(720px,100% - 48px)}.ui-dialog::backdrop{background-color:#0000007a}@supports (color:color-mix(in lab, red, red)){.ui-dialog::backdrop{background-color:color-mix(in oklab, var(--color-black,#000) 48%, transparent)}}}
@layer components{.brand{min-height:calc(var(--spacing,.25rem) * 11);flex-shrink:0;align-items:center;display:inline-flex}.brand-mark{background-color:var(--foreground);width:176px;height:25.835px;display:block;-webkit-mask:url(/ui/logo-mobile.svg) 50%/contain no-repeat;mask:url(/ui/logo-mobile.svg) 50%/contain no-repeat}@media (min-width:64rem){.brand-mark{width:216px;height:31.706px;-webkit-mask-image:url(/ui/logo.svg);mask-image:url(/ui/logo.svg)}}}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid}}}@layer components{.project-card{align-items:flex-start;gap:calc(var(--spacing,.25rem) * 5);flex-direction:column;min-width:0;display:flex}.project-card-visual{isolation:isolate;border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--surface);--sage-glow:var(--accent);position:relative}@supports (color:color-mix(in lab, red, red)){.project-card-visual{--sage-glow:color-mix(in srgb, var(--accent) 45%, var(--accent-subtle))}}.project-card-visual:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;opacity:.65;background:radial-gradient(ellipse at 90% 0%, var(--sage-glow), transparent 65%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.project-card-visual:before{background:radial-gradient(ellipse at 90% 0%, color-mix(in srgb, var(--sage-glow) 20%, transparent), transparent 65%)}}.project-card-visual:focus-within{border-color:var(--sage-glow);box-shadow:0 8px 32px var(--sage-glow), inset 0 1px var(--sage-glow)}@supports (color:color-mix(in lab, red, red)){.project-card-visual:focus-within{box-shadow:0 8px 32px color-mix(in srgb, var(--sage-glow) 17%, transparent), inset 0 1px color-mix(in srgb, var(--sage-glow) 26%, transparent)}}.project-card-visual:focus-within:before{opacity:1}@media (hover:hover) and (pointer:fine){.project-card-visual:hover{border-color:var(--sage-glow);box-shadow:0 8px 32px var(--sage-glow), inset 0 1px var(--sage-glow)}@supports (color:color-mix(in lab, red, red)){.project-card-visual:hover{box-shadow:0 8px 32px color-mix(in srgb, var(--sage-glow) 17%, transparent), inset 0 1px color-mix(in srgb, var(--sage-glow) 26%, transparent)}}.project-card-visual:hover:before{opacity:1}}.project-card-visual{width:100%;min-width:0;min-height:0;padding:calc(var(--spacing,.25rem) * 3);border-radius:22px}@media (prefers-reduced-motion:no-preference){.project-card-visual{transition:border-color .32s ease-out,box-shadow .32s ease-out}.project-card-visual:before{transition:opacity .32s ease-out}}.project-card:focus-within .project-card-visual{border-color:var(--sage-glow);box-shadow:0 8px 32px var(--sage-glow), inset 0 1px var(--sage-glow)}@supports (color:color-mix(in lab, red, red)){.project-card:focus-within .project-card-visual{box-shadow:0 8px 32px color-mix(in srgb, var(--sage-glow) 17%, transparent), inset 0 1px color-mix(in srgb, var(--sage-glow) 26%, transparent)}}.project-card:focus-within .project-card-visual:before{opacity:1}@media (hover:hover) and (pointer:fine){.project-card:hover .project-card-visual{border-color:var(--sage-glow);box-shadow:0 8px 32px var(--sage-glow), inset 0 1px var(--sage-glow)}@supports (color:color-mix(in lab, red, red)){.project-card:hover .project-card-visual{box-shadow:0 8px 32px color-mix(in srgb, var(--sage-glow) 17%, transparent), inset 0 1px color-mix(in srgb, var(--sage-glow) 26%, transparent)}}.project-card:hover .project-card-visual:before{opacity:1}}.project-card-copy{align-items:flex-start;gap:calc(var(--spacing,.25rem) * 5);flex-direction:column;flex:1;width:100%;min-width:0;display:flex}.project-card-media{aspect-ratio:1.56;border-radius:var(--radius-lg,.5rem);background-color:var(--accent-subtle);place-items:center;width:100%;display:grid}.project-card-visual img{border-radius:var(--radius-lg,.5rem);width:100%}.project-card--split .project-card-copy{order:1}.project-card--split .project-card-visual{order:2}.project-card--grid .project-card-visual,.project-card--split .project-card-visual,.project-card--wide .project-card-visual{aspect-ratio:1.5625}.project-card--grid .project-card-visual>div,.project-card--split .project-card-visual>div,.project-card--wide .project-card-visual>div{height:100%}.project-card--grid .project-card-visual img,.project-card--split .project-card-visual img,.project-card--wide .project-card-visual img{object-fit:cover;object-position:top;height:100%}.project-card--feature .project-card-visual{order:2}.project-card--feature .project-card-copy{display:contents}.project-card--feature h3{order:1}.project-card--feature .project-card-copy>p,.project-card--feature .project-card-copy>a{order:3}@media (min-width:1024px){.project-card--grid h3{min-height:72px}.project-card--grid{height:100%;min-height:824px}.project-card--split{column-gap:calc(var(--spacing,.25rem) * 10);row-gap:calc(var(--spacing,.25rem) * 8);grid-template-columns:minmax(0,440fr) minmax(0,816fr);display:grid}.project-card--split .project-card-eyebrow{grid-column:span 2/span 2}.project-card--split .project-card-copy{gap:calc(var(--spacing,.25rem) * 6);grid-row-start:2;grid-column-start:1}.project-card--split .project-card-visual{grid-row-start:2;grid-column-start:2}.project-card--wide{gap:calc(var(--spacing,.25rem) * 8);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-card--wide .project-card-eyebrow{grid-column:span 2/span 2}.project-card--wide .project-card-copy{grid-row-start:2;grid-column-start:2}}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
@layer components{@media (prefers-reduced-motion:no-preference){.project-card-visual{transition:translate .24s ease-out,border-color .32s ease-out,box-shadow .32s ease-out}.project-card:focus-within .project-card-visual{translate:0 -3px}@media (hover:hover) and (pointer:fine){.project-card:hover .project-card-visual{translate:0 -3px}}}}
@layer components{.theme-toggle{height:calc(var(--spacing,.25rem) * 13);width:calc(var(--spacing,.25rem) * 24);background-color:var(--surface);padding:var(--spacing,.25rem);border-radius:2147483647px;flex-shrink:0;display:flex;position:relative}.theme-toggle:disabled{opacity:.5}.theme-option{z-index:1;width:calc(var(--spacing,.25rem) * 11);height:calc(var(--spacing,.25rem) * 11);color:var(--secondary);border-radius:2147483647px;justify-content:center;align-items:center;display:flex;position:relative}.theme-option.is-selected{color:var(--foreground)}.theme-selection{pointer-events:none;inset-inline-start:calc(var(--spacing,.25rem) * 1);top:var(--spacing,.25rem);width:calc(var(--spacing,.25rem) * 11);height:calc(var(--spacing,.25rem) * 11);background-color:var(--accent-subtle);border-radius:2147483647px;position:absolute}}
@layer components{.footer-grid{gap:calc(var(--spacing,.25rem) * 6);flex-direction:column;display:flex}@media (min-width:64rem){.footer-grid{gap:calc(var(--spacing,.25rem) * 8);grid-template-columns:minmax(0,480fr) minmax(0,784fr);display:grid}}.footer-links{gap:calc(var(--spacing,.25rem) * 6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (min-width:64rem){.footer-links{gap:calc(var(--spacing,.25rem) * 8);grid-template-columns:minmax(0,320fr) minmax(0,432fr)}.footer-brand p{max-width:calc(var(--spacing,.25rem) * 110)}}}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid}}}@layer components{.site-header{pointer-events:none;z-index:2;padding-block:calc(var(--spacing,.25rem) * 6);position:sticky;top:0}.header-row{justify-content:space-between;align-items:center;gap:calc(var(--spacing,.25rem) * 2);display:flex}@media (min-width:64rem){.header-row{gap:calc(var(--spacing,.25rem) * 8)}}.header-brand{pointer-events:auto;padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 1.5);border-radius:2147483647px;flex-shrink:0}@media (min-width:64rem){.header-brand{padding-inline:calc(var(--spacing,.25rem) * 6);padding-block:calc(var(--spacing,.25rem) * 2)}}.header-dock{pointer-events:auto;align-items:center;gap:calc(var(--spacing,.25rem) * 4);min-width:0;padding-block:calc(var(--spacing,.25rem) * 1.5);border-radius:2147483647px;padding-inline-start:calc(var(--spacing,.25rem) * 6);padding-inline-end:calc(var(--spacing,.25rem) * 1.5)}.desktop-navigation{align-items:center;column-gap:calc(var(--spacing,.25rem) * 4);flex-wrap:wrap;display:flex}.desktop-navigation .nav-link{padding-inline:calc(var(--spacing,.25rem) * 2);border-radius:2147483647px;justify-content:center}.desktop-appearance{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px;border-color:var(--border);flex-shrink:0;align-items:center;display:flex}@supports (color:color-mix(in lab, red, red)){.desktop-appearance{border-color:color-mix(in oklab, var(--border) 60%, transparent)}}.desktop-appearance{padding-inline-start:calc(var(--spacing,.25rem) * 4)}.header-dock .theme-toggle{background-color:#0000}.site-header .menu-trigger{pointer-events:auto;border-radius:2147483647px}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid}}}@layer components{.menu-layer{pointer-events:none;z-index:1;position:fixed;inset:0}.menu-backdrop{pointer-events:auto;background-color:#00000052;width:100%;height:100%;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.menu-backdrop{background-color:color-mix(in oklab, var(--color-black,#000) 32%, transparent)}}.menu-panel-clip{width:min(100% - 48px,1296px);margin-inline:auto;position:relative}@media (min-width:64rem){.menu-panel-clip{width:min(100% - 144px,1296px)}}.menu-panel-clip{top:var(--navigation-height);max-height:calc(100dvh - var(--navigation-height) - 24px);overflow:hidden}.menu-panel{pointer-events:auto;gap:calc(var(--spacing,.25rem) * 6);border-radius:var(--radius-3xl,1.5rem);padding:calc(var(--spacing,.25rem) * 6);max-height:calc(100dvh - var(--navigation-height) - 24px);flex-direction:column;display:flex;position:relative;overflow-y:auto}.menu-panel nav{gap:calc(var(--spacing,.25rem) * 2);flex-direction:column;display:flex}.menu-panel .nav-link{min-height:calc(var(--spacing,.25rem) * 12);border-radius:var(--radius-lg,.5rem);padding-inline:calc(var(--spacing,.25rem) * 2);font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75 / 1.125)))}.menu-panel .ui-label{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.menu-panel .ui-label{border-color:color-mix(in oklab, var(--border) 60%, transparent)}}.menu-panel .ui-label{padding-top:calc(var(--spacing,.25rem) * 5)}.menu-panel .theme-toggle{background-color:#0000}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
