:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--navy:#1e407c;--navy-dark:#162f5c;--navy-light:#2a5299;--blue-mid:#4b9cd3;--blue-light:#d0e4f5;--blue-pale:#eef5fb;--white:#fff;--gray-100:#f4f7fb;--gray-200:#e4ecf5;--gray-400:#8fa3bc;--gray-600:#4a6080;--text-dark:#0d1f38;--text-mid:#3a5270;font-family:Plus Jakarta Sans,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--white);min-width:320px;color:var(--text-dark);margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}ul{margin:0;padding:0;list-style:none}.ofw-banner{text-align:center;color:#ffffffd9;background:#1a3a1a;border-bottom:1px solid #5ec47a4d;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:10px 24px;font-size:.86rem;font-weight:600;display:flex}.ofw-dot{background:#5ec47a;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:2.2s infinite pulse;box-shadow:0 0 0 3px #5ec47a40}@keyframes pulse{0%,to{box-shadow:0 0 0 3px #5ec47a40}50%{box-shadow:0 0 0 6px #5ec47a14}}.ofw-banner a{color:#7de09a;text-underline-offset:3px;font-weight:700;text-decoration:underline}.ofw-banner a:hover{color:#a3ebb8}.site-nav{background:var(--navy);z-index:100;border-bottom:3px solid var(--blue-mid);position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;gap:20px;max-width:1140px;height:62px;margin:0 auto;padding:0 24px;display:flex}.nav-brand{color:var(--white);align-items:center;gap:12px;display:flex}.nav-initials{background:var(--blue-mid);width:38px;height:38px;color:var(--white);letter-spacing:-.02em;border-radius:8px;flex-shrink:0;place-items:center;font-size:.9rem;font-weight:800;display:grid}.nav-name{color:var(--white);font-size:.97rem;font-weight:700}.nav-title{color:var(--blue-light);margin-top:1px;font-size:.78rem;font-weight:500}.nav-links{align-items:center;gap:4px;display:flex}.nav-links a{color:#ffffffc7;border-radius:6px;padding:8px 14px;font-size:.9rem;font-weight:600;transition:background .15s,color .15s}.nav-links a:hover{color:var(--white);background:#ffffff1f}.nav-links .nav-cta{background:var(--blue-mid);color:var(--white);margin-left:8px}.nav-links .nav-cta:hover{background:#3a8bbf}.mobile-menu-btn{color:var(--white);cursor:pointer;background:0 0;border:1px solid #ffffff40;border-radius:6px;justify-content:center;align-items:center;width:38px;height:38px;display:none}.mobile-nav-panel{background:var(--navy-dark);border-top:1px solid #ffffff1a;display:none}.mobile-nav-panel.open{display:block}.mobile-nav-panel a{color:#ffffffd9;border-bottom:1px solid #ffffff12;padding:14px 24px;font-size:.95rem;font-weight:600;transition:background .15s;display:block}.mobile-nav-panel a:hover{color:var(--white);background:#ffffff14}.hero{background:var(--white);border-bottom:1px solid var(--gray-200);text-align:center;padding:80px 24px 72px}.hero-inner{max-width:800px;margin:0 auto}.hero-label{background:var(--blue-pale);color:var(--navy);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--blue-light);border-radius:4px;margin-bottom:24px;padding:6px 14px;font-size:.78rem;font-weight:700;display:inline-block}.hero h1{letter-spacing:-.045em;color:var(--navy);margin:0 0 16px;font-size:clamp(2.6rem,6vw,4.2rem);font-weight:800;line-height:1.05}.hero-headline{color:var(--text-mid);letter-spacing:.01em;margin:0 0 22px;font-size:clamp(.9rem,2vw,1.05rem);font-weight:600}.hero-intro{color:var(--gray-600);max-width:660px;margin:0 auto 36px;font-size:clamp(1rem,1.8vw,1.15rem);line-height:1.75}.hero-btns{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.btn{cursor:pointer;border:2px solid #0000;border-radius:6px;align-items:center;gap:8px;height:46px;padding:0 22px;font-size:.92rem;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--navy);color:var(--white);box-shadow:0 6px 20px #1e407c38}.btn-primary:hover{background:var(--navy-light);box-shadow:0 8px 24px #1e407c4d}.btn-outline{background:var(--white);color:var(--navy);border-color:var(--navy)}.btn-outline:hover{background:var(--blue-pale)}.btn-sm{height:38px;padding:0 16px;font-size:.86rem}.btn-blue-outline{background:var(--white);color:var(--blue-mid);border-color:var(--blue-mid)}.btn-blue-outline:hover{background:var(--blue-pale)}.section{max-width:1140px;margin:0 auto;padding:72px 24px}.section-divider{border:none;border-top:1px solid var(--gray-200);margin:0}.section-label{color:var(--blue-mid);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;font-size:.75rem;font-weight:800;display:inline-block}.section-title{letter-spacing:-.04em;color:var(--navy);margin:0 0 8px;font-size:clamp(1.7rem,4vw,2.6rem);font-weight:800;line-height:1.1}.section-sub{color:var(--gray-600);max-width:560px;margin:0;font-size:1rem;line-height:1.7}.projects-bg{background:var(--gray-100);border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200)}.projects-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:40px;display:flex}.project-row{background:var(--white);border:1px solid var(--gray-200);border-radius:10px;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:0;margin-bottom:20px;transition:box-shadow .18s;display:grid;overflow:hidden}.project-row:hover{box-shadow:0 8px 32px #1e407c1a}.project-row-left{background:var(--navy);flex-direction:column;justify-content:space-between;gap:24px;padding:36px 32px;display:flex}.project-num{color:#ffffff26;letter-spacing:-.06em;font-size:2.8rem;font-weight:900;line-height:1}.project-type{color:var(--blue-light);letter-spacing:.12em;text-transform:uppercase;background:#4b9cd338;border-radius:4px;margin-bottom:10px;padding:5px 10px;font-size:.72rem;font-weight:700;display:inline-block}.project-row-left h3{color:var(--white);letter-spacing:-.03em;margin:0 0 8px;font-size:clamp(1.25rem,2.5vw,1.7rem);font-weight:800;line-height:1.15}.project-status{color:#fff9;align-items:center;gap:6px;font-size:.78rem;font-weight:700;display:inline-flex}.status-dot{background:#5ec47a;border-radius:50%;flex-shrink:0;width:7px;height:7px}.status-dot.progress{background:#f0ad4e}.project-row-right{flex-direction:column;gap:20px;padding:36px 32px;display:flex}.project-description{color:var(--text-mid);margin:0;font-size:.97rem;line-height:1.7}.project-tags{flex-wrap:wrap;gap:8px;display:flex}.tag{background:var(--blue-pale);color:var(--navy);border:1px solid var(--blue-light);border-radius:4px;padding:5px 11px;font-size:.78rem;font-weight:600}.project-links{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.project-detail-block{background:var(--white);border:1px solid var(--gray-200);border-radius:10px;margin-bottom:20px;overflow:hidden}.project-detail-title{background:var(--blue-pale);border-bottom:1px solid var(--blue-light);align-items:center;gap:10px;padding:16px 28px;display:flex}.project-detail-title h4{color:var(--navy);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.9rem;font-weight:700}.detail-cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid}.detail-col{border-right:1px solid var(--gray-200);padding:24px 28px}.detail-col:last-child{border-right:none}.detail-col h5{color:var(--blue-mid);text-transform:uppercase;letter-spacing:.1em;margin:0 0 12px;font-size:.78rem;font-weight:800}.detail-col p{color:var(--text-mid);margin:0;font-size:.92rem;line-height:1.65}.detail-col ul{padding-left:16px;list-style:outside}.detail-col li{color:var(--text-mid);margin-bottom:6px;font-size:.92rem;line-height:1.6}.approach-row{border:1px solid var(--gray-200);background:var(--gray-200);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;margin-top:36px;display:grid;overflow:hidden}.approach-item{background:var(--white);padding:32px 28px}.approach-num{color:var(--blue-light);letter-spacing:-.05em;margin-bottom:16px;font-size:2rem;font-weight:900;line-height:1}.approach-item h3{color:var(--navy);margin:0 0 10px;font-size:1.1rem;font-weight:700}.approach-item p{color:var(--gray-600);margin:0;font-size:.93rem;line-height:1.65}.skills-bg{background:var(--navy);border-top:1px solid #ffffff0d;border-bottom:1px solid #ffffff0d}.skills-section .section-title{color:var(--white)}.skills-section .section-label{color:var(--blue-light)}.skills-section .section-sub{color:#ffffffa6}.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:36px;display:grid}.skills-grid .skill-group:nth-child(4),.skills-grid .skill-group:nth-child(5){grid-column:span 1}@supports (grid-template-columns:subgrid){.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.skills-grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}.skill-group{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:10px;padding:26px 24px}.skill-group h3{color:var(--blue-mid);text-transform:uppercase;letter-spacing:.12em;margin:0 0 18px;font-size:.8rem;font-weight:800}.skill-pills{flex-wrap:wrap;gap:8px;display:flex}.skill-pill{color:#ffffffe0;background:#ffffff14;border:1px solid #ffffff1f;border-radius:4px;padding:6px 12px;font-size:.83rem;font-weight:600}.seeking-block{background:var(--blue-pale);border:1px solid var(--blue-light);text-align:left;border-radius:10px;margin-bottom:28px;padding:22px 24px}.seeking-label{color:var(--blue-mid);text-transform:uppercase;letter-spacing:.12em;margin-bottom:14px;font-size:.75rem;font-weight:800}.seeking-roles{flex-wrap:wrap;gap:8px;display:flex}.seeking-role{background:var(--white);color:var(--navy);border:1px solid var(--blue-light);border-radius:4px;padding:6px 13px;font-size:.84rem;font-weight:600}.contact-inner{text-align:center;max-width:680px;margin:0 auto}.contact-inner .section-title{color:var(--navy)}.contact-inner .section-sub{margin:0 auto 36px}.contact-links{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.contact-link{border:2px solid #0000;border-radius:6px;align-items:center;gap:9px;height:48px;padding:0 22px;font-size:.92rem;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.contact-link:hover{transform:translateY(-2px)}.contact-link-email{background:var(--navy);color:var(--white);box-shadow:0 6px 20px #1e407c33}.contact-link-email:hover{background:var(--navy-light)}.contact-link-li{background:var(--white);color:var(--navy);border-color:var(--navy)}.contact-link-li:hover{background:var(--blue-pale)}.contact-link-phone{background:var(--white);color:var(--navy);border-color:var(--navy)}.contact-link-phone:hover{background:var(--blue-pale)}.contact-link-gh{background:var(--white);color:var(--text-mid);border-color:var(--gray-200)}.contact-link-gh:hover{background:var(--gray-100)}.site-footer{background:var(--navy-dark);border-top:3px solid var(--blue-mid);text-align:center;padding:28px 24px}.site-footer p{color:#ffffff8c;margin:0;font-size:.85rem}.site-footer strong{color:#ffffffd9;font-weight:700}@media (width<=900px){.nav-links{display:none}.mobile-menu-btn{display:flex}.project-row{grid-template-columns:1fr}.project-row-left,.project-row-right{padding:28px 24px}.detail-cols{grid-template-columns:1fr}.detail-col{border-right:none;border-bottom:1px solid var(--gray-200)}.detail-col:last-child{border-bottom:none}.approach-row,.skills-grid{grid-template-columns:1fr}}@media (width<=640px){.hero{padding:54px 20px 52px}.section{padding:52px 20px}.hero-btns{flex-direction:column;align-items:stretch}.hero-btns .btn{justify-content:center}.btn{justify-content:center;width:100%}.project-links .btn{width:auto}.contact-links{flex-direction:column;align-items:stretch}.contact-link{justify-content:center}.projects-header{flex-direction:column;align-items:flex-start}}
