*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:#111;background:#f3f3f1;min-height:100vh;margin:0;font-family:Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}.site{min-height:100vh}.navbar{z-index:100;background:#050505;border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;height:96px;padding:0 4.5rem;display:flex;position:sticky;top:0}.nav-brand{color:#fff;letter-spacing:-.04em;font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:700}.nav-links{align-items:center;gap:2.4rem;display:flex}.nav-links a{color:#efefef;font-size:1.02rem;font-weight:500;transition:opacity .2s}.nav-links a:hover{opacity:.7}.nav-contact-btn{letter-spacing:0;background:#f3f3f1;border:1px solid #e5e5e5;border-radius:999px;padding:.95rem 1.5rem;font-family:inherit;font-size:.95rem;font-weight:500;line-height:1;transition:all .2s;color:#111!important}.nav-contact-btn:hover{background:#f3f3f1;transform:translateY(-1px)}.section{width:min(1180px,100% - 3rem);margin:0 auto;padding:6rem 0}.hero{justify-content:flex-start;align-items:center;min-height:calc(100vh - 96px);display:flex}.hero-inner{max-width:720px}.hero-badge{letter-spacing:.08em;text-transform:uppercase;color:#666;margin:0 0 1.5rem;font-size:.95rem;font-weight:700}.hero h1{letter-spacing:-.03em;color:#111;max-width:800px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.4rem,5vw,3.8rem);font-weight:700;line-height:1.05}.hero-text{color:#5f5f5f;max-width:720px;margin:2rem 0 0;font-size:1.2rem;line-height:1.85}.hero-buttons{flex-wrap:wrap;gap:1rem;margin-top:2.5rem;display:flex}.btn{border-radius:999px;justify-content:center;align-items:center;min-width:170px;padding:1rem 1.45rem;font-size:1rem;font-weight:700;transition:transform .2s,background .2s,opacity .2s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-primary{color:#fff;background:#111}.btn-primary:hover{background:#232323}.btn-secondary{color:#111;background:0 0;border:1px solid #d0d0d0}.btn-secondary:hover{background:#fff}.section-title{text-align:center;letter-spacing:-.04em;color:#111;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.6rem,5vw,4.3rem);font-weight:700;line-height:1}.section-subtext{text-align:center;color:#666;max-width:760px;margin:1.2rem auto 0;font-size:1.05rem;line-height:1.8}.about-text{max-width:860px}.projects-grid{grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:3rem;display:grid}.project-card{background:#fff;border:1px solid #e6e6e6;border-radius:28px;transition:transform .2s,box-shadow .2s;overflow:hidden}.project-card:hover{transform:translateY(-5px);box-shadow:0 14px 28px #00000014}.project-image-wrap{background:#e8e8e8;border-bottom:1px solid #ededed;width:100%;height:220px;overflow:hidden}.project-image{object-fit:cover;width:100%;height:100%;display:block}.project-content{padding:1.5rem}.project-card h3{color:#111;margin:0 0 .9rem;font-size:1.45rem;line-height:1.15}.project-card p{color:#555;margin:0;line-height:1.75}.project-tech{color:#222;margin-top:1.15rem;font-size:.95rem;font-weight:700;line-height:1.6}.project-links{gap:.8rem;margin-top:1.25rem;display:flex}.project-btn{color:#fff;background:#111;border-radius:999px;justify-content:center;align-items:center;padding:.85rem 1.15rem;font-size:.95rem;font-weight:700;transition:transform .2s,background .2s;display:inline-flex}.project-btn:hover{background:#232323;transform:translateY(-2px)}.skills-group{margin-top:3rem}.skills-label{color:#111;letter-spacing:.08em;margin-bottom:1rem;font-size:.95rem;font-weight:800}.pill-row{flex-wrap:wrap;gap:.9rem;display:flex}.pill{color:#222;background:#fff;border:1px solid #d7d7d7;border-radius:999px;padding:.85rem 1.2rem;font-weight:600;transition:transform .2s,background .2s}.pill:hover{background:#fafafa;transform:translateY(-2px)}.contact-section{text-align:center}.contact-icons{flex-wrap:wrap;justify-content:center;gap:1.25rem;margin-top:2.5rem;display:flex}.contact-icon-link{background:#fff;border:1px solid #e4e4e4;border-radius:999px;justify-content:center;align-items:center;width:72px;height:72px;transition:transform .2s,box-shadow .2s;display:flex}.contact-icon-link:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000000f}.contact-icon{object-fit:contain;width:28px;height:28px;display:block}.footer{text-align:center;color:#777;padding:2rem 1rem 3rem;font-size:.95rem}@media (width<=900px){.navbar{height:auto;padding:1.1rem 1.25rem}.nav-brand{font-size:1.6rem}.nav-links{gap:1rem}.projects-grid{grid-template-columns:1fr}.hero{min-height:auto;padding:4rem 0}}@media (width<=640px){.navbar{flex-direction:column;align-items:center;gap:.9rem}.nav-links{flex-wrap:wrap;justify-content:center;gap:1rem 1.2rem}.section{width:min(100% - 1.5rem,1180px);padding:4rem 0}.hero-text{font-size:1rem}.btn,.hero-buttons{width:100%}.contact-icon-link{width:64px;height:64px}.contact-icon{width:24px;height:24px}}.clickable-card{cursor:pointer}.modal-overlay{z-index:300;background:#00000073;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.project-modal{background:#fff;border-radius:28px;width:min(900px,100%);max-height:90vh;position:relative;overflow-y:auto;box-shadow:0 24px 60px #0003}.modal-close{color:#111;cursor:pointer;z-index:2;background:#ffffffeb;border:none;border-radius:999px;width:42px;height:42px;font-size:1.5rem;position:absolute;top:1rem;right:1rem}.modal-image-wrap{background:#e8e8e8;border-top-left-radius:28px;border-top-right-radius:28px;width:100%;height:320px;overflow:hidden}.modal-image{object-fit:cover;width:100%;height:100%;display:block}.modal-content{padding:2rem}.modal-title{color:#111;margin:0 0 1rem;font-size:2rem;line-height:1.1}.modal-description{color:#555;margin:0;font-size:1.02rem;line-height:1.8}.modal-tech{color:#222;margin-top:1.25rem;font-weight:700;line-height:1.6}.modal-features{margin-top:1.75rem}.modal-features h4{color:#111;margin:0 0 .85rem;font-size:1.05rem}.modal-features ul{color:#555;margin:0;padding-left:1.25rem;line-height:1.8}.modal-actions{flex-wrap:wrap;gap:1rem;margin-top:2rem;display:flex}@media (width<=640px){.modal-image-wrap{height:220px}.modal-content{padding:1.25rem}.modal-title{font-size:1.5rem}.modal-actions{flex-direction:column}}.modal-section{margin-top:1.5rem}.modal-section h4{color:#111;margin:0 0 .6rem;font-size:1rem;font-weight:700}.modal-list{color:#555;margin:0;padding-left:1.25rem;line-height:1.8}.about-body{text-align:center;color:#666;max-width:860px;margin:1.2rem auto 0;font-size:1.05rem;line-height:1.8}.about-body p{margin:0 0 1.2rem}.about-actions{justify-content:center;margin-top:2rem;display:flex}.about-modal{width:min(920px,100%)}.resume-blocks{flex-direction:column;gap:1rem;display:flex}.resume-block{background:#fafafa;border:1px solid #e8e8e8;border-radius:20px;padding:1.2rem}.resume-block-top{margin-bottom:.85rem}.resume-block-top h5{color:#111;margin:0;font-size:1.05rem;line-height:1.4}.resume-block-top h5 span{color:#666;font-weight:500}.resume-block-top p{color:#777;margin:.35rem 0 0;font-size:.92rem}.modal-pill-row{flex-wrap:wrap;gap:1rem;margin-top:.4rem;display:flex}.modal-pill{color:#222;background:#f7f7f7;border:1px solid #e4e4e4;border-radius:999px;align-items:center;padding:.8rem 1.1rem;font-size:.95rem;font-weight:600;line-height:1.35;display:inline-flex}.modal-pill-card{background:#f8f8f8;border:1px solid #e7e7e7;border-radius:18px;flex:260px;min-width:240px;padding:1rem 1.1rem}.modal-pill-title{color:#111;margin:0;font-size:1rem;font-weight:700}.modal-pill-text{color:#444;margin:.35rem 0 0;font-size:.95rem;line-height:1.5}.modal-pill-subtext{color:#777;margin:.45rem 0 0;font-size:.9rem}@media (width<=640px){.modal-pill-card{min-width:100%}.modal-pill{width:100%}}.contact-primary{justify-content:center;margin-top:2.2rem;display:flex}.contact-primary-pill{background:#fff;border:1px solid #e6e6e6;border-radius:22px;flex-direction:column;gap:.35rem;width:100%;max-width:720px;padding:1.4rem 1.8rem;transition:transform .2s,box-shadow .2s;display:flex}.contact-primary-pill:hover{transform:translateY(-3px);box-shadow:0 14px 28px #00000014}.contact-primary-label{letter-spacing:.08em;text-transform:uppercase;color:#777;font-size:.85rem;font-weight:700}.contact-primary-value{color:#111;word-break:break-word;font-size:1.2rem;font-weight:700}.contact-form-card-full{background:#fff;border:1px solid #e4e4e4;border-radius:28px;width:100%;max-width:980px;margin:2rem auto 0;padding:2.25rem}.contact-form-title{color:#111;text-align:left;margin:0 0 1.75rem;font-family:Georgia,Times New Roman,serif;font-size:2rem}.contact-form{flex-direction:column;gap:1.25rem;display:flex}.contact-form-row{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.contact-field{flex-direction:column;gap:.7rem;display:flex}.contact-field label{color:#111;text-align:left;font-size:1rem;font-weight:700}.contact-field input,.contact-field textarea{color:#111;background:#fff;border:1px solid #d9d9d9;border-radius:18px;outline:none;width:100%;padding:1.1rem 1.25rem;font-family:Inter,Arial,sans-serif;font-size:1.05rem}.contact-field input::placeholder,.contact-field textarea::placeholder{color:#aaa}.contact-field textarea{resize:vertical;min-height:180px}.contact-submit-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#8b5cf6,#a855f7);border:none;border-radius:999px;width:fit-content;margin-top:.5rem;padding:1.1rem 2rem;font-size:1.05rem;font-weight:700;transition:transform .2s,opacity .2s}.contact-submit-btn:hover{opacity:.95;transform:translateY(-2px)}@media (width<=640px){.contact-form-row{grid-template-columns:1fr}.contact-form-card-full{padding:1.4rem}.contact-submit-btn{width:100%}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Inter,Arial,sans-serif}html,body,#root{min-height:100%;margin:0}
