@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";html,body,#root{width:100%;min-height:100%}body{margin:0}:root{--background:#f5f5f0;--surface:#fff;--surface-soft:#e9e9e3;--dark:#151515;--text:#151515;--muted:#686868;--muted-soft:#888;--border:#d8d8d1;--border-dark:#333;--accent:#95a5a6;--accent-light:#b9c3c4;--white:#fff}.dark-mode{--background:#111;--surface:#1b1b1b;--surface-soft:#222;--dark:#f4f4f0;--text:#f4f4f0;--muted:#a6a6a1;--muted-soft:#8c8c87;--border:#353535;--border-dark:#444;--accent:#95a5a6;--accent-light:#b9c3c4;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);color:var(--text);margin:0;font-family:DM Sans,sans-serif;transition:background .35s,color .35s}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{font-family:inherit}.portfolio{background:var(--background);min-height:100vh;color:var(--text);transition:background .35s,color .35s;overflow:hidden}.navbar{z-index:20;justify-content:space-between;align-items:center;width:100%;padding:28px 6vw;display:flex;position:absolute;top:0;left:0}.logo{letter-spacing:-.5px;font-family:Space Grotesk,sans-serif;font-size:18px;font-weight:700}.logo span,footer span{color:var(--accent)}.nav-links{align-items:center;gap:34px;font-size:13px;font-weight:600;display:flex}.nav-links a{transition:opacity .25s,color .25s}.nav-links a:hover{opacity:.45}.nav-actions{align-items:center;gap:12px;display:flex}.theme-toggle{border:1px solid var(--border);background:var(--surface);width:82px;height:40px;color:var(--text);cursor:pointer;border-radius:999px;justify-content:flex-end;align-items:center;padding:4px;font-family:DM Sans,sans-serif;font-size:10px;font-weight:700;transition:background .3s,border-color .3s,color .3s,transform .25s;display:flex;position:relative}.theme-toggle:before{content:"☀";background:var(--accent);color:#151515;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;transition:transform .35s,background .3s;display:flex;position:absolute;top:4px;left:4px}.theme-toggle:hover{transform:translateY(-2px)}.dark-mode .theme-toggle{justify-content:flex-start}.dark-mode .theme-toggle:before{content:"☾";transform:translate(42px)}.nav-contact{border:1px solid var(--text);white-space:nowrap;border-radius:100px;padding:10px 17px;font-size:12px;font-weight:600;transition:background .25s,color .25s,border-color .25s}.nav-contact:hover{background:var(--text);color:var(--background)}.menu-toggle{display:none}.hero{grid-template-columns:1.15fr .85fr;align-items:center;gap:80px;min-height:100vh;padding:145px 6vw 100px;display:grid}.hero-content{max-width:850px;animation:.9s both heroIn}.eyebrow{color:var(--text);letter-spacing:2.2px;margin:0 0 22px;font-size:11px;font-weight:700}.hero h1{letter-spacing:-4px;margin:0;font-family:Space Grotesk,sans-serif;font-size:clamp(56px,7vw,92px);font-weight:600;line-height:.92}.hero h1 span{color:var(--accent)}.hero-title{letter-spacing:-.5px;margin:34px 0 0;font-family:Space Grotesk,sans-serif;font-size:clamp(19px,2vw,27px);font-weight:500;line-height:1.3}.hero-description{max-width:570px;color:var(--muted);margin:20px 0 0;font-size:15px;line-height:1.75}.hero-buttons{align-items:center;gap:12px;margin-top:32px;display:flex}.button{border-radius:100px;justify-content:center;align-items:center;min-height:50px;padding:0 24px;font-size:12px;font-weight:700;transition:transform .25s,background .25s,color .25s,border-color .25s;display:inline-flex}.button:hover{transform:translateY(-3px)}.button.primary{background:var(--text);color:var(--background)}.button.secondary{border:1px solid var(--border);color:var(--text);background:0 0}.button.secondary:hover{background:var(--surface)}.profile-area{justify-content:center;align-items:center;display:flex}.profile-frame{aspect-ratio:.86;width:min(440px,38vw);animation:5s ease-in-out infinite float;position:relative;transform:rotate(4deg)}.profile-placeholder{width:100%;height:100%;box-shadow:25px 25px 0 var(--accent);background:#292929;border-radius:35px;justify-content:center;align-items:center;display:flex;overflow:hidden}.profile-placeholder img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.profile-label{background:var(--surface);border:1px solid var(--border);align-items:center;gap:14px;padding:16px 19px;transition:background .35s,border-color .35s;display:flex;position:absolute;bottom:-25px;left:-35px}.profile-label span{color:var(--accent);font-size:11px;font-weight:700}.profile-label p{letter-spacing:1.4px;margin:0;font-size:9px;font-weight:700}.quick-info{grid-template-columns:repeat(4,1fr);gap:25px;padding:0 6vw 80px;display:grid}.quick-info div{border-top:1px solid var(--border);padding-top:20px;transition:border-color .35s}.quick-info span{color:var(--muted-soft);letter-spacing:1.5px;margin-bottom:8px;font-size:9px;font-weight:700;display:block}.quick-info strong{font-size:13px;font-weight:600}.section{padding:135px 6vw}.section-label{color:var(--accent);letter-spacing:2px;margin:0 0 17px;font-size:10px;font-weight:700}.about{background:var(--text);color:var(--background);grid-template-columns:1fr 1fr;gap:100px;transition:background .35s,color .35s;display:grid}.section-intro h2,.section-header h2,.technology-title h2{letter-spacing:-2.5px;margin:0;font-family:Space Grotesk,sans-serif;font-size:clamp(40px,4.5vw,64px);font-weight:500;line-height:1}.about .section-intro h2{max-width:700px}.about .section-intro h2 span{color:var(--muted-soft)}.about-text{max-width:600px}.about-text p{color:var(--muted);margin:0 0 26px;font-size:15px;line-height:1.8}.about-text .large-text{color:var(--background);font-family:Space Grotesk,sans-serif;font-size:24px;line-height:1.45}.section-header{justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:75px;display:flex}.section-side-text{max-width:350px;color:var(--muted);font-size:13px;line-height:1.7}.experience-list{border-top:1px solid var(--border)}.experience-item{border-bottom:1px solid var(--border);grid-template-columns:220px 1fr;gap:65px;padding:50px 0;display:grid}.experience-date{color:var(--muted-soft);letter-spacing:1.5px;flex-direction:column;gap:3px;font-size:9px;font-weight:700;display:flex}.experience-company{color:var(--accent);letter-spacing:1px;margin:0 0 8px;font-size:11px;font-weight:700}.experience-main h3{color:var(--text);letter-spacing:-1px;margin:0;font-family:Space Grotesk,sans-serif;font-size:30px;font-weight:500;line-height:1.2}.experience-role{color:var(--muted-soft);letter-spacing:.8px;text-transform:uppercase;margin:9px 0 27px;font-size:11px;font-weight:600}.experience-main ul{max-width:800px;color:var(--muted);margin:0;padding-left:18px;font-size:13px;line-height:1.8}.experience-main li{margin-bottom:7px;padding-left:8px}.skills{background:var(--surface-soft);transition:background .35s}.skills-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:65px;display:grid}.skill-card{border:1px solid var(--border);background:var(--background);border-radius:23px;min-height:300px;padding:30px;transition:transform .3s,background .35s,border-color .35s;position:relative}.skill-card:hover{background:var(--surface);transform:translateY(-7px)}.skill-number{color:var(--accent);font-size:10px;font-weight:700}.skill-card h3{letter-spacing:-.7px;margin:80px 0 14px;font-family:Space Grotesk,sans-serif;font-size:25px;font-weight:500;line-height:1.2}.skill-card p{max-width:310px;color:var(--muted);margin:0;font-size:13px;line-height:1.65}.skill-arrow{color:var(--text);font-size:22px;position:absolute;bottom:24px;right:26px}.technology-section{background:var(--text);color:var(--background);grid-template-columns:.7fr 1.3fr;gap:100px;padding:135px 6vw;transition:background .35s,color .35s;display:grid}.technology-title h2{font-size:clamp(46px,5vw,70px)}.technology-list{border-top:1px solid var(--border-dark);grid-template-columns:repeat(2,1fr);display:grid}.technology-list span{border-bottom:1px solid var(--border-dark);align-items:center;gap:14px;padding:17px 5px;font-family:Space Grotesk,sans-serif;font-size:16px;display:flex}.technology-list small{color:var(--muted-soft);font-family:DM Sans,sans-serif;font-size:8px}.education{grid-template-columns:.8fr 1.2fr;gap:100px;display:grid}.education-list{border-top:1px solid var(--border)}.education-list article{border-bottom:1px solid var(--border);grid-template-columns:130px 1fr;gap:35px;padding:28px 0;display:grid}.education-list article>span{color:var(--muted-soft);letter-spacing:1px;font-size:10px;font-weight:700}.education-list h3{margin:0 0 7px;font-family:Space Grotesk,sans-serif;font-size:23px;font-weight:500;line-height:1.3}.education-list p{color:var(--muted);margin:0 0 7px;font-size:13px}.education-list strong{font-size:12px}.contact{text-align:center;background:var(--accent);color:#151515;padding:145px 6vw;transition:background .35s,color .35s}.contact h2{letter-spacing:-4px;margin:0;font-family:Space Grotesk,sans-serif;font-size:clamp(52px,7vw,88px);font-weight:600;line-height:.92}.contact h2 span{color:#fff}.contact .section-label{color:#151515}.contact-description{max-width:500px;margin:32px auto 28px;font-size:14px;line-height:1.7}.contact-actions{flex-direction:column;align-items:center;gap:16px;display:flex}.contact-button{color:#fff;background:#151515}.contact-button:hover{color:#151515;background:#fff}.phone-link{font-size:13px;font-weight:700}footer{color:#777;background:#151515;justify-content:space-between;align-items:center;gap:30px;padding:28px 6vw;font-size:10px;transition:background .35s,color .35s;display:flex}.dark-mode footer{background:#080808}footer strong{color:#fff;font-family:Space Grotesk,sans-serif;font-size:13px;display:block}footer p{margin:5px 0 0}.mobile-menu{display:none}@keyframes heroIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:rotate(4deg)translateY(0)}50%{transform:rotate(4deg)translateY(-12px)}}@media (width<=1000px){.hero{grid-template-columns:1fr;gap:70px}.profile-area{justify-content:flex-start;margin-top:20px;padding-left:2vw}.profile-frame{width:min(420px,70vw)}.quick-info{grid-template-columns:repeat(2,1fr)}.about,.education,.technology-section{grid-template-columns:1fr;gap:60px}.skills-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.navbar{z-index:110;padding:20px 7vw}.logo{font-size:17px}.nav-links{display:none}.nav-actions{gap:8px}.theme-toggle{width:74px;height:36px;font-size:9px}.theme-toggle:before{width:28px;height:28px;top:3px;left:3px}.dark-mode .theme-toggle:before{transform:translate(38px)}.nav-contact{display:none}.menu-toggle{border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--text);cursor:pointer;z-index:120;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0;transition:background .3s,border-color .3s,transform .25s;display:flex;position:relative}.menu-toggle:hover{transform:translateY(-2px)}.menu-toggle span{background:var(--text);width:15px;height:1.5px;transition:transform .35s cubic-bezier(.76,0,.24,1),opacity .25s;display:block}.menu-toggle.active span:first-child{transform:translateY(3.25px)rotate(45deg)}.menu-toggle.active span:last-child{transform:translateY(-3.25px)rotate(-45deg)}.mobile-menu{z-index:90;background:var(--background);color:var(--text);visibility:hidden;opacity:0;pointer-events:none;transition:opacity .3s,transform .35s,visibility 0s linear .35s;display:block;position:fixed;inset:0;transform:translateY(-18px)}.mobile-menu.open{visibility:visible;opacity:1;pointer-events:auto;transition:opacity .3s,transform .35s;transform:translateY(0)}.mobile-menu-inner{flex-direction:column;justify-content:space-between;min-height:100vh;padding:105px 7vw 35px;display:flex}.mobile-menu-top{border-bottom:1px solid var(--border);color:var(--muted-soft);letter-spacing:2px;justify-content:space-between;padding-bottom:20px;font-size:9px;font-weight:700;display:flex}.mobile-menu-links{flex-direction:column;margin-top:25px;display:flex}.mobile-menu-links a{border-bottom:1px solid var(--border);letter-spacing:-.8px;opacity:0;align-items:center;gap:16px;padding:14px 0;font-family:Space Grotesk,sans-serif;font-size:24px;font-weight:500;line-height:1.2;transition:color .25s,padding-left .25s,opacity .4s,transform .4s;display:flex;transform:translateY(15px)}.mobile-menu.open .mobile-menu-links a{opacity:1;transform:translateY(0)}.mobile-menu.open .mobile-menu-links a:first-child{transition-delay:80ms}.mobile-menu.open .mobile-menu-links a:nth-child(2){transition-delay:.13s}.mobile-menu.open .mobile-menu-links a:nth-child(3){transition-delay:.18s}.mobile-menu.open .mobile-menu-links a:nth-child(4){transition-delay:.23s}.mobile-menu.open .mobile-menu-links a:nth-child(5){transition-delay:.28s}.mobile-menu-links a:hover{color:var(--accent);padding-left:8px}.mobile-menu-links a span{width:22px;color:var(--accent);letter-spacing:1px;flex-shrink:0;font-family:DM Sans,sans-serif;font-size:8px;font-weight:700}.mobile-menu-bottom{flex-direction:column;gap:20px;padding-top:25px;display:flex}.mobile-menu-bottom span{color:var(--muted-soft);letter-spacing:1.5px;margin-bottom:8px;font-size:8px;font-weight:700;display:block}.mobile-menu-bottom>div>a{font-size:13px;font-weight:600}.mobile-menu-cta{background:var(--text);width:100%;min-height:50px;color:var(--background);border-radius:999px;justify-content:center;align-items:center;font-size:12px;font-weight:700;transition:transform .25s,opacity .25s;display:flex}.mobile-menu-cta:hover{opacity:.85;transform:translateY(-2px)}.hero{gap:65px;min-height:auto;padding:105px 7vw 75px}.eyebrow{letter-spacing:2px;margin-bottom:20px;font-size:10px}.hero h1{letter-spacing:-3px;font-size:clamp(42px,12vw,62px);line-height:1}.hero-title{letter-spacing:-.3px;margin-top:24px;font-size:16px;line-height:1.5}.hero-description{margin-top:18px;font-size:14px;line-height:1.75}.hero-buttons{flex-direction:column;align-items:stretch;gap:10px;margin-top:28px}.button{width:100%;min-height:50px;font-size:12px}.profile-area{justify-content:center;width:100%;padding:0 5vw}.profile-frame{width:min(330px,82vw);margin:0 auto}.profile-placeholder{box-shadow:18px 18px 0 var(--accent);border-radius:28px}.profile-label{gap:10px;padding:13px 15px;bottom:-20px;left:-15px}.profile-label p{font-size:9px}.quick-info{grid-template-columns:1fr;gap:20px;padding:0 7vw 60px}.quick-info div{padding-top:16px}.section{padding:85px 7vw}.section-label{letter-spacing:1.8px;margin-bottom:15px;font-size:10px}.section-intro h2,.section-header h2,.technology-title h2{letter-spacing:-2px;font-size:38px;line-height:1}.about{gap:45px}.about-text p{font-size:14px;line-height:1.75}.about-text .large-text{font-size:21px;line-height:1.45}.section-header{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:45px}.section-side-text{font-size:13px;line-height:1.7}.experience-item{grid-template-columns:1fr;gap:20px;padding:38px 0}.experience-date{font-size:9px}.experience-company{font-size:11px}.experience-main h3{letter-spacing:-.8px;margin-bottom:0;font-size:26px}.experience-role{margin:9px 0 22px;font-size:10px}.experience-main ul{font-size:13px;line-height:1.7}.experience-main li{margin-bottom:7px;padding-left:5px}.skills-grid{grid-template-columns:1fr;gap:14px;margin-top:45px}.skill-card{border-radius:20px;min-height:245px;padding:26px}.skill-card h3{margin:65px 0 14px;font-size:25px}.skill-card p{font-size:13px;line-height:1.65}.skill-arrow{font-size:21px;bottom:20px;right:22px}.technology-section{gap:45px;padding:85px 7vw}.technology-list{grid-template-columns:1fr}.technology-list span{padding:15px 4px;font-size:15px}.education-list article{grid-template-columns:1fr;gap:10px;padding:25px 0}.education-list article>span{font-size:10px}.education-list h3{font-size:22px;line-height:1.25}.education-list p{font-size:13px;line-height:1.6}.contact{padding:100px 7vw}.contact h2{letter-spacing:-3px;font-size:48px;line-height:.9}.contact-description{margin:28px auto;font-size:14px;line-height:1.7}footer{flex-direction:column;align-items:flex-start;gap:18px;padding:28px 7vw}}@media (width<=400px){.hero{gap:60px;padding-top:100px}.hero h1{letter-spacing:-2.5px;font-size:40px}.hero-title{font-size:15px}.profile-frame{width:78vw}.section-intro h2,.section-header h2,.technology-title h2{letter-spacing:-1.8px;font-size:35px}.experience-main h3{font-size:24px}.experience-role{margin-top:8px;margin-bottom:20px}.contact h2{font-size:43px}.mobile-menu-links a{padding:13px 0;font-size:22px}}.back-to-top{color:#111;cursor:pointer;z-index:200;background:#fff;border:1px solid #111;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;font-weight:600;line-height:1;transition:transform .3s,background .3s,color .3s,box-shadow .3s;display:flex;position:fixed;bottom:28px;right:28px;box-shadow:0 8px 24px #00000040}.back-to-top:hover{color:#111;background:#95a5a6;border-color:#95a5a6;transform:translateY(-4px);box-shadow:0 12px 30px #0000004d}@media (width<=700px){.back-to-top{width:44px;height:44px;font-size:20px;bottom:18px;right:18px}}
