:root{--accent:#22c55e;--accent-dimmer:#22c55ea8;--accent-dim:#22c55e7c;--danger:#f3232e;--danger-dim:#f36f23a2;--bg:#080808;--bg-2:#0f0f0f;--bg-card:#111111;--bg-card-hover:#161616;--border:#1e1e1e;--border-light:rgba(255,255,255,0.08);--border-accent:var(--accent-dim);--white:#ffffff;--white-dim:rgba(255,255,255,0.9);--gray:#888888;--gray-light:#b0b0b0;--gray-muted:rgba(255,255,255,0.6);--gray-dim:rgba(255,255,255,0.18);--gray-dark:rgba(255,255,255,0.04);--overlay:rgba(26,24,24,0.521);--sh-accent-xs:0 0 8px var(--accent-dim);--accent-dim-4:rgba(163,255,18,0.04);--accent-dim-5:rgba(163,255,18,0.05);--max-w:1260px;--nav-h:70px;--sh1:0 1px 3px rgba(0,0,0,0.06),0 1px 2px var(--accent-dim);--sh2:0 4px 16px rgba(0,0,0,0.08),0 1px 4px var(--accent-dim);--sh3:0 12px 40px rgba(0,0,0,0.14),0 4px 12px var(--accent-dim);--sh-dark:0 20px 60px rgba(0,0,0,0.5);--sh-accent:0 0 16px var(--accent-dim);--sh-accent-sm:0 0 14px var(--accent-dim);--transition:0.35s cubic-bezier(0.4,0,0.2,1);--transition-fast:0.2s ease;--transition-smooth:0.4s cubic-bezier(0.4,0,0.2,1);--si-accent:var(--accent);--si-bg:var(--bg);--si-bg-card:var(--bg-card);--si-border:var(--border);--si-ease:cubic-bezier(0.4,0,0.2,1);--si-transition:0.35s var(--si-ease);--si-ticker-dur:40s;--accent-orange:#ff7a1a;--accent-pink:#ff2d78;--accent-purple:#dc12f7;--accent-yellow:#eaed3a;--accent-blue:#3b82f6;--accent-blue-dim:#2464cabb;--accent-green:#22c55e;--accent-green-dim:#22c55eb0;--font-head:"Outfit",sans-serif;--font-body:"Poppins",sans-serif;--font-mono:"Figtree",sans-serif;--max-w:1320px;--br-none:0;--br-round:50%;--card-gap-sm:6px;--card-gap-md:12px;--card-gap-lg:16px;--gap:4rem;--fs-8:8px;--fs-10:10px;--fs-12:12px;--fs-14:14px;--fs-16:16px;--fs-22:22px;--fs-30:30px;--fs-42:42px;--icon-size:20px;--fw-3:300;--fw-4:400;--fw-5:500;--fw-6:600;--fw-7:700;--fw-8:800;--fw-9:900;--ease-bounce:cubic-bezier(0.34,1.56,0.64,1)}html.theme-light{--bg:#d5dccf;--bg-2:#cbd3c4;--bg-card:#e8eee3;--bg-card-hover:#f2f6ee;--border:#bcc6b4;--border-light:rgba(0,0,0,0.08);--white:#0e140b;--white-dim:rgba(14,20,11,0.85);--gray:#44503c;--gray-light:#2b3626;--gray-muted:rgba(14,20,11,0.62);--gray-dim:rgba(0,0,0,0.14);--gray-dark:rgba(0,0,0,0.04);--accent:#14532d;--accent-dimmer:#14532da8;--accent-dim:#14532d7c;--accent-dim-4:rgba(20,83,45,0.04);--accent-dim-5:rgba(20,83,45,0.05);--sh2:0 4px 16px rgba(17,22,19,0.08),0 1px 4px var(--accent-dim);--overlay:rgba(14,20,11,0.45);--si-bg:var(--bg);--si-bg-card:var(--bg-card);--si-border:var(--border);color-scheme:light}html.theme-light .btn-primary{color:#fff}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:var(--fs-14)}body{background:var(--bg);color:var(--white);font-family:var(--font-body);font-weight:var(--fw-4);line-height:1.65;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}ul{list-style:none}button{cursor:pointer;border:none;background:0 0}button,input,textarea{font-family:inherit}html.theme-light body{background:var(--bg);color:var(--white)}html.theme-light ::-webkit-scrollbar-track{background:var(--bg-2)}html.theme-light ::-webkit-scrollbar-thumb{background:var(--border)}html.theme-light .navbar{background:rgba(245,245,245,.92)}html.theme-light .navbar.scrolled{background:rgba(245,245,245,.97);box-shadow:0 1px 0 var(--border)}html.theme-light #preloader,html.theme-light .mobile-menu{background:var(--bg)}::selection,html.theme-light ::selection{background:var(--accent);color:var(--bg)}:where(.si-btn-primary,.nav-cta,.ht-btn-primary,.hv2-available-icon,.pdh-btn-primary,.faq-cta-btn,.faq-item.is-open,.footer-cta-button,.back-top,.cf-submit,.pg-overlay-icon,.custom-fs-btn.active,.custom-cr-btn.active,.cf-pill.active,.cf-step.is-filled .cf-step-badge) ::selection,:where(.si-btn-primary,.nav-cta,.ht-btn-primary,.hv2-available-icon,.pdh-btn-primary,.faq-cta-btn,.faq-item.is-open,.footer-cta-button,.back-top,.cf-submit,.pg-overlay-icon,.custom-fs-btn.active,.custom-cr-btn.active,.cf-pill.active,.cf-step.is-filled .cf-step-badge)::selection{background:var(--bg);color:var(--accent)}html.theme-light #projects .ph-card,html.theme-light .belief-card,html.theme-light .blog-card,html.theme-light .cert-item,html.theme-light .ci-card,html.theme-light .edu-card,html.theme-light .form-input,html.theme-light .form-textarea,html.theme-light .other-skill-card,html.theme-light .pg-card,html.theme-light .si-ticker-item,html.theme-light .testi-card,html.theme-light .testimonial-card,html.theme-light .tool-item,html.theme-light .value-card{background:var(--bg-card);border-color:var(--border)}html.theme-light .si-ticker-label{color:var(--gray)}html.theme-light .si-ticker-item:hover .si-ticker-label{color:var(--white)}html.theme-light footer{background:var(--bg-2);border-top:1px solid var(--border)}html.theme-light .section-num{color:var(--bg)}html.theme-light .proj-tag,html.theme-light html,html.theme-light html.theme-light .tag{transition:background-color .3s ease,color .3s ease}#projects .ph-card,.belief-card,.blog-card,.cert-item,.ci-card,.edu-card,.form-input,.form-textarea,.navbar,.other-skill-card,.pg-card,.si-ticker-item,.testi-card,.testimonial-card,.tool-item,.value-card,body,footer{transition:background-color .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--white);border-radius:var(--br-none)}::-webkit-scrollbar-thumb:hover{background:var(--accent)}.about-hero-heading,.exp-hero-heading,.hero-headline,.projects-hero-heading,.section-title,.skills-hero-heading,.testi-hero-heading,h1,h2,h3,h4,h5,h6{word-break:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}#about,#blogs,#contact,#experience,#faqs,#price-tag,#projects,#skills,#testimonials{padding-top:clamp(3rem,7vw,5rem);padding-bottom:clamp(3rem,7vw,5rem)}#projects{background:var(--bg-2)}.about-hero-visual,.exp-hero-visual,.hero-visual,.skills-hero-visual{overflow:hidden;min-width:0}.testi-hero-right{min-width:0;overflow:visible}.hero-visual.projects-visuals{overflow:visible}.about-img-frame,.exp-img-wrap,.hero-img-wrap,.projects-mockup-stage,.skills-img-wrap{max-width:calc(100vw - 2rem)}.exp-name-card{right:-8px}.si-ticker-section,.ticker-section,.tools-ticker-section{overflow:hidden}.beliefs-section,.clients-section,.contact-main,.edu-certs-section,.exp-work,.journey-section,.section,.skills-section,.testi-section,footer,section{max-width:100vw;overflow-x:clip}@keyframes load{to{left:0}}@keyframes htv2-fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pgIconSpin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes ht-spin-slow{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(1turn)}}@keyframes ht-spin-slow-reverse{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(-1turn)}}@keyframes ht-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes ht-orbit-float-1{0%,to{transform:translate(0)}50%{transform:translate(-6px,-10px)}}@keyframes ht-orbit-float-2{0%,to{transform:translate(0)}50%{transform:translate(6px,-8px)}}@keyframes ht-orbit-float-3{0%,to{transform:translate(0)}50%{transform:translate(-8px,8px)}}@keyframes lfPulseRing{0%{transform:translateX(-50%) scale(.6);opacity:.8}to{transform:translateX(-50%) scale(2.2);opacity:0}}@keyframes ht-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes ht-spin-fast{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes ht-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes blobFloat{0%{transform:translate(0) scale(1)}to{transform:translate(20px,30px) scale(1.1)}}@keyframes bgShift{0%{background-position:0 0}to{background-position:36px 36px}}@keyframes bracketPulse{0%,to{opacity:.12;width:60px;height:60px}50%{opacity:.28;width:70px;height:70px}}@keyframes symDrift{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-110vh) rotate(1turn);opacity:0}}@keyframes scanDown{0%{top:-2px;opacity:0}5%{opacity:1}95%{opacity:1}to{top:100%;opacity:0}}@keyframes pathDash{to{stroke-dashoffset:-120}}@keyframes fgeoFloat{0%{transform:translateY(0) scale(1);opacity:.6}to{transform:translateY(-14px) scale(1.06);opacity:.85}}@keyframes fgeoSpin{0%{transform:rotate(0);opacity:.55}50%{opacity:.85}to{transform:rotate(1turn);opacity:.55}}@keyframes fgeoPulse{0%{opacity:.35}to{opacity:.75}}@keyframes scrollDot{0%{opacity:1;top:6px}60%{opacity:0;top:16px}to{opacity:0;top:6px}}@keyframes siRipple{0%{width:6px;height:6px;opacity:1;border-width:1.5px}40%{opacity:.7;border-width:1px}to{width:64px;height:64px;opacity:0;border-width:.5px}}@keyframes siBurst{0%{transform:translate(-50%,-50%) translate(0) scale(1);opacity:1}60%{opacity:.8}to{transform:translate(-50%,-50%) translate(var(--tx),var(--ty)) scale(.3);opacity:0}}@keyframes siGlowPop{0%{transform:translate(-50%,-50%) scale(.3);opacity:.9}50%{transform:translate(-50%,-50%) scale(1.2);opacity:.5}to{transform:translate(-50%,-50%) scale(2);opacity:0}}@keyframes ch-orbit-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes ch-orbit-spin-rev{0%{transform:rotate(0)}to{transform:rotate(-1turn)}}@keyframes ch-node-pulse{0%,to{box-shadow:0 0 0 0 var(--accent)}50%{box-shadow:0 0 0 10px var(--bg-card-hover)}}@keyframes ch-ring-pulse{0%{transform:scale(.8);opacity:.9}to{transform:scale(2.4);opacity:0}}@keyframes ch-float-y{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes ch-float-y-sm{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(-2deg)}}@keyframes ch-twinkle{0%,to{opacity:var(--tw-op,.6)}50%{opacity:.1}}@keyframes ch-dash-flow{to{stroke-dashoffset:-60}}@keyframes ch-arrow-draw{0%{stroke-dashoffset:40}to{stroke-dashoffset:0}}@keyframes ch-fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes ch-bar-fill{0%{width:0}to{width:var(--fill,80%)}}@keyframes sh-core-pulse{0%,to{box-shadow:0 0 40px 8px var(--accent-dimmer),0 0 90px 20px var(--accent-dim)}50%{box-shadow:0 0 55px 14px var(--accent-dimmer),0 0 120px 30px var(--accent-dim)}}@keyframes sh-node-orbit-a{0%,to{transform:translate(0)}50%{transform:translate(4px,-8px)}}@keyframes sh-node-orbit-b{0%,to{transform:translate(0)}50%{transform:translate(-6px,6px)}}@keyframes sh-particle-drift{0%,to{transform:translate(0);opacity:var(--p-op,.6)}50%{transform:translate(var(--p-dx,4px),var(--p-dy,-6px));opacity:1}}@keyframes sh-fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes sh-dash-flow{to{stroke-dashoffset:-80}}#pd2-screenshots-swiper .pd2-screenshot-thumb,#pfPerPage,#projects .ph-card,#skills .section-label:before,#skills .skill-cat-icon,.abt2-availability,.abt2-card,.abt2-card-icon,.author-avatar,.back-top,.belief-card,.brand-rule,.btn,.cert-icon,.cert-item,.cf-checkbox-box,.cf-pill,.cf-step-badge,.cf-submit,.ch-float,.ch-globe-canvas,.ch-info-card,.ch-info-icon,.ch-node,.ch-node-dot,.ch-node-ring,.ch-particles span,.ch-pill,.ch-pill-dot,.ch-response-icon,.ci-card,.ci-card-icon,.ci-social-btn,.client-logo-icon,.code-icon,.contact-detail-icon,.dot,.edu-card,.edu-icon-wrap,.edu-underline,.exp-btn-story-icon,.exp-cta-strip,.exp-cta-strip-icon,.exp-download-cv,.exp-filter-btn,.exp-hero-stat,.exp-milestone,.exp-tech-chip,.exp-work-eyebrow:after,.fgeo-bar,.fgeo-circle-outline,.fgeo-circle-solid,.fgeo-dot,.footer-contact-icon,.footer-contact-item,.footer-cta-button,.footer-cta-card,.footer-cta-icon,.hero-glow-blob,.hero-label:before,.ht-avatar-more,.ht-badge,.ht-btn,.ht-dot-accent,.ht-plus-badge,.ht-spinner-dot,.ht-spinner-orbit,.ht-testi-card,.ht-testi-card:before,.ht-testi-dots button,.ht-testi-dots button.active,.ht-trust-badge,.htv2-code-card,.htv2-skill-tag,.htv2-social-btn,.jt-dot,.learning-card,.learning-card-icon,.lf-marker-dot,.lf-marker-dot:after,.lf-marker-label,.lf-marker-pulse,.logo-box,.metric-icon,.nav-cta,.nav-link.active:before,.nav-pro-btn,.orbit-dot,.other-skill-card,.other-skill-icon,.pd2-feature-card,.pd2-feature-icon,.pd2-proj-nav-arrow,.pd2-proj-nav-center,.pd2-proj-nav-grid-dot,.pd2-proj-nav-thumb,.pd2-tech-card,.pd2-tech-card-icon,.pd2-tl-dot,.pdh-btn-outline,.pdh-btn-primary,.pdh-cat,.pf-check-box,.pf-dropdown-btn,.pf-kbd,.pf-more-filters,.pf-panel,.pf-reset-btn,.pf-search,.pf-tech-bar-fill,.pf-tech-bar-row,.pf-tech-bar-track,.pf-view-all-tech,.pg-card,.pg-grid--masonry .pg-card,.pg-icon-btn,.pg-num,.pg-overlay-icon,.pg-page-arrow,.pg-page-num,.pg-sort-dropdown,.pg-sort-select,.pg-tag,.pg-view-btn,.pg-view-toggle,.pro-paginations .pro-dot,.proj-card,.proj-screen,.project-tag,.scroll-cue .mouse,.scroll-cue .mouse:after,.skill-category,.skill-item,.skills-hero-label:before,.social-icon,.social-link,.stat-icon,.stat-item,.tech-pill-dot,.tech-tags span,.testi-card,.testi-card-avatar,.testimonial-card,.trv-filter-bar,.trv-footer-badge-icon,.trv-grid,.trv-grid[data-view=masonry] .testi-card,.trv-metric-card,.trv-metric-icon,.trv-more-icon,.trv-pager-btn,.trv-pager-page,.trv-search-input,.trv-search-kbd,.trv-select,.trv-service-tag,.trv-view-toggle,.value-card{border-radius:var(--br-none)}#pd2-screenshots-swiper .pd2-zoom-hint,#preloader,#skills .ring-label,#skills .skill-cat-icon,.abt2-avatar-more,.abt2-card-icon,.abt2-visual,.author-avatar,.back-top,.card-stack,.cert-icon,.cf-step-badge,.cf-submit,.ch-globe-stage,.ch-info-icon,.ch-response-icon,.ch-theme-toggle,.ci-card-icon,.ci-social-btn,.client-logo-icon,.contact-detail-icon,.edu-icon-wrap,.exp-cta-strip-icon,.exp-highlight-icon,.exp-tech-chip,.footer-contact-icon,.footer-cta-icon,.ht-avatar-more,.ht-avatar-stack .ht-avatar-initials,.ht-avatar-stack img,.ht-node-avatar,.ht-node-icon,.ht-orbit-stage,.ht-plus-badge,.ht-right,.ht-testi-author .ht-testi-avatar,.ht-testi-author img,.learning-card-icon,.logo-box,.metric-icon,.mobile-menu,.nav-pro-btn,.other-skill-icon,.pd2-feature-icon,.pd2-lightbox,.pd2-lightbox-close,.pd2-lightbox-nav,.pd2-lightbox-swiper .swiper-slide,.pd2-metric-icon,.pd2-proj-nav-arrow,.pd2-proj-nav-thumb,.pd2-proj-nav-thumb-inner,.pd2-screenshot-thumb,.pd2-tech-card-icon,.pd2-tl-dot,.pd2-tl-icon-wrap,.pf-reset-btn,.pg-icon-btn,.pg-overlay,.pg-overlay-icon,.pg-page-arrow,.pg-page-num,.project-overlay,.project-overlay-icon,.project-thumb,.sh-core,.sh-node-circle,.sh-stage,.sh-visual,.social-icon,.social-link,.stat-icon,.testi-card-avatar,.testi-nav-btn,.tool-icon,.trv-footer-badge-icon,.trv-footer-badges,.trv-metric-icon,.trv-more-card,.trv-more-icon,.trv-pager-btn,.trv-pager-page{display:flex;align-items:center;justify-content:center;font-size:var(--icon-size)}#skills .skill-item,.bottom-left,.cert-item,.cf-secure,.ci-connect-heading,.client-logo-item,.contact-detail,.cta-contact-row,.cta-eyebrow,.exp-cta-strip-left,.exp-hero-label,.exp-highlight-item,.exp-milestone-top,.footer-col-heading,.hero-label,.ht-avatar-row,.ht-avatar-stack,.ht-orbit-node,.ht-testi-author,.lf-popup-loc,.metric-item,.nav-cta,.nav-logo,.nav-menu,.nav-right-btns,.page-side-link,.pd2-label,.pd2-metric-item,.pd2-oc-label,.pd2-proj-nav-center,.pd2-proj-nav-side,.pd2-tech-card,.pdh-meta-item,.pf-check,.pf-clear-all,.pf-dropdown-btn,.pf-more-filters,.pf-quicklink,.pf-search,.pg-pagination-controls,.pg-pagination-show,.pg-sort-dropdown,.pg-toolbar-left,.pg-view-btn,.pro-paginations,.scroll-cue,.sh-node,.skill-cat-head,.skills-hero-label,.testi-card-author,.testimonial-author,.tool-item,.trv-footer-badge,.trv-metric-card,.trv-pager,.trv-perpage-wrap,.trv-results-count,.trv-sort-wrap,.trv-view-btn{display:flex;align-items:center;gap:var(--card-gap-md)}.exp-hero-cta-row,.pf-topbar,.pg-pagination,.pg-toolbar,.pg-toolbar-right,.trv-filter-row,.trv-results-bar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--card-gap-md)}#skills .skill-cat-text,.cert-list,.cf-consent,.ch-info-card,.ch-response-text,.ci-cards,.contact-details,.cta-right,.exp-hero-stat,.footer-contact-text,.page-side-nav,.pd2-oc-list,.pdh-meta,.pf-group-body,.pf-quicklinks-panel,.pf-tech-bars,.pf-tech-panel,.pg-sidebar,.trv-metric-body{display:flex;flex-direction:column;gap:var(--card-gap-md)}.cf-pills,.exp-filters,.footer-social-list,.hero-btns,.ht-cta-row,.pdh-btns,.pg-tags,.project-tags,.tech-pills,.tech-tags{display:flex;flex-wrap:wrap;gap:var(--card-gap-md)}.cf-pills,.footer-social-list,.pg-tags,.project-tags{gap:var(--card-gap-sm)}.about-grid,.edu-certs-grid,.journey-inner{display:grid;align-items:start;grid-gap:var(--gap);gap:var(--gap);grid-template-columns:1fr 1fr}.pr-5{margin-right:15px}.container{width:min(var(--max-w),100% - 2rem);margin-inline:auto}.section-num{font-family:var(--font-head);font-size:var(--fs-42);color:var(--border);line-height:1;display:block}.section-wrap{position:relative}.reveal{opacity:0;transform:translateY(40px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transform:translateX(-40px);transition:opacity .7s ease,transform .7s ease}.reveal-left.visible,.reveal-right.visible{opacity:1;transform:translateX(0)}.reveal-right{opacity:0;transform:translateX(40px);transition:opacity .7s ease,transform .7s ease}.accent-tag{display:inline-flex;align-items:center;gap:var(--card-gap-md);font-family:var(--font-mono);font-size:var(--fs-12);color:var(--accent);letter-spacing:.15em;text-transform:uppercase;margin-bottom:1rem}.accent-tag:before{content:"";display:block;width:10px;height:10px;background:var(--accent)}.icon{display:flex;align-items:center;justify-content:center}.icon img.pa-site-icon-img,[data-icon] img.pa-site-icon-img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;display:block}.btn{display:inline-flex;align-items:center;gap:var(--card-gap-md);padding:.75rem 1.75rem;font-family:var(--font-mono);font-size:var(--fs-14);font-weight:var(--fw-7);letter-spacing:.1em;text-transform:uppercase;transition:var(--transition);position:relative;overflow:hidden}.btn:before{content:"";position:absolute;inset:0;transform:scaleX(0);transform-origin:left;transition:transform var(--transition)}.btn:hover:before{transform:scaleX(1)}.si-btn-primary:before{background:var(--gray-dark)}.si-btn-primary:hover{box-shadow:0 8px 24px var(--accent-dim)}.btn-outline{border:1px solid var(--gray-dim);color:var(--white)}.btn-outline:before{background:var(--gray-dark)}.btn-load-more:hover,.btn-outline:hover,.pdh-btn-outline:hover,.tech-pill:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.btn svg,.ht-btn svg{flex-shrink:0;transition:transform var(--transition)}.btn:hover svg{transform:translateX(3px)}#preloader{position:fixed;inset:0;background:var(--bg);z-index:9999;flex-direction:column;gap:var(--card-gap-lg);transition:opacity .6s ease,visibility .6s ease}#preloader.hidden{opacity:0;visibility:hidden}.preloader-logo{font-family:var(--font-head);font-size:var(--fs-42);color:var(--accent);letter-spacing:.1em;animation:pulse 1.2s ease-in-out infinite}.preloader-bar{width:200px;height:2px;background:var(--border);position:relative;overflow:hidden}.preloader-bar:after{content:"";position:absolute;left:-100%;top:0;width:100%;height:100%;background:var(--accent);animation:load 1.4s ease forwards}.navbar{position:fixed;top:0;left:0;right:0;height:var(--nav-h);z-index:1000;transition:background var(--transition),box-shadow var(--transition)}.navbar.scrolled{background:var(--si-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 1px 0 var(--border)}.navbar .container{height:var(--nav-h)}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:100%}.logo-box{width:40px;height:40px;background:var(--accent);font-family:var(--font-body);font-size:var(--fs-14);font-weight:var(--fw-5);color:var(--bg);letter-spacing:.05em;flex-shrink:0}.logo-text{display:flex;flex-direction:column;gap:var(--card-gap-sm);line-height:1.1}.logo-name{font-family:var(--font-head);font-size:var(--fs-14);letter-spacing:.08em;color:var(--white)}.logo-role{font-size:var(--fs-10);color:var(--gray);letter-spacing:.12em}.logo-role,.nav-link{font-family:var(--font-mono);text-transform:uppercase}.nav-link{font-size:var(--fs-12);color:var(--white);letter-spacing:.1em;padding:.4rem .75rem;transition:color var(--transition);position:relative}.nav-link:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translateX(-50%) scaleX(0);width:40%;height:2px;background:var(--accent-dim);transition:transform var(--transition)}.nav-link.active,.nav-link:hover{color:var(--accent)}.nav-link.active:after,.nav-link:hover:after{transform:translateX(-50%) scaleX(1)}.nav-link.active:before{content:"";position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);width:5px;height:5px;background:var(--accent);transition:transform var(--transition)}.nav-right-btns .btn{padding:0;height:40px;width:40px;display:flex;align-items:center;justify-content:center;font-size:var(--fs-22)}.nav-cta{background:var(--accent);color:var(--bg);font-family:var(--font-mono);font-size:var(--fs-12);font-weight:var(--fw-7);height:40px;padding:.75rem 1rem;width:max-content;letter-spacing:.12em;text-transform:uppercase;transition:var(--transition)}.nav-cta:hover{background:var(--white);transform:translateY(-1px)}#home{min-height:100dvh;padding:calc(var(--nav-h) + 15px) 0;display:flex;align-items:center;position:relative;overflow:hidden}.about-hero-bg,.hero-grid-bg,.skills-hero-bg{position:absolute;inset:0;pointer-events:none}.hero-glow{position:absolute;background:radial-gradient(circle,var(--accent-dim) 0,transparent 70%);top:-100px;right:0;pointer-events:none}.hero-inner{display:grid;grid-template-columns:1fr 1.5fr;align-items:center;grid-gap:var(--gap);gap:var(--gap);padding:2rem 0;position:relative;z-index:1}.exp-hero-label,.hero-label,.skills-hero-label{font-family:var(--font-mono);font-size:var(--fs-12);color:var(--accent);letter-spacing:.2em;text-transform:uppercase;margin-bottom:1.25rem}.hero-headline{font-family:var(--font-head);font-size:clamp(4rem,5vw,6rem);line-height:.92;letter-spacing:.02em;text-transform:uppercase;margin-bottom:1rem}.about-heading strong,.abt2-heading .line-accent,.hero-headline .line-accent{color:var(--accent);display:block}.abt2-heading .line-white,.hero-headline .line-white{color:var(--white);display:block}.hero-btns{margin-bottom:3rem}.hero-label{font-family:var(--font-mono);font-size:var(--fs-12);color:var(--accent);letter-spacing:.2em;text-transform:uppercase;margin-bottom:1.25rem;display:flex;align-items:center;gap:var(--card-gap-md)}.hero-label:before{content:"";display:inline-block;width:10px;height:10px;background:var(--accent);border-radius:var(--br-none);animation:blink 2s ease-in-out infinite}.hero-sub{color:var(--gray-light);font-size:var(--fs-14);max-width:440px;margin-bottom:1.25rem;line-height:1.75}.hero-v2{position:relative;overflow:hidden;padding:clamp(2.5rem,6vw,5rem) 0;background:var(--bg);isolation:isolate}.hero-v2-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr 1.1fr 1fr;grid-gap:var(--gap);gap:var(--gap);align-items:center}.hv2-intro{min-width:0}.hv2-eyebrow{margin:1.5rem 0}.hv2-ctas{display:flex;gap:var(--card-gap-md);flex-wrap:wrap;margin-bottom:1.5rem}.hv2-ctas,.si-btn{align-items:center}.si-btn{display:inline-flex;gap:var(--fs-8);padding:.75rem 1.6rem;border-radius:var(--br-none);font-family:var(--font-body);font-size:var(--fs-14);font-weight:var(--fw-6);transition:var(--transition);white-space:nowrap}.si-btn svg{transition:transform var(--transition);flex-shrink:0}.si-btn:hover svg{transform:translateX(3px)}.si-btn-primary{background:var(--accent);color:var(--bg);box-shadow:0 8px 24px var(--accent-dim)}.si-btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 32px var(--accent-dim)}.si-btn-outline{border:1px solid var(--gray-dim);color:var(--white);background:transparent}.si-btn-outline:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.hv2-stats{display:flex;gap:var(--card-gap-md);flex-wrap:wrap;padding-top:1rem;border-top:1px solid var(--border)}.hv2-stat{display:flex;align-items:center;gap:var(--fs-10);background:var(--bg-card);padding:10px 15px;border-radius:var(--br-none);border:1px solid var(--border);transition:var(--transition-smooth)}.hv2-stat:hover{box-shadow:0 8px 20px var(--overlay)}.hv2-stat-icon{display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0;background:var(--bg-2);font-size:var(--icon-size);width:35px;height:35px;border-radius:var(--br-none)}.hv2-dir{display:flex;flex-direction:column;gap:var(--card-gap-sm)}.hv2-stat-num{font-family:var(--font-head);font-size:var(--icon-size);font-weight:var(--fw-7);color:var(--white);line-height:1.1}.hv2-stat-label{font-family:var(--font-body);font-size:var(--fs-12);color:var(--gray);line-height:1.2}.hv2-visual{position:relative;display:flex;align-items:center;justify-content:center;min-width:0}.hv2-portrait-wrap{position:relative;width:100%;max-width:440px;aspect-ratio:4/5}.hv2-glow{position:absolute;inset:-10%;z-index:0;background:radial-gradient(circle at 50% 42%,var(--accent-dim) 0,var(--accent-dim) 25%,transparent 72%);border-radius:var(--br-none);filter:blur(10px);pointer-events:none}.hv2-portrait{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;object-position:top center;-webkit-mask-image:linear-gradient(to bottom,var(--bg) 82%,transparent 100%);mask-image:linear-gradient(to bottom,var(--bg) 82%,transparent 100%)}.nh-monogram-svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:140%;max-width:820px;height:100%;z-index:0;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;perspective:1200px}.nh-monogram-svg text{font-family:var(--font-body);font-size:var(--fs-42);font-weight:var(--fw-8)}.nh-monogram-fill{fill:var(--accent-dim)}.nh-monogram-stroke{fill:none;stroke:var(--accent);stroke-width:1.6;stroke-dasharray:1400;stroke-dashoffset:1400;opacity:.2;animation:nh-monogram-draw 15s ease-in-out infinite}@keyframes nh-monogram-draw{0%{stroke-dashoffset:1400;opacity:0}8%{opacity:.25}45%{stroke-dashoffset:0;opacity:.25}70%{stroke-dashoffset:0;opacity:.3}92%{opacity:.25}to{stroke-dashoffset:-1400;opacity:0}}.nh-mono-i,.nh-mono-s{transform-box:view-box;transform-origin:center;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:transform,opacity;opacity:0}.nh-mono-s{animation:nh-mono-emerge-s 3.2s ease forwards;animation-delay:.3s}.nh-mono-i{animation:nh-mono-emerge-i 3.2s ease forwards;animation-delay:.3s}@keyframes nh-mono-emerge-s{0%{opacity:0;transform:translate3d(0,30px,-420px) rotateY(20deg) scale(.4)}50%{opacity:1;transform:translate3d(-85px,-12px,-180px) rotateY(10deg) scale(.72)}to{opacity:.9;transform:translateZ(0) rotateY(0deg) scale(1)}}@keyframes nh-mono-emerge-i{0%{opacity:0;transform:translate3d(0,30px,-420px) rotateY(-20deg) scale(.4)}50%{opacity:1;transform:translate3d(90px,-12px,-180px) rotateY(-10deg) scale(.72)}to{opacity:.9;transform:translateZ(0) rotateY(0deg) scale(1)}}.hv2-terminal{position:absolute;left:20%;bottom:-5%;z-index:2;width:max-content;border-radius:var(--br-none);border:1px solid var(--border-light);background:var(--bg-card);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);box-shadow:var(--sh-dark);padding:.9rem 1rem 1.1rem;animation:float 5s ease-in-out infinite}.hv2-terminal-dots{display:flex;gap:var(--card-gap-sm);margin-bottom:.7rem}.hv2-terminal-dots span{width:9px;height:9px;border-radius:var(--br-none);display:inline-block}.hv2-terminal-dots span:first-child{background:var(--danger)}.hv2-terminal-dots span:nth-child(2){background:var(--accent-yellow)}.hv2-terminal-dots span:nth-child(3){background:var(--accent-green)}.hv2-terminal-code-flex{font-family:var(--font-mono);font-size:var(--fs-12);line-height:1.65;overflow-x:auto;display:flex;flex-direction:column}.hv2-terminal-code-flex div{white-space:pre}.hv2-terminal-code-flex div .ln{display:inline-block;width:1.1rem;color:var(--gray)!important;-webkit-user-select:none;-moz-user-select:none;user-select:none}.hv2-tk-comment{color:var(--gray)}.hv2-tk-key,.hv2-tk-str{color:var(--accent)}.hv2-tk-punct{color:var(--white-dim)}.hv2-tk-var{color:var(--accent-blue)}.hv2-side{display:flex;flex-direction:column;gap:var(--fs-22);min-width:0}.hv2-services-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--card-gap-md);gap:var(--card-gap-md)}.hv2-service-card{display:flex;align-items:center;gap:var(--fs-10);padding:.35rem .5rem;border-radius:var(--br-none);background:var(--bg-card);border:1px solid var(--border);transition:var(--transition-smooth)}.hv2-service-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 20px var(--overlay)}.hv2-service-card.span-2{grid-column:span 2}.hv2-service-icon{flex-shrink:0;width:34px;height:34px;font-size:var(--icon-size);display:flex;align-items:center;justify-content:center;border-radius:var(--br-none);background:var(--bg-2);color:var(--accent)}.hv2-service-icon svg{width:20px;height:20px}.hv2-service-title{font-family:var(--font-body);font-weight:var(--fw-6);font-size:var(--fs-12);color:var(--white);margin-bottom:.15rem}.hv2-available{display:flex;align-items:center;gap:var(--card-gap-lg);padding:.5rem .7rem;border-radius:var(--br-none);border:1px solid var(--border-light);background:var(--bg-card);transition:var(--transition)}.hv2-available:hover{border-color:var(--accent)}.hv2-available-icon{flex-shrink:0;width:52px;height:52px;font-size:var(--fs-22);border-radius:var(--br-none);display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--white);box-shadow:0 0 20px var(--accent-dim)}.hv2-available-title{font-family:var(--font-body);font-weight:var(--fw-6);font-size:var(--fs-14);color:var(--white);line-height:1;margin-bottom:.2rem}.hv2-available-sub{color:var(--gray);margin-bottom:.4rem;line-height:1.4}.hv2-available-link,.hv2-available-sub{font-family:var(--font-body);font-size:var(--fs-12);line-height:1}.hv2-available-link{display:inline-flex;align-items:center;gap:var(--card-gap-sm);font-weight:var(--fw-6);color:var(--accent);transition:var(--transition)}.hv2-available-link svg{transition:transform var(--transition)}.hv2-available:hover .hv2-available-link svg{transform:translateX(3px)}.hv2-social-label{font-family:var(--font-mono);font-size:var(--fs-10);letter-spacing:.08em;text-transform:uppercase;color:var(--gray);display:flex;align-items:center;gap:var(--fs-8);margin-bottom:.85rem}.hv2-social-label:before{content:"";width:6px;height:6px;border-radius:var(--br-none);background:var(--accent)}.hv2-social-row{display:flex;gap:var(--fs-10)}.hv2-social-row .social-icon{background:var(--bg-card);font-size:var(--icon-size)}.hv2-social-btn:hover{border-color:var(--accent-orange);color:var(--accent-orange);transform:translateY(-2px)}.about-section.exp-highlights-sec{border-top:1px solid var(--border);background:var(--bg-2)}.tech-pills{flex-wrap:wrap}.tech-pill,.tech-pills{display:flex;gap:var(--card-gap-md)}.tech-pill{align-items:center}.tech-pill:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.tech-pill-dot{border-radius:var(--br-none)}.htv2-social-btn:hover,.social-link:hover{background:var(--accent);color:var(--bg);border-color:var(--accent);transform:translateY(-3px)}.tech-pill{background:var(--bg-card);border:1px solid var(--border);padding:.3rem .75rem;font-family:var(--font-mono);font-size:var(--fs-12);color:var(--gray-light);transition:var(--transition)}.tech-pill-dot{width:6px;height:6px;background:var(--accent)}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;cursor:pointer;object-position:top center;-webkit-clip-path:polygon(0 0,100% 0,100% 85%,85% 100%,0 100%);clip-path:polygon(0 0,100% 0,100% 85%,85% 100%,0 100%);transition:filter var(--transition),transform var(--transition)}.pd2-screenshot-thumb .hero-img:hover{transform:scale(1.2)}.project-image-wrp .hero-img{-webkit-clip-path:none;clip-path:none}.projects-hero-grid{display:grid;grid-template-columns:1fr 1.15fr;grid-gap:var(--gap);gap:var(--gap);align-items:center;width:min(var(--max-w),100% - 3rem);margin-inline:auto}.about-hero-heading{font-family:var(--font-head);font-size:clamp(3rem,4vw,4rem);line-height:.92;text-transform:uppercase;letter-spacing:.02em;margin-bottom:1.5rem}.about-hero-heading .green{color:var(--accent);display:inline}.about-hero-body,.exp-hero-body,.skills-hero-body{color:var(--gray-light);font-size:var(--icon-size);line-height:1.8;margin-bottom:2rem;max-width:420px}.stats-row{display:grid;grid-template-columns:repeat(4,auto);grid-gap:var(--card-gap-lg);gap:var(--card-gap-lg);margin-bottom:1.4rem}.stat-item{display:flex;align-items:center;gap:var(--card-gap-md)}.stat-icon{width:42px;height:42px;font-size:var(--icon-size);flex-shrink:0;background:var(--bg)}.stat-num{font-family:var(--font-head);font-weight:var(--fw-7);font-size:var(--fs-22);line-height:1.1;color:var(--white)}.stat-label{font-size:var(--fs-12);color:var(--gray);line-height:1.3;white-space:nowrap}.orbit-ring{position:absolute;border:1px solid var(--border);border-radius:var(--br-round)}.orbit-ring.r1{width:420px;height:420px}.orbit-ring.r2{width:550px;height:550px;border-color:var(--accent-dim)}.orbit-dot{position:absolute;box-shadow:0 0 12px 2px currentColor}.card-stack{position:relative;width:100%;height:100%;transform-style:preserve-3d}.proj-card{position:absolute;width:230px;background:linear-gradient(160deg,var(--bg-card),var(--bg));border:1px solid var(--border-light);box-shadow:0 20px 60px var(--bg-card);padding:1.1rem;transition:transform .5s var(--ease-bounce),box-shadow .4s ease;cursor:pointer}.proj-card:first-child{--tx:-165px;--ty:10px;--rz:-9deg;z-index:1}.proj-card:nth-child(2){--tx:0px;--ty:-30px;--rz:0deg;z-index:3;transform:translateY(-30px) rotate(0) scale(1.06);box-shadow:0 30px 80px var(--danger-dim) 0 20px 60px var(--overlay)}.proj-card:nth-child(3){--tx:120px;--ty:15px;--rz:10deg;z-index:2}.proj-screen{width:100%;height:120px;background:linear-gradient(150deg,var(--bg-card),var(--bg));border:1px solid var(--border-light);margin-bottom:.8rem;position:relative;overflow:hidden}.proj-screen img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:transform .5s ease}.tech-tags{margin-bottom:.9rem}.tech-tags span{font-size:var(--fs-10);font-family:var(--font-mono);padding:.25rem .55rem;background:var(--gray-dark);border:1px solid var(--border-light);color:var(--gray-light)}.case-link{display:flex;align-items:center;justify-content:space-between;font-size:var(--fs-12);color:var(--gray-light);font-weight:var(--fw-5)}.scroll-cue{position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);flex-direction:column;color:var(--gray);font-size:var(--fs-12)}.hero-name-card{position:absolute;bottom:15px;right:-10px;background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--accent);padding:1rem 1.25rem;min-width:180px;z-index:2}.hero-name-card h3{font-family:var(--font-head);font-size:var(--fs-22);letter-spacing:.05em;line-height:1;text-transform:uppercase}.hero-name-card p{font-family:var(--font-mono);font-size:var(--fs-10);color:var(--accent);letter-spacing:.15em;text-transform:uppercase;margin-top:.35rem}.geo-tri{position:absolute;width:0;height:0;pointer-events:none}.geo-tri-1{top:30px;right:-20px;border-left:40px solid transparent;border-right:40px solid transparent;border-bottom:70px solid var(--accent-dim)}.geo-tri-2{bottom:80px;left:-30px;border-left:25px solid transparent;border-right:25px solid transparent;border-top:44px solid var(--accent-dim)}#metrics{padding:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-2)}.exp-highlights-grid,.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr)}.metric-item,.pd2-metric-item{padding:2.5rem 2rem;border-right:1px solid var(--border);transition:background var(--transition)}.metric-item:last-child{border-right:none}.metric-item:hover{background:var(--accent-dim)}.metric-icon{width:44px;height:44px;font-size:var(--icon-size);border:1px solid var(--border);color:var(--accent);flex-shrink:0;transition:var(--transition)}.ci-social-btn:hover,.exp-btn-story:hover .exp-btn-story-icon,.metric-item:hover .metric-icon,.pd2-proj-nav-side:hover .pd2-proj-nav-arrow,.pg-page-num.active{background:var(--accent);color:var(--bg);border-color:var(--accent)}.metric-num{font-family:var(--font-head);font-size:var(--fs-42);color:var(--white);letter-spacing:.02em;line-height:1}.metric-num span{color:var(--accent)}.metric-label{font-family:var(--font-mono);font-size:var(--fs-10);color:var(--gray);letter-spacing:.15em;text-transform:uppercase;margin-top:.2rem}#about{padding:4rem 0}.about-heading{font-family:var(--font-head);font-size:clamp(2rem,3vw,4rem);line-height:.95;text-transform:uppercase;letter-spacing:.02em;margin-bottom:1.5rem}.about-body{color:var(--gray-light);margin-bottom:2rem;font-size:var(--fs-14);line-height:1.8}.about-values{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--card-gap-md);gap:var(--card-gap-md)}.value-card{background:var(--bg-card);border:1px solid var(--border);padding:1.5rem;transition:var(--transition);position:relative;overflow:hidden}.belief-card:after,.value-card:before{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform var(--transition)}.testimonial-card:hover,.value-card:hover{border-color:var(--accent-dim);transform:translateY(-4px)}.value-card:hover:before{transform:scaleX(1)}.value-icon{width:40px;height:40px;font-size:var(--fs-30);color:var(--accent);margin-bottom:1rem}.value-icon svg{width:100%;height:100%}.value-title{font-family:var(--font-head);font-size:var(--icon-size);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.5rem}.value-desc{font-size:var(--fs-14);color:var(--gray);line-height:1.6}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:3rem;gap:var(--card-gap-sm);flex-wrap:wrap}.section-label{font-family:var(--font-mono);font-size:var(--fs-12);color:var(--accent);letter-spacing:.2em;text-transform:uppercase;margin-bottom:.5rem}.section-title{font-family:var(--font-head);font-size:clamp(4rem,4vw,6rem);text-transform:uppercase;letter-spacing:.03em;line-height:.95}.section-desc{color:var(--gray);font-size:var(--fs-14);max-width:560px;line-height:1.7}.cta-banner{padding:6rem 0;background:var(--bg);border-top:1px solid var(--border);overflow:hidden}.cta-banner:before{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}.cta-banner:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:300px;background:radial-gradient(ellipse,var(--accent-dim) 0,transparent 70%);pointer-events:none}.cta-geo{width:220px;height:220px;pointer-events:none;opacity:.15}.cta-geo,.cta-geo:before{position:absolute;bottom:0;right:0}.cta-geo:before{content:"";width:0;height:0;border-left:220px solid transparent;border-bottom:220px solid var(--accent)}.cta-geo:after{content:"";position:absolute;bottom:22px;right:22px;width:0;height:0;border-left:130px solid transparent;border-bottom:130px solid var(--bg-2)}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--gap);flex-wrap:wrap;position:relative;z-index:2}.cta-heading{font-family:var(--font-head);font-size:clamp(4rem,5vw,6rem);text-transform:uppercase;letter-spacing:.02em;line-height:.95;margin-bottom:1rem;font-weight:var(--fw-9)}.cta-heading .accent{color:var(--accent);text-shadow:0 0 40px var(--accent-dim)}.cta-sub{font-size:var(--fs-14);color:var(--gray);line-height:1.7}.cta-right{align-items:flex-end}.cta-contact-row{font-family:var(--font-mono);font-size:var(--fs-10);color:var(--gray)}.cta-contact-row svg{color:var(--accent)}.cta-banner{position:relative}.cta-sphere-wrap{position:absolute;right:0;top:50%;transform:translateY(-50%);width:500px;height:400px;pointer-events:none;overflow:hidden;z-index:1;-webkit-mask-image:linear-gradient(90deg,transparent,black 30%,black 70%,transparent);mask-image:linear-gradient(90deg,transparent,black 30%,black 70%,transparent)}.cta-sphere-canvas{width:100%;height:100%;opacity:.9}.cta-eyebrow{margin-bottom:1.5rem}.cta-eyebrow-line{width:24px;height:1px;background:var(--accent)}.cta-eyebrow-text{font-family:var(--font-mono);font-size:var(--fs-10);color:var(--gray);letter-spacing:.2em;text-transform:uppercase}.cta-contact-group{display:flex;flex-direction:column;gap:0;min-width:220px}.cta-contact-label{font-family:var(--font-mono);font-size:var(--fs-10);color:var(--accent);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.75rem}.ci-socials,.cta-social-row,.social-links,.testi-nav-btns{display:flex;gap:var(--card-gap-md)}.cta-social-btn{width:34px;height:34px;border:1px solid var(--border);color:var(--gray);transition:var(--transition)}.cta-social-btn:hover,.exp-filter-btn.is-active,.testi-nav-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.pg-card:hover{border-color:var(--accent-dim);transform:translateY(-6px);box-shadow:var(--sh-dark)}.project-details-hero{padding-top:calc(var(--nav-h) + 2.5rem);padding-bottom:5rem;background:var(--bg);position:relative;overflow:hidden;border-bottom:1px solid var(--border)}.pdh-wave-bg{inset:0;opacity:.18}.pdh-glow,.pdh-wave-bg{position:absolute;pointer-events:none;z-index:0}.pdh-glow{top:10%;right:-5%;width:600px;height:600px;background:radial-gradient(ellipse,var(--accent-dim) 0,transparent 70%)}.pdh-inner{display:grid;grid-template-columns:1fr 1.5fr;grid-gap:var(--gap);gap:var(--gap);align-items:center;position:relative;z-index:1}.pdh-breadcrumb{display:inline-flex;align-items:center;gap:var(--card-gap-md);font-family:var(--font-mono);font-size:var(--fs-10);letter-spacing:.15em;text-transform:uppercase;color:var(--gray);margin-bottom:1.75rem;text-decoration:none;transition:color var(--transition)}.pdh-breadcrumb:hover{color:var(--accent)}.pdh-breadcrumb svg{transition:transform var(--transition)}.pdh-breadcrumb:hover svg{transform:translateX(-3px)}.pdh-cat{display:inline-block;font-family:var(--font-mono);font-size:var(--fs-10);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);background:var(--accent-dim);border:1px solid var(--accent);padding:.25rem .75rem;margin-bottom:1.25rem}.pdh-title{font-size:clamp(3.5rem,5vw,6rem);line-height:.9;letter-spacing:.01em;margin-bottom:.3rem}.pdh-subtitle,.pdh-title{font-family:var(--font-head);text-transform:uppercase;color:var(--white)}.pdh-subtitle{font-size:clamp(1.4rem,2.5vw,2.2rem);letter-spacing:.06em;margin-bottom:1.25rem}.pdh-desc{font-size:var(--fs-14);color:var(--gray-light);line-height:1.8;max-width:440px}.pdh-desc,.pdh-meta{margin-bottom:2rem}.pdh-meta-row{display:flex;gap:var(--gap);flex-wrap:wrap}.pdh-meta-item{font-family:var(--font-mono);font-size:var(--fs-12);color:var(--gray);letter-spacing:.06em}.pdh-meta-icon{color:var(--accent);flex-shrink:0;display:flex;align-items:center}.pdh-meta-item strong{color:var(--white);font-weight:var(--fw-5)}.pdh-btn-primary{background:var(--accent);color:var(--bg);border:none}.pdh-btn-outline,.pdh-btn-primary{display:inline-flex;align-items:center;gap:var(--card-gap-md);font-family:var(--font-mono);font-size:var(--fs-12);font-weight:var(--fw-7);letter-spacing:.12em;text-transform:uppercase;padding:.75rem 1.5rem;cursor:pointer;text-decoration:none;transition:var(--transition)}.pdh-btn-outline{background:0 0;color:var(--white);border:1px solid var(--border)}.pdh-mockup{position:relative}.pd2-section{padding:5rem 0;border-top:1px solid var(--border)}.pd2-section-dark{background:var(--bg-2)}.pd2-section-black{background:var(--bg)}.pd2-label{font-family:var(--font-mono);font-size:var(--fs-10);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:.6rem}.pd2-label:before{content:"";display:inline-block;width:8px;height:8px;background:var(--accent);flex-shrink:0}.pd2-heading{font-family:var(--font-head);font-size:clamp(2.5rem,3.5vw,4.5rem);text-transform:uppercase;letter-spacing:.03em;color:var(--white);line-height:1;margin-bottom:.5rem}.pd2-subtext{font-size:var(--fs-14);color:var(--gray);max-width:500px;line-height:1.7;margin-bottom:3rem}.pd2-tech-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:var(--card-gap-md);gap:var(--card-gap-md)}.pd2-tech-card{padding:1.5rem 1rem;flex-direction:column;background:var(--bg-card-hover);border:1px solid var(--border);transition:transform var(--transition),box-shadow var(--transition)}.pd2-tech-card:hover{transform:translateY(-4px);box-shadow:var(--sh-accent-sm)}.pd2-tech-card-name{font-family:var(--font-head);font-size:var(--fs-14);letter-spacing:.06em;text-transform:uppercase;color:var(--white);text-align:center}.pd2-tech-card-sub{font-family:var(--font-mono);font-size:var(--fs-10);color:var(--white);letter-spacing:.08em;text-align:center}.pd2-tech-card-icon{width:48px;height:48px;font-size:var(--icon-size);font-size:var(--fs-42);flex-shrink:0}.pd2-tech-card-icon,.pd2-tech-card-icon .icon{display:flex;align-items:center;justify-content:center}.pd2-tech-card-icon .icon{font-size:var(--icon-size)}.pd2-tech-card-icon .icon svg{width:36px;height:36px}.beliefs-grid,.pd2-features-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--card-gap-sm);gap:var(--card-gap-sm)}.pd2-feature-card{background:var(--bg-card);border:1px solid var(--border);padding:1.4rem 1.25rem;transition:border-color var(--transition),transform var(--transition)}.edu-card:hover,.pd2-feature-card:hover{border-color:var(--accent-dim);transform:translateY(-3px)}.pd2-feature-icon{width:36px;height:36px;font-size:var(--icon-size);background:var(--accent-dim);border:1px solid var(--accent-dim);color:var(--accent);margin-bottom:.85rem;flex-shrink:0}.pd2-feature-title{font-family:var(--font-head);font-size:var(--icon-size);letter-spacing:.06em;text-transform:uppercase;color:var(--white);margin-bottom:.45rem}.pd2-feature-desc{font-size:var(--fs-12);color:var(--gray);line-height:1.65}.pd2-timeline-wrap{position:relative;padding:3rem 0 2rem}.pd2-timeline-track{position:absolute;top:65px;left:0;right:0;height:2px;background:var(--border);z-index:0}.pd2-timeline-fill{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--accent);transform-origin:left}.pd2-timeline-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:0;gap:0;position:relative;z-index:1}.pd2-tl-node{display:flex;flex-direction:column;align-items:center}.pd2-tl-icon-wrap{width:44px;height:44px;background:var(--accent-dim);border:2px solid var(--accent);color:var(--accent);margin-bottom:.75rem;position:relative;z-index:2}.pd2-tl-dot{width:36px;height:36px;background:var(--accent);border:3px solid var(--bg-2);box-shadow:0 0 0 3px var(--accent),0 0 16px var(--accent-dim);font-family:var(--font-mono);font-size:var(--fs-12);color:var(--bg);font-weight:var(--fw-7);margin:0 auto 1.5rem;position:relative;z-index:2}.pd2-tl-content{text-align:center;padding:0 .75rem}.pd2-tl-phase{font-family:var(--font-head);font-size:var(--icon-size);letter-spacing:.05em;text-transform:uppercase;color:var(--white);margin-bottom:.2rem}.pd2-tl-duration{font-family:var(--font-mono);font-size:var(--fs-10);color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.5rem}.other-skill-desc,.pd2-tl-desc{font-size:var(--fs-12);color:var(--gray);line-height:1.6}.pd2-screenshots-wrap{position:relative}.pd2-screenshots-carousel{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--card-gap-md);gap:var(--card-gap-md);overflow:hidden}.pd2-screenshot-thumb{background:var(--bg);border:1px solid var(--border);overflow:hidden;aspect-ratio:16/10;position:relative;transition:border-color var(--transition)}.pd2-screenshot-thumb:hover{border-color:var(--accent)}.pd2-screenshot-inner{width:100%;height:100%;display:flex;flex-direction:column}.pd2-metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:0;gap:0;border:1px solid var(--border)}.pd2-metric-item:last-child{border-right:none}.pd2-metric-item:nth-child(2n){border-right:1px solid var(--border)}.pd2-metric-item:hover{background:var(--accent-dim)}.pd2-metric-icon{width:48px;height:48px;font-size:var(--fs-30);color:var(--accent);flex-shrink:0}.pd2-metric-val{font-family:var(--font-head);font-size:var(--fs-42);letter-spacing:.01em;line-height:1}.pd2-metric-label,.pd2-metric-val{color:var(--accent);margin-bottom:.2rem}.pd2-metric-label{font-family:var(--font-mono);font-size:var(--fs-10);letter-spacing:.12em;text-transform:uppercase}.pd2-metric-desc{font-size:var(--fs-12);color:var(--gray)}.pd2-oc-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:0;gap:0}.pd2-oc-col{padding:4rem 3rem;position:relative;overflow:hidden;min-height:360px}.pd2-oc-col:first-child{background:var(--bg);border-right:1px solid var(--border)}.pd2-oc-col:last-child{background:var(--bg-2)}.pd2-oc-label{font-family:var(--font-mono);font-size:var(--fs-10);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem}.pd2-oc-label:before{content:"";display:inline-block;width:6px;height:6px;background:var(--accent)}.pd2-oc-heading{font-family:var(--font-head);font-size:clamp(2rem,3vw,3.5rem);text-transform:uppercase;letter-spacing:.03em;color:var(--white);margin-bottom:2rem}.pd2-oc-item{display:flex;align-items:flex-start;gap:var(--card-gap-md);font-size:var(--fs-14);color:var(--gray-light);line-height:1.5}.pd2-oc-item-icon{color:var(--accent);flex-shrink:0;margin-top:1px;font-size:var(--icon-size);display:flex;align-items:center}.pd2-oc-geo{position:absolute;bottom:1rem;right:1rem;pointer-events:none;z-index:0;opacity:.15}.pd2-proj-nav{background:var(--bg-card);border-top:1px solid var(--border);padding:2rem 0}.pd2-proj-nav-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:var(--card-gap-md);gap:var(--card-gap-md)}.pd2-proj-nav-side{text-decoration:none;transition:opacity var(--transition);min-width:0}.pd2-proj-nav-side:hover{opacity:.75}.pd2-proj-nav-side.right{flex-direction:row-reverse;text-align:right}.pd2-proj-nav-arrow{width:38px;height:38px;color:var(--white);transition:var(--transition)}.pd2-proj-nav-arrow,.pd2-proj-nav-thumb{border:1px solid var(--border);flex-shrink:0}.pd2-proj-nav-thumb{width:64px;height:44px;background:var(--bg-2);overflow:hidden}.pd2-proj-nav-thumb-inner{width:100%;height:100%;background:var(--bg);font-family:var(--font-mono);font-size:var(--fs-8);color:var(--border);letter-spacing:.05em}.pd2-proj-nav-label{font-family:var(--font-mono);font-size:var(--fs-10);color:var(--gray);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.2rem}.pd2-proj-nav-title{font-family:var(--font-head);font-size:var(--icon-size);letter-spacing:.05em;text-transform:uppercase;color:var(--white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pd2-proj-nav-sub{font-family:var(--font-mono);font-size:var(--fs-10);color:var(--gray);letter-spacing:.08em}.pd2-proj-nav-center{flex-direction:column;cursor:pointer;padding:.5rem 1rem;border:1px solid var(--border);transition:var(--transition);text-decoration:none}.pd2-proj-nav-center:hover{border-color:var(--accent)}.pd2-proj-nav-grid{display:grid;grid-template-columns:repeat(3,5px);grid-gap:var(--card-gap-md);gap:var(--card-gap-md)}.pd2-proj-nav-grid-dot{width:5px;height:5px;background:var(--gray)}.pd2-proj-nav-center:hover .pd2-proj-nav-grid-dot{background:var(--accent)}#pd2-screenshots-swiper .swiper-slide{height:auto}#pd2-screenshots-swiper .pd2-screenshot-thumb{position:relative;height:100%;overflow:hidden;cursor:zoom-in}#pd2-screenshots-swiper .pd2-screenshot-thumb img{width:100%;height:100%;aspect-ratio:16/10;object-fit:cover;display:block;transition:transform .5s ease}#pd2-screenshots-swiper .pd2-screenshot-thumb:hover img{transform:scale(1.04)}#pd2-screenshots-swiper .pd2-screenshot-thumb:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#pd2-screenshots-swiper .pd2-zoom-hint{position:absolute;inset:0;background:var(--overlay);opacity:0;transition:opacity .3s ease,background .3s ease;pointer-events:none}#pd2-screenshots-swiper .pd2-screenshot-thumb:focus-visible .pd2-zoom-hint,#pd2-screenshots-swiper .pd2-screenshot-thumb:hover .pd2-zoom-hint{opacity:1;background:var(--overlay)}#pd2-screenshots-swiper .pd2-zoom-hint svg{width:30px;height:30px;color:var(--white);filter:drop-shadow(0 2px 8px var(--overlay))}html.pd2-lightbox-locked{overflow:hidden}.pd2-lightbox{position:fixed;inset:0;z-index:9999;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease}.pd2-lightbox.is-open{opacity:1;visibility:visible}.pd2-lightbox-backdrop{position:absolute;inset:0;background:var(--bg-card-hover);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.pd2-lightbox-swiper{position:relative;z-index:1;width:min(92vw,1200px);height:min(82vh,760px)}.pd2-lightbox-slide img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:var(--sh2)}.pd2-lightbox-close,.pd2-lightbox-nav{position:absolute;z-index:2;border:1px solid var(--border);background:var(--bg-card-hover);color:var(--white);cursor:pointer;transition:background .25s ease,border-color .25s ease,transform .25s ease,color .25s ease}.pd2-lightbox-close:hover,.pd2-lightbox-nav:hover{background:var(--accent);border-color:var(--accent);color:var(--border)}.pd2-lightbox-close{top:22px;right:24px;width:40px;height:40px}.pd2-lightbox-close:hover{transform:rotate(90deg)}.pd2-lightbox-nav{top:50%;width:46px;height:46px;transform:translateY(-50%)}.pd2-lightbox-prev{left:24px}.pd2-lightbox-next{right:24px}.pd2-lightbox-counter{position:absolute;top:26px;left:28px;z-index:2;font-family:JetBrains Mono,monospace;font-size:var(--fs-14);letter-spacing:.04em;color:var(--gray-light)}.ch-bubble p strong,.freelance-note strong,.pd2-lightbox-counter .pd2-lb-current{color:var(--accent);font-weight:var(--fw-6)}#testimonials{padding:4rem 0}.testimonial-card{background:var(--bg-card);border:1px solid var(--border);padding:2rem;position:relative;overflow:hidden;transition:var(--transition)}.testimonial-card:before{content:'"';position:absolute;top:-.5rem;left:1.5rem;font-family:Georgia,serif;font-size:var(--fs-42);color:var(--accent);opacity:.2;line-height:1;transition:opacity var(--transition)}.testimonial-card:hover:before{opacity:.5}.testimonial-text{font-size:var(--fs-14);color:var(--gray-light);line-height:1.75;margin-bottom:1.5rem;margin-top:1rem}.testimonial-author{border-top:1px solid var(--border);padding-top:1rem}.author-avatar{width:40px;height:40px;background:var(--bg);border:1px solid var(--border);color:var(--accent);flex-shrink:0}.author-avatar,.author-name{font-family:var(--font-head);font-size:var(--icon-size)}.author-name{letter-spacing:.05em;text-transform:uppercase;margin-bottom:.1rem}.author-role{font-family:var(--font-mono);font-size:var(--fs-10);color:var(--gray);letter-spacing:.1em;text-transform:uppercase}.ch-icon-moon,html.theme-light .ch-icon-sun{display:none}html.theme-light .ch-icon-moon{display:block}.ch-left{min-width:0;animation:ch-fade-up .7s ease both}.ch-pill{display:inline-flex;align-items:center;gap:var(--card-gap-md);padding:.5rem 1.1rem;border:1px solid var(--danger-dim);background:var(--danger-dim);font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:.06em;color:var(--white);margin-bottom:1.6rem}.ch-pill-dot{width:7px;height:7px;background:var(--accent-orange);box-shadow:0 0 8px 1px var(--danger-dim);flex-shrink:0;animation:pulse 2s ease-in-out infinite}.ch-headline{font-family:var(--font-head);font-weight:var(--fw-7);font-size:clamp(2.1rem,4vw,3.4rem);line-height:1.08;letter-spacing:-.01em;color:var(--white);margin-bottom:1.3rem}.ch-headline-accent{color:var(--accent-orange);font-weight:var(--fw-8)}.ch-subhead{font-size:var(--icon-size);line-height:1.7;color:var(--gray-light);max-width:46ch;margin-bottom:2rem}.ch-info-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--card-gap-md);gap:var(--card-gap-md);margin-bottom:2.1rem}.ch-info-card{padding:1.1rem;background:var(--bg);border:1px solid var(--border);transition:var(--transition)}a.ch-info-card:hover{border-color:var(--accent-dim);transform:translateY(-3px);box-shadow:0 10px 26px var(--overlay)}.ch-info-icon{width:38px;height:38px;font-size:var(--icon-size);color:var(--accent);background:var(--bg-card-hover);border:1px solid var(--border-accent);flex-shrink:0}.ch-info-text{display:flex;flex-direction:column;text-align:left;gap:0;min-width:0}.ch-info-text strong{font-family:var(--font-head);font-size:var(--fs-14);font-weight:var(--fw-6);color:var(--white)}.ch-info-text span{font-size:var(--fs-12);color:var(--gray);overflow-wrap:anywhere}.ch-right{position:relative;min-width:0}.ch-globe-stage{position:relative;width:100%;aspect-ratio:1/1;max-width:450px;margin-inline:auto}.ch-globe-canvas{width:100%;height:100%;display:block}.ch-connections{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.ch-conn-path{fill:none;stroke:var(--accent);stroke-width:1.1;stroke-linecap:round;opacity:.55;stroke-dasharray:4 6;animation:ch-dash-flow 3.5s linear infinite;filter:drop-shadow(0 0 2px var(--danger-dim))}.ch-node{position:absolute}.ch-node-sm{width:8px;height:8px;background:var(--accent);box-shadow:0 0 10px 2px var(--white-dim);transform:translate(-50%,-50%);animation:pulse 2.6s ease-in-out infinite}.ch-node-bright{width:10px;height:10px;box-shadow:0 0 14px 3px var(--white-dim)}.ch-node-center{top:50%;left:50%;transform:translate(-50%,-50%);width:22px;height:22px}.ch-node-dot{position:absolute;inset:0;margin:auto;width:12px;height:12px;background:var(--accent);box-shadow:0 0 18px 4px var(--accent-dim);animation:ch-node-pulse 2.2s ease-in-out infinite}.ch-node-ring{position:absolute;inset:0;border:1.5px solid var(--accent);animation:ch-ring-pulse 2.2s ease-out infinite}.ch-float{position:absolute;z-index:3}.ch-bubble{top:4%;left:-4%;width:240px;background:var(--bg-card);border:1px solid var(--border);padding:1rem 1.2rem;box-shadow:var(--sh-dark);animation:ch-float-y 5s ease-in-out infinite}.ch-bubble p{font-size:var(--fs-14);line-height:1.55;color:var(--white-dim)}.ch-heart{margin-left:2px}.ch-bubble-tail{position:absolute;bottom:-8px;left:24px;width:16px;height:16px;background:var(--bg-card);border-right:1px solid var(--border);border-bottom:1px solid var(--border);transform:rotate(45deg)}.ch-bubble-line{position:absolute;inset:0;pointer-events:none;z-index:2}.ch-airplane{top:-2%;right:2%;animation:ch-float-y-sm 4.5s ease-in-out infinite;filter:drop-shadow(0 0 14px var(--accent-dim))}.ch-response-card{bottom:12%;right:-6%;width:220px;display:flex;align-items:flex-start;gap:var(--card-gap-md);background:var(--bg-card);border:1px solid var(--border);padding:1rem 1.1rem;box-shadow:var(--sh-dark);animation:ch-float-y 5.5s ease-in-out .4s infinite}.ch-response-icon{width:34px;height:34px;font-size:var(--icon-size);color:var(--accent);background:var(--overlay);border:1px solid var(--border-accent);flex-shrink:0}.ch-response-text strong{font-family:var(--font-head);font-size:var(--fs-14);font-weight:var(--fw-6);color:var(--white)}.ch-response-text span{font-size:var(--fs-12);color:var(--gray);line-height:1.5}.ch-response-text em{color:var(--accent);font-style:normal;font-weight:var(--fw-6)}