:root{--forest-green:#1a3c34;--ice-blue:#f4f9ff;--chocolate-brown:#2d2424;--soft-brown:#5c4033;--white:#fff;--nav-height:80px}body{color:var(--chocolate-brown);background-color:#f4f7f6;margin:0;font-family:Inter,sans-serif}.nav-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:50;width:100%;height:var(--nav-height);border-b:1px solid #0000000d;background-color:#ffffffb3;align-items:center;display:flex;position:fixed;top:0;box-shadow:0 4px 20px #1a3c340d}.nav-content{justify-content:space-between;align-items:center;width:100%;max-width:1200px;margin:0 auto;padding:0 40px;display:flex}.nav-logo{letter-spacing:-.05em;color:var(--forest-green);font-size:1.5rem;font-weight:900;text-decoration:none}.nav-links{align-items:center;gap:40px;display:flex}.nav-link{text-transform:uppercase;letter-spacing:.1em;color:var(--forest-green);font-size:.75rem;font-weight:700;text-decoration:none;transition:color .3s}.nav-link:hover{color:var(--forest-green)}@media (width<=768px){.nav-content{flex-direction:column;justify-content:center;height:auto;padding:10px 20px 0}.nav-logo{margin-bottom:8px;font-size:1.2rem}.nav-links{white-space:nowrap;-webkit-overflow-scrolling:touch;justify-content:center;gap:20px;width:100%;padding-bottom:10px;overflow-x:auto}.nav-link{font-size:.65rem}}.btn-contact{color:var(--forest-green);border-bottom:2px solid var(--forest-green);padding-bottom:4px;font-weight:800;text-decoration:none;transition:opacity .3s}.btn-contact:hover{opacity:.7}.hero-section{max-width:1200px;margin:0 auto;padding:160px 40px 80px}.hero-container{flex-direction:column;align-items:center;gap:40px;max-width:1100px;margin:0 auto;padding-left:5%;display:flex}@media (width>=768px){.hero-container{text-align:left;flex-direction:row;justify-content:flex-start;gap:100px}}@media (width<=767px){.hero-text-wrapper{order:1}.hero-image-wrapper{order:2}.hero-container{gap:20px;padding-left:0}.hero-section{padding:140px 40px 80px}.hero-image{text-align:center;aspect-ratio:4/4!important;border-radius:200px!important;width:80%!important;display:inline!important}.hero-image-wrapper{text-align:center}.grid-2-col{grid-template-columns:auto!important}.projects-container{padding:80px 5%!important}.projects-container-white{padding:150px 30px 50px}.work-card{margin-bottom:0!important}.resume-cta-card{text-align:center}.resume-cta-text h2{font-size:1.4rem!important}.resume-cta-text p{font-size:.9rem!important}.resume-cta-content{gap:20px!important}.resume-cta-section{padding:60px 40px!important}.nav-container{height:100px!important}.main-footer{padding:60px 5%!important}.category-badges .badge-pro{font-size:.6em!important}.work-card-content{padding:30px!important}}@media (width<=360px){.category-badges .badge-pro{font-size:.5em!important}}.hero-image-wrapper{flex-shrink:0;width:100%;max-width:300px}.hero-image{aspect-ratio:3/4;object-fit:cover;object-position:50% 10%;border:6px solid var(--white);border-radius:20px;width:100%;display:block;box-shadow:0 15px 35px #00000012}.hero-text-wrapper{flex-direction:column;flex:1;justify-content:center;display:flex}.hero-description{color:var(--forest-green);max-width:520px;margin-top:10px;font-size:1.15rem;line-height:1.6}.hero-title{letter-spacing:-.04em;color:var(--forest-green);max-width:600px;margin:0 0 30px;padding:0;font-size:clamp(3rem,8vw,5rem);font-weight:800;line-height:.9}.highlight{color:var(--chocolate-brown);font-weight:700}.pill-border{color:var(--forest-green);border:1.5px solid var(--forest-green);white-space:nowrap;background-color:#0000;border-radius:100px;justify-content:center;align-items:center;padding:6px 16px;font-size:.8rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.btn-pill:hover{background-color:var(--forest-green);color:var(--white);cursor:pointer}.badge-wrapper{align-self:flex-start;margin-bottom:24px}.featured-projects{max-width:1100px;margin:0 auto;padding:80px 40px 80px 10%}.section-label{text-transform:uppercase;letter-spacing:.2em;margin-bottom:40px;font-size:.75rem;font-weight:800;display:block}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;margin-bottom:60px;display:grid}.project-card{background:var(--white);border-radius:24px;flex-direction:column;justify-content:space-between;padding:30px;scroll-margin-top:100px;transition:transform .3s;display:flex;box-shadow:0 10px 30px #00000008}.project-card:hover{transform:translateY(-5px)}.project-card h3{margin-bottom:12px;font-size:1.5rem}.project-card p{max-width:280px;margin-bottom:20px;font-size:1rem;line-height:1.5}.resume-footer{border-top:1px solid #1a3c341a;justify-content:space-between;align-items:flex-end;max-width:900px;margin:120px auto 80px;padding-top:40px;padding-left:5%;display:flex}.resume-info h2{text-transform:uppercase;letter-spacing:.15em;color:var(--forest-green);opacity:.6;margin-bottom:12px;font-size:.75rem}.resume-info p{color:var(--forest-green);max-width:400px;font-size:1.1rem;font-weight:500;line-height:1.4}.pill-button-dark{color:#fff;background-color:#1a3c34;border-radius:100px;padding:10px 24px;font-size:.85rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-block}.pill-button-dark:hover{transform:translateY(-2px);box-shadow:0 10px 20px #1a3c3426}.projects-section{background-color:#143d2d}.projects-container{background-color:#1a3c34;padding:100px 20%}.projects-container-white{background-color:#fff;padding:150px 100px 50px}.grid-2-col{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:32px;display:grid}.project-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;padding:40px;transition:all .3s;display:flex}.project-card:hover{shadow:0 20px 25px -5px #0000001a;border-color:var(--forest-green)}.tech-tag{color:#475569;text-transform:uppercase;background:#f1f5f9;border-radius:4px;padding:4px 10px;font-size:.7rem;font-weight:700}.resume-cta-block{background:#fff;border:1px solid #e2e8f0;border-radius:24px;justify-content:space-between;align-items:center;max-width:1000px;margin:100px auto;padding:60px;display:flex;box-shadow:0 4px 6px -1px #0000000d}.resume-text h2{color:var(--forest-green);margin-bottom:8px;font-size:1.8rem}.resume-text p{color:#64748b;font-size:1.1rem}.view-btn{background:var(--forest-green);color:#fff;border-radius:12px;padding:16px 32px;font-weight:700;text-decoration:none;transition:transform .2s}.view-btn:hover{transform:scale(1.02)}.hero-overline{text-transform:uppercase;letter-spacing:.2em;color:var(--forest-green);margin-top:32px;margin-bottom:10px;font-size:.85rem;font-weight:700;display:block}.badge-pro{color:var(--forest-green);text-transform:uppercase;background:#1a3c341a;border-radius:4px;margin-bottom:12px;padding:4px 8px;font-size:.65rem;font-weight:800;display:inline-block}.badge-personal{color:#64748b;text-transform:uppercase;background:#f1f5f9;border-radius:4px;margin-bottom:12px;padding:4px 8px;font-size:.65rem;font-weight:800;display:inline-block}.resume-container{background-color:#f4f7f6;flex-direction:column;align-items:center;min-height:100vh;padding:100px 20px;display:flex}.resume-paper{color:#1a3c34;background:#fff;border-radius:4px;width:100%;max-width:750px;padding:50px 60px;font-family:Inter,sans-serif;box-shadow:0 10px 30px #0000000d}.resume-header{text-align:center;border-bottom:2px solid #1a3c34;margin-bottom:25px;padding-bottom:10px}.resume-header h1{text-transform:uppercase;letter-spacing:1px;margin:0;font-size:2.2rem}.subtitle{margin:5px 0;font-size:.95rem;font-weight:700}.contact-bar{margin-top:5px;font-size:.85rem}.section-title{letter-spacing:1px;border-bottom:1px solid #1a3c34;margin:25px 0 15px;padding-bottom:3px;font-size:1.1rem;font-weight:800}.objective{font-size:.95rem;line-height:1.4}.entry{margin-bottom:18px}.entry-head{justify-content:space-between;margin-bottom:2px;font-size:.95rem;display:flex}.entry ul{margin-top:4px;padding-left:20px}.entry li{margin-bottom:3px;font-size:.9rem;line-height:1.4}.skills-list p{margin:4px 0;font-size:.9rem}.resume-actions{justify-content:center;width:100%;max-width:750px;margin-bottom:30px;display:flex}.projects-hero{text-align:center;color:#fff;letter-spacing:.05em;margin-top:100px;margin-bottom:100px}.project-group{margin-bottom:100px}.group-header{color:#fff;border-left:5px solid #fff;margin-bottom:40px;padding-left:20px}.group-header h2{color:#fff;margin-bottom:5px;font-size:1.5rem}.project-card{aspect-ratio:1;background:#fff;border:1px solid #e0e0e0;border-radius:4px;justify-content:center;align-items:center;padding:30px;transition:transform .3s;display:flex;box-shadow:0 4px 15px #0000000d}.project-card:hover{border-color:#1a3c34;transform:translateY(-10px)}.tech-tag{color:#1a3c34;text-transform:uppercase;letter-spacing:1px;margin:10px 0;font-size:.75rem;font-weight:700;display:block}.project-card p{color:#555;font-size:.9rem;line-height:1.5}.text-link{color:#1a3c34;margin-top:15px;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-block}.skills-carousel-wrapper{width:100%;padding:80px 0 10px;overflow:hidden}.skills-swiper .swiper-wrapper{transition-timing-function:linear!important}.skill-item{color:#1a3c34;text-transform:uppercase;letter-spacing:1px;white-space:nowrap;opacity:.8;font-family:Inter,sans-serif;font-size:1.1rem;font-weight:700}.work-card{background:#fff;border-radius:32px;flex-direction:column;margin-bottom:30px;padding:50px;display:flex;overflow:hidden}.work-card:hover{transform:translateY(-10px);box-shadow:0 30px 60px #0000001f}.work-card-title{color:var(--forest-green);margin:15px 0;font-size:1.5rem;font-weight:800}.work-card-desc{color:#5c6d67;font-size:1rem;line-height:1.6}.pill-outline-sm{border:1.5px solid var(--forest-green);color:var(--forest-green);text-transform:uppercase;letter-spacing:.05em;border-radius:100px;padding:5px 14px;font-size:.7rem;font-weight:800}.work-link{color:var(--forest-green);text-transform:uppercase;align-self:flex-start;align-items:center;gap:8px;width:fit-content;font-size:.85rem;font-weight:800;text-decoration:none;display:inline-flex}.work-link span{transition:transform .2s}.badge-pro{color:var(--forest-green);text-transform:uppercase;letter-spacing:.1em;background:#1a3c341a;border-radius:4px;padding:4px 10px;font-size:.65rem;font-weight:800}.nav-link,.work-link,.text-link{text-decoration:none;position:relative}.nav-link:after,.work-link:after,.text-link:after{content:"";background-color:var(--forest-green);width:0;height:2px;transition:width .3s;position:absolute;bottom:-4px;left:0}.nav-link:hover:after,.work-link:hover:after,.text-link:hover:after{width:100%}.work-card{cursor:pointer;transform:none!important}.pill-button-dark:hover{opacity:.9;transform:none}.resume-cta-section{background-color:#f4f7f6;padding:100px 40px}.resume-cta-card{background:#fff;border:1px solid #1a3c341a;border-radius:32px;max-width:1000px;margin:0 auto;padding:60px;box-shadow:0 20px 40px #0000000a}.resume-cta-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:40px;display:flex}.resume-cta-text h2{color:var(--forest-green);letter-spacing:-.02em;margin:15px 0;font-size:2.2rem}.resume-cta-text p{color:#5c6d67;max-width:540px;font-size:1.1rem;line-height:1.6}.resume-cta-action{flex-direction:column;align-items:center;gap:16px;display:flex}.availability-tag{text-transform:uppercase;color:#64748b;align-items:center;gap:8px;font-size:.75rem;font-weight:700;display:flex}.dot{background-color:#22c55e;border-radius:50%;width:8px;height:8px;box-shadow:0 0 10px #22c55e80}.about-carousel-wrapper{width:100%;padding:40px 0;overflow:hidden}.about-photo-swiper .swiper-wrapper{transition-timing-function:linear!important}.about-photo-card{border-radius:20px;width:300px;height:400px;position:relative;overflow:hidden;box-shadow:0 10px 30px #0000001a}.about-photo-card img{object-fit:cover;width:100%;height:100%;display:block}.photo-overlay{background:linear-gradient(#0000 0%,#1a3c3466 40%,#1a3c34e6 100%);align-items:flex-end;padding:40px 25px 25px;display:flex;position:absolute;bottom:0;left:0;right:0}.photo-overlay span{color:#fff;text-transform:uppercase;letter-spacing:.12em;text-shadow:0 2px 4px #0000004d;padding-left:12px;font-family:Inter,sans-serif;font-size:.85rem;font-weight:700;line-height:1.4}.body-text{color:#4a5d59;font-size:1.1rem;font-weight:400;line-height:1.75}.body-text strong{color:var(--forest-green);font-weight:600}.dev-badge{color:#b45309;text-transform:uppercase;letter-spacing:.05em;background:#f59e0b1a;border:1px solid #f59e0b33;border-radius:20px;margin-bottom:12px;padding:4px 12px;font-size:.7rem;font-weight:700;display:inline-block}.work-tech-list{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}@media (width>=1024px){.work-card.has-image{flex-direction:row;align-items:stretch}.work-card.has-image .work-card-content{flex:1}.work-card.has-image .work-card-image{border-left:1px solid #0000000d;flex:1}}.work-card-content{padding:50px}.project-grid{flex-direction:column;gap:40px;max-width:1100px;margin:40px auto 0;display:flex}.work-card.has-image{grid-template-columns:1fr 1.6fr;align-items:stretch;min-height:450px;padding:0;display:grid;overflow:hidden}.work-card-content{flex-direction:column;justify-content:center;display:flex}.work-card-image{background:#f1f5f9;justify-content:center;align-items:center;padding:40px;display:flex;position:relative}.work-card-image img:not(.card-agency-watermark){object-fit:contain;border-radius:10px;width:100%;height:auto;margin-top:20px;box-shadow:0 20px 50px #0000001f}@media (width<=900px){.work-card.has-image{grid-template-columns:1fr}.work-card-image{height:350px;padding:20px}}.status-dot{border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.status-dot.green{background-color:#22c55e;box-shadow:0 0 8px #22c55e}.status-dot.orange{background-color:#f59e0b;animation:2s infinite pulse-orange;box-shadow:0 0 8px #f59e0b}@keyframes pulse-orange{0%{transform:scale(.95);box-shadow:0 0 #f59e0bb3}70%{transform:scale(1);box-shadow:0 0 0 10px #f59e0b00}to{transform:scale(.95);box-shadow:0 0 #f59e0b00}}@keyframes pulse-green{0%{transform:scale(.95);box-shadow:0 0 #22c55eb3}70%{transform:scale(1);box-shadow:0 0 0 10px #22c55e00}to{transform:scale(.95);box-shadow:0 0 #22c55e00}}.badge-pro.dev{color:#f59e0b;text-transform:uppercase;letter-spacing:.05em;background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:100px;align-items:center;padding:6px 12px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-pro.live{color:#16a34a;text-transform:uppercase;letter-spacing:.05em;background:#22c55e1a;border:1px solid #22c55e4d;border-radius:100px;align-items:center;padding:6px 12px;font-size:.75rem;font-weight:600;display:inline-flex}.main-footer{color:#fff;background-color:#142e28;border-top:1px solid #ffffff0d;padding:100px 5% 60px}.footer-container{text-align:center;flex-direction:column;align-items:center;gap:40px;max-width:1200px;margin:0 auto;display:flex}.footer-links{justify-content:center;align-items:center;gap:20px;display:flex}.footer-link{color:#fff;opacity:.8;border-bottom:1px solid #0000;font-size:1rem;font-weight:500;text-decoration:none;transition:opacity .3s}.footer-link:hover{opacity:1;border-bottom:1px solid #fff}.footer-separator{opacity:.2}.footer-legal{flex-direction:column;gap:8px;display:flex}.footer-brand{opacity:.9;letter-spacing:.05em;font-size:.9rem;font-weight:700}.footer-copy{opacity:.5;font-size:.8rem;font-weight:400}.project-links-group{flex-wrap:wrap;gap:20px;margin-top:auto;display:flex}.category-badges{justify-content:center;gap:10px;margin-top:20px;display:flex}.category-badges .badge-pro{letter-spacing:.05em;color:#fffc;background:#ffffff0d;border:1px solid #fff3;border-radius:4px;padding:4px 12px;font-size:.7rem}.card-agency-watermark{z-index:10;opacity:.1;filter:brightness(0);width:auto;height:30px;padding-right:40px;transition:opacity .3s;position:absolute;top:30px;right:20px}.logo-img{width:auto;height:32px;transition:opacity .3s;display:block}.social-links svg{color:#fff;transition:transform .3s}.social-links svg:hover{color:#2a8a54;transform:translateY(-3px)}:root{--swiper-theme-color:#007aff}:host{z-index:1;margin-left:auto;margin-right:auto;display:block;position:relative}.swiper{z-index:1;margin-left:auto;margin-right:auto;padding:0;list-style:none;display:block;position:relative;overflow:hidden}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{z-index:1;width:100%;height:100%;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box;display:flex;position:relative}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate(0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;transition-property:transform;display:block;position:relative}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{scrollbar-width:none;-ms-overflow-style:none;overflow:auto}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;top:0;left:0}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(#0000,#00000080)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(#00000080,#0000)}.swiper-lazy-preloader{z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-top-color:#0000;border-radius:50%;width:42px;height:42px;margin-top:-21px;margin-left:-21px;position:absolute;top:50%;left:50%}:is(.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible) .swiper-lazy-preloader{animation:1s linear infinite swiper-preloader-spin}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
