.mb-8{margin-bottom:8rem!important}:root{--bg:#fff;--bg-alt:#f8fafc;--surface:#fff;--border:#e2e8f0;--text:#1e293b;--text-muted:#64748b;--accent:#0f766e;--accent-contrast:#0f766e;--accent-contrast-hover:#115e56;--accent-tint:#0f766e14;--footer-bg:#1e293b;--footer-text:#fff;--footer-text-muted:#ffffff80}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f172a;--bg-alt:#1e293b;--surface:#1e293b;--border:#334155;--text:#f1f5f9;--text-muted:#94a3b8;--accent:#5eead4;--accent-contrast:#14b8a6;--accent-contrast-hover:#2dd4bf;--accent-tint:#5eead41f;--footer-bg:#020617;--footer-text:#fff;--footer-text-muted:#ffffff80}}:root[data-theme=dark]{--bg:#0f172a;--bg-alt:#1e293b;--surface:#1e293b;--border:#334155;--text:#f1f5f9;--text-muted:#94a3b8;--accent:#5eead4;--accent-contrast:#14b8a6;--accent-contrast-hover:#2dd4bf;--accent-tint:#5eead41f;--footer-bg:#020617;--footer-text:#fff;--footer-text-muted:#ffffff80}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;font-size:62.5%}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,sans-serif;transition:background-color .2s,color .2s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(1.6rem)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:.7s both fadeInUp}body{color:var(--text);font-family:Inter,sans-serif;line-height:1.6}h1,h2,h3,h4{margin:0;font-weight:700}p{margin:0 0 1.6rem;font-size:1.7rem}a{color:inherit;font-family:Inter,sans-serif;text-decoration:none}a:hover{transition:all .3s ease-in-out}.section-title{text-align:left;color:var(--text);margin:0 0 4rem;font-size:3.6rem;font-weight:700}@media (max-width:37.5em){.section-title{font-size:2.6rem}}.text-color-main{color:var(--accent)}.cta-btn{cursor:pointer;border-radius:.6rem;padding:1.2rem 2.4rem;font-size:1.6rem;font-weight:600;line-height:1;transition:all .2s ease-in-out;display:inline-block;position:relative}.cta-btn--primary{background:var(--accent-contrast);color:#fff;border:2px solid var(--accent-contrast)}.cta-btn--primary:hover{background:var(--accent-contrast-hover);border-color:var(--accent-contrast-hover)}.cta-btn--secondary{color:var(--text);border:2px solid var(--text-muted);background:0 0}.cta-btn--secondary:hover{border-color:var(--text)}.cta-btn--text{color:var(--text);border:none;padding:1.2rem .4rem}.cta-btn--text:hover{color:var(--accent)}.cta-btn--resume{color:var(--accent);border:2px solid var(--accent);background:0 0}.cta-btn--resume:hover{background:var(--accent-contrast);border-color:var(--accent-contrast);color:#fff}.cta-btn--resume:disabled{opacity:.6;cursor:not-allowed}.theme-toggle{z-index:50;border:1px solid var(--border);background:var(--surface);width:4rem;height:4rem;color:var(--text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:1.8rem;transition:background-color .2s,border-color .2s,color .2s;display:flex;position:fixed;top:1.6rem;right:1.6rem}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.theme-toggle--placeholder{visibility:hidden}.footer{background-color:var(--footer-bg);color:var(--footer-text);text-align:center;padding:4.8rem 0;transition:background-color .2s}.footer__text{color:var(--footer-text-muted);margin:0;font-size:1.3rem}.footer hr{border:0;border-top:2px solid #ffffff1a;width:50%;margin:1rem auto}.social-links{flex-direction:row;justify-content:center;display:flex}.social-links a{color:var(--footer-text);justify-content:center;align-items:center;width:5rem;height:5rem;font-size:2.4rem;transition:transform .2s ease-in;display:flex}.social-links a:hover{color:var(--accent);transform:translateY(-2px)}.back-to-top{margin-bottom:1.6rem;display:block}.back-to-top a{color:var(--footer-text);font-size:1.8rem;transition:transform .2s ease-in;display:inline-flex}.back-to-top a:hover{transform:translateY(-2px)}section{padding:5rem 0}@media (max-width:37.5em){section{border:none;padding-left:1rem;padding-right:1rem}}.container{width:100%;max-width:114rem;margin:0 auto;padding:0 2.4rem}#hero{background:var(--bg);align-items:center;min-height:100vh;padding:8rem 0;display:flex}#hero .hero-content{max-width:78rem}#hero .hero-eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.1rem;margin-bottom:1.2rem;font-size:1.7rem;font-weight:600}#hero .hero-title{text-align:left;margin-bottom:1.6rem;font-size:5.6rem;font-weight:700}@media (max-width:75em){#hero .hero-title{font-size:4rem}}@media (max-width:56.25em){#hero .hero-title{font-size:3.6rem}}@media (max-width:37.5em){#hero .hero-title{font-size:3.2rem}}#hero .hero-subtitle{color:var(--text-muted);margin-bottom:2.4rem;font-size:2rem;font-weight:600}@media (max-width:37.5em){#hero .hero-subtitle{font-size:1.7rem}}#hero .hero-value-prop{max-width:60rem;margin-bottom:3.2rem;font-size:1.9rem}#hero .hero-cta{flex-wrap:wrap;align-items:center;gap:1.6rem;display:flex}#about{background:var(--bg);border-top:1px solid var(--border);padding:8rem 0}#about .about-wrapper{grid-template-columns:1.3fr 1fr;gap:4.8rem;margin-bottom:4.8rem;display:grid}@media (max-width:56.25em){#about .about-wrapper{grid-template-columns:1fr;gap:3.2rem}}#about .about-wrapper__info-text{text-align:left;color:var(--text);font-size:1.7rem}#about .about-wrapper__subheading{text-transform:uppercase;letter-spacing:.06rem;color:var(--text-muted);margin-bottom:1.6rem;font-size:1.4rem;font-weight:700}#about .achievement-list{margin:0;padding:0;list-style:none}#about .achievement-list li{text-align:left;margin-bottom:1.4rem;padding-left:2.4rem;font-size:1.6rem;position:relative}#about .achievement-list li:before{content:"✓";color:var(--accent);font-weight:700;position:absolute;left:0}#about .skills-grid{border-top:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:3.2rem;padding-top:4rem;display:grid}@media (max-width:56.25em){#about .skills-grid{grid-template-columns:1fr;gap:2.4rem}}#about .skill-tag-list{flex-wrap:wrap;gap:.8rem;margin:0;padding:0;list-style:none;display:flex}#about .skill-tag-list li{color:var(--accent);background:var(--accent-tint);border-radius:.5rem;padding:.6rem 1.2rem;font-size:1.4rem}#experience{background:var(--bg-alt);border-top:1px solid var(--border);padding:8rem 0}#experience .timeline{border-left:2px solid var(--border);max-width:84rem;margin:0;padding-left:3.2rem}@media (max-width:37.5em){#experience .timeline{padding-left:2rem}}#experience .timeline-entry{margin-bottom:4.8rem;position:relative}#experience .timeline-entry:last-child{margin-bottom:0}#experience .timeline-entry__marker{background:var(--bg-alt);border:2px solid var(--accent);border-radius:50%;width:1.2rem;height:1.2rem;position:absolute;top:.4rem;left:-3.95rem}@media (max-width:37.5em){#experience .timeline-entry__marker{left:-2.75rem}}#experience .timeline-entry__header{flex-wrap:wrap;align-items:baseline;gap:.8rem 1.6rem;margin-bottom:1.6rem;display:flex}#experience .timeline-entry__company{text-align:left;font-size:2.2rem}#experience .timeline-entry__period{color:var(--text-muted);font-size:1.4rem;font-weight:600}#experience .timeline-role{border-left:2px solid var(--border);margin-bottom:2.4rem;padding-left:1.6rem}#experience .timeline-role:last-child{margin-bottom:0}#experience .timeline-role__header{flex-wrap:wrap;align-items:baseline;gap:.4rem 1.2rem;margin-bottom:.8rem;display:flex}#experience .timeline-role__title{text-align:left;font-size:1.7rem}#experience .timeline-role__period{color:var(--text-muted);font-size:1.3rem}#experience .timeline-role__points{text-align:left;margin:0;padding-left:1.8rem}#experience .timeline-role__points li{margin-bottom:.6rem;font-size:1.5rem}#projects{background:var(--bg);border-top:1px solid var(--border);padding:8rem 0}#projects .project-grid{grid-template-columns:repeat(auto-fit,minmax(32rem,1fr));gap:3.2rem;display:grid}#projects .project-card{background:var(--surface);border:1px solid var(--border);border-radius:.8rem;flex-direction:column;display:flex;overflow:hidden}#projects .project-card__image{background:var(--bg-alt);justify-content:center;align-items:center;height:20rem;display:flex;overflow:hidden}#projects .project-card__image img{object-fit:cover;width:100%;height:100%}#projects .project-card__image--placeholder span{color:var(--text-muted);font-size:1.4rem}#projects .project-card__body{text-align:left;flex-direction:column;flex:1;padding:2.4rem;display:flex}#projects .project-card__header{justify-content:space-between;align-items:flex-start;gap:1.2rem;display:flex}#projects .project-card__title{font-size:1.9rem}#projects .project-card__status{color:var(--text-muted);background:var(--bg-alt);border:1px solid var(--border);white-space:nowrap;border-radius:1.2rem;flex-shrink:0;padding:.3rem .8rem;font-size:1.2rem;font-weight:600}#projects .project-card__period{color:var(--text-muted);margin:.4rem 0 1.2rem;font-size:1.3rem}#projects .project-card__info{margin-bottom:1.2rem;font-size:1.5rem}#projects .project-card__points{margin:0 0 1.6rem;padding-left:1.8rem}#projects .project-card__points li{margin-bottom:.5rem;font-size:1.4rem}#projects .project-card__tags{flex-wrap:wrap;gap:.6rem;margin-top:auto;display:flex}#projects .tag{color:var(--accent);background-color:var(--accent-tint);border-radius:.5rem;padding:.3rem 1rem;font-size:1.3rem;display:inline-block}#contact{background:var(--bg-alt);color:var(--text);border-top:1px solid var(--border);padding:8rem 0}#contact .contact-wrapper{max-width:56rem}#contact .contact-wrapper__text{color:var(--text);margin-bottom:3.2rem;font-size:1.9rem}#contact .contact-form{text-align:left;flex-direction:column;gap:1.6rem;display:flex}#contact .contact-form__honeypot{display:none}#contact .contact-form__field{flex-direction:column;gap:.6rem;font-size:1.4rem;font-weight:600;display:flex}#contact .contact-form__field input,#contact .contact-form__field textarea{border:1px solid var(--border);background:var(--surface);color:var(--text);resize:vertical;border-radius:.5rem;padding:1.2rem;font-family:Inter,sans-serif;font-size:1.6rem}#contact .contact-form__field input:focus,#contact .contact-form__field textarea:focus{border-color:var(--accent);outline:none}#contact .contact-form__error{color:var(--text-muted);margin-top:.8rem;font-size:1.4rem}#contact .contact-form__error a{color:var(--accent);text-decoration:underline}#contact .contact-form .cta-btn{align-self:flex-start}
