:root{--font-heading:"Lato", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-full:9999px;--transition-fast:.15s ease;--transition-normal:.25s ease}html[data-theme=dark],:root:not([data-theme=light]){--color-bg:#1e1e2e;--color-surface:#262738;--color-surface-secondary:var(--color-surface);--color-surface-hover:#313244;--color-text:#cdd6f4;--color-muted:#a6adc8;--color-action:#89b4fa;--color-action-hover:#b4befe;--color-action-text:#11111b;--color-focus:#f5e0dc;--color-border:#45475a;--color-success:#a6e3a1;--color-warning:#f9e2af;--color-error:#f38ba8;--color-chip-bg:#313244;--color-accent:#cba6f7;--color-hero-disc:#89b4fa24;--shadow-card:0 4px 20px #0000004d;--shadow-modal:var(--shadow-card);--color-action-subtle:var(--color-action-hover);--shadow-btn-hover:0 4px 14px #00000059;--color-cta-lavender:#b4befe;--color-cta-lavender-hover:#cdd0ff;--color-cta-lavender-ghost-border:#b4befe99;--color-cta-lavender-ghost-fill:#b4befe40;--color-cta-dark-text:#11111b}html[data-theme=light]{--color-bg:#eff1f5;--color-surface:#fff;--color-surface-secondary:#f8f9fc;--color-surface-hover:#e6e9ef;--color-text:#4c4f69;--color-muted:#5c5f77;--color-action:#1e66f5;--color-action-hover:#1c5edb;--color-action-text:#fff;--color-focus:#1e66f5;--color-border:#acb0be;--color-success:#40a02b;--color-warning:#df8e1d;--color-error:#d20f39;--color-chip-bg:#e6e9ef;--color-accent:#8839ef;--color-hero-disc:#1e66f51f;--shadow-card:0 4px 20px #00000014;--shadow-modal:var(--shadow-card);--color-action-subtle:var(--color-action-hover);--shadow-btn-hover:0 4px 14px #1e66f533;--color-cta-lavender:#1e66f5;--color-cta-lavender-hover:#1c5edb;--color-cta-lavender-ghost-border:#1e66f58c;--color-cta-lavender-ghost-fill:#1e66f51f;--color-cta-dark-text:#fff}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px;line-height:1.5}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}section[id]{scroll-margin-top:5rem}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-body);transition:background-color var(--transition-normal), color var(--transition-normal);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-text);line-height:1.25}a{color:var(--color-action);text-decoration:none}a:hover{color:var(--color-action-hover);text-decoration:underline}button,input,select,textarea{font-family:inherit;font-size:inherit}.skip-link{background:var(--color-action);color:var(--color-action-text);z-index:9999;border-radius:var(--radius-sm);transition:top var(--transition-fast);padding:.75rem 1.25rem;font-weight:600;text-decoration:none;position:absolute;top:-100px;left:1rem}.skip-link:focus{top:1rem}.sr-only,.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.container{--layout-gutter:clamp(1rem, 3vw, 3rem);width:min(100%,1440px);padding-inline:var(--layout-gutter);margin:0 auto}.section{padding-top:var(--space-2xl);padding-bottom:var(--space-2xl);border-bottom:1px solid var(--color-border)}.section-eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--color-action);margin-bottom:var(--space-xs);font-size:.875rem;font-weight:700}.section-headline{text-transform:uppercase;letter-spacing:.08em;color:var(--color-action);margin-bottom:var(--space-xl);font-size:1.75rem;font-weight:800}.section-subheadline{color:var(--color-muted);max-width:700px;margin-bottom:var(--space-xl);font-size:1.125rem}.btn{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);cursor:pointer;border:2px solid #0000;min-width:44px;min-height:44px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:color .25s cubic-bezier(.4,0,.2,1),border-color .25s cubic-bezier(.4,0,.2,1),background-color .25s cubic-bezier(.4,0,.2,1),transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1);display:inline-flex;text-decoration:none!important}.btn:hover:not(:disabled){box-shadow:var(--shadow-btn-hover);transform:translateY(-2px)}.btn-primary{background-color:var(--color-cta-lavender);color:var(--color-cta-dark-text);border-color:var(--color-cta-lavender)}.btn-primary:hover:not(:disabled),.btn-primary:focus-visible,.btn-primary:active{background-color:var(--color-cta-lavender-hover);color:var(--color-cta-dark-text);border-color:var(--color-cta-lavender-hover)}.btn-secondary{color:var(--color-text);border-color:var(--color-cta-lavender-ghost-border);background-color:#0000}.btn-secondary:hover:not(:disabled),.btn-secondary:focus-visible,.btn-secondary:active{background-color:var(--color-cta-lavender-ghost-fill);color:var(--color-text);border-color:var(--color-cta-lavender)}.btn-tertiary,.btn-tertiary-wide{color:var(--color-text);border-color:var(--color-cta-lavender-ghost-border);border-radius:var(--radius-full);background-color:#0000;width:100%;max-width:100%;min-height:52px}.btn-tertiary:hover:not(:disabled),.btn-tertiary-wide:hover:not(:disabled),.btn-tertiary:focus-visible,.btn-tertiary:active,.btn-tertiary-wide:focus-visible,.btn-tertiary-wide:active{background-color:var(--color-cta-lavender-ghost-fill);color:var(--color-text);border-color:var(--color-cta-lavender)}.btn:active:not(:disabled){box-shadow:none;transform:translateY(0)}.btn:disabled,.btn[disabled]{opacity:.6;cursor:not-allowed;box-shadow:none!important;transform:none!important}.btn:disabled:before,.btn[disabled]:before{transform:scaleX(0)!important}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.btn:hover:not(:disabled){transform:none!important}[data-reveal-state=hidden],[data-reveal-state=revealed]{opacity:1!important;will-change:auto!important;transition:none!important;transform:none!important}.process-card .process-badge,.about-process-header:after{opacity:1!important;animation:none!important;transform:none!important}}.site-header{z-index:100;background-color:var(--color-bg);backdrop-filter:blur(8px);position:sticky;top:0}.header-container{justify-content:space-between;align-items:center;min-height:72px;display:flex;position:relative}.site-nav{align-items:center;gap:var(--space-md);order:1;display:flex}.nav-link{color:var(--color-muted);min-height:44px;transition:color var(--transition-fast);align-items:center;padding:.5rem .75rem;font-size:.9375rem;font-weight:500;display:inline-flex;position:relative}.nav-link:after{content:"";background-color:var(--color-action);border-radius:var(--radius-full);opacity:0;width:0;height:2.5px;transition:width .25s,opacity .25s;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.nav-link:hover{color:var(--color-text);text-decoration:none}.nav-link:hover:after,.nav-link.active:after{opacity:1;width:calc(100% - 1.25rem)}.nav-link.active{color:var(--color-action);font-weight:600}.header-controls{align-items:center;gap:var(--space-sm);order:2;display:flex}.menu-toggle{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:44px;height:44px;color:var(--color-text);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast);background:0 0;order:3;justify-content:center;align-items:center;padding:0;display:none}.menu-toggle:hover{background-color:var(--color-surface);border-color:var(--color-muted)}.hamburger-icon{flex-direction:column;justify-content:space-between;width:18px;height:14px;display:flex;position:relative}.hamburger-icon .bar{transform-origin:50%;background-color:currentColor;border-radius:2px;width:100%;height:2px;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .25s cubic-bezier(.4,0,.2,1);display:block}.menu-toggle[aria-expanded=true] .bar:first-child{transform:translateY(6px)rotate(45deg)}.menu-toggle[aria-expanded=true] .bar:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] .bar:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.language-switch{min-height:44px;color:var(--color-text);white-space:nowrap;align-items:center;font-size:.875rem;font-weight:600;display:inline-flex}.icon-btn{border-radius:var(--radius-sm);min-width:44px;min-height:44px;color:var(--color-text);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast);background:0 0;border:0;justify-content:center;align-items:center;padding:.5rem;display:inline-flex}.icon-btn:hover,.icon-btn:active{color:var(--color-action-hover)}.icon-btn:hover{background:var(--color-surface-hover)}.icon-btn:active{background:var(--color-surface-hover);transform:translateY(1px)}.lang-option{inline-size:44px;min-height:44px;color:var(--color-text);font:inherit;background:0 0;border:0;justify-content:center;align-items:center;padding:.5rem;display:inline-flex;text-decoration:none!important}.lang-separator{text-align:center;inline-size:1rem}.lang-switch:hover,.lang-switch:active{color:var(--color-action-hover);text-underline-offset:.25em;background:0 0;text-decoration:underline!important}.lang-switch:active{transform:translateY(1px)}.lang-current{text-underline-offset:.25em;text-decoration:underline 2px}.icon-btn:focus-visible,.language-switch:focus-visible,.lang-switch:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.hero-section{padding-top:var(--space-lg);padding-bottom:var(--space-md)}.hero-layout{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);align-items:center;gap:clamp(2rem,5vw,6rem);display:grid}.hero-content{max-width:680px}.hero-intro{color:var(--color-action);margin-bottom:0;font-size:clamp(1rem,1.4vw,1.375rem);font-weight:600}.hero-role{margin-top:var(--space-md);letter-spacing:-.04em;color:var(--color-text);max-width:34rem;font-size:clamp(2.25rem,4.3vw,4.25rem);font-weight:700;line-height:1.08}.hero-value{color:var(--color-muted);max-width:42rem;margin-top:var(--space-md);font-size:1.125rem;line-height:1.6}.hero-actions{gap:var(--space-md);margin-top:var(--space-xl);flex-wrap:wrap;display:flex}.hero-visual{--hero-size:clamp(18rem, 28vw, 28rem);isolation:isolate;inline-size:var(--hero-size);aspect-ratio:2/3;justify-content:center;align-items:center;margin:0 auto;display:flex;position:relative;overflow:visible}.hero-visual:before{content:"";z-index:0;aspect-ratio:1;background:var(--color-hero-disc);border-radius:50%;inline-size:100%;position:absolute}.hero-image{z-index:1;object-fit:contain;object-position:center;block-size:100%;inline-size:100%;-webkit-mask-image:linear-gradient(to bottom, #000 50%, transparent 50%), radial-gradient(circle at 50% 50%, #000 calc(var(--hero-size) / 2 - .5px), transparent calc(var(--hero-size) / 2));mask-image:linear-gradient(to bottom, #000 50%, transparent 50%), radial-gradient(circle at 50% 50%, #000 calc(var(--hero-size) / 2 - .5px), transparent calc(var(--hero-size) / 2));display:block;position:relative;mask-composite:add}@media (width>=901px){.hero-section{align-items:center;min-block-size:calc(100svh - 72px - 6rem);display:grid}.hero-section>.container{min-width:0}}.services-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.service-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);gap:var(--space-sm);box-shadow:var(--shadow-card);flex-direction:column;display:flex}.service-title{color:var(--color-text);font-size:1.25rem;font-weight:700}.service-outcome{color:var(--color-text);font-weight:500}.service-includes{color:var(--color-muted);padding-top:var(--space-sm);border-top:1px dashed var(--color-border);margin-top:auto;font-size:.875rem}.projects-grid{gap:var(--space-lg);grid-template-columns:repeat(3,1fr);display:grid}.project-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);transition:transform var(--transition-normal), box-shadow var(--transition-normal);flex-direction:column;display:flex;overflow:hidden}.project-card:hover{box-shadow:var(--shadow-modal);transform:translateY(-8px)}.project-card[data-reveal-state=revealed][data-reveal-complete]{transition:transform var(--transition-normal), box-shadow var(--transition-normal);transition-delay:0s}.project-image-wrapper{aspect-ratio:16/9;background:var(--color-bg);width:100%;position:relative;overflow:hidden}html[data-theme=dark] .project-image-wrapper.bright-thumbnail-overlay:after,:root:not([data-theme=light]) .project-image-wrapper.bright-thumbnail-overlay:after{content:"";pointer-events:none;z-index:1;background:#11182759;position:absolute;inset:0}.project-image{object-fit:cover;width:100%;height:100%;transition:transform .3s}.project-card:hover .project-image{transform:scale(1.06)}.project-overlay{backdrop-filter:blur(4px);justify-content:center;align-items:center;gap:var(--space-md);opacity:0;z-index:2;background:#1e2030b8;transition:opacity .25s;display:flex;position:absolute;inset:0}.project-card:hover .project-overlay,.project-image-wrapper:focus-within .project-overlay{opacity:1}.overlay-icon-btn{border-radius:var(--radius-full);justify-content:center;align-items:center;width:48px;height:48px;text-decoration:none;transition:transform .2s,background-color .2s,box-shadow .2s;display:inline-flex;box-shadow:0 6px 18px #00000059}.overlay-action-label{display:none}.overlay-icon-btn:hover{text-decoration:none;transform:scale(1.12)}.overlay-icon-btn.github-btn,.overlay-icon-btn.demo-btn{color:#cdd6f4;border:1px solid var(--color-border);background:#181825}.overlay-icon-btn.github-btn:hover,.overlay-icon-btn.demo-btn:hover{color:#fff;border-color:var(--color-action);background:#313244}.project-body{padding:var(--space-lg);gap:var(--space-sm);flex-direction:column;flex-grow:1;display:flex}.project-header{justify-content:space-between;align-items:flex-start;gap:var(--space-xs);display:flex}.project-title{font-size:1.25rem;font-weight:700}.project-dates{color:var(--color-muted);font-size:.875rem}.project-description{color:var(--color-text);margin-top:var(--space-xs);font-size:.9375rem;line-height:1.5}.project-tech{padding-top:var(--space-sm);flex-wrap:wrap;gap:.375rem;margin-top:auto;display:flex}.tech-chip{border-radius:var(--radius-full);background:var(--color-bg);color:var(--color-muted);border:1px solid var(--color-border);padding:.125rem .5rem;font-size:.75rem;font-weight:600}.project-card-actions{display:none}.project-card-btn{border-radius:var(--radius-full);color:#cdd6f4;border:1px solid var(--color-border);min-height:40px;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);background:#181825;align-items:center;gap:.5rem;padding:.45rem .85rem;font-size:.8125rem;font-weight:600;line-height:1;text-decoration:none;display:inline-flex;box-shadow:0 4px 12px #0003}.project-card-btn:hover{color:#fff;border-color:var(--color-action);background:#313244;text-decoration:none}.project-card-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}#projects .section-headline{margin-bottom:var(--space-xl)}.projects-carousel-container{width:100%;position:relative}.carousel-side-arrow,.carousel-dots-wrapper{display:none}.more-projects-wrapper{margin-top:var(--space-2xl);justify-content:center;width:100%;display:flex}.more-projects-btn{border-radius:var(--radius-full);width:100%;max-width:100%;min-height:52px}.project-nav-btn:disabled{opacity:.35;cursor:not-allowed}.position-indicator{color:var(--color-muted);font-size:.9375rem;font-weight:600}.about-intro{gap:var(--space-xl);margin-bottom:var(--space-xl);grid-template-areas:"headline""copy""cta";display:grid}.about-intro .section-headline{grid-area:headline;margin-bottom:0}.about-cv-cta{grid-area:cta;justify-self:start}.about-cv-cta svg{margin-right:.5rem}.about-content{grid-area:copy;max-width:960px}@media (width>=641px){.about-intro{column-gap:var(--space-md);row-gap:var(--space-xl);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"headline cta""copy copy"}.about-cv-cta{place-self:center end}}.about-text p{color:var(--color-muted);font-size:1.0625rem;line-height:1.7}.about-process-wrapper{padding-top:var(--space-xl);border-top:1px solid var(--color-border)}.about-process-header{margin-bottom:var(--space-lg)}.about-process-headline{color:var(--color-text);margin-bottom:.375rem;font-size:1.5rem;font-weight:700}.about-process-subheadline{color:var(--color-muted);font-size:.9375rem}.process-grid{gap:var(--space-md) var(--space-lg);grid-template-columns:repeat(2,1fr);display:grid}.process-card{background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);transition:transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal);flex-direction:column;gap:.625rem;padding:1.25rem 1.5rem;display:flex;position:relative;overflow:hidden}.process-card:before{content:"";background:linear-gradient(90deg, var(--color-action), var(--color-action-hover));opacity:0;height:3px;transition:opacity var(--transition-normal);position:absolute;top:0;left:0;right:0}.process-card:hover{box-shadow:var(--shadow-modal);border-color:var(--color-action-subtle);transform:translateY(-4px)}.process-card[data-reveal-state=revealed][data-reveal-complete]{transition:transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal);transition-delay:0s}.process-card:hover:before{opacity:1}.process-card-header{justify-content:space-between;align-items:center;width:100%;display:flex}.process-badge{border-radius:var(--radius-full);background:var(--color-surface-hover);border:1px solid var(--color-border);width:40px;height:40px;color:var(--color-action);transition:transform var(--transition-normal), background-color var(--transition-normal), color var(--transition-normal), border-color var(--transition-normal);justify-content:center;align-items:center;display:flex}.process-card:hover .process-badge{background:var(--color-action);color:#fff;border-color:var(--color-action);transform:scale(1.06)}.process-icon{justify-content:center;align-items:center;display:flex}.process-number{color:var(--color-muted);font-size:1.375rem;font-weight:800;font-family:var(--font-heading);opacity:.45;transition:color var(--transition-normal), opacity var(--transition-normal)}.process-card:hover .process-number{color:var(--color-action);opacity:.9}.process-title{color:var(--color-text);margin:0;font-size:1.125rem;font-weight:700}.process-desc{color:var(--color-muted);margin:0;font-size:.875rem;line-height:1.5}.process-tags{border-top:1px dashed var(--color-border);color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:.375rem;margin-top:auto;padding-top:.625rem;font-size:.8125rem;line-height:1.4;display:flex}.process-tag{color:var(--color-muted);transition:color var(--transition-normal);font-weight:500}.process-tag:not(:last-child):after{content:"·";color:var(--color-muted);opacity:.6;margin-left:.375rem}.process-card:hover .process-tag{color:var(--color-text)}.tech-marquee{width:100%;min-width:0;max-width:100%;margin-top:var(--space-xl);padding-block:var(--space-sm);position:relative;overflow:hidden;mask-image:linear-gradient(90deg,#0000,#000 64px calc(100% - 64px),#0000)}.tech-marquee-track{width:max-content;animation:36s linear infinite tech-marquee-scroll;display:flex}.tech-marquee-item{align-items:center;gap:var(--space-sm);padding-inline-end:clamp(2rem,5vw,3.5rem);display:flex}.tech-marquee-icon{transition:transform var(--transition-fast);flex-shrink:0;display:inline-flex}.tech-marquee-icon img,.tech-marquee-icon .tech-tabler-icon{object-fit:contain;width:24px!important;height:24px!important}.tech-marquee-item:hover .tech-marquee-icon{transform:scale(1.15)}.tech-marquee-label{color:var(--color-muted);white-space:nowrap;transition:color var(--transition-fast);font-size:.9375rem;font-weight:500}.tech-marquee-item:hover .tech-marquee-label{color:var(--color-text)}.tech-tabler-icon{flex-shrink:0}.tech-marquee-item--link{color:inherit;cursor:pointer;text-decoration:none;position:relative}.tech-marquee-item--link:hover .tech-marquee-label,.tech-marquee-item--link:focus-visible .tech-marquee-label{color:var(--color-action)}.tech-marquee-click-hint{color:var(--color-action);opacity:0;transition:opacity var(--transition-fast), transform var(--transition-fast);pointer-events:none;display:inline-flex;position:absolute;top:-4px;right:24px;transform:scale(.6)rotate(-10deg)}.tech-marquee-item--link:hover .tech-marquee-click-hint,.tech-marquee-item--link:focus-visible .tech-marquee-click-hint{opacity:1;transform:scale(1)rotate(0)}.tech-marquee-item--credential{transform-origin:50%;animation:2.8s ease-in-out infinite tech-marquee-breathe}.tech-marquee-item--link:hover,.tech-marquee-item--link:focus-visible{animation:none}@keyframes tech-marquee-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes tech-marquee-scroll{0%{transform:translate(0,0)}to{transform:translate(-50%)}}.contact-grid{gap:var(--space-xl);grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;display:grid}.contact-form-panel{background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.contact-intro{align-self:start}.contact-form-panel{padding:var(--space-xl);border-top-color:var(--color-action)}.contact-form-fields{grid-template-columns:1fr;display:grid}.form-group--full{grid-column:1/-1}.form-group{gap:var(--space-xs);margin-bottom:var(--space-md);flex-direction:column;display:flex}.form-label{font-size:.9375rem;font-weight:600}.form-input,.form-textarea{border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-border);width:100%;min-height:44px;color:var(--color-text);transition:border-color var(--transition-fast);padding:.75rem 1rem}.form-textarea{resize:vertical;min-height:104px}.form-input:focus,.form-textarea:focus{border-color:var(--color-action)}.form-input:focus-visible,.form-textarea:focus-visible,.channel-link:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.field-error{color:var(--color-error);font-size:.875rem;display:block}.field-error[hidden],.status-message[hidden]{display:none}.contact-submit{width:100%}.contact-channels-title{font-family:var(--font-heading);color:var(--color-action);margin:0;font-size:clamp(1.75rem,3vw,2.25rem);line-height:1.1}.contact-intro-copy{max-width:30rem;margin:var(--space-md) 0 0;color:var(--color-muted);line-height:1.6}.status-message{border-radius:var(--radius-sm);margin-bottom:var(--space-md);padding:1rem;font-weight:600;display:block}.status-success{border:1px solid var(--color-success);color:var(--color-success);background:#a6e3a126}.status-error{border:1px solid var(--color-error);color:var(--color-error);background:#f38ba826}.contact-feedback-dialog{border:1px solid var(--color-border);border-top:3px solid var(--color-action);border-radius:var(--radius-md);background:var(--color-surface-secondary);width:min(100% - 2rem,28rem);color:var(--color-text);box-shadow:var(--shadow-card);margin:auto;padding:0}.contact-feedback-dialog::backdrop{background:color-mix(in srgb, var(--color-background) 78%, transparent);backdrop-filter:blur(4px)}.contact-feedback-dialog__content{text-align:center;padding:clamp(1.5rem,5vw,2.25rem)}.contact-feedback-dialog__title{font-family:var(--font-heading);margin:0;font-size:clamp(1.5rem,4vw,2rem);line-height:1.15}.contact-feedback-dialog__message{margin:var(--space-sm) auto 0;max-width:32ch;color:var(--color-muted);line-height:1.6}.contact-feedback-dialog__loader{aspect-ratio:1;width:2.5rem;margin:0 auto var(--space-md);border:3px solid var(--color-border);border-top-color:var(--color-action);border-radius:50%;animation:.8s linear infinite contact-feedback-spin}.contact-feedback-dialog__close{width:100%;margin-top:var(--space-lg)}@keyframes contact-feedback-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.contact-feedback-dialog__loader{animation-duration:1.6s}}.direct-channels{flex-direction:column;display:flex}.contact-social-actions{gap:var(--space-md);margin-top:var(--space-lg);flex-wrap:wrap;display:flex}.channel-link{background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-md);width:4rem;height:4rem;color:var(--color-action);transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;display:inline-flex}.channel-link:hover{background:var(--color-action);border-color:var(--color-action);color:var(--color-action-text);transform:translateY(-2px)}.site-footer{padding:var(--space-2xl) 0 var(--space-xl);border-top:1px solid var(--color-border);background:var(--color-bg)}.footer-container{gap:var(--space-xl);display:grid}.footer-main{align-items:center;gap:var(--space-xl);grid-template-columns:minmax(0,1fr) minmax(16rem,32rem) minmax(0,1fr);display:grid}.footer-name{align-items:baseline;gap:var(--space-sm);color:var(--color-text);font-family:var(--font-heading);letter-spacing:-.01em;margin:0;font-size:1.125rem;font-weight:700;display:flex}.footer-mark{color:var(--color-action);font-size:.7em}.footer-message,.footer-location,.footer-copy,.footer-technology{margin:0}.footer-copy,.footer-technology,.footer-location{color:var(--color-muted);font-size:.8125rem}.footer-message{color:var(--color-text);text-align:center;font-size:.9375rem;line-height:1.6}.footer-location{text-align:right;white-space:nowrap;justify-self:end}.footer-social-actions{justify-self:end;gap:var(--space-xs);display:flex}.footer-social-link{border:1px solid var(--color-border);width:2.25rem;height:2.25rem;color:var(--color-muted);transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.footer-social-link:hover{border-color:var(--color-action);background:var(--color-action);color:var(--color-action-text);transform:translateY(-2px)}.footer-social-link:focus-visible{outline:2px solid var(--color-action);outline-offset:3px}.footer-bottom{justify-content:space-between;align-items:end;gap:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-border);display:flex}.footer-meta{gap:var(--space-xs);display:grid}@media (width>=1100px){.footer-message{white-space:nowrap}}[data-reveal]{--reveal-duration:.8s;--reveal-ease:cubic-bezier(.16, 1, .3, 1)}[data-reveal=rise-sm]{--reveal-duration:.65s}[data-reveal=rise-lg]{--reveal-duration:.9s}[data-reveal=scale-soft]{--reveal-duration:.95s}[data-reveal-state=hidden]{opacity:0;will-change:opacity, transform}[data-reveal-state=hidden][data-reveal=rise-sm]{transform:translateY(10px)}[data-reveal-state=hidden][data-reveal=rise-md]{transform:translateY(32px)}[data-reveal-state=hidden][data-reveal=rise-lg]{transform:translateY(48px)}[data-reveal-state=hidden][data-reveal=scale-soft]{transform:scale(.92)}[data-reveal-state=hidden][data-reveal=from-left]{transform:translate(-28px)}[data-reveal-state=hidden][data-reveal=from-right]{transform:translate(28px)}[data-reveal-state=revealed]{opacity:1;transition:opacity var(--reveal-duration) var(--reveal-ease), transform var(--reveal-duration) var(--reveal-ease);transition-delay:var(--reveal-delay,0s);transform:none}.about-process-header{position:relative}.about-process-header:after{content:"";border-radius:var(--radius-full);background:var(--color-action);transform-origin:0;width:3rem;height:2px;position:absolute;bottom:-.65rem;left:0}.about-process-header[data-reveal-state=hidden]:after{opacity:0;transform:scaleX(0)}.about-process-header[data-reveal-state=revealed]:after{animation:.75s cubic-bezier(.16,1,.3,1) .2s backwards reveal-line-draw}.process-card[data-reveal-state=hidden] .process-badge{opacity:0;transform:scale(.78)}.process-card[data-reveal-state=revealed] .process-badge{animation:reveal-badge-pop .7s cubic-bezier(.34, 1.56, .64, 1) calc(var(--reveal-delay,0s) + .16s) backwards}@keyframes reveal-line-draw{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes reveal-badge-pop{0%{opacity:0;transform:scale(.78)}to{opacity:1;transform:scale(1)}}@media (width<=900px){[data-reveal-state=hidden][data-reveal=rise-md],[data-reveal-state=hidden][data-reveal=rise-lg]{transform:translateY(24px)}[data-reveal-state=hidden][data-reveal=scale-soft]{transform:scale(.96)}[data-reveal-state=hidden][data-reveal=from-left],[data-reveal-state=hidden][data-reveal=from-right]{transform:translateY(20px)}.project-card[data-reveal-state]{opacity:1;will-change:auto;transition:none;transform:none}.projects-carousel-container{justify-content:center;align-items:center;width:100%;display:flex;position:relative}.projects-enhanced .carousel-side-arrow{z-index:10;width:44px;min-width:44px;height:44px;min-height:44px;color:var(--color-action);cursor:pointer;box-shadow:none;transition:color var(--transition-fast), opacity var(--transition-fast), transform var(--transition-fast);background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:38%;transform:translateY(-50%)}.carousel-side-arrow.arrow-left{left:-.75rem}.carousel-side-arrow.arrow-right{right:-.75rem}.carousel-side-arrow:hover:not(:disabled){color:var(--color-action-hover);background:0 0;border-color:#0000;transform:translateY(-50%)scale(1.15)}.carousel-side-arrow:disabled{opacity:.2;cursor:not-allowed;box-shadow:none}.projects-grid{touch-action:pan-y;flex-direction:column;grid-template-columns:1fr;width:100%;max-width:480px;min-height:470px;margin:0 auto;padding:0 .5rem;display:flex}.projects-enhanced .project-card:not(.active){display:none}.project-card.active{flex-direction:column;flex:1;height:100%;animation:.25s ease-out fadeIn;display:flex}.project-overlay{display:none!important}.project-body{padding:var(--space-md);flex-direction:column;flex:1;justify-content:flex-start;gap:.5rem;display:flex}.project-description{flex:0 auto;margin-bottom:.25rem;font-size:.875rem;line-height:1.45}.project-tech{flex-wrap:wrap;gap:.375rem;margin-top:0;padding-top:0;display:flex}.project-card-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:auto;padding-top:.75rem;display:flex}.projects-enhanced .carousel-dots-wrapper{margin-top:var(--space-lg);flex-direction:column;align-items:center;display:flex}.carousel-dots{align-items:center;gap:0;display:flex}.dot{border-radius:var(--radius-full);cursor:pointer;background:0 0;border:0;width:24px;min-width:24px;height:24px;min-height:24px;padding:0;position:relative}.dot:after{content:"";background:var(--color-border);border-radius:50%;width:8px;height:8px;transition:all .25s;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.dot.active:after{background:var(--color-action);border-radius:4px;width:22px}.dot:focus-visible{outline:3px solid var(--color-focus);outline-offset:1px}.hero-layout{gap:var(--space-xl);grid-template-columns:1fr}.hero-content,.hero-visual{order:0}.hero-role{font-size:clamp(2rem,9vw,2.75rem)}.hero-value{margin-top:var(--space-md);font-size:1rem}.hero-actions{margin-top:var(--space-lg)}.hero-visual{inline-size:min(52vw,208px);max-height:312px}.hero-visual:before{inline-size:min(76vw,19rem)}.process-grid{grid-template-columns:repeat(2,1fr)}.contact-grid{grid-template-columns:1fr}}@media (hover:none){.overlay-icon-btn:focus-visible,.project-card-btn:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}}@media (width<=768px){.header-container{min-height:64px;padding-top:var(--space-xs);padding-bottom:var(--space-xs);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.site-header.nav-enhanced .menu-toggle{order:1;display:inline-flex}.header-controls{order:2;display:flex}.site-header.nav-enhanced .site-nav{align-items:stretch;gap:var(--space-xs);width:100%;padding:var(--space-md) var(--space-lg);background-color:color-mix(in srgb, var(--color-surface) 94%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);z-index:100;flex-direction:column;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 12px 32px #00000040}.site-header.nav-open .site-nav{display:flex;position:absolute}.menu-backdrop{-webkit-backdrop-filter:blur(2px);z-index:90;background-color:#0006;display:none;position:fixed;inset:64px 0 0}.site-header.nav-open .menu-backdrop{display:block}.site-header.nav-open .nav-link{width:100%;padding:.75rem var(--space-md);border-radius:var(--radius-sm);justify-content:flex-start;font-size:1.0625rem}.site-header.nav-open .nav-link:hover,.site-header.nav-open .nav-link:focus-visible{background-color:var(--color-surface);color:var(--color-text)}}@media (width<=640px){.process-grid{grid-template-columns:1fr}.about-cv-cta{width:100%}.contact-form-panel{padding:var(--space-lg)}.contact-form-fields{grid-template-columns:1fr}.site-footer{padding:var(--space-xl) 0}.footer-container{gap:var(--space-lg)}.footer-main{align-items:start;gap:var(--space-md);grid-template-columns:1fr}.footer-message{max-width:34rem}.footer-location{text-align:left;justify-self:start}.footer-social-actions{justify-self:start}.footer-bottom{align-items:flex-start;gap:var(--space-md);flex-direction:column}}@media (width<=768px) and (hover:none){a:hover{color:var(--color-action);text-decoration:none}.btn:hover:not(:disabled){box-shadow:none;transform:none}.btn-primary:hover:not(:disabled){background-color:var(--color-cta-lavender);border-color:var(--color-cta-lavender)}.btn-secondary:hover:not(:disabled),.btn-tertiary:hover:not(:disabled),.btn-tertiary-wide:hover:not(:disabled){border-color:var(--color-cta-lavender-ghost-border);background-color:#0000}.nav-link:hover{color:var(--color-muted)}.nav-link:hover:after{opacity:0;width:0}.nav-link.active:hover,.nav-link.active:hover:after{color:var(--color-action)}.nav-link.active:hover:after{opacity:1;width:calc(100% - 1.25rem)}.site-header.nav-open .nav-link:hover{color:var(--color-muted);background-color:#0000}.menu-toggle:hover,.icon-btn:hover{background:0 0}.icon-btn:hover,.lang-switch:hover{color:var(--color-text);text-decoration:none!important}.project-card:hover{box-shadow:none;transform:none}.project-card:hover .project-image,.overlay-icon-btn:hover{transform:none}.overlay-icon-btn.github-btn:hover,.overlay-icon-btn.demo-btn:hover,.project-card-btn:hover{color:#cdd6f4;border-color:var(--color-border);background:#181825}.tech-marquee-item:hover .tech-marquee-icon{transform:none}.tech-marquee-item:hover .tech-marquee-label,.tech-marquee-item--link:hover .tech-marquee-label{color:var(--color-muted)}.tech-marquee-item--link:hover .tech-marquee-click-hint{opacity:0;transform:scale(.85)rotate(-8deg)}.tech-marquee-item--link:hover{animation:2.8s ease-in-out infinite tech-marquee-breathe}.channel-link:hover{background:var(--color-surface-hover);border-color:var(--color-border);color:var(--color-action);transform:none}.footer-social-link:hover{border-color:var(--color-border);color:var(--color-muted);background:0 0;transform:none}}
