@import"https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,wght@6..96,600;6..96,700&family=DM+Sans:wght@400;500;600;700&family=Sora:wght@400;500;600;700;800&family=Syne:wght@500;700;800&display=swap";:root{font-family:DM Sans,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#171412;background-color:#f5f1ea;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-display, "Bodoni Moda", serif);font-weight:700;line-height:1.2}:root{--font-body: "DM Sans", "Segoe UI", sans-serif;--font-display: "Bodoni Moda", serif;--bg: #f5f1ea;--text: #171412;--muted: #5f5a54;--paper: #fffcf6;--line: rgba(23, 20, 18, .22);--line-strong: rgba(23, 20, 18, .55);--accent: #9f3f1e;--accent-soft: #efe2cf;--accent-cool: #243548;--accent-tint: rgba(159, 63, 30, .09);--section-alt-bg: linear-gradient(180deg, rgba(240, 232, 222, .65), rgba(245, 241, 234, .35));--hero-orb-a: radial-gradient(circle, rgba(159, 63, 30, .2), transparent 68%);--hero-orb-b: radial-gradient(circle, rgba(36, 53, 72, .18), transparent 70%);--page-bg: radial-gradient(1000px 380px at 12% 0%, rgba(159, 63, 30, .11), transparent 60%), radial-gradient(900px 320px at 88% 4%, rgba(36, 53, 72, .12), transparent 58%), linear-gradient(180deg, #f8f4ee 0%, #f5f1ea 46%, #f7f2ea 100%);--nav-bg: rgba(255, 252, 246, .84);--nav-bg-scrolled: rgba(255, 252, 246, .92);--chip-bg: rgba(255, 255, 255, .85);--project-gradient: linear-gradient(120deg, #243548 0%, #49607a 42%, #9f3f1e 100%);--timeline-gradient: linear-gradient(180deg, rgba(159, 63, 30, .55), rgba(36, 53, 72, .5));--footer-bg: #171412;--footer-text: #ece8e0;--footer-link: #f1eee7;--footer-link-hover: #dcb18f;--mobile-menu-bg: rgba(255, 252, 246, .98);--radius-lg: 28px;--radius-md: 18px;--radius-sm: 12px;--shadow: 0 18px 40px rgba(23, 20, 18, .08);--transition: .22s ease}.app.theme-neo{--font-body: "Sora", "Segoe UI", sans-serif;--font-display: "Syne", sans-serif;--bg: #fff7e8;--text: #121212;--muted: #373737;--paper: #fffdf7;--line: rgba(18, 18, 18, .32);--line-strong: rgba(18, 18, 18, .85);--accent: #1d4dff;--accent-soft: #ffe14d;--accent-cool: #1d4dff;--accent-tint: rgba(255, 225, 77, .68);--section-alt-bg: transparent;--hero-orb-a: radial-gradient(circle, rgba(29, 77, 255, .32), transparent 65%);--hero-orb-b: radial-gradient(circle, rgba(255, 93, 42, .3), transparent 70%);--page-bg: radial-gradient(circle at 8% 12%, rgba(255, 225, 77, .52), transparent 36%), radial-gradient(circle at 94% 6%, rgba(255, 93, 42, .34), transparent 28%), linear-gradient(180deg, #fffaf0 0%, #fff7e8 52%, #fff8ef 100%);--nav-bg: #fffdf7;--nav-bg-scrolled: #fffdf7;--chip-bg: #ffffff;--project-gradient: linear-gradient(120deg, #1d4dff 0%, #6a5cff 50%, #ff5d2a 100%);--timeline-gradient: linear-gradient(180deg, #1d4dff 0%, #ff5d2a 100%);--footer-bg: #121212;--footer-text: #f4f4f4;--footer-link: #f3f3f3;--footer-link-hover: #ffe14d;--mobile-menu-bg: #fffdf7;--radius-lg: 18px;--radius-md: 14px;--radius-sm: 10px;--shadow: 8px 8px 0 #121212}html{scroll-behavior:smooth}body{color:var(--text);background:var(--page-bg);line-height:1.68}.app{min-height:100vh;display:flex;flex-direction:column;font-family:var(--font-body)}.preload-screen{position:fixed;inset:0;display:grid;place-items:center;background:var(--bg);z-index:160}.preload-badge{display:grid;gap:.8rem;justify-items:center;animation:preloadPop .55s ease}.preload-line{width:180px;height:3px;border-radius:999px;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:preloadSweep .9s ease-in-out infinite}.preload-text{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:130;background:#ffffff38;pointer-events:none}.scroll-progress span{display:block;width:100%;height:100%;transform-origin:left center;background:linear-gradient(90deg,var(--accent),var(--accent-cool));transition:transform .11s linear}.app-ready main section:not(.hero){opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.app-ready main section.in-view{opacity:1;transform:translateY(0)}main{flex:1}.container{width:min(1120px,calc(100% - 2.6rem));margin-inline:auto}section{padding:5.7rem 0;position:relative}.section-title{font-family:var(--font-display);font-size:clamp(2.15rem,5vw,3.8rem);line-height:1.08;letter-spacing:-.015em;text-align:center;margin-bottom:3.2rem;color:var(--text)}.section-title:after{content:"";width:96px;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);display:block;margin:.9rem auto 0}.header{position:fixed;top:1rem;left:0;right:0;z-index:100}.header .nav{display:flex;align-items:center;justify-content:space-between;gap:1.8rem;background:var(--nav-bg);border:1px solid var(--line);border-radius:999px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:.7rem 1.3rem;box-shadow:0 10px 22px #1714120f;transition:box-shadow var(--transition),border-color var(--transition),background var(--transition)}.header.scrolled .nav{border-color:var(--line-strong);background:var(--nav-bg-scrolled);box-shadow:0 12px 30px #1714121c}.logo{text-decoration:none;transition:transform var(--transition)}.logo:hover{transform:translateY(-1px)}.nav-menu{display:flex;list-style:none;gap:1.1rem}.nav-link{font-family:var(--font-body);text-decoration:none;color:var(--text);font-size:.92rem;letter-spacing:.015em;font-weight:500;padding:.38rem .58rem;border-radius:8px;transition:color var(--transition),background var(--transition)}.nav-link:hover{color:var(--accent);background:var(--accent-tint)}.nav-controls{display:flex;align-items:center;gap:.6rem}.theme-toggle{border:1px solid var(--line-strong);background:var(--paper);color:var(--text);border-radius:999px;padding:.48rem .82rem;font-size:.78rem;font-family:var(--font-body);letter-spacing:.04em;text-transform:uppercase;font-weight:600;cursor:pointer;transition:transform var(--transition),background var(--transition),color var(--transition)}.theme-toggle:hover{transform:translateY(-1px);background:var(--accent-soft)}.mobile-menu-toggle{display:none;flex-direction:column;gap:5px;border:0;background:transparent;cursor:pointer;padding:.35rem}.mobile-menu-toggle span{width:24px;height:2px;border-radius:999px;background:var(--text);transition:transform var(--transition),opacity var(--transition)}.hero{min-height:100vh;padding:8rem 0 5.2rem;display:grid;place-items:center}.hero:before,.hero:after{content:"";position:absolute;border-radius:999px;pointer-events:none;z-index:-1}.hero:before{width:340px;height:340px;background:var(--hero-orb-a);top:4.2rem;left:2%}.hero:after{width:390px;height:390px;background:var(--hero-orb-b);right:2%;bottom:1.8rem}.hero-content{width:min(1120px,calc(100% - 2.6rem));margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:clamp(2rem,4.9vw,4.6rem)}.hero-title{font-family:var(--font-display);font-size:clamp(2.5rem,7vw,5.2rem);line-height:.98;letter-spacing:-.02em;margin-bottom:.7rem;text-wrap:balance}.highlight{color:var(--accent)}.hero-subtitle{font-family:var(--font-body);font-size:clamp(.96rem,2vw,1.2rem);text-transform:uppercase;letter-spacing:.18em;color:var(--accent-cool);margin-bottom:1rem;font-weight:600}.hero-value-prop{color:var(--accent-cool);font-size:clamp(1rem,1.9vw,1.16rem);font-weight:600;margin-bottom:.8rem}.hero-description{color:var(--muted);font-size:clamp(1rem,1.75vw,1.15rem);max-width:64ch;margin-bottom:1.85rem}.hero-response-time{color:var(--muted);font-size:.85rem;letter-spacing:.04em;text-transform:uppercase}.proof-strip{padding:0 0 4.2rem}.proof-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-bottom:.95rem}.proof-metric{border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--paper) 92%,transparent);padding:.9rem .8rem;text-align:center}.proof-value{font-family:var(--font-display);font-size:1.55rem;line-height:1;margin-bottom:.2rem;color:var(--text)}.proof-label{color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}.proof-quotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.proof-quote{border-left:2px solid var(--accent);background:color-mix(in srgb,var(--paper) 92%,transparent);border-radius:var(--radius-sm);padding:.8rem .9rem;margin:0}.proof-quote p{color:var(--muted);font-size:.9rem;line-height:1.5;margin-bottom:.5rem}.proof-quote cite{color:var(--text);font-style:normal;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase}.hero-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1.3rem}.btn{border:1px solid var(--line-strong);display:inline-flex;align-items:center;justify-content:center;gap:.45rem;text-decoration:none;font-family:var(--font-body);font-weight:600;letter-spacing:.01em;border-radius:999px;padding:.82rem 1.32rem;transition:transform var(--transition),box-shadow var(--transition),background var(--transition),color var(--transition)}.btn-primary{background:var(--accent-cool);color:#fff;border-color:#243548e6;box-shadow:0 12px 24px #24354833}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 15px 30px #24354842}.btn-secondary{background:var(--paper);color:var(--text)}.btn-secondary:hover{transform:translateY(-2px);color:var(--accent);border-color:#9f3f1e73}.hero-image{justify-self:center;width:min(100%,360px);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow);position:relative}.hero-image:before{content:"";position:absolute;inset:12px;border:1px solid rgba(23,20,18,.08);border-radius:calc(var(--radius-lg) - 8px);pointer-events:none}.hero-image img{width:100%;display:block;object-fit:cover}.social-links{display:flex;gap:.7rem}.social-links a{width:42px;height:42px;display:grid;place-items:center;color:var(--text);border-radius:50%;border:1px solid var(--line);background:var(--chip-bg);transition:transform var(--transition),color var(--transition),border-color var(--transition)}.social-links a:hover{transform:translateY(-2px);color:var(--accent);border-color:#9f3f1e61}.about,.projects,.contact{background:transparent}.skills,.experience{background:var(--section-alt-bg)}.about-content{display:grid;gap:2rem;max-width:1020px;margin-inline:auto}.about-text{background:#ffffffb8;border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(1.3rem,2.5vw,2rem);box-shadow:var(--shadow)}.about-text p{color:var(--muted);margin-bottom:1rem}.about-text strong{color:var(--accent)}.about-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.9rem}.stat-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);padding:1.2rem .9rem;text-align:center;transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition)}.stat-card:hover{transform:translateY(-2px);border-color:var(--line-strong);box-shadow:0 10px 20px #1714121a}.stat-number{font-family:var(--font-display);font-size:2.2rem;color:var(--text);line-height:1;margin-bottom:.35rem}.stat-label{font-size:.86rem;color:var(--muted);font-weight:500}.cv-download{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}.skills-grid,.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.1rem}.skill-category,.project-card,.timeline-content,.contact-method{border:1px solid var(--line);background:var(--paper);border-radius:var(--radius-md);box-shadow:0 8px 22px #1714120f}.skill-category{padding:1.25rem;transition:transform var(--transition),box-shadow var(--transition)}.skill-category:hover{transform:translateY(-3px);box-shadow:0 12px 26px #1714121a}.category-title{font-family:var(--font-display);color:var(--text);margin-bottom:.9rem;font-size:1.22rem}.skill-tags{display:flex;flex-wrap:wrap;gap:.45rem}.skill-tag{padding:.34rem .72rem;border-radius:999px;background:var(--accent-soft);color:#3a3027;border:1px solid rgba(23,20,18,.2);font-size:.81rem;font-weight:600}.project-card{overflow:hidden;transition:transform var(--transition),box-shadow var(--transition)}.project-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px #1714121c}.project-image{width:100%;height:210px;background:var(--project-gradient)}.project-image img{width:100%;height:100%;object-fit:cover}.project-content{padding:1.2rem}.project-title{font-family:var(--font-display);font-size:1.28rem;margin-bottom:.42rem}.project-description,.timeline-description,.contact-description{color:var(--muted)}.project-tech{display:flex;gap:.42rem;flex-wrap:wrap;margin:.85rem 0 1rem}.project-case{margin-top:.8rem;border-left:2px solid var(--line);padding-left:.8rem;display:grid;gap:.55rem}.project-case p{color:var(--muted);font-size:.9rem;line-height:1.58}.project-case strong{color:var(--text)}.tech-tag{font-size:.76rem;padding:.26rem .56rem;border-radius:999px;background:#f8f2e8;color:#3a3027;border:1px solid rgba(23,20,18,.18)}.project-links{display:flex;gap:.56rem;flex-wrap:wrap}.project-link{display:inline-flex;align-items:center;gap:.4rem;text-decoration:none;font-weight:600;font-size:.84rem;padding:.46rem .68rem;border-radius:var(--radius-sm);border:1px solid rgba(23,20,18,.3);color:var(--text);background:#fff;transition:transform var(--transition),color var(--transition),border-color var(--transition)}.project-link:hover{color:var(--accent);border-color:#9f3f1e66;transform:translateY(-1px)}.timeline{max-width:860px;margin-inline:auto;position:relative}.timeline:before{content:"";position:absolute;left:18px;top:0;bottom:0;width:2px;background:var(--timeline-gradient)}.timeline-item{position:relative;padding-left:54px;margin-bottom:1rem}.timeline-marker{position:absolute;left:9px;top:1.06rem;width:18px;height:18px;border-radius:50%;border:2px solid var(--paper);background:var(--accent);box-shadow:0 0 0 1px #1714124d}.timeline-content{padding:1.16rem}.timeline-header{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.timeline-title{font-family:var(--font-display);font-size:1.16rem}.timeline-period{border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.03em;color:#fff;background:var(--accent-cool);padding:.2rem .56rem}.timeline-company{color:var(--accent);margin:.48rem 0;font-weight:600}.timeline-achievements{list-style:none;padding:0;margin-top:.62rem}.timeline-achievements li{position:relative;padding-left:1.1rem;margin-bottom:.35rem;color:var(--muted)}.timeline-achievements li:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);position:absolute;left:0;top:.56rem}.contact-content{max-width:760px;margin-inline:auto;text-align:center}.contact-description{margin-bottom:1.15rem}.contact-availability,.contact-response{color:var(--muted);font-size:.9rem;margin-bottom:.45rem}.contact-response{margin-bottom:1rem;letter-spacing:.03em;text-transform:uppercase;font-size:.8rem}.contact-methods{display:grid;gap:.65rem}.contact-method{text-decoration:none;color:var(--text);display:flex;align-items:center;gap:.64rem;justify-content:center;padding:.84rem .96rem;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.contact-method:hover{transform:translateY(-2px);border-color:#9f3f1e66;box-shadow:0 10px 20px #1714121a}.footer{border-top:1px solid rgba(23,20,18,.22);background:var(--footer-bg);color:var(--footer-text);padding:1.35rem 0}.footer-content{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.footer-links{display:flex;gap:1.12rem}.footer-links a{color:var(--footer-link);text-decoration:none;transition:color var(--transition)}.footer-links a:hover{color:var(--footer-link-hover)}.quick-actions{position:fixed;bottom:1.1rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.5rem;background:color-mix(in srgb,var(--paper) 92%,transparent);border:1px solid var(--line);border-radius:999px;padding:.45rem;box-shadow:0 8px 20px #17141224;z-index:115;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.quick-action{text-decoration:none;color:var(--text);font-size:.78rem;letter-spacing:.03em;text-transform:uppercase;font-weight:600;border:1px solid var(--line);border-radius:999px;padding:.45rem .7rem;background:var(--paper);transition:transform var(--transition),background var(--transition),color var(--transition)}.quick-action:hover{transform:translateY(-1px);background:var(--accent-soft);color:var(--accent)}@keyframes preloadPop{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes preloadSweep{0%{transform:scaleX(.25);opacity:.5}50%{transform:scaleX(1);opacity:1}to{transform:scaleX(.25);opacity:.5}}@media(max-width:900px){.hero-content{grid-template-columns:1fr;text-align:center}.hero-image{order:-1;width:min(79%,330px)}.hero-cta,.social-links{justify-content:center}.header{top:.8rem}.proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.proof-quotes{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.preload-badge,.preload-line,.app-ready main section:not(.hero),.scroll-progress span{animation:none;transition:none}.app-ready main section:not(.hero){opacity:1;transform:none}}@media(max-width:768px){section{padding:4.5rem 0}.mobile-menu-toggle{display:flex}.nav-menu{position:absolute;top:calc(100% + .52rem);right:0;left:0;margin-inline:auto;width:min(92vw,430px);padding:.75rem;border-radius:var(--radius-md);background:var(--mobile-menu-bg);border:1px solid rgba(23,20,18,.24);box-shadow:0 12px 24px #1714121f;flex-direction:column;gap:.22rem;opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity var(--transition),transform var(--transition)}.theme-toggle{display:none}.nav-menu.active{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-link{width:100%;display:block;padding:.75rem .86rem}.mobile-menu-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.mobile-menu-toggle.active span:nth-child(2){opacity:0}.mobile-menu-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.cv-download{justify-content:center}.btn{width:100%}.project-links{flex-direction:column}.project-link{justify-content:center}.timeline:before{left:11px}.timeline-item{padding-left:36px}.timeline-marker{left:2px}.footer-content{flex-direction:column;text-align:center}.quick-actions{left:.65rem;right:.65rem;bottom:.8rem;transform:none;justify-content:center}.proof-strip{padding:0 0 3.2rem}.proof-grid{grid-template-columns:1fr}}@media(max-width:480px){.container,.hero-content{width:min(1120px,calc(100% - 1.2rem))}.hero{padding-top:7.25rem}.section-title{margin-bottom:2.3rem}.about-text,.skill-category,.project-content,.timeline-content,.contact-method{padding-inline:.92rem}}
