@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@500;600;700;800&display=swap";:root{font-family:DM Sans,system-ui,sans-serif;color:#172033;background:#f3f5f8;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #f3f5f8;--surface: #ffffff;--surface-soft: #e9edf3;--ink: #172033;--muted: #667085;--line: #dce1e9;--accent: #f5b942;--accent-ink: #332100;--blue: #3157d5;--mint: #2d9c72;--header: rgba(243, 245, 248, .88);--shadow: 0 24px 70px rgba(23, 32, 51, .09);scroll-behavior:smooth;scroll-padding-top:6.5rem}:root[data-theme=dark]{color:#eef2f8;background:#0d121d;--bg: #0d121d;--surface: #151d2b;--surface-soft: #1c2637;--ink: #eef2f8;--muted: #9ca9bd;--line: #2b374b;--accent: #f5b942;--accent-ink: #261900;--blue: #7797ff;--mint: #5fd0a4;--header: rgba(13, 18, 29, .88);--shadow: 0 24px 70px rgba(0, 0, 0, .25)}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--ink)}button,a{-webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit}a{color:inherit}img{display:block;max-width:100%}::selection{color:var(--accent-ink);background:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.site-shell{min-height:100vh;overflow:clip;background:radial-gradient(circle at 84% 8%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 24rem),var(--bg)}.container{width:min(1160px,calc(100% - 3rem));margin-inline:auto}.section{padding:7.5rem 0 0}.section-title{display:flex;max-width:760px;margin:0;flex-direction:column;align-items:flex-start;font:700 clamp(1.45rem,2.2vw,1.85rem)/1.25 "Manrope",sans-serif;letter-spacing:-.03em}.section-title:after{content:"";width:4.5rem;height:3px;margin-top:1rem;border-radius:999px;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 25%,var(--line)))}.section-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:3rem}.section-note{max-width:31rem;margin:0;color:var(--muted);line-height:1.75}.button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:3rem;padding:.76rem 1.18rem;border:1px solid var(--line);border-radius:.8rem;color:var(--ink);background:var(--surface);font-size:.95rem;font-weight:700;text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease}.button:hover{transform:translateY(-2px);border-color:var(--accent)}.button-primary{color:var(--accent-ink);border-color:var(--accent);background:var(--accent)}.button-ghost{background:transparent}.chip-list{display:flex;flex-wrap:wrap;gap:.5rem}.chip{padding:.36rem .66rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:color-mix(in srgb,var(--surface) 78%,transparent);font-size:.78rem;font-weight:600}@media (max-width: 760px){.container{width:min(100% - 1.5rem,1160px)}.section{padding-top:5.5rem}.section-head{display:block;margin-bottom:2rem}.section-note{margin-top:1rem}}.navbar{position:fixed;inset:0 0 auto;z-index:50;border-bottom:1px solid var(--line);background:var(--header);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.navbar:after{content:"";position:absolute;inset:auto 0 -1px;width:calc(var(--scroll-progress) * 100%);height:2px;background:var(--accent);transition:width 80ms linear}.navbar-inner{display:flex;align-items:center;min-height:4.6rem;gap:2rem}.brand{margin-right:auto;color:var(--ink);font:800 1.12rem Manrope,sans-serif;letter-spacing:-.04em;text-decoration:none}.brand span{display:inline-grid;width:2rem;height:2rem;margin-right:.45rem;place-items:center;border-radius:.55rem;color:var(--accent-ink);background:var(--accent);font-size:.75rem;letter-spacing:-.06em}.nav-links{display:flex;align-items:center;gap:1.8rem}.nav-links a{position:relative;padding:.3rem 0;color:var(--muted);font-size:.9rem;font-weight:600;text-decoration:none}.nav-links a:after{content:"";position:absolute;inset:auto 0 -.3rem;height:2px;background:var(--accent);transform:scaleX(0);transition:transform .18s ease}.nav-links a:hover,.nav-links a.active{color:var(--ink)}.nav-links a.active:after{transform:scaleX(1)}.nav-actions{display:flex;align-items:center;gap:.6rem}.icon-button{display:inline-grid;width:2.55rem;height:2.55rem;padding:0;place-items:center;border:1px solid var(--line);border-radius:.7rem;color:var(--ink);background:var(--surface);cursor:pointer}.nav-contact,.mobile-contact{padding:.65rem 1rem!important;border-radius:.7rem;color:var(--accent-ink)!important;background:var(--accent)}.nav-contact{font-size:.88rem;font-weight:700;text-decoration:none}.nav-contact:after,.mobile-contact:after{display:none}.menu-button,.mobile-contact{display:none}@media (max-width: 820px){.navbar-inner{min-height:4.2rem}.nav-contact{display:none}.menu-button{display:inline-grid}.nav-links{position:absolute;inset:calc(100% + 1px) 0 auto;display:none;padding:1rem 1.5rem 1.5rem;flex-direction:column;align-items:stretch;gap:.2rem;border-bottom:1px solid var(--line);background:var(--bg);box-shadow:var(--shadow)}.nav-links.is-open{display:flex}.nav-links a{padding:.75rem 0}.nav-links a:after{display:none}.mobile-contact{display:block;margin-top:.45rem;text-align:center}}.hero{display:grid;min-height:100vh;padding:6rem 0 2rem;place-items:center}.hero-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.hero h1{max-width:100%;margin:0;font:700 clamp(2rem,7.2vw,5.2rem) / 1.05 "Manrope",sans-serif;letter-spacing:-.055em;white-space:nowrap}.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:2rem}@media (max-width: 560px){.hero{min-height:90vh}.hero-actions{width:100%}.hero-actions .button{width:min(100%,19rem)}}.about-grid{display:grid;grid-template-columns:1fr;gap:1.4rem}.about-copy{width:100%;max-width:none;padding-top:0}.about-copy p{margin:0 0 1rem;color:var(--muted);font-size:1.05rem;line-height:1.8}.about-copy a{display:inline-flex;align-items:center;gap:.4rem;margin-top:.5rem;color:var(--ink);font-size:.9rem;font-weight:700;text-decoration:none}.about-copy a:hover{color:var(--blue)}.about-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:1.8rem;border-block:1px solid var(--line)}.about-stats div{display:flex;align-items:center;gap:1rem;padding:1.6rem 1rem}.about-stats div+div{border-left:1px solid var(--line)}.about-stats strong{font:800 clamp(2rem,4vw,3.2rem) "Manrope",sans-serif;letter-spacing:-.06em}.about-stats span{color:var(--muted);font-size:.82rem;line-height:1.4}@media (max-width: 760px){.about-grid{gap:1rem}.about-stats{margin-top:1.2rem}.about-stats div{display:block;padding:1.2rem .7rem}.about-stats strong,.about-stats span{display:block}.about-stats span{margin-top:.3rem;font-size:.74rem}}.skills-section{padding-bottom:7.5rem}.skills-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:1.25rem;overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}.skill-group{position:relative;min-height:20rem;padding:1.5rem}.skill-group+.skill-group{border-left:1px solid var(--line)}.skill-number{color:var(--muted);font:700 .75rem Manrope,sans-serif;letter-spacing:.1em}.skill-group h3{margin:4.5rem 0 1.5rem;font:700 1.25rem Manrope,sans-serif;letter-spacing:-.035em}.skill-list{display:flex;flex-wrap:wrap;gap:.55rem}.skill-list .skill-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.42rem .68rem;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:.5rem;color:var(--muted);background:var(--surface-soft);font-size:.8rem;font-weight:600;transition:color .18s ease,border-color .18s ease,transform .18s ease}.skill-pill svg{flex:0 0 auto;width:1rem;height:1rem}.skill-pill span{line-height:1}.skill-pill:hover{color:var(--ink);border-color:var(--accent);transform:translateY(-2px)}.skill-group:after{content:"";position:absolute;inset:auto 1.5rem 0;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .24s ease}.skill-group:hover:after{transform:scaleX(1)}@media (max-width: 900px){.skills-grid{grid-template-columns:repeat(2,1fr)}.skill-group:nth-child(3){border-left:0;border-top:1px solid var(--line)}.skill-group:nth-child(4){border-top:1px solid var(--line)}}@media (max-width: 540px){.skills-section{padding-bottom:5.5rem}.skills-grid{grid-template-columns:1fr}.skill-group{min-height:auto}.skill-group+.skill-group{border-left:0;border-top:1px solid var(--line)}.skill-group h3{margin:2.5rem 0 1.2rem}}.project-card{display:grid;grid-template-columns:minmax(18rem,.85fr) minmax(0,1.15fr);height:22rem;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:1rem;background:var(--surface);box-shadow:0 14px 38px #17203312;transition:transform .2s ease,border-color .2s ease}.project-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 65%,var(--line))}.project-visual{position:relative;min-height:22rem;overflow:hidden;background:#111d35}.project-index{position:absolute;inset:1rem auto auto 1rem;z-index:1;padding:.35rem .5rem;border-radius:.4rem;color:#fff;background:#0d121db8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font:700 .72rem Manrope,sans-serif;letter-spacing:.1em}.project-image{width:100%;height:100%;object-fit:contain;object-position:center;transition:transform .35s ease}.project-card:hover .project-image{transform:scale(1.02)}.project-content{display:flex;min-height:0;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(1.75rem,4vw,3rem)}.project-content h3{margin:0 0 .7rem;font:700 clamp(1.3rem,2vw,1.6rem) "Manrope",sans-serif;letter-spacing:-.035em}.project-content>p{margin:0 0 1.1rem;color:var(--muted);font-size:.94rem;line-height:1.65}.project-links{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:auto;padding-top:1.35rem}.project-links a{display:inline-flex;align-items:center;gap:.38rem;color:var(--ink);font-size:.86rem;font-weight:700;text-decoration:none}.project-links a:hover{color:var(--blue)}@media (max-width: 820px){.project-card{grid-template-columns:1fr;height:auto}.project-visual{min-height:0;height:14rem}.project-content{min-height:0;padding:1.5rem}}.portfolio{background:color-mix(in srgb,var(--surface-soft) 52%,transparent);border-block:1px solid var(--line);padding-bottom:7.5rem}.project-list{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (max-width: 760px){.portfolio{padding-bottom:5.5rem}}.experience-section{padding-bottom:7.5rem}.experience-layout{display:grid;grid-template-columns:1fr;gap:3rem}.experience-heading{position:static;width:100%}.experience-heading>p:last-child{width:100%;max-width:none;margin:1.4rem 0 0;color:var(--muted);line-height:1.75}.timeline{position:relative;width:100%}.timeline:before{content:"";position:absolute;inset:.4rem auto .4rem 1.2rem;width:1px;background:var(--line)}.timeline-item{position:relative;padding:0 0 3.3rem 4rem}.timeline-item:last-child{padding-bottom:0}.timeline-icon{position:absolute;left:0;display:grid;width:2.45rem;height:2.45rem;place-items:center;border:1px solid var(--line);border-radius:.7rem;color:var(--accent-ink);background:var(--accent)}.timeline-period{color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.timeline-item h3{margin:.6rem 0 .2rem;font:700 1.4rem Manrope,sans-serif;letter-spacing:-.035em}.timeline-item h4{margin:0 0 .85rem;color:var(--blue);font-size:.95rem}.timeline-item p{width:100%;max-width:none;margin:0 0 1rem;color:var(--muted);line-height:1.7}@media (max-width: 820px){.timeline-item{padding-left:3.5rem}}@media (max-width: 560px){.experience-section{padding-bottom:5.5rem}.timeline-item{padding-bottom:2.6rem}.timeline-item h3{font-size:1.22rem}}.contact-section{padding:0 0 2rem}.contact-panel{position:relative;display:flex;align-items:end;justify-content:space-between;gap:3rem;padding:clamp(2rem,6vw,5rem);overflow:hidden;border:1px solid var(--line);border-radius:1.5rem;color:var(--ink);background:var(--surface);box-shadow:var(--shadow)}.contact-kicker{margin:0 0 1rem;color:var(--muted);font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.contact-panel h2{position:relative;z-index:1;margin:0;font:700 clamp(1.65rem,3vw,2.2rem)/1.15 "Manrope",sans-serif;letter-spacing:-.035em}.contact-panel h2:after{content:"";display:block;width:4.5rem;height:3px;margin-top:1rem;border-radius:999px;background:linear-gradient(90deg,var(--accent),rgba(245,185,66,.2))}.contact-copy{position:relative;z-index:1;max-width:32rem;margin:1rem 0 0;color:var(--muted);line-height:1.7}.contact-actions{position:relative;z-index:1;min-width:15rem}.contact-email{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--line);color:var(--ink);font-weight:700;text-decoration:none}.contact-actions>div{display:flex;gap:.6rem;margin-top:1rem}.contact-actions>div a{display:grid;width:2.65rem;height:2.65rem;place-items:center;border:1px solid var(--line);border-radius:.65rem;color:var(--ink)}.contact-actions a:hover{color:var(--accent);border-color:var(--accent)}.footer{padding:1.5rem 0 2rem;color:var(--muted);font-size:.8rem}.footer .container{display:flex;align-items:center;justify-content:space-between;gap:1rem}.footer a{color:var(--ink);font-weight:700;text-decoration:none}@media (max-width: 760px){.contact-panel{display:block}.contact-actions{margin-top:2.5rem}.footer .container{align-items:flex-start;flex-direction:column}}
