*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:#111;background:#f6f6f6;margin:0;font-family:Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button{font:inherit}button:disabled{cursor:not-allowed;opacity:.65}.button,.navbar-logo,.navbar-links button,.filter-button,.details-toggle,.project-links a,.contact-links a,.footer-links a,.footer-links button{transition:background-color .16s,border-color .16s,color .16s,opacity .16s,transform .16s}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #1f6feb}.navbar{z-index:10;background:#f6f6f6;border-bottom:1px solid #ddd;justify-content:space-between;align-items:center;gap:16px;width:min(1100px,92%);margin:0 auto;padding:16px 0;display:flex;position:sticky;top:0}.navbar-logo{color:#111;cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:18px;font-weight:700}.navbar-links{align-items:center;gap:18px;font-size:15px;font-weight:700;display:flex}.navbar-links button{color:#111;cursor:pointer;background:0 0;border:0;padding:4px 0;font-weight:700}.navbar-logo:hover,.navbar-links button:hover,.contact-links a:hover,.button:hover,.details-toggle:hover,.filter-button:hover,.project-links a:hover,.footer-links a:hover,.footer-links button:hover{opacity:.75}main{width:min(1100px,92%);margin:0 auto}.hero{flex-direction:column;justify-content:center;min-height:78vh;padding:84px 0 72px;display:flex}.eyebrow{letter-spacing:.08em;text-transform:uppercase;margin:0 0 16px;font-size:14px;font-weight:700}h1{max-width:850px;margin:0;font-size:clamp(44px,8vw,88px);line-height:.95}h2{margin:0 0 20px;font-size:34px}h3{margin:0;font-size:23px;line-height:1.2}h4{letter-spacing:.06em;text-transform:uppercase;color:#555;margin:0 0 8px;font-size:13px}p{max-width:760px;line-height:1.7}.hero-description{margin-top:24px;font-size:20px}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:32px;display:flex}.button{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:12px 18px;font-weight:700;line-height:1.2;display:inline-flex}.primary-button{color:#fff;background:#111}.secondary-button{color:#111;background:0 0;border:1px solid #111}.resume-note{color:#555;margin:14px 0 0;font-size:14px}.section{border-top:1px solid #ddd;padding:64px 0}.section-heading{margin-bottom:24px}.section-heading p{color:#444;margin:0}.skill-list{flex-wrap:wrap;gap:10px;display:flex}.skill-list span,.tech-stack span{background:#fff;border:1px solid #ccc;border-radius:999px;padding:7px 11px;font-size:14px}.project-grid{grid-template-columns:repeat(2,1fr);gap:22px;display:grid}.filter-controls{flex-wrap:wrap;gap:10px;margin:0 0 24px;display:flex}.filter-button{color:#222;cursor:pointer;background:#fff;border:1px solid #c9c9c9;border-radius:999px;min-height:40px;padding:9px 14px;font-size:14px;font-weight:700}.filter-button.active{color:#fff;background:#111;border-color:#111}.project-card{background:#fff;border:1px solid #d9d9d9;border-radius:8px;flex-direction:column;gap:18px;padding:26px;display:flex;box-shadow:0 10px 24px #1111110d}.project-card-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.project-card p{margin:0}.project-category{letter-spacing:.08em;text-transform:uppercase;color:#555;background:#f4f4f4;border:1px solid #cfcfcf;border-radius:999px;margin:0 0 8px;padding:5px 9px;font-size:13px;font-weight:700;display:inline-block}.project-status{color:#333;white-space:nowrap;background:#f8f8f8;border:1px solid #ccc;border-radius:999px;flex:none;padding:6px 10px;font-size:13px;font-weight:700}.project-role{color:#333;font-weight:700}.project-summary,.project-detail p{color:#333;line-height:1.65}.tech-stack{flex-wrap:wrap;gap:8px;display:flex}.project-lists{background:#fafafa;border:1px solid #e1e1e1;border-radius:8px;grid-template-columns:1fr;gap:18px;padding:16px;display:grid}.details-toggle{color:#111;cursor:pointer;min-height:42px;font:inherit;background:#fff;border:1px solid #111;border-radius:999px;align-self:flex-start;padding:10px 14px;font-size:14px;font-weight:700;line-height:1.2}.expanded-details{border-top:1px solid #e3e3e3;gap:18px;padding-top:18px;display:grid}.project-detail-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.project-detail{background:#fafafa;border:1px solid #e1e1e1;border-radius:8px;padding:16px}.project-card ul{margin:0;padding-left:20px}.project-card li{margin-bottom:8px;line-height:1.5}.project-card li:last-child{margin-bottom:0}.technical-notes-list li{color:#333}.project-links{flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:4px;display:flex}.project-links a{border:1px solid #111;border-radius:999px;padding:9px 13px;font-size:14px;font-weight:700}.project-links span{color:#666;font-size:14px}.contact-links{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.contact-links a{border:1px solid #111;border-radius:999px;padding:10px 14px;font-weight:700}.contact-layout{grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);align-items:start;gap:22px;margin-top:26px;display:grid}.contact-form{background:#fff;border:1px solid #d9d9d9;border-radius:8px;gap:16px;padding:24px;display:grid;box-shadow:0 10px 24px #1111110a}.form-row{gap:7px;display:grid}.form-row label{color:#333;font-size:14px;font-weight:700}.form-row input,.form-row select,.form-row textarea{color:#111;width:100%;font:inherit;background:#fff;border:1px solid #cfcfcf;border-radius:8px;padding:11px 12px}.form-row textarea{resize:vertical;min-height:150px}.honeypot-field{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-row input:hover,.form-row select:hover,.form-row textarea:hover{border-color:#999}.turnstile-widget{min-height:65px}.form-note,.form-status{max-width:none;margin:0;font-size:14px;line-height:1.6}.form-note{color:#555}.form-status{color:#222;background:#f8f8f8;border:1px solid #cfcfcf;border-radius:8px;padding:12px}.form-status.success{color:#1d5f2a;background:#f1fbf3;border-color:#9ac7a5}.form-status.error{color:#8a1f1f;background:#fff5f5;border-color:#d7a0a0}.contact-aside{background:#fff;border:1px solid #d9d9d9;border-radius:8px;gap:16px;padding:22px;display:grid}.contact-aside p{color:#444;margin:0}.site-footer{border-top:1px solid #ddd;grid-template-columns:1fr auto;gap:20px;width:min(1100px,92%);margin:0 auto;padding:34px 0 42px;display:grid}.site-footer h2{margin-bottom:10px;font-size:24px}.site-footer p{color:#444;margin:0}.footer-links{flex-wrap:wrap;place-content:flex-start flex-end;gap:10px;display:flex}.footer-links a,.footer-links button{color:#111;cursor:pointer;background:0 0;border:1px solid #111;border-radius:999px;padding:9px 13px;font-size:14px;font-weight:700}.footer-copyright{grid-column:1/-1;font-size:14px}@media (width<=800px){.navbar{flex-direction:column;align-items:flex-start}.navbar-links{flex-wrap:wrap;gap:12px;width:100%;font-size:14px}.navbar-links button{min-height:36px}.hero{min-height:auto;padding:56px 0}h1{font-size:44px;line-height:1}h2{font-size:30px}.section{padding:48px 0}.project-grid,.project-detail-grid,.contact-layout,.site-footer{grid-template-columns:1fr}.project-card,.contact-form,.contact-aside{padding:20px}.project-card-header{flex-direction:column}.project-status{white-space:normal}.hero-description{font-size:18px}.hero-actions,.contact-links{gap:10px}.button,.contact-links a,.project-links a,.details-toggle,.filter-button{text-align:center;width:100%}.footer-links{justify-content:flex-start}}
