:root{--bg:#08080b;--bg-elevated:#0e0e13;--surface:#131318;--surface-hover:#191920;--surface-solid:#16161c;--border:#ffffff14;--border-strong:#ffffff29;--text-primary:#f4f4f6;--text-secondary:#a6a6b3;--text-muted:#6f6f7d;--accent:#61dafb;--accent-strong:#9beeff;--accent-soft:#61dafb1f;--accent-soft-strong:#61dafb38;--accent-ink:#062430;--success:#34d399;--nav-scroll-bg:#08080bc7;--scrim:#08080b8c;--font-display:"Outfit", "Segoe UI", sans-serif;--font-body:"Plus Jakarta Sans", "Segoe UI", sans-serif;--container:1240px;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-pill:999px;--shadow-sm:0 1px 2px #01040980, 0 1px 1px #0000004d;--shadow-md:0 2px 6px #01040959, 0 18px 36px -14px #010409a6;--shadow-lg:0 6px 16px #01040966, 0 40px 80px -24px #010409b3;--shadow-accent:0 20px 45px -18px #61dafb66;--shadow-accent-lg:0 25px 50px -18px #61dafb8c;--ease:cubic-bezier(.16, 1, .3, 1)}:root[data-theme=light]{--bg:#f6f7f9;--bg-elevated:#fff;--surface:#fff;--surface-hover:#eef0f4;--surface-solid:#eef0f4;--border:#0f0f1914;--border-strong:#0f0f1926;--text-primary:#131317;--text-secondary:#52525f;--text-muted:#85858f;--accent:#087ea4;--accent-strong:#0b5b73;--accent-soft:#087ea41a;--accent-soft-strong:#087ea42e;--accent-ink:#fff;--success:#059669;--nav-scroll-bg:#f6f7f9d1;--scrim:#14181e73;--shadow-sm:0 1px 2px #14181e0d, 0 1px 1px #14181e0a;--shadow-md:0 2px 6px #14181e0d, 0 20px 38px -16px #14181e29;--shadow-lg:0 6px 14px #14181e0f, 0 42px 80px -24px #14181e33;--shadow-accent:0 18px 40px -18px #087ea459;--shadow-accent-lg:0 22px 45px -18px #087ea473}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}body{font-family:var(--font-body);background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.65;position:relative}body:before{content:"";pointer-events:none;z-index:0;opacity:.5;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/></svg>");position:fixed;inset:0}.fluid-bg{z-index:0;pointer-events:none;background:radial-gradient(circle at 12% -8%, var(--accent-soft-strong), transparent 55%), radial-gradient(circle at 92% 92%, var(--accent-soft), transparent 50%);animation:pulse 8s var(--ease) infinite;position:fixed;inset:0;overflow:hidden}.fluid-bg canvas{mix-blend-mode:screen;opacity:.65;width:100%;height:100%;display:block}:root[data-theme=light] .fluid-bg canvas{mix-blend-mode:multiply;opacity:.3}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font-family:inherit}ul{margin:0;padding:0;list-style:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:700;line-height:1.15}p{margin:0}::selection{background:var(--accent-soft-strong);color:var(--text-primary)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-pill)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.container{width:100%;max-width:var(--container);z-index:1;margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem);position:relative}.section{padding:clamp(4.5rem,9vw,8rem) 0 clamp(5.5rem,10vw,9rem);position:relative}.section--alt{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:linear-gradient(#0000,#ffffff04 12% 88%,#0000)}.section__header{max-width:640px;margin-bottom:clamp(2.5rem,5vw,4rem)}.section__header--center{text-align:center;margin-left:auto;margin-right:auto}.eyebrow{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-strong);align-items:center;gap:.5rem;margin-bottom:.9rem;font-size:.78rem;font-weight:600;display:inline-flex}.eyebrow:before{content:"";background:var(--accent);width:20px;height:1px}.section__title{margin-bottom:.9rem;font-size:clamp(1.9rem,3.4vw,2.6rem)}.section__subtitle{color:var(--text-secondary);max-width:56ch;font-size:1.05rem}.section__header--center .section__subtitle{margin-left:auto;margin-right:auto}.skip-link{background:var(--accent);color:var(--accent-ink);border-radius:var(--radius-sm);z-index:2000;transition:top .25s var(--ease);padding:.75rem 1.25rem;font-weight:600;position:fixed;top:-100px;left:1rem}.skip-link:focus{top:1rem}.scroll-progress{background:linear-gradient(90deg, var(--accent), var(--accent-strong));transform-origin:0;z-index:2500;will-change:transform;width:100%;height:3px;position:fixed;top:0;left:0;transform:scaleX(0)}[data-parallax]{will-change:transform}[data-reveal]{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transition-delay:var(--reveal-delay,0s);will-change:opacity, transform;transform:translateY(28px)}[data-reveal].is-visible{opacity:1;transform:none}[data-reveal=scale]{transform:perspective(1000px)rotateX(-10deg)translateY(24px)scale(.94)}[data-reveal=scale].is-visible{transform:none}.btn{border-radius:var(--radius-pill);cursor:pointer;transition:transform .25s var(--ease), box-shadow .25s var(--ease), background-color .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.55rem;padding:.85rem 1.6rem;font-size:.95rem;font-weight:600;display:inline-flex}.btn:active{transform:scale(.97)}.btn--primary{background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-accent)}.btn--primary:hover{background:var(--accent-strong);box-shadow:var(--shadow-accent-lg);transform:translateY(-2px)}.btn--ghost{background:var(--surface);color:var(--text-primary);border-color:var(--border-strong)}.btn--ghost:hover{background:var(--surface-hover);border-color:var(--accent);transform:translateY(-2px)}.btn--block{width:100%}.btn--lg{padding:1rem 1.8rem;font-size:1rem}.badge{border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--border);color:var(--text-secondary);align-items:center;gap:.4rem;padding:.45rem .9rem;font-size:.8rem;font-weight:600;display:inline-flex}.badge--dot:before{content:"";background:var(--success);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #34d3992e}.chip{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-strong);border:1px solid var(--accent-soft-strong);align-items:center;padding:.4rem .85rem;font-size:.78rem;font-weight:600;display:inline-flex}.glass{border:1px solid var(--border);-webkit-backdrop-filter:blur(18px);box-shadow:inset 0 1px 0 #ffffff0f, var(--shadow-md);background:linear-gradient(#ffffff0d,#ffffff04)}.loader-container{background:var(--bg);z-index:3000;flex-direction:column;justify-content:center;align-items:center;gap:1.1rem;display:flex;position:fixed;inset:0}.loader{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:46px;height:46px;animation:.9s linear infinite spin}.loader-mark{font-family:var(--font-display);letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase;font-size:.8rem;font-weight:700}@keyframes spin{to{transform:rotate(360deg)}}.nav{z-index:1000;transition:padding .3s var(--ease), background-color .3s var(--ease), border-color .3s var(--ease);border-bottom:1px solid #0000;padding:1.6rem 0;position:sticky;top:0}.nav--scrolled{background:var(--nav-scroll-bg);-webkit-backdrop-filter:blur(16px);border-bottom-color:var(--border);box-shadow:var(--shadow-sm);padding:1.1rem 0}.nav__inner{justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.nav__brand{font-family:var(--font-display);align-items:center;gap:.6rem;font-size:1.2rem;font-weight:700;display:inline-flex}.nav__links{align-items:center;gap:2.1rem;display:flex}.nav__link{color:var(--text-secondary);transition:color .2s var(--ease);padding:.3rem 0;font-size:.92rem;font-weight:500;position:relative}.nav__link:hover{color:var(--text-primary)}.nav__link:after{content:"";background:var(--accent);width:0;height:2px;transition:width .25s var(--ease);position:absolute;bottom:-2px;left:0}.nav__link:hover:after{width:100%}.nav__actions{align-items:center;gap:1rem;display:flex}.nav__cta{display:inline-flex}.nav__toggle{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;display:none}.nav__toggle-line{background:var(--text-primary);width:18px;height:2px;transition:transform .3s var(--ease), opacity .3s var(--ease);margin:0 auto}.nav__toggle[aria-expanded=true] .nav__toggle-line:first-child{transform:translateY(7px)rotate(45deg)}.nav__toggle[aria-expanded=true] .nav__toggle-line:nth-child(2){opacity:0}.nav__toggle[aria-expanded=true] .nav__toggle-line:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.theme-toggle{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;transition:all .25s var(--ease);justify-content:center;align-items:center;font-size:.95rem;display:inline-flex}.theme-toggle:hover{color:var(--accent-strong);border-color:var(--accent);transform:translateY(-2px)}.nav__mobile .theme-toggle{align-self:flex-start;margin-top:.5rem}.nav__mobile{border-radius:var(--radius-md);flex-direction:column;gap:.25rem;margin-top:1rem;padding:1rem;display:none}.nav__mobile.is-open{display:flex}.nav__mobile .nav__link{border-radius:var(--radius-sm);padding:.75rem .5rem}.nav__mobile .nav__link:hover{background:var(--surface-hover)}.nav__mobile .nav__cta{margin-top:.5rem}.hero{padding:clamp(3.5rem,8vw,6rem) 0 clamp(4rem,9vw,7rem);position:relative;overflow:hidden}.hero:before,.hero:after{content:"";filter:blur(90px);z-index:0;opacity:.35;border-radius:50%;position:absolute}.hero:before{background:radial-gradient(circle, var(--accent), transparent 70%);width:480px;height:480px;top:-180px;right:-120px}.hero:after{background:radial-gradient(circle, var(--accent-strong), transparent 70%);opacity:.25;width:360px;height:360px;bottom:-160px;left:-100px}.hero__grid{z-index:1;grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(2.5rem,6vw,5rem);display:grid;position:relative}.hero__eyebrow-row{flex-wrap:wrap;align-items:center;gap:.9rem;margin-bottom:1.4rem;display:flex}.hero__greeting{font-family:var(--font-display);color:var(--text-secondary);margin:0 0 .4rem;font-size:1.1rem;font-weight:500}.hero__name{background:linear-gradient(135deg, var(--text-primary) 20%, var(--accent-strong) 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:.9rem;font-size:clamp(2.1rem,9vw,4.4rem);line-height:1.02}.hero__subtitle{font-family:var(--font-display);color:var(--text-secondary);align-items:center;min-height:2.4em;margin-bottom:1.6rem;font-size:clamp(1.15rem,2.2vw,1.55rem);font-weight:500;display:flex}.hero__subtitle .cursor{background:var(--accent);width:2px;height:1.1em;margin-left:4px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.hero__badges{flex-wrap:wrap;gap:.6rem;margin-bottom:2.2rem;display:flex}.hero__actions{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:2.4rem;display:flex}.hero__social{gap:.7rem;display:flex}.hero__visual{z-index:1;justify-content:center;align-items:center;display:flex;position:relative}.hero__avatar-wrap{aspect-ratio:1;will-change:transform;width:min(320px,78vw);transform-style:preserve-3d;position:relative}.hero__avatar-glow{background:radial-gradient(circle, var(--accent-soft-strong), transparent 70%);filter:blur(30px);animation:pulse 5s var(--ease) infinite;border-radius:50%;position:absolute;inset:-10%}@keyframes pulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.hero__avatar-ring{z-index:1;background:conic-gradient(from 180deg, var(--accent), transparent 40%, transparent 60%, var(--accent-strong));pointer-events:none;border-radius:50%;padding:3px;animation:12s linear infinite spin-slow;position:absolute;inset:0}@keyframes spin-slow{to{transform:rotate(360deg)}}.hero__avatar-ring:before{content:"";background:var(--bg);border-radius:50%;position:absolute;inset:3px}.image.avatar{object-fit:cover;z-index:2;border-radius:50%;width:calc(100% - 20px);height:calc(100% - 20px);margin:10px;position:absolute;inset:0}.hero__float{z-index:3;animation:float 6s var(--ease) infinite;position:absolute}.hero__float--1{animation-delay:0s;top:4%;left:-14%}.hero__float--2{animation-delay:.8s;top:62%;right:-18%}.hero__float--3{animation-delay:1.6s;bottom:-4%;left:6%}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@media (width<=900px){.hero__float{display:none}}.stats{z-index:1;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;margin-top:clamp(2.5rem,5vw,4rem);display:grid;position:relative;overflow:hidden}.stats__item{background:var(--bg-elevated);text-align:center;padding:1.6rem 1rem}.stats__value{font-family:var(--font-display);color:var(--text-primary);font-size:clamp(1.5rem,3vw,2rem);font-weight:700}.stats__label{color:var(--text-muted);margin-top:.3rem;font-size:.8rem;display:block}.about__grid{grid-template-columns:1.15fr .85fr;align-items:start;gap:clamp(2.5rem,5vw,4.5rem);display:grid}.about__lead{font-family:var(--font-display);color:var(--text-primary);margin-bottom:1.3rem;font-size:1.3rem;font-weight:500}.about__paragraphs p{color:var(--text-secondary);max-width:62ch;margin-bottom:1.1rem}.about__paragraphs p:last-child{margin-bottom:0}.facts-card{border-radius:var(--radius-lg);padding:1.75rem}.facts-card__title{border-bottom:1px solid var(--border);margin-bottom:1.4rem;padding-bottom:1.1rem;font-size:1.05rem}.fact-item{align-items:flex-start;gap:1rem;padding:.8rem 0;display:flex}.fact-item+.fact-item{border-top:1px solid var(--border)}.fact-icon{border-radius:var(--radius-sm);background:var(--accent-soft);width:38px;height:38px;color:var(--accent-strong);flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;display:inline-flex}.fact-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:.15rem;font-size:.75rem}.fact-value{color:var(--text-primary);font-size:.95rem;font-weight:600}.skills__grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.skill-group{border-radius:var(--radius-lg);transition:transform .3s var(--ease), border-color .3s var(--ease);will-change:transform;transform-style:preserve-3d;padding:1.75rem}.skill-group:hover{border-color:var(--border-strong);transform:translateY(-6px)}.skill-group__icon{border-radius:var(--radius-sm);background:var(--accent-soft);width:44px;height:44px;color:var(--accent-strong);justify-content:center;align-items:center;margin-bottom:1.1rem;font-size:1.1rem;display:inline-flex}.skill-group__title{margin-bottom:.5rem;font-size:1.05rem}.skill-group__desc{color:var(--text-muted);margin-bottom:1.2rem;font-size:.85rem}.skill-group__chips{flex-wrap:wrap;gap:.5rem;display:flex}.timeline{max-width:820px;position:relative}.timeline:before{content:"";background:linear-gradient(180deg, var(--accent), var(--border) 80%);width:1px;position:absolute;top:10px;bottom:10px;left:19px}.timeline__item{padding-bottom:2.75rem;padding-left:3.5rem;position:relative}.timeline__item:last-child{padding-bottom:0}.timeline__marker{background:var(--surface);border:1px solid var(--border-strong);width:40px;height:40px;color:var(--accent-strong);z-index:1;border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;display:inline-flex;position:absolute;top:4px;left:0}.timeline__card{border-radius:var(--radius-lg);padding:1.75rem}.timeline__date-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1rem;margin-bottom:.8rem;display:flex}.timeline__date{margin-bottom:0;display:inline-block}.timeline__logo{border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--border-strong);flex-shrink:0;width:52px;height:52px}.timeline__company{margin-bottom:.2rem;font-size:1.2rem}.timeline__role{font-family:var(--font-body);color:var(--accent-strong);margin-bottom:.9rem;font-size:.92rem;font-weight:600}.timeline__desc{color:var(--text-secondary);max-width:62ch;margin-bottom:1.1rem}.timeline__tags{flex-wrap:wrap;gap:.5rem;display:flex}.projects__grid{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:1.35rem;display:grid}.project-card{border-radius:var(--radius-md);cursor:pointer;transition:transform .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease);will-change:transform;transform-style:preserve-3d;flex-direction:column;padding:1.6rem 1.75rem 1.75rem;display:flex}.project-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-lg);transform:translateY(-6px)}.project-card__top{justify-content:flex-end;align-items:center;margin-bottom:1.2rem;display:flex}.project-card__arrow{color:var(--text-muted);transition:transform .3s var(--ease), color .3s var(--ease);font-size:.82rem}.project-card:hover .project-card__arrow{color:var(--accent);transform:translate(3px,-3px)}.project-card__title{margin-bottom:.7rem;font-size:1.15rem}.project-card__title small{font-family:var(--font-body);color:var(--text-muted);margin-top:.25rem;font-size:.8rem;font-weight:500;display:block}.project-card__summary{color:var(--text-secondary);flex:1;margin-bottom:1.4rem;font-size:.92rem}.project-card__tags{flex-wrap:wrap;gap:.5rem;margin-bottom:1.6rem;display:flex}.tag{border-radius:var(--radius-sm);border:1px solid var(--border-strong);color:var(--text-secondary);letter-spacing:.01em;background:0 0;align-items:center;padding:.35rem .75rem;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.74rem;display:inline-flex}.project-card__link{color:var(--accent-strong);align-items:center;gap:.55rem;font-size:.88rem;font-weight:600;display:inline-flex}.project-card__link i{transition:transform .3s var(--ease);font-size:.78rem}.project-card:hover .project-card__link i{transform:translate(4px)}.project-modal-overlay{background:var(--scrim);-webkit-backdrop-filter:blur(6px);z-index:2000;animation:modal-fade .25s var(--ease);justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-pop{0%{opacity:0;transform:perspective(1200px)rotateX(-8deg)translateY(24px)scale(.95)}to{opacity:1;transform:perspective(1200px)rotateX(0)translateY(0)scale(1)}}.project-modal{border-radius:var(--radius-lg);background:var(--bg-elevated);border:1px solid var(--border-strong);width:100%;max-width:640px;max-height:88vh;box-shadow:var(--shadow-lg);animation:modal-pop .3s var(--ease);position:relative;overflow-y:auto}.project-modal__close{background:var(--surface);width:38px;height:38px;color:var(--text-secondary);border:1px solid var(--border-strong);cursor:pointer;transition:background .25s var(--ease), color .25s var(--ease), transform .25s var(--ease);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:1.25rem;right:1.25rem}.project-modal__close:hover{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);transform:scale(1.06)}.project-modal__body{padding:clamp(2rem,5vw,2.75rem)}.project-modal__title-row{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:1rem;margin-bottom:.2rem;padding-right:2.5rem;display:flex}.project-modal__title{margin-bottom:0;font-size:1.6rem}.project-modal__icon{border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--border-strong);flex-shrink:0;width:44px;height:44px}.project-modal__title small{font-family:var(--font-body);color:var(--text-muted);margin-top:.35rem;font-size:.85rem;font-weight:500;display:block}.project-modal__tags{flex-wrap:wrap;gap:.5rem;margin:1.2rem 0 1.4rem;display:flex}.project-modal__desc{color:var(--text-secondary);margin-bottom:1.7rem;line-height:1.75}.project-modal__actions{flex-wrap:wrap;gap:.9rem;display:flex}.contact__wrap{max-width:760px;margin:0 auto}.contact-card{border-radius:var(--radius-lg);text-align:center;padding:clamp(2rem,5vw,3.5rem)}.contact-email{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-primary);transition:color .25s var(--ease), border-color .25s var(--ease);word-break:break-word;border-bottom:2px solid #0000;align-items:center;gap:.7rem;padding-bottom:.3rem;font-size:clamp(1.6rem,5vw,2.75rem);font-weight:700;display:inline-flex}.contact-email:hover{color:var(--accent-strong);border-color:var(--accent)}.contact-email i{color:var(--accent-strong);font-size:.65em}.contact-card__hint{color:var(--text-muted);margin-top:.9rem;font-size:.85rem}.contact-meta{flex-wrap:wrap;justify-content:center;align-items:center;gap:.8rem;margin-top:2.2rem;display:flex}.contact-card__social{border-top:1px solid var(--border);justify-content:center;gap:.7rem;margin-top:2rem;padding-top:2rem;display:flex}.social-icon{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);width:42px;height:42px;color:var(--text-secondary);transition:all .25s var(--ease);justify-content:center;align-items:center;display:inline-flex}.social-icon:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);transform:translateY(-3px)}.footer{border-top:1px solid var(--border);padding:3.5rem 0 2rem;position:relative}.footer__inner{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.75rem;margin-bottom:1.75rem;padding-bottom:2rem;display:flex}.footer__brand{font-family:var(--font-display);font-size:1.1rem;font-weight:700}.footer__tagline{color:var(--text-muted);margin-top:.3rem;font-size:.88rem}.footer__nav{flex-wrap:wrap;gap:1.75rem;display:flex}.footer__nav a{color:var(--text-secondary);transition:color .2s var(--ease);font-size:.9rem}.footer__nav a:hover{color:var(--text-primary)}.footer__social{gap:.65rem;display:flex}.footer__bottom{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;font-size:.85rem;display:flex}.back-to-top{background:var(--surface);border:1px solid var(--border-strong);color:var(--text-secondary);border-radius:var(--radius-pill);cursor:pointer;transition:all .25s var(--ease);align-items:center;gap:.5rem;padding:.55rem 1.1rem;font-size:.82rem;font-weight:600;display:inline-flex}.back-to-top:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);transform:translateY(-2px)}@media (width<=1080px){.skills__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=1000px){.nav__links,.nav__cta--desktop{display:none}.nav__toggle{display:flex}}@media (width<=980px){.hero__grid{text-align:center;grid-template-columns:1fr}.hero__eyebrow-row,.hero__badges,.hero__actions,.hero__social,.hero__subtitle{justify-content:center}.hero__visual{order:-1;margin-bottom:1rem}.hero__name{background-position:50%}.about__grid{grid-template-columns:1fr}}@media (width<=640px){.skills__grid{grid-template-columns:1fr}.footer__inner,.footer__bottom{flex-direction:column;align-items:flex-start}.section__subtitle{max-width:none}.hero__actions{flex-direction:column;align-items:stretch}.hero__actions .btn{width:100%}.about__lead{font-size:1.15rem}.project-card,.skill-group,.facts-card,.timeline__card{padding:1.35rem}.timeline__item{padding-left:3rem}.timeline:before{left:16px}.timeline__marker{width:34px;height:34px;font-size:.75rem;top:2px}.timeline__logo{width:40px;height:40px}.project-modal__body{padding:1.5rem}.project-modal__title-row{padding-right:2rem}.project-modal__icon{width:38px;height:38px}.project-modal__title{font-size:1.35rem}}@media (width<=420px){.hero__name{font-size:clamp(1.9rem,11vw,2.6rem)}.btn{padding:.75rem 1.3rem;font-size:.88rem}.btn--lg{padding:.85rem 1.4rem;font-size:.9rem}.nav__brand{font-size:1.05rem}.stats__item{padding:1.2rem .6rem}.contact-card{padding:1.5rem}.facts-card,.skill-group,.project-card,.timeline__card{padding:1.1rem}}@media (height<=640px) and (orientation:landscape){.hero{padding:2rem 0 2.5rem}.hero__avatar-wrap{width:min(200px,42vh)}.hero__float{display:none}}
