/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@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;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer components{.card{border-radius:var(--radius-xl,.75rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-white,#fff);position:relative}.card:is(.dark *){border-color:var(--color-zinc-800,oklch(27.4% .006 286.033));background-color:var(--color-zinc-950,oklch(14.1% .005 285.823))}.clickable-card{border-radius:var(--radius-xl,.75rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-white,#fff);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));position:relative}.clickable-card:active{scale:.99}.clickable-card:is(.dark *){border-color:var(--color-zinc-800,oklch(27.4% .006 286.033));background-color:var(--color-zinc-950,oklch(14.1% .005 285.823))}.clickable-card{box-shadow:0 2px #555a702d}.tag{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-white,#fff);font-family:var(--font-poppins,Poppins);color:var(--color-black,#000)}.tag:is(.dark *){border-color:var(--color-zinc-700,oklch(37% .013 285.805));background-color:var(--color-zinc-800,oklch(27.4% .006 286.033));color:var(--color-white,#fff)}.img-cover{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);min-width:100%;min-height:100%;translate:var(--tw-translate-x) var(--tw-translate-y);object-fit:cover;position:absolute;top:50%;left:50%}@media (width>=48rem){.desktop-img-cover{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);min-width:100%;min-height:100%;translate:var(--tw-translate-x) var(--tw-translate-y);object-fit:cover;position:absolute;top:50%;left:50%}}.button{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-indigo-700,oklch(45.7% .24 277.023));background-color:var(--color-indigo-600,oklch(51.1% .262 276.966));padding-inline:calc(var(--spacing,.25rem) * 3.5);padding-block:calc(var(--spacing,.25rem) * 2.5);font-family:var(--font-poppins,Poppins);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-white,#fff);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s))}.button:focus-visible{outline-style:var(--tw-outline-style);outline-offset:2px;outline-width:2px;outline-color:var(--color-indigo-600,oklch(51.1% .262 276.966))}.button:enabled:hover{background-color:var(--color-indigo-500,oklch(58.5% .233 277.117))}.button:enabled:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.button-square{height:calc(var(--spacing,.25rem) * 9);width:calc(var(--spacing,.25rem) * 9);cursor:pointer;border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-700,oklch(37% .013 285.805));background-color:var(--color-zinc-800,oklch(27.4% .006 286.033));transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));justify-content:center;align-items:center;display:flex}.button-square:active{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x) var(--tw-scale-y);background-color:var(--color-zinc-700,oklch(37% .013 285.805))}.gallery-wrapper{margin-inline:calc(var(--spacing,.25rem) * -5);background-color:var(--color-slate-100,oklch(96.8% .007 247.896));padding-inline:calc(var(--spacing,.25rem) * 5);padding-block:calc(var(--spacing,.25rem) * 8);padding-top:calc(var(--spacing,.25rem) * 10);position:relative}@media (width>=64rem){.gallery-wrapper{width:900px;padding-inline:calc(var(--spacing,.25rem) * 14);padding-block:calc(var(--spacing,.25rem) * 12);padding-top:calc(var(--spacing,.25rem) * 14);margin-inline:-25%}}@media (width>=80rem){.gallery-wrapper{width:1200px;margin-inline:-50%}}.gallery-wrapper:is(.dark *){background-color:var(--color-zinc-950,oklch(14.1% .005 285.823))}.gallery-title{top:calc(var(--spacing,.25rem) * -5);left:calc(var(--spacing,.25rem) * 6);font-size:var(--text-5xl,3rem);line-height:var(--tw-leading,var(--text-5xl--line-height,1));--tw-font-weight:var(--font-weight-black,900);font-weight:var(--font-weight-black,900);color:var(--color-slate-300,oklch(86.9% .022 252.894));text-transform:uppercase;-webkit-user-select:none;user-select:none;position:absolute}@media (width>=64rem){.gallery-title{top:calc(var(--spacing,.25rem) * -9);left:calc(var(--spacing,.25rem) * 12);font-size:var(--text-7xl,4.5rem);line-height:var(--tw-leading,var(--text-7xl--line-height,1))}}.gallery-title:is(.dark *){color:var(--color-zinc-600,oklch(44.2% .017 285.786))}.gallery-button{background-color:var(--color-slate-300,oklch(86.9% .022 252.894));width:100%;padding-inline:calc(var(--spacing,.25rem) * 5);padding-block:calc(var(--spacing,.25rem) * 4);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-white,#fff);text-transform:uppercase;--tw-ring-color:transparent;outline-offset:2px;transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));border-radius:2147483647px;margin-top:0}.gallery-button:focus{border-color:#0000}.gallery-button:enabled:active{scale:.98}@media (width>=48rem){.gallery-button{margin-top:calc(var(--spacing,.25rem) * 4)}}.gallery-button:is(.dark *){background-color:var(--color-zinc-600,oklch(44.2% .017 285.786))}.inset-center{--tw-translate-x:-50%;--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y);position:absolute;top:50%;left:50%}.dots-loader{text-align:center;flex-shrink:0;align-items:center;display:flex}.dots-loader>div{animation:1.4s ease-in-out infinite both bounce-dots}.dots-loader>div:first-child{animation-delay:-.32s}.dots-loader>div:nth-child(2){animation-delay:-.16s}.tag-software-design{color:var(--color-white,#fff)!important;background:#ef4444!important}.tag-javascript{color:var(--color-zinc-800,oklch(27.4% .006 286.033))!important;background:#f7e025!important}.tag-typescript{color:#fff!important;background:#3178c6!important}.tag-swift{color:#fff!important;background:#fc492e!important}.tag-php{color:#2a2c37!important;background:#8d96c0!important}}@layer base{[tabindex="0"]:focus-visible,button:focus,:where(input):focus,select:focus,textarea:focus{z-index:10;border-color:var(--color-indigo-400,oklch(67.3% .182 276.935));accent-color:var(--color-indigo-500,oklch(58.5% .233 277.117));--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:var(--color-indigo-500,oklch(58.5% .233 277.117));--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);outline-offset:0px;outline-color:var(--color-zinc-300,oklch(87.1% .006 286.286));outline-width:1px}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.5}}@keyframes bounce-dots{0%,80%,to{transform:scale(0)}40%{transform:scale(.9)}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}
