.nav{z-index:100;transition:background var(--duration-normal) var(--ease-out), border-color var(--duration-normal) var(--ease-out);border-bottom:1px solid #0000;position:fixed;top:0;left:0;right:0}.nav--scrolled{background:var(--color-nav-scrolled);-webkit-backdrop-filter:blur(16px);border-bottom-color:var(--color-border)}.nav__inner{justify-content:space-between;align-items:stretch;height:56px;display:flex}.nav__logo{align-items:stretch;gap:.5rem;padding-block:.5rem;text-decoration:none;display:flex}.nav__logo-mark{font-family:var(--font-display);color:var(--color-text-primary);letter-spacing:-.03em;font-size:1.25rem;font-weight:800;line-height:1}.nav__logo-img{object-fit:contain;width:auto;height:100%;display:block}[data-theme=dark] .nav__logo-img--dark{display:block}[data-theme=dark] .nav__logo-img--light,[data-theme=light] .nav__logo-img--dark{display:none}[data-theme=light] .nav__logo-img--light,.nav__logo-img--dark{display:block}.nav__logo-img--light{display:none}.nav__links{align-self:center;align-items:center;gap:.25rem;display:flex}.nav__link{cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-secondary);border-radius:var(--radius-full);transition:color var(--duration-fast), background var(--duration-fast);background:0 0;border:none;padding:.375rem .75rem;font-weight:400}.nav__link:hover{color:var(--color-text-primary);background:var(--color-nav-hover)}.nav__controls{align-self:center;align-items:center;gap:.375rem;display:flex}.nav__icon-btn,.theme-toggle{border:1px solid var(--color-border);border-radius:var(--radius-full);width:2rem;height:2rem;color:var(--color-text-secondary);cursor:pointer;transition:color var(--duration-fast), border-color var(--duration-fast), background var(--duration-fast);background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.nav__icon-btn:hover,.theme-toggle:hover{color:var(--color-text-primary);border-color:var(--color-border-hover);background:var(--color-nav-hover)}.nav__lang-toggle{border:1px solid var(--color-border);border-radius:var(--radius-full);font-family:var(--font-sans);letter-spacing:.08em;color:var(--color-text-muted);cursor:pointer;transition:border-color var(--duration-fast), color var(--duration-fast), background var(--duration-fast);background:0 0;align-items:center;gap:.2rem;padding:.25rem .625rem;font-size:.7rem;font-weight:600;display:inline-flex}.nav__lang-toggle:hover{border-color:var(--color-border-hover);background:var(--color-nav-hover)}.nav__lang--active{color:var(--color-text-primary)}.nav__lang-sep{opacity:.3}.nav__cta{font-size:var(--text-sm);color:var(--color-bg);background:var(--color-accent);border-radius:var(--radius-full);transition:opacity var(--duration-fast), transform var(--duration-fast);white-space:nowrap;margin-left:.25rem;padding:.5rem 1.125rem;font-weight:500}.nav__cta:hover{opacity:.88;transform:translateY(-1px)}.nav__burger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:.5rem;display:none}.nav__burger span{background:var(--color-text-primary);width:22px;height:2px;transition:transform var(--duration-normal) var(--ease-out), opacity var(--duration-normal);border-radius:2px;display:block}.nav__burger--open span:first-child{transform:translateY(7px)rotate(45deg)}.nav__burger--open span:nth-child(2){opacity:0}.nav__burger--open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav__drawer{border-top:1px solid var(--color-border);background:var(--color-nav-drawer);-webkit-backdrop-filter:blur(16px);flex-direction:column;gap:.25rem;padding:1rem 1.25rem 1.5rem;display:flex}.nav__drawer-controls{border-bottom:1px solid var(--color-border);align-items:center;gap:.5rem;padding:.75rem .5rem;display:flex}.nav__drawer-link{cursor:pointer;font-family:var(--font-sans);font-size:var(--text-lg);color:var(--color-text-secondary);text-align:left;border:none;border-bottom:1px solid var(--color-border);transition:color var(--duration-fast);background:0 0;padding:.75rem .5rem}.nav__drawer-link:hover{color:var(--color-text-primary)}.nav__drawer-cta{font-size:var(--text-base);color:var(--color-bg);background:var(--color-accent);border-radius:var(--radius-full);text-align:center;transition:opacity var(--duration-fast);margin-top:1rem;padding:.75rem 1.5rem;font-weight:500;display:inline-block}.nav__drawer-cta:hover{opacity:.88}@media (width<=640px){.nav__links,.nav__controls{display:none}.nav__burger{display:flex}}.hero{align-items:center;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero__container{padding-top:7rem;padding-bottom:5rem;position:relative}.hero__content{z-index:1;max-width:680px;position:relative}.hero__label{opacity:0;animation:fade-in-up .8s .1s var(--ease-out) forwards;margin-bottom:1.5rem;display:inline-block}.hero__title{opacity:0;animation:fade-in-up .8s .25s var(--ease-out) forwards;margin-bottom:1.5rem;font-size:clamp(3.5rem,9vw,7rem);font-weight:800;line-height:1}.hero__title-dim{color:var(--color-text-secondary)}.hero__subtitle{color:var(--color-text-secondary);opacity:0;max-width:620px;animation:fade-in-up .8s .4s var(--ease-out) forwards;margin-bottom:2.5rem;font-size:clamp(1rem,2.2vw,1.2rem);line-height:1.75}.hero__break{display:none}@media (width>=768px){.hero__break{display:inline}}.hero__actions{opacity:0;animation:fade-in-up .8s .55s var(--ease-out) forwards;flex-wrap:wrap;gap:.875rem;display:flex}.hero__btn{font-size:var(--text-sm);border-radius:var(--radius-full);transition:opacity var(--duration-fast), transform var(--duration-fast), background var(--duration-fast), border-color var(--duration-fast);align-items:center;padding:.75rem 1.75rem;font-weight:500;display:inline-flex}.hero__btn--primary{background:var(--color-accent);color:var(--color-bg)}.hero__btn--primary:hover{opacity:.88;transform:translateY(-2px)}.hero__btn--ghost{border:1px solid var(--color-border-hover);color:var(--color-text-secondary)}.hero__btn--ghost:hover{border-color:var(--color-accent);color:var(--color-accent);transform:translateY(-2px)}.hero__grid{aspect-ratio:1;opacity:0;width:clamp(200px,35vw,420px);animation:fade-in 1s .7s var(--ease-out) forwards;grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid;position:absolute;top:50%;right:-2rem;transform:translateY(-50%)}.hero__grid-cell{width:100%;height:100%;position:relative;container-type:inline-size}.cube{perspective:1200px;width:100%;height:100%}.cube__inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform 1.2s cubic-bezier(.4,0,.2,1);position:relative}.cube__face{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;height:100%;color:var(--color-text-muted);backface-visibility:hidden;justify-content:center;align-items:center;transition:border-color .3s,color .3s,background .3s;display:flex;position:absolute}.cube__face:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-dim,#ffffff0d)}.cube__face svg{opacity:.6;transition:opacity .3s,transform .3s}.cube__face:hover svg{opacity:1;transform:scale(1.1)}.cube__face--front{transform:rotateY(0)translateZ(50cqw)}.cube__face--back{transform:rotateY(180deg)translateZ(50cqw)}.cube__face--left{transform:rotateY(-90deg)translateZ(50cqw)}.cube__face--right{transform:rotateY(90deg)translateZ(50cqw)}.cube__face--top{transform:rotateX(90deg)translateZ(50cqw)}.cube__face--bottom{transform:rotateX(-90deg)translateZ(50cqw)}.hero__scroll{opacity:0;animation:fade-in 1s 1.2s var(--ease-out) forwards;justify-content:center;display:flex;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.hero__scroll-line{background:linear-gradient(to bottom, var(--color-text-muted), transparent);width:1px;height:3rem;animation:scroll-pulse 2s infinite var(--ease-out)}@keyframes fade-in-up{0%{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scroll-pulse{0%{opacity:.5;transform-origin:top;transform:scaleY(1)}50%{opacity:1}to{opacity:.5;transform-origin:top;transform:scaleY(1.1)}}@media (width<=900px){.hero__container{flex-direction:column;gap:4rem;padding-top:6rem;padding-bottom:6rem;display:flex}.hero__grid{width:100%;max-width:320px;margin:0 auto;position:relative;top:auto;right:auto;transform:none}}.about__grid{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(3rem,6vw,6rem);display:grid}.about__photo-col{position:relative}.about__photo-wrap{border-radius:var(--radius-xl);position:relative;overflow:visible}.about__photo{aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-xl);border:1px solid var(--color-border);filter:grayscale(15%);width:100%;transition:filter var(--duration-slow)}.about__photo:hover{filter:grayscale(0%)}.about__badge{background:var(--color-accent);color:var(--color-bg);border-radius:var(--radius-lg);flex-direction:column;align-items:center;gap:.1rem;padding:1rem 1.25rem;display:flex;position:absolute;bottom:-1.25rem;right:-1.25rem;box-shadow:0 8px 32px #0006}.about__badge-num{font-family:var(--font-display);font-size:1.75rem;font-weight:800;line-height:1}.about__badge-text{text-align:center;text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;font-weight:500;line-height:1.3}.about__text-col{flex-direction:column;gap:2rem;display:flex}.about__heading{margin-top:.75rem;font-size:clamp(2rem,3.5vw,2.75rem);line-height:1.2}.about__bio{color:var(--color-text-secondary);line-height:1.8;font-size:var(--text-base)}.about__bio+.about__bio{margin-top:1rem}.about__skills-label{margin-bottom:.875rem;display:block}.about__tags{flex-wrap:wrap;gap:.5rem;list-style:none;display:flex}.about__tag{font-size:var(--text-xs);letter-spacing:.05em;border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);background:var(--color-surface);transition:border-color var(--duration-fast), color var(--duration-fast);padding:.35rem .875rem;font-weight:500}.about__tag:hover{border-color:var(--color-accent);color:var(--color-accent)}@media (width<=768px){.about__grid{grid-template-columns:1fr;gap:3rem}.about__photo-wrap{max-width:320px;margin-inline:auto}.about__badge{bottom:-.5rem;right:-.5rem}}.references__header{margin-bottom:2rem}.references__heading{margin-top:.75rem;font-size:clamp(2rem,3.5vw,2.75rem)}.references__sub-label{font-size:var(--text-xs);letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:1.25rem;font-weight:500}.references__grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.references__grid--projects{grid-template-columns:repeat(3,1fr)}.reference-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:border-color var(--duration-normal), transform var(--duration-normal) var(--ease-out);flex-direction:column;gap:.875rem;padding:clamp(1.25rem,2.5vw,1.75rem);display:flex}.reference-card:hover{border-color:var(--color-border-hover);transform:translateY(-3px)}.reference-card__project-header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.reference-card__name{font-family:var(--font-display);font-size:var(--text-base);color:var(--color-text-primary);font-weight:700;line-height:1.3}.reference-card__desc{font-size:var(--text-sm);color:var(--color-text-secondary);flex:1;line-height:1.7}.reference-card__link{border-radius:var(--radius-full);border:1px solid var(--color-border);width:1.875rem;height:1.875rem;color:var(--color-text-muted);transition:color var(--duration-fast), border-color var(--duration-fast), transform var(--duration-fast);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.reference-card__link:hover{color:var(--color-text-primary);border-color:var(--color-border-hover);transform:scale(1.1)}.reference-card__tags{flex-wrap:wrap;gap:.375rem;margin-top:auto;list-style:none;display:flex}.reference-card__tag{letter-spacing:.04em;border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-muted);background:var(--color-surface-raised);padding:.2rem .6rem;font-size:.7rem;font-weight:500}@media (width<=900px){.references__grid,.references__grid--projects{grid-template-columns:1fr 1fr}}@media (width<=560px){.references__grid,.references__grid--projects{grid-template-columns:1fr}}.certs__header{margin-bottom:clamp(2rem,4vw,3.5rem)}.certs__heading{margin-top:.75rem;font-size:clamp(2rem,3.5vw,2.75rem)}.certs__sub-label{font-size:var(--text-xs);letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:1.25rem;font-weight:500}.certs__grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.certs__grid--degrees{grid-template-columns:repeat(2,1fr)}.cert-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:border-color var(--duration-normal), transform var(--duration-normal) var(--ease-out);flex-direction:column;display:flex;overflow:hidden}.cert-card:hover{border-color:var(--color-border-hover);transform:translateY(-3px)}.cert-card--expired{opacity:.65}.cert-card--expired:hover{opacity:.85}.cert-card__bar{flex-shrink:0;width:100%;height:3px}.cert-card__body{flex-direction:column;flex:1;gap:.625rem;padding:clamp(1.25rem,2.5vw,1.75rem);display:flex}.cert-card__name{font-family:var(--font-display);font-size:var(--text-base);color:var(--color-text-primary);font-weight:700;line-height:1.3}.cert-card__issuer{font-size:var(--text-xs);color:var(--color-text-secondary);letter-spacing:.03em;font-weight:500}.cert-card__desc{font-size:var(--text-sm);color:var(--color-text-secondary);flex:1;line-height:1.7}.cert-card__meta{border-top:1px solid var(--color-border);font-size:var(--text-xs);color:var(--color-text-muted);flex-direction:column;gap:.25rem;margin-top:auto;padding-top:.875rem;display:flex}.cert-card__id{opacity:.75;font-family:monospace;font-size:.7rem}.cert-card--degree .cert-card__bar--degree{background:linear-gradient(90deg, var(--color-accent), var(--color-border-hover))}.cert-card__degree-year{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.25rem;font-weight:600}.cert-card__institution{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:.25rem;font-weight:500}.cert-card__location{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:.125rem}@media (width<=900px){.certs__grid,.certs__grid--degrees{grid-template-columns:1fr 1fr}}@media (width<=560px){.certs__grid,.certs__grid--degrees{grid-template-columns:1fr}}.contact__inner{grid-template-columns:1fr;align-items:start;gap:clamp(3rem,6vw,6rem);max-width:600px;margin:0 auto;display:grid}.contact__heading{margin-top:.75rem;margin-bottom:1.25rem;font-size:clamp(2rem,3.5vw,2.75rem)}.contact__sub{color:var(--color-text-secondary);line-height:1.8;font-size:var(--text-base);margin-bottom:2rem}.contact__direct{border-top:1px solid var(--color-border);padding-top:1.5rem}.contact__email{font-size:var(--text-lg);color:var(--color-accent);text-underline-offset:4px;transition:text-decoration-color var(--duration-fast);font-weight:500;text-decoration:underline #0000}.contact__email:hover{text-decoration-color:var(--color-accent)}.contact__form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);flex-direction:column;gap:1.25rem;padding:clamp(1.5rem,3vw,2.25rem);display:flex}.contact__row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.contact__field{flex-direction:column;gap:.375rem;display:flex}.contact__label{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary);font-weight:500}.contact__input{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-primary);transition:border-color var(--duration-fast), box-shadow var(--duration-fast);outline:none;width:100%;padding:.625rem .875rem}.contact__input::placeholder{color:var(--color-text-muted)}.contact__input:focus{border-color:var(--color-border-hover);box-shadow:0 0 0 3px #e8e0d00f}.contact__textarea{resize:vertical;min-height:120px}.contact__submit{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-bg);background:var(--color-accent);border-radius:var(--radius-full);cursor:pointer;transition:opacity var(--duration-fast), transform var(--duration-fast);border:none;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem 1.5rem;font-weight:500;display:inline-flex}.contact__submit:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.contact__submit:disabled{opacity:.6;cursor:not-allowed}.contact__spinner{border:2px solid #0a0a0a4d;border-top-color:var(--color-bg);border-radius:50%;width:1rem;height:1rem;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.contact__success{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:3rem 2rem;display:flex}.contact__success-icon{background:var(--color-accent-dim);width:3rem;height:3rem;color:var(--color-accent);border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;font-weight:600;display:flex}.contact__success-msg{color:var(--color-text-secondary);font-size:var(--text-base)}.contact__error{font-size:var(--text-xs);color:#f87171;text-align:center}@media (width<=768px){.contact__inner,.contact__row{grid-template-columns:1fr}}.footer{border-top:1px solid var(--color-border);margin-top:2rem;padding-block:2.5rem}.footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.footer__brand{flex-direction:column;gap:.25rem;display:flex}.footer__logo-img{object-fit:contain;width:auto;height:36px;display:block}[data-theme=dark] .footer__logo-img--dark{display:block}[data-theme=dark] .footer__logo-img--light,[data-theme=light] .footer__logo-img--dark{display:none}[data-theme=light] .footer__logo-img--light,.footer__logo-img--dark{display:block}.footer__logo-img--light{display:none}.footer__tagline{font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:.05em}.footer__nav{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.footer__link{font-size:var(--text-sm);color:var(--color-text-muted);border-radius:var(--radius-full);transition:color var(--duration-fast), background var(--duration-fast);padding:.25rem .625rem}.footer__link:hover{color:var(--color-text-primary);background:#ffffff0d}.footer__copy{font-size:var(--text-xs);color:var(--color-text-muted)}@media (width<=640px){.footer__inner{flex-direction:column;align-items:flex-start;gap:1.25rem}}
