:root{color-scheme:light;--black:#111;--dark:#222;--blue:#3498db;--white:#fff;--muted:#ddd;--page:#ddd6;font-synthesis:none;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px}body{color:#333;background:var(--white);margin:0;font-size:14px;line-height:1.42857;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible{outline-offset:3px;outline:3px solid #f7c948}h1,h2,h3,p{margin-top:0}.container{width:min(1170px,100% - 30px);margin-inline:auto}.skip-link{z-index:1100;color:var(--white);background:var(--blue);padding:8px 12px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:1000;min-height:70px;color:var(--white);background:var(--black);position:fixed;inset:0 0 auto}.navbar{justify-content:space-between;align-items:center;min-height:70px;display:flex}.navbar-brand{color:var(--white);font-size:30px;font-weight:700;line-height:35px}.navbar-brand:hover{color:var(--white);text-decoration:none}.navbar-brand span{color:var(--blue)}.navbar-menu{align-self:stretch;align-items:stretch;gap:4px;margin:0;padding:0;list-style:none;display:flex}.navbar-menu a{height:100%;color:var(--white);letter-spacing:1px;align-items:center;padding:0 15px;font-size:14px;font-weight:500;display:flex}.navbar-menu a:hover,.navbar-menu a[aria-current=page]{color:var(--blue);text-decoration:none}.navbar-toggle{background:0 0;border:1px solid #555;border-radius:4px;width:44px;height:40px;padding:8px 9px;display:none}.navbar-toggle span{background:#aaa;border-radius:1px;height:2px;margin:4px 0;display:block}.page-body{min-height:400px;padding-top:70px}.section{padding:30px 0 50px}.section-muted{background:var(--page)}.section-white{background:var(--white)}.section-heading{text-align:center;margin-bottom:30px}.section-heading h1,.section-heading h2{margin-bottom:10px}.hero-background{color:var(--white);background-color:#333;background-image:linear-gradient(#00000047,#00000047),url(/uploads/page/about-banner.jpg);background-position:50%;background-size:cover;background-attachment:fixed}.about-hero{min-height:540px;padding:100px 0 150px}.about-grid{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;gap:30px;display:grid}.portrait-wrap img{width:100%}.about-panel,.resume-panel{background:#000c;border-radius:10px;padding:30px}.about-panel p{margin-bottom:20px}.button{border:2px solid var(--blue);text-transform:uppercase;padding:9px 40px;font-weight:700;transition:color .16s,background-color .16s;display:inline-block}.button.primary{color:var(--white);background:var(--blue)}.button.outline{color:var(--blue);background:var(--white)}.button:hover{color:var(--blue);background:var(--white);text-decoration:none}.button.outline:hover{color:var(--white);background:var(--blue)}.services-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 30px;display:grid}.service-card{color:#333;background:var(--white);width:min(240px,100%);min-height:310px;box-shadow:0 0 15px var(--blue);text-align:center;margin:0 auto;padding:30px 10px 10px;transition:color .2s,background-color .2s,transform .2s}.service-card>.fa{color:#777;font-size:50px}.service-card h3{justify-content:center;align-items:center;min-height:60px;font-size:24px;line-height:25px;display:flex}.service-card:hover{color:var(--white);background:var(--blue);transform:translateY(-20px)}.service-card:hover>.fa{color:var(--white)}.center-action{text-align:center;margin-top:35px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.project-card{padding:20px}.project-card>a{height:250px;box-shadow:0 0 15px var(--blue);background:#ddd;display:block;position:relative;overflow:hidden}.project-card img{object-fit:cover;object-position:top center;width:100%;height:100%}.project-overlay{color:var(--white);opacity:0;background:#000000b3;flex-direction:column;justify-content:center;align-items:center;gap:55px;padding:20px;transition:opacity .18s;display:flex;position:absolute;inset:0}.project-overlay .fa{border:1px solid var(--white);text-align:center;border-radius:50%;width:50px;height:50px;padding-top:15px}.project-overlay strong{align-self:flex-start;font-weight:400}.project-card a:hover .project-overlay,.project-card a:focus-visible .project-overlay{opacity:1}.hire-section{color:var(--white);background:var(--dark);text-align:center;padding:80px 15px}.hire-section p{color:var(--muted);letter-spacing:1px;font-size:15px;font-weight:300}.hire-section h2{color:#f5f5f5;letter-spacing:1px;margin:20px auto 50px;font-size:42px;line-height:55px}.hire-section h2 span{font-weight:300}.counters{text-align:center;grid-template-columns:repeat(3,1fr);padding:100px 0;display:grid}.counter .fa{padding-bottom:5px;font-size:40px}.counter strong{font-size:25px;font-weight:400;display:block}.counter span{font-size:16px}.resume-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-top:50px;display:grid}.resume-heading{letter-spacing:7px;align-items:center;gap:19px;margin-bottom:20px;font-weight:500;display:flex}.resume-heading .fa{width:55px;color:var(--white);background:var(--blue);letter-spacing:0;text-align:center;border-radius:50%;padding:20px 0;font-size:15px}.resume-item{margin-bottom:28px}.resume-item h2{margin-bottom:4px;font-size:24px}.resume-item time{color:#ccc;margin-bottom:10px;display:block}.contact-hero{min-height:620px;color:var(--white);background-color:#333;background-image:linear-gradient(#00000057,#00000057),url(/uploads/page/contact-banner.jpg);background-position:50%;background-size:cover;background-attachment:fixed;padding:100px 0 200px}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;max-width:820px;margin:35px auto 0;display:grid}.contact-card{border-bottom:1px solid var(--blue);min-height:110px;color:var(--white);background:#030303b3;border-radius:5px;align-items:center;gap:15px;padding:20px;font-size:17px;display:flex}.contact-card .fa{color:var(--blue);font-size:24px}.contact-card-link{color:var(--white);overflow-wrap:anywhere}.contact-card-link:hover{background:#030303d1;text-decoration:none}.contact-email{text-underline-offset:3px;text-decoration:underline}.project-detail-grid{grid-template-columns:minmax(250px,1fr) minmax(0,2fr);align-items:start;gap:40px;display:grid}.project-detail-grid h1,.project-detail-grid h2,.project-detail-grid h3,.project-detail-grid p,.project-detail-grid .project-fact{text-align:center}.technology-list{text-align:center;margin:0 0 25px;padding:0;list-style:none}.technology-list li{display:inline}.technology-list li:not(:last-child):after{content:", "}.lightbox-trigger{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0}.lightbox-trigger img{width:100%}.lightbox{background:0 0;border:0;max-width:min(95vw,1200px);max-height:94vh;padding:20px}.lightbox::backdrop{background:#000000e0}.lightbox img{max-height:86vh;margin:auto}.lightbox-close{color:var(--white);cursor:pointer;background:0 0;border:0;font-size:42px;position:fixed;top:18px;right:24px}.error-section{background:var(--page);text-align:center;min-height:450px;padding:90px 0}.error-box{color:#a94442;background:#f2dede;border:1px solid #ebccd1;border-radius:4px;max-width:680px;margin:0 auto;padding:30px}.site-footer{color:var(--white);background:var(--black);text-align:center;padding:50px 0}.social-media{padding:40px 0}.social-media a{min-width:48px;color:var(--white);border:1px solid #fff6;margin:5px;padding:14px 15px;display:inline-block}.social-media a:hover{background:var(--blue);text-decoration:none}@media (width<=991px){.services-grid,.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.site-header,.navbar{min-height:50px}.navbar-brand{font-size:25px}.navbar-toggle{display:block}.navbar-menu{background:var(--black);border-top:1px solid #333;width:100%;padding:6px 15px 12px;display:none;position:absolute;top:50px;left:0}.navbar-menu.is-open{display:block}.navbar-menu a{min-height:42px;padding:0}.page-body{padding-top:50px}.about-hero,.contact-hero{background-attachment:scroll;padding:50px 0 80px}.about-grid,.resume-panel,.contact-grid,.project-detail-grid,.services-grid,.project-grid,.counters{grid-template-columns:1fr}.about-panel,.resume-panel{padding:24px 20px}.hire-section{padding:60px 20px}.hire-section h2{font-size:32px;line-height:42px}.counters{gap:55px;padding:70px 0}.project-card{padding:15px 0}.contact-grid{gap:20px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.service-card:hover{transform:none}}
