.section-canvas{position:relative}.section-canvas>*{animation:reveal-section-forward var(--duration-medium) var(--easing-out) backwards}.section-canvas[data-direction=backward]>*{animation-name:reveal-section-backward}@keyframes reveal-section-forward{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes reveal-section-backward{0%{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0)}}.section-canvas:after{content:"";background:var(--color-primary-blue-glow);width:2px;box-shadow:var(--glow-primary-strong);pointer-events:none;animation:travel-line-forward var(--duration-medium) var(--easing-out) backwards;position:absolute;inset:0 auto 0 0}.section-canvas[data-direction=backward]:after{animation-name:travel-line-backward}@keyframes travel-line-forward{0%{left:0}to{left:100%}}@keyframes travel-line-backward{0%{left:100%}to{left:0}}@keyframes stagger-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}*{box-sizing:border-box}body{background:var(--color-dark-bg);color:var(--color-text-primary);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;margin:0;font-family:system-ui,Segoe UI,Roboto,sans-serif}.app-shell{grid-template-rows:auto 1fr;height:100dvh;display:grid}.app-shell__body{min-height:0;overflow-y:auto}:focus-visible{outline:2px solid var(--color-primary-blue);outline-offset:2px}.tech-chip{border:1px solid var(--color-border-subtle);background:var(--color-card-bg);color:var(--color-text-secondary);font-size:var(--font-size-subtitle);font-weight:var(--font-weight-subtitle);border-radius:999px;padding:6px 12px}.tech-chip--filter{font:inherit;min-height:var(--tap-min);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast)}@media (hover:hover){.tech-chip--filter:hover{border-color:var(--color-primary-blue);color:var(--color-text-primary)}}.tech-chip--active{border-color:var(--color-primary-blue);color:var(--color-text-active);box-shadow:var(--glow-primary)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}:root{--color-primary-blue:#2563eb;--color-primary-blue-glow:#3b82f6;--color-accent-blue:#60a5fa;--color-dark-bg:#0a0d14;--color-card-bg:#0f141b;--color-card-bg-hover:#141a24;--color-text-primary:#f3f4f6;--color-text-secondary:#9ca3af;--color-text-active:#fff;--color-border-subtle:#1f2937;--color-success-green:#22c55e;--color-pong-neon:#f0f;--color-pong-neon-glow:#bf00bf;--color-pong-paddle:#ffff80;--color-pong-paddle-glow:#bfbf40;--color-pong-table:#24004d;--color-zappy-food:#b32727;--color-zappy-food-leaf:#36772a;--color-zappy-food-stem:#5f3d23;--color-zappy-linemate:#59cb95;--color-zappy-deraumere:#e75959;--color-zappy-sibur:#fff;--color-zappy-mendiane:#cb9559;--color-zappy-phiras:#597cf3;--color-zappy-thystame:#fff;--color-smd-current-state:#ffa726;--color-smd-current-symbol:#4d9fff;--color-smd-symbol-anchor:#8fa8c4;--color-smd-state-error:#ff4757;--color-smd-state-error-fill:#3a1418;--color-smd-state-accepting:#8fa3c7;--color-smd-token-number:#0ff;--color-smd-token-operator:#f80;--glow-primary:0 0 12px #2563eb33;--glow-primary-strong:0 0 18px #2563eb59;--glow-icon:drop-shadow(0 0 4px #2563eb99);--glow-icon-strong:drop-shadow(0 0 8px #2563ebe6);--radius-card:10px;--space-card-x:12px;--space-card-y:10px;--space-stack:8px;--size-icon:24px;--width-item:240px;--height-item:56px;--width-indicator:3px;--width-label-column:200px;--font-size-title:16px;--font-size-subtitle:12px;--font-weight-title:700;--font-weight-subtitle:500;--letter-spacing-title:.04em;--duration-fast:.16s;--duration-medium:.3s;--easing-out:cubic-bezier(.22, 1, .36, 1);--stagger-step:40ms;--transition-fast:var(--duration-fast) ease;--width-icon-rail:72px;--tap-min:44px;--space-inline:8px;--space-hairline:4px;--font-size-display:clamp(1.75rem, 1.2rem + 2.2vw, 2.25rem);--font-size-heading:clamp(1.35rem, 1.05rem + 1.2vw, 1.75rem)}@media (width>=768px){:root{--width-item:260px;--height-item:60px;--space-card-x:14px;--space-card-y:11px}}@media (width>=1280px){:root{--width-item:280px;--height-item:64px;--space-card-x:16px;--space-card-y:12px}}.portfolio-header{justify-content:space-between;align-items:center;gap:var(--space-card-x);padding:var(--space-card-y) calc(var(--space-card-x) * 1.5);border-bottom:1px solid var(--color-border-subtle);background:var(--color-dark-bg);display:flex}.logo-name{font-size:var(--font-size-title);font-weight:var(--font-weight-title);letter-spacing:var(--letter-spacing-title);color:var(--color-text-primary)}.nav-links-menu{gap:calc(var(--space-card-x) * 1.5);display:flex}.nav-link{color:var(--color-text-secondary);font-size:var(--font-size-subtitle);font-weight:var(--font-weight-subtitle);letter-spacing:var(--letter-spacing-title);text-transform:uppercase;transition:color var(--transition-fast), border-color var(--transition-fast);border-bottom:2px solid #0000;padding-bottom:4px;text-decoration:none}@media (hover:hover){.nav-link:hover{color:var(--color-text-primary)}}.nav-link--active{color:var(--color-accent-blue);border-bottom-color:var(--color-primary-blue)}.language-switcher{gap:4px;display:flex}.language-button{min-width:var(--tap-min);min-height:var(--tap-min);border:1px solid var(--color-border-subtle);color:var(--color-text-secondary);font-size:var(--font-size-subtitle);font-weight:var(--font-weight-subtitle);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:4px 8px;display:inline-flex}@media (hover:hover){.language-button:hover{color:var(--color-text-primary);background:var(--color-card-bg-hover)}}.language-button.active{color:var(--color-text-active);border-color:var(--color-primary-blue);background:var(--color-card-bg);box-shadow:var(--glow-primary)}.portfolio-header--compact{flex-direction:column;align-items:stretch}.compact-row{justify-content:space-between;align-items:center;display:flex}.hamburger-button{width:var(--tap-min);height:var(--tap-min);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);cursor:pointer;transition:border-color var(--transition-fast);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}@media (hover:hover){.hamburger-button:hover{border-color:var(--color-primary-blue)}}.hamburger-button__line{background:var(--color-text-primary);width:18px;height:2px}.compact-nav-panel{gap:var(--space-card-x);padding-top:var(--space-card-x);flex-direction:column;display:flex}.nav-links-menu--compact{gap:var(--space-card-y);flex-direction:column}.icon-labeled-item{font:inherit;text-align:left;cursor:pointer;width:100%;max-width:var(--width-item);min-height:var(--height-item);padding:var(--space-card-y) var(--space-card-x);background:var(--color-card-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);color:var(--color-text-secondary);transition:background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);align-items:center;gap:12px;margin:0;display:flex;position:relative}@media (hover:hover){.icon-labeled-item:hover{background:var(--color-card-bg-hover);box-shadow:var(--glow-primary)}.icon-labeled-item:hover .icon-labeled-item__icon{color:var(--color-primary-blue);filter:var(--glow-icon-strong)}}.icon-labeled-item:focus-visible{border-color:var(--color-primary-blue);box-shadow:var(--glow-primary-strong);outline:none}.icon-labeled-item--active{border-color:var(--color-primary-blue);box-shadow:var(--glow-primary-strong)}.icon-labeled-item--active .icon-labeled-item__indicator{transform:scaleY(1)}.icon-labeled-item--active .icon-labeled-item__title{color:var(--color-text-active)}.icon-labeled-item--active .icon-labeled-item__subtitle{color:var(--color-accent-blue)}.icon-labeled-item--active .icon-labeled-item__caption{color:var(--color-text-active)}.icon-labeled-item__indicator{width:var(--width-indicator);background:var(--color-primary-blue);transform-origin:50%;transition:transform var(--transition-fast);border-radius:0 4px 4px 0;position:absolute;top:10px;bottom:10px;left:0;transform:scaleY(0)}.icon-labeled-item__icon{width:var(--size-icon);height:var(--size-icon);color:var(--color-accent-blue);filter:var(--glow-icon);transition:color var(--transition-fast), filter var(--transition-fast);flex:none}.icon-labeled-item--active .icon-labeled-item__icon{color:var(--color-primary-blue);filter:var(--glow-icon-strong)}.icon-labeled-item--icon-only{width:calc(var(--width-icon-rail) - 2 * var(--space-hairline));max-width:calc(var(--width-icon-rail) - 2 * var(--space-hairline));min-height:var(--width-icon-rail);padding:var(--space-card-y) var(--space-hairline);flex-direction:column;justify-content:center;gap:0}.icon-labeled-item--has-caption{gap:var(--space-hairline)}.icon-labeled-item__caption{max-width:100%;font-size:var(--font-size-subtitle);font-weight:var(--font-weight-subtitle);letter-spacing:0;text-transform:uppercase;color:var(--color-text-secondary);transition:color var(--transition-fast);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.icon-labeled-item__text{flex-direction:column;gap:2px;min-width:0;display:flex}.icon-labeled-item__title{font-size:var(--font-size-title);font-weight:var(--font-weight-title);letter-spacing:var(--letter-spacing-title);text-transform:uppercase;color:var(--color-text-primary);transition:color var(--transition-fast);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.icon-labeled-item__subtitle{font-size:var(--font-size-subtitle);font-weight:var(--font-weight-subtitle);color:var(--color-text-secondary);transition:color var(--transition-fast);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.search-field{align-items:center;display:flex;position:relative}.search-field__icon{left:var(--space-card-x);width:var(--size-icon);height:var(--size-icon);color:var(--color-text-secondary);pointer-events:none;position:absolute}.search-field__input{width:100%;min-height:var(--tap-min);padding:var(--space-card-y) var(--space-card-x) var(--space-card-y) calc(var(--space-card-x) * 2 + var(--size-icon));font:inherit;font-size:var(--font-size-subtitle);color:var(--color-text-primary);background:var(--color-card-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.search-field__input::placeholder{color:var(--color-text-secondary)}.search-field__input:focus-visible{border-color:var(--color-primary-blue);box-shadow:var(--glow-primary);outline:none}.search-field__input::-webkit-search-cancel-button{appearance:none}.collapsible{border-bottom:1px solid var(--color-border-subtle)}.collapsible__header{width:100%;min-height:var(--tap-min);padding:var(--space-card-y) 0;font:inherit;font-size:var(--font-size-subtitle);font-weight:var(--font-weight-title);color:var(--color-text-primary);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}@media (hover:hover){.collapsible__header:hover{color:var(--color-primary-blue)}}.collapsible__header:focus-visible{color:var(--color-primary-blue);outline:none}.collapsible__chevron{width:var(--size-icon);height:var(--size-icon);color:var(--color-text-secondary);transition:transform var(--transition-fast);flex:none}.collapsible--open .collapsible__chevron{transform:rotate(180deg)}.collapsible__content{gap:var(--space-hairline);padding-bottom:var(--space-card-y);flex-direction:column;display:flex}.filter-checkbox{align-items:center;gap:var(--space-inline);min-height:var(--tap-min);border-radius:var(--radius-card);cursor:pointer;transition:background-color var(--transition-fast);padding:0 4px;display:flex}@media (hover:hover){.filter-checkbox:hover{background:var(--color-card-bg-hover)}}.filter-checkbox input[type=checkbox]{width:var(--size-icon);height:var(--size-icon);accent-color:var(--color-primary-blue);cursor:pointer;flex:none}.filter-checkbox input[type=checkbox]:focus-visible{outline:2px solid var(--color-primary-blue);outline-offset:2px}.filter-checkbox__label{font-size:var(--font-size-subtitle);font-weight:var(--font-weight-subtitle);color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.filter-checkbox__count{font-size:var(--font-size-subtitle);color:var(--color-text-secondary);flex:none}.filter-panel{gap:var(--space-card-y);padding:0 16px var(--space-card-x);flex-direction:column;display:flex}.filter-panel__header{margin-top:var(--space-hairline);justify-content:space-between;align-items:baseline;display:flex}.filter-panel__title{font-size:var(--font-size-subtitle);font-weight:var(--font-weight-title);letter-spacing:var(--letter-spacing-title);text-transform:uppercase;color:var(--color-text-primary)}.filter-panel__clear{font:inherit;font-size:var(--font-size-subtitle);color:var(--color-primary-blue);cursor:pointer;background:0 0;border:none;padding:4px}@media (hover:hover){.filter-panel__clear:hover{color:var(--color-accent-blue)}}.filter-panel__clear:focus-visible{color:var(--color-accent-blue);outline:none}.social-links{gap:var(--space-stack);padding:0 16px;display:flex}.social-links__link{width:var(--size-icon);height:var(--size-icon);min-width:var(--tap-min);min-height:var(--tap-min);color:var(--color-text-secondary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);transition:color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);justify-content:center;align-items:center;padding:8px;display:flex}@media (hover:hover){.social-links__link:hover{color:var(--color-primary-blue);border-color:var(--color-primary-blue);box-shadow:var(--glow-primary)}}.portfolio-sidebar-layout{width:calc(var(--width-item) + 32px);padding:var(--space-card-x) 0;border-right:1px solid var(--color-border-subtle);background:var(--color-dark-bg);flex-direction:column;flex:none;display:flex}.sidebar-header{margin:0 16px var(--space-card-y);justify-content:space-between;align-items:center;display:flex}.section-title{font-size:var(--font-size-subtitle);font-weight:var(--font-weight-title);letter-spacing:var(--letter-spacing-title);text-transform:uppercase;color:var(--color-accent-blue);margin:0}.filter-button{min-height:var(--tap-min);aspect-ratio:1;background:var(--color-card-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);flex:none;justify-content:center;align-items:center;padding:6px;display:flex}.filter-button svg{width:var(--size-icon);height:var(--size-icon)}@media (hover:hover){.filter-button:hover{color:var(--color-primary-blue);border-color:var(--color-primary-blue)}}.filter-button:focus-visible{border-color:var(--color-primary-blue);box-shadow:var(--glow-primary);outline:none}.filter-button--active{color:var(--color-primary-blue);border-color:var(--color-primary-blue);box-shadow:var(--glow-primary)}.sidebar-no-results{margin:var(--space-card-x) 16px;padding:var(--space-card-x);font-size:var(--font-size-subtitle);color:var(--color-text-secondary);text-align:center;background:var(--color-card-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card)}.touch-scroll-list{flex:1;overflow-y:auto}.touch-scroll-list li{list-style:none}.sidebar-footer-block{margin-top:var(--space-card-x)}.project-list{gap:var(--space-stack);background:var(--color-dark-bg);border-radius:var(--radius-card);flex-direction:column;margin:0;padding:16px;list-style:none;display:flex}.sidebar-rail{width:var(--width-icon-rail);padding:var(--space-card-x) 0;border-right:1px solid var(--color-border-subtle);background:var(--color-dark-bg);flex-direction:column;flex:none;align-items:center;display:flex;position:relative}.sidebar-rail__filter-button{width:calc(var(--width-icon-rail) - 2 * var(--space-hairline));aspect-ratio:1;margin-bottom:var(--space-hairline);background:var(--color-card-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);flex:none;justify-content:center;align-items:center;display:flex}.sidebar-rail__filter-button svg{width:var(--size-icon);height:var(--size-icon)}@media (hover:hover){.sidebar-rail__filter-button:hover{color:var(--color-primary-blue);border-color:var(--color-primary-blue)}}.sidebar-rail__filter-button:focus-visible{border-color:var(--color-primary-blue);box-shadow:var(--glow-primary);outline:none}.sidebar-rail__filter-button--active{color:var(--color-primary-blue);border-color:var(--color-primary-blue);box-shadow:var(--glow-primary)}.sidebar-rail__filter-popover{top:var(--space-card-x);left:calc(100% + var(--space-hairline));z-index:3;width:var(--width-item);padding-top:var(--space-card-y);background:var(--color-card-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);box-shadow:var(--glow-primary);position:absolute}.sidebar-rail-no-results{margin:0 var(--space-hairline);padding:var(--space-hairline);font-size:var(--font-size-subtitle);color:var(--color-text-secondary);text-align:center}.sidebar-rail-project-list{padding:0 var(--space-hairline);align-items:center;gap:var(--space-hairline);flex-direction:column;flex:1;margin:0;list-style:none;display:flex;overflow-y:auto}.sidebar-rail-project-list li{list-style:none}.sidebar-rail-footer-block{margin-top:var(--space-card-x)}.sidebar-rail-footer-block .social-links{flex-direction:column;padding:0}.project-detail-panel{z-index:2;max-width:340px;padding:var(--space-card-x);pointer-events:none;flex-direction:column;gap:8px;display:flex;position:relative}.project-detail-panel *{pointer-events:auto}.project-detail-label{font-size:var(--font-size-subtitle);font-weight:var(--font-weight-title);letter-spacing:var(--letter-spacing-title);text-transform:uppercase;color:var(--color-primary-blue)}.project-detail-title{font-size:var(--font-size-display);font-weight:var(--font-weight-title);letter-spacing:var(--letter-spacing-title);color:var(--color-text-primary);text-transform:uppercase;margin:0;line-height:1.05}.project-detail-text{color:var(--color-text-secondary);font-size:var(--font-size-title);margin:0;line-height:1.5}.project-detail-actions{align-self:flex-start;align-items:center;gap:var(--space-card-x);flex-wrap:wrap;margin-top:4px;display:flex}.project-detail-action-button{padding:var(--space-card-y) var(--space-card-x);border:1px solid var(--color-primary-blue);border-radius:var(--radius-card);color:var(--color-text-active);font-size:var(--font-size-subtitle);font-weight:var(--font-weight-title);letter-spacing:var(--letter-spacing-title);text-transform:uppercase;cursor:pointer;transition:background var(--transition-fast), box-shadow var(--transition-fast), color var(--transition-fast);background:0 0}.project-detail-action-button--secondary{color:var(--color-text-secondary);border-color:#0000}@media (hover:hover){.project-detail-action-button:hover{background:var(--color-card-bg-hover);box-shadow:var(--glow-primary)}.project-detail-action-button--secondary:hover{box-shadow:none;color:var(--color-text-active);background:0 0}}.project-detail-panel--detail{max-width:380px;max-height:calc(100% - var(--space-card-x) * 2);overflow-y:auto}.project-detail-text--long{font-size:var(--font-size-subtitle)}@media (width<=767px){.project-detail-panel{z-index:2;background:linear-gradient(to top, var(--color-dark-bg) 60%, transparent);max-width:none;max-height:45%;position:absolute;bottom:0;left:0;right:0;overflow-y:auto}.project-detail-panel--detail{max-width:none;max-height:calc(100% - var(--space-card-x) * 2)}}.viewer-container-2d{position:relative}.static-preview-image,.pending-preview-image{object-fit:contain;width:100%;height:100%}.pending-preview-image{background:var(--color-card-bg);border-radius:var(--radius-card)}.power-save-badge{bottom:var(--space-card-x);right:var(--space-card-x);background:var(--color-card-bg);border:1px solid var(--color-border-subtle);color:var(--color-text-secondary);font-size:var(--font-size-subtitle);border-radius:999px;padding:6px 12px;position:absolute}.viewer-container{flex:1;min-width:0;min-height:480px;position:relative}.viewer-container canvas,.viewer-container .viewer-container-2d{width:100%;height:100%;display:block}.viewer-loading{height:100%;color:var(--color-text-secondary);justify-content:center;align-items:center;display:flex}.tech-stack-panel{width:220px;padding:var(--space-card-x);flex:none}.tech-stack-title{margin:0 0 var(--space-card-y);font-size:var(--font-size-subtitle);font-weight:var(--font-weight-title);letter-spacing:var(--letter-spacing-title);text-transform:uppercase;color:var(--color-accent-blue)}.tech-chips-list{flex-wrap:wrap;gap:8px;display:flex}.tech-stack-collapsible{position:relative}.tech-stack-collapsible__button{min-height:var(--tap-min);border-radius:var(--radius-card);border:1px solid var(--color-border-subtle);background:var(--color-card-bg);color:var(--color-text-secondary);font-size:var(--font-size-subtitle);font-weight:var(--font-weight-title);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);padding:6px 12px}@media (hover:hover){.tech-stack-collapsible__button:hover{color:var(--color-primary-blue);border-color:var(--color-primary-blue)}}.tech-stack-collapsible[aria-expanded=true] .tech-stack-collapsible__button,.tech-stack-collapsible__button[aria-expanded=true]{color:var(--color-primary-blue);border-color:var(--color-primary-blue)}.tech-stack-collapsible__panel{top:calc(100% + var(--space-hairline));z-index:3;width:max-content;max-width:240px;padding:var(--space-card-x);background:var(--color-card-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);box-shadow:var(--glow-primary);position:absolute;right:0}.section-projects{height:100%;display:flex;overflow:hidden}.projects-content{flex:1;min-width:0;display:flex;position:relative}.viewer-controls-row{top:var(--space-card-x);right:var(--space-card-x);z-index:3;align-items:flex-start;gap:var(--space-card-y);display:flex;position:absolute}.visual-mode-button{min-height:var(--tap-min);border-radius:var(--radius-card);border:1px solid var(--color-primary-blue);color:var(--color-text-active);font-size:var(--font-size-subtitle);font-weight:var(--font-weight-title);letter-spacing:var(--letter-spacing-title);text-transform:uppercase;cursor:pointer;transition:background var(--transition-fast), box-shadow var(--transition-fast);background:0 0;flex:none;padding:6px 12px}@media (hover:hover){.visual-mode-button:hover{background:var(--color-card-bg-hover);box-shadow:var(--glow-primary)}}.projects-content .viewer-container{width:100%}@media (width>=768px){.projects-content .project-detail-panel{top:var(--space-card-x);left:var(--space-card-x);position:absolute}}.profile-section{padding:calc(var(--space-card-x) * 2);justify-content:center;display:flex}.profile-card{width:100%;max-width:720px;padding:calc(var(--space-card-x) * 1.5);background:var(--color-card-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card)}.profile-section-title{margin:0 0 var(--space-card-x);font-size:var(--font-size-subtitle);font-weight:var(--font-weight-title);letter-spacing:var(--letter-spacing-title);text-transform:uppercase;color:var(--color-primary-blue)}.profile-greeting{margin:0 0 var(--space-card-x);font-size:var(--font-size-heading);font-weight:var(--font-weight-title);color:var(--color-text-active);flex-direction:column;gap:4px;display:flex}.profile-role{font-size:var(--font-size-title);font-weight:var(--font-weight-subtitle);color:var(--color-text-secondary)}.profile-paragraph{margin:0 0 var(--space-card-y);color:var(--color-text-secondary);animation:stagger-in var(--duration-medium) var(--easing-out) calc(.12s + var(--i) * var(--stagger-step)) backwards;line-height:1.6}.profile-tech-focus{margin-top:var(--space-card-x);flex-wrap:wrap;gap:8px;display:flex}.expertise-section{padding:calc(var(--space-card-x) * 2);max-width:1100px;margin:0 auto}.expertise-section-title{margin:0 0 calc(var(--space-card-x) * 1.5);font-size:var(--font-size-heading);font-weight:var(--font-weight-title);letter-spacing:var(--letter-spacing-title);text-transform:uppercase;color:var(--color-text-active)}.expertise-grid{gap:var(--space-card-x);grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));display:grid}.expertise-card{padding:var(--space-card-x);background:var(--color-card-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);animation:stagger-in var(--duration-medium) var(--easing-out) calc(.12s + var(--i) * var(--stagger-step)) backwards}.expertise-card-title{margin:0 0 var(--space-card-y);font-size:var(--font-size-title);color:var(--color-accent-blue)}.expertise-card-items{flex-wrap:wrap;gap:8px;display:flex}.roles-section{padding:calc(var(--space-card-x) * 2);max-width:900px;margin:0 auto}.roles-section-title{margin:0 0 calc(var(--space-card-x) * 1.5);font-size:var(--font-size-heading);font-weight:var(--font-weight-title);letter-spacing:var(--letter-spacing-title);text-transform:uppercase;color:var(--color-text-active)}.roles-list{gap:var(--space-card-x);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.role-card{padding:var(--space-card-x);background:var(--color-card-bg);border:1px solid var(--color-border-subtle);border-radius:var(--radius-card);animation:stagger-in var(--duration-medium) var(--easing-out) calc(.12s + var(--i) * var(--stagger-step)) backwards}.role-title{margin:0 0 var(--space-card-y);font-size:var(--font-size-title);color:var(--color-accent-blue)}.role-responsibilities{margin:0 0 var(--space-card-y);color:var(--color-text-secondary);font-size:var(--font-size-subtitle);flex-direction:column;gap:4px;padding-left:18px;line-height:1.5;display:flex}.role-technologies{flex-wrap:wrap;gap:8px;display:flex}
