*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:Urbanist,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.hidden{display:none}.grow{flex-grow:1}:root{color-scheme:light;--main-color: #dd0e7c;--secondary-color: #6b1d68;--background-color: #f9fafb;--text-color: #27272a;--border-color: #fcd6e2;--hover-color: #c6006d;--surface: #fff;--surface-subtle: #f1f0f3;--text-primary: #27272a;--text-muted: #62616b;--text-soft: #706d78;--accent-text: #c6006d;--hairline: #dfdce3;--header-bg: rgba(249,250,251,.94);--work-bg: #f0eff3;--tag-bg: #f5f2f6;--ease-out: cubic-bezier(.22,1,.36,1)}html.dark{color-scheme:dark;--background-color: #141217;--surface: #1d1921;--surface-subtle: #27212c;--text-color: #f4f1f5;--text-primary: #f4f1f5;--text-muted: #c1b9c7;--text-soft: #b1a7b7;--accent-text: #ff73b9;--hairline: #3b3241;--header-bg: rgba(20,18,23,.95);--work-bg: #19151e;--tag-bg: #2b2330}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--background-color);color:var(--text-primary);font-family:Urbanist,Segoe UI,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}::selection{background:#fcd6e2;color:#6b1d68}:focus-visible{outline:3px solid var(--accent-text);outline-offset:5px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.site-header{position:sticky;top:0;z-index:50;background:var(--header-bg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid transparent;transition:border-color .25s}.site-header.scrolled{border-color:var(--hairline)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:92px}.brand{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:700;line-height:1.3;letter-spacing:-.3px}.brand-mark{font-size:37px;font-weight:700;letter-spacing:-5px;width:43px;height:47px;line-height:1}.brand-mark span{color:var(--main-color)}.brand-role{display:block;color:var(--text-muted);font-size:12px;font-weight:400;letter-spacing:.3px;margin-top:4px}.desktop-nav{display:flex;gap:32px;align-items:center;margin-left:auto;font-size:14px;font-weight:600}.desktop-nav a{padding-block:12px;transition:color .2s var(--ease-out)}.desktop-nav a:hover,.desktop-nav a.active{color:var(--accent-text)}.desktop-nav .nav-contact{border:1px solid var(--hairline);border-radius:50px;padding:10px 20px;display:flex;gap:22px;transition:border-color .2s var(--ease-out),transform .12s var(--ease-out)}.desktop-nav .nav-contact:hover{border-color:var(--accent-text)}.desktop-nav .nav-contact:active{transform:scale(.96)}.nav-contact span{font-size:21px;line-height:1}.header-controls{display:flex;align-items:center;gap:9px}.language-control{display:flex;gap:5px;align-items:center;min-height:44px;background:none;border:0;font-size:12px;color:var(--text-soft);padding:6px;transition:transform .12s var(--ease-out)}.language-control:active{transform:scale(.93)}.language-control .selected{color:var(--text-primary);font-weight:700;transition:color .2s var(--ease-out)}.divider{opacity:.5}.icon-button{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--text-primary);transition:background .2s var(--ease-out),transform .12s var(--ease-out)}.icon-button:hover{background:var(--surface-subtle)}.icon-button:active{transform:scale(.93)}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.menu-toggle,.mobile-nav{display:none}.site-footer{padding-block:48px 24px;background:var(--background-color)}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:35px}.footer-name{font-size:clamp(1.6rem,3vw,2.7rem);font-weight:600;letter-spacing:-.055em}.footer-name span{color:var(--accent-text)}.back-top{display:flex;align-items:center;gap:20px;font-size:13px;min-height:44px}.back-top>span{border:1px solid var(--hairline);border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font-size:19px;transition:border-color .2s var(--ease-out),transform .2s var(--ease-out)}.back-top:hover>span{border-color:var(--accent-text);transform:translateY(-3px)}.back-top:active>span{transform:translateY(-1px) scale(.93);transition-duration:.1s}.footer-bottom{border-top:1px solid var(--hairline);padding-top:23px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;color:var(--text-muted)}.footer-bottom p{margin:0}.button{min-height:54px;border:0;display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:15px 24px;border-radius:7px;font-weight:600;font-size:15px;transition:background .2s var(--ease-out),transform .16s var(--ease-out),box-shadow .2s var(--ease-out)}.button span{font-size:22px;line-height:1}.button-primary{background:var(--main-color);color:#fff}.button-primary:hover{background:var(--hover-color);transform:translateY(-2px);box-shadow:0 7px 20px #dd0e7c22}.button-primary:active{background:var(--hover-color);transform:translateY(0) scale(.97);box-shadow:0 3px 10px #dd0e7c22;transition-duration:.1s}.button:disabled{cursor:wait;opacity:.65;transform:none}.text-link{display:inline-flex;align-items:center;gap:15px;min-height:44px;font-size:15px;font-weight:600;text-decoration:underline;text-decoration-color:var(--hairline);text-underline-offset:6px;transition:color .2s var(--ease-out)}.text-link:hover,.text-link:active{color:var(--accent-text)}.text-link>span,.text-link>svg{transition:transform .2s var(--ease-out)}.text-link:hover>span,.text-link:hover>svg{transform:translate(3px)}.text-link:active>span,.text-link:active>svg{transform:translate(1px);transition-duration:.1s}.field{margin-bottom:21px}.field label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}.field input,.field textarea{display:block;width:100%;border:1px solid var(--hairline);background:var(--background-color);color:var(--text-primary);border-radius:6px;padding:12px 14px;font-size:16px;line-height:1.5;transition:border-color .2s var(--ease-out)}.field textarea{resize:vertical;min-height:125px}.field input::placeholder,.field textarea::placeholder{color:var(--text-soft);font-size:14px;opacity:1}.field input:focus,.field textarea:focus{border-color:var(--accent-text);outline:2px solid color-mix(in srgb,var(--accent-text) 25%,transparent);outline-offset:1px}.field [aria-invalid=true]{border-color:var(--accent-text)}.field-error{display:block;color:var(--accent-text);margin-top:7px;font-size:13px}.tech-block{margin-top:76px;padding:42px 0 0;border-top:1px solid var(--hairline);display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.6fr);align-items:center;gap:64px}.tech-heading .section-label{margin-bottom:18px;font-size:12px}.tech-heading h3{font-size:clamp(2rem,3vw,2.7rem);line-height:1.15;letter-spacing:-.05em;margin:0 0 18px}.tech-heading h3 em{color:var(--accent-text);font-style:italic;font-weight:600}.tech-heading>p:last-child{max-width:260px;font-size:16px;line-height:1.65;color:var(--text-muted);margin:0}.tech-list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;margin:0}.tech-list li{min-width:0}.tech-tile{height:100%;min-height:91px;display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--hairline);border-radius:10px;background:var(--surface);transition:border-color .25s var(--ease-out),box-shadow .25s var(--ease-out),transform .3s var(--ease-out)}.core-tech .tech-tile{background:linear-gradient(125deg,color-mix(in srgb,var(--main-color) 6%,var(--surface)),var(--surface));border-color:color-mix(in srgb,var(--accent-text) 27%,var(--hairline))}.tech-icon{flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;background:#fff;border-radius:9px;border:1px solid #ece8ef}.tech-icon img{width:26px;height:26px;object-fit:contain}.tech-text{display:flex;flex-direction:column;gap:3px;min-width:0}.tech-text strong{font-size:14px;line-height:1.3;font-weight:600}.tech-text small{font-size:12px;color:var(--text-muted)}@media (hover: hover) and (pointer: fine){.tech-tile:hover{border-color:var(--accent-text);box-shadow:0 7px 20px #6b1d6810;transform:translateY(-3px)}}@media (max-width: 1100px){.tech-block{gap:35px;grid-template-columns:.7fr 1.5fr}.tech-tile{padding:13px;gap:9px}.tech-icon{width:34px;height:34px;flex-basis:34px}}@media (max-width: 850px){.tech-block{grid-template-columns:1fr;gap:26px;margin-top:50px}.tech-heading>p:last-child{max-width:none}.tech-tile{min-height:84px;padding:15px}}@media (max-width: 620px){.tech-block{padding-top:32px;margin-top:35px}.tech-heading h3{font-size:2.4rem}.tech-list{gap:9px}.tech-tile{flex-direction:column;align-items:flex-start;gap:12px;padding:13px 11px;min-height:127px}.tech-text strong{overflow-wrap:anywhere}.tech-heading .section-label{font-size:12px}}@media (prefers-reduced-motion: reduce){.tech-tile:hover{transform:none}}[data-reveal]{--reveal-shift: 30px;transition:opacity .55s var(--ease-out),translate .6s var(--ease-out);transition-delay:var(--reveal-delay, 0ms)}[data-reveal=portrait]{--reveal-shift: 40px}[data-reveal].reveal-pending{opacity:0;translate:0 var(--reveal-shift);transition-delay:0ms}[data-reveal].is-in{opacity:1;translate:0 0}[data-reveal]:focus-within{opacity:1;translate:none;transition:none}.hero-line{display:block}.hero-line>span,.hero-line>em{display:inline-block}.hero-visual .portrait-stage{transform:rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg));transition:transform .4s var(--ease-out)}.portrait-sheen{pointer-events:none;position:absolute;inset:0;z-index:2;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.0705882353) 49%,transparent 67%);transform:translate(-125%)}@media (prefers-reduced-motion: no-preference){.hero-intro{animation:hero-rise .55s var(--ease-out) both}.hero-line>span,.hero-line>em{animation:hero-line-in .8s var(--ease-out) both}.hero-line:nth-child(1)>span{animation-delay:.1s}.hero-line:nth-child(2)>span{animation-delay:.2s}.hero-line:nth-child(3)>em{animation-delay:.3s}.hero-description{animation:hero-rise .65s .34s var(--ease-out) both}.hero-actions{animation:hero-rise .65s .44s var(--ease-out) both}.hero-portrait{animation:portrait-in 1s .14s var(--ease-out) both}.hero-visual .experience-card{animation:hero-rise .7s .48s var(--ease-out) both}.hero-visual .craft-tag{animation:badge-in .9s .3s var(--ease-out) both,badge-float 1.6s 1.2s ease-in-out 2}.hero-visual .portrait-sheen{animation:portrait-sheen 1.3s .6s ease-in-out both}}@keyframes hero-rise{0%{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}@keyframes hero-line-in{0%{opacity:0;transform:translateY(25px) rotate(1.2deg)}to{opacity:1;transform:translateY(0) rotate(0)}}@keyframes portrait-in{0%{opacity:0;transform:scale(1.055)}to{opacity:1;transform:scale(1)}}@keyframes badge-in{0%{opacity:0;transform:translateY(18px) rotate(-10deg) scale(.85)}to{opacity:1;transform:translateY(0) rotate(9deg) scale(1)}}@keyframes badge-float{0%,to{transform:translateY(0) rotate(9deg)}50%{transform:translateY(-7px) rotate(13deg)}}@keyframes portrait-sheen{0%{transform:translate(-125%)}to{transform:translate(125%)}}@media (max-width: 620px){[data-reveal]{--reveal-shift: 20px;transition-delay:0ms}}@media (prefers-reduced-motion: reduce){[data-reveal],[data-reveal].reveal-pending,[data-reveal].is-in{opacity:1;translate:none;transition:none}.hero-visual .portrait-stage{transform:none;transition:none}.portrait-sheen{display:none}}
