: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-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);--gray-muted:rgba(255,255,255,0.6);--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-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:"Oswald",sans-serif;--font-body:"Poppins",sans-serif;--font-mono:"Inter",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-42:42px;--fw-3:300;--fw-4:400;--fw-5:500;--fw-6:600;--fw-7:700;--fw-8:800;--fw-9:900;--transition:0.35s cubic-bezier(0.4,0,0.2,1);--ease-bounce:cubic-bezier(0.34,1.56,0.64,1)}html.theme-light{--bg:#f5f5f5;--bg-2:#ebebeb;--bg-card:#ffffff;--bg-card-hover:#f0f0f0;--border:#d4d4d4;--border-light:rgba(0,0,0,0.08);--white:#0a0a0a;--white-dim:rgba(10,10,10,0.88);--gray:#555555;--gray-light:#333333;--gray-muted:rgba(10,10,10,0.55);--gray-dim:rgba(0,0,0,0.14);--gray-dark:rgba(0,0,0,0.04);--sh1:0 1px 3px rgba(0,0,0,0.08),0 1px 2px var(--accent-dim);--sh2:0 4px 16px rgba(0,0,0,0.1),0 1px 4px var(--accent-dim);--sh3:0 12px 40px rgba(0,0,0,0.12),0 4px 12px var(--accent-dim);--sh-dark:0 20px 60px rgba(0,0,0,0.18);--overlay:rgba(143,142,142,0.521);--si-bg:var(--bg);--si-bg-card:var(--bg-card);--si-border:var(--border);color-scheme:light}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:var(--fs-16)}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)}.si-btn-primary,::selection,html.theme-light ::selection{background:var(--accent);color:var(--bg)}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,#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-bg-radar,.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}#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,.cf-step-body,.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}.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-16);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-16);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-cta,.nav-right-btns .btn{padding:.75rem 1rem;height:40px}.nav-cta{background:var(--accent);color:var(--bg);font-family:var(--font-mono);font-size:var(--fs-12);font-weight:var(--fw-7);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}.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-headline{font-family:var(--font-head);font-size:clamp(4rem,5vw,6rem);line-height:.92;letter-spacing:.02em;text-transform:uppercase;margin-bottom:1rem}.hero-headline .line-accent{color:var(--accent);display:block}.hero-headline .line-white{color:var(--white);display:block}.hero-sub{color:var(--gray-light);font-size:var(--fs-16);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:.5rem;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:.65rem;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);width:35px;height:35px;border-radius:var(--br-none)}.hv2-stat-icon svg{width:15px;height:15px}.hv2-dir{display:flex;flex-direction:column;gap:var(--card-gap-sm)}.hv2-stat-num{font-family:var(--font-head);font-size:1.15rem;font-weight:var(--fw-7);color:var(--white);line-height:1.1}.hv2-stat-label{font-family:var(--font-body);font-size:.72rem;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:290px;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:6px;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:.72rem;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:1.5rem;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:.6rem;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;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:16px;height:16px}.hv2-service-title{font-family:var(--font-body);font-weight:var(--fw-6);font-size:.8rem;color:var(--white);margin-bottom:.15rem}.hv2-available{display:flex;align-items:center;gap:1rem;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;border-radius:var(--br-none);display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--bg);box-shadow:0 0 20px var(--accent-dim)}.hv2-available-icon svg{width:22px;height:22px}.hv2-available-title{font-family:var(--font-body);font-weight:var(--fw-6);font-size:.92rem;color:var(--white);margin-bottom:.2rem}.hv2-available-sub{font-family:var(--font-body);font-size:.75rem;color:var(--gray);margin-bottom:.4rem;line-height:1.4}.hv2-available-link{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-body);font-weight:var(--fw-6);font-size:.78rem;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:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gray);display:flex;align-items:center;gap:.5rem;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:.65rem}.hv2-social-row .social-icon{background:var(--bg-card)}.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:.7rem;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}.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:.95rem;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-icon{width:42px;height:42px;flex-shrink:0;background:var(--bg)}.stat-icon svg{width:20px;height:20px}.stat-num{font-family:var(--font-head);font-weight:var(--fw-7);font-size:1.25rem;line-height:1.1;color:var(--white)}.stat-label{font-size:.76rem;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: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:.62rem;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:.75rem;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:1.3rem;letter-spacing:.05em;line-height:1;text-transform:uppercase}.hero-name-card p{font-family:var(--font-mono);font-size:.65rem;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;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:2.5rem;color:var(--white);letter-spacing:.02em;line-height:1}.metric-num span{color:var(--accent)}.metric-label{font-family:var(--font-mono);font-size:.65rem;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:.95rem;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;color:var(--accent);margin-bottom:1rem}.value-icon svg{width:100%;height:100%}.value-title{font-family:var(--font-head);font-size:1.1rem;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.5rem}.value-desc{font-size:.82rem;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:.7rem;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:.88rem;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:.88rem;color:var(--gray);line-height:1.7}.cta-right{align-items:flex-end}.cta-contact-row{font-family:var(--font-mono);font-size:.68rem;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)}#skills{position:relative;padding:4rem 0;background:var(--bg-2);overflow:hidden}#skills:before{content:"";position:absolute;top:-10%;right:6%;width:480px;height:480px;background:radial-gradient(circle,var(--accent-dim) 0,transparent 70%);opacity:.55;pointer-events:none;z-index:0}#skills .container,.pd2-oc-list{position:relative;z-index:1}#skills .section-num{text-shadow:0 0 24px var(--accent-dim)}#skills .section-header{margin-bottom:3.5rem}#skills .section-label{display:inline-flex;align-items:center;gap:var(--card-gap-md);font-weight:var(--fw-6)}#skills .section-label:before{content:"";width:6px;height:6px;background:var(--accent);box-shadow:0 0 10px var(--accent)}#skills .section-title{background:linear-gradient(100deg,var(--white) 35%,var(--gray-light) 95%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}#skills .skills-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--card-gap-md);gap:var(--card-gap-md);background:0 0}#skills .skill-category{position:relative;background:radial-gradient(circle at 100% 0,var(--accent-dim) 0,transparent 55%),var(--bg-card);border:1px solid var(--border);padding:1.75rem 1.75rem 1.5rem;overflow:hidden;box-shadow:var(--sh1);transition:transform var(--transition-smooth),box-shadow var(--transition-smooth),border-color var(--transition-smooth),background var(--transition-smooth)}#skills .skill-category:before{content:"";position:absolute;top:0;left:0;width:50%;height:32px;border-top:2px solid var(--accent);-webkit-clip-path:polygon(0 0,100% 0,0 100%);clip-path:polygon(0 0,100% 0,0 100%);opacity:.9;box-shadow:0 0 12px var(--accent);pointer-events:none}#skills .skill-category:hover{transform:translateY(-6px);border-color:var(--bg-card-hover);background:radial-gradient(circle at 100% 0,var(--accent-dim) 0,transparent 60%),var(--bg-card-hover);box-shadow:var(--sh3)}#skills .skill-cat-num{position:absolute;top:0;left:1.3rem;font-family:var(--font-mono);font-size:2.5rem;font-weight:var(--fw-7);letter-spacing:.04em;color:var(--border-light);z-index:2}#skills .skill-cat-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:var(--card-gap-md);gap:var(--card-gap-md);margin:1.6rem 0 1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border-light)}#skills .skill-cat-icon{flex-shrink:0;width:52px;height:52px;background:linear-gradient(155deg,var(--accent-dim),transparent 60%),var(--gray-dark);border:1px solid var(--border);color:var(--accent);filter:drop-shadow(0 0 8px var(--accent-dim));transition:transform var(--transition-smooth),box-shadow var(--transition-smooth)}#skills .skill-cat-icon svg{width:24px;height:24px}#skills .skill-category:hover .skill-cat-icon{transform:scale(1.08) rotate(-4deg);box-shadow:0 0 18px var(--accent-dim)}#skills .skill-cat-text{min-width:0;gap:0}#skills .skill-cat-name{font-family:var(--font-head);font-size:1.05rem;font-weight:var(--fw-7);letter-spacing:.02em;text-transform:uppercase;color:var(--white)}#skills .skill-cat-desc{font-size:var(--fs-14);line-height:1.4;color:var(--gray-light);font-weight:var(--fw-4)}#skills .skill-cat-ring{position:relative;width:100px;height:100px;flex-shrink:0}#skills .ring-svg{width:100%;height:100%;transform:rotate(-90deg)}#skills .ring-fill,#skills .ring-track{fill:none;stroke-width:9}#skills .ring-track{stroke:var(--border)}#skills .ring-fill{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:263.89;transition:stroke-dashoffset 1.4s var(--si-ease)}#skills .skills-grid:not(.visible) .ring-fill{stroke-dashoffset:263.89!important;transition:none}#skills .ring-label{position:absolute;inset:0;flex-direction:column;text-align:center;pointer-events:none}#skills .ring-value{font-family:var(--font-head);font-size:1.15rem;font-weight:var(--fw-8);color:var(--white);line-height:1}#skills .ring-value small{font-size:.65rem;font-weight:var(--fw-7);margin-left:1px}#skills .ring-caption{margin-top:.15rem;font-family:var(--font-mono);font-size:.5rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-dim)}#skills .skill-list{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--card-gap-sm);gap:var(--card-gap-sm)}#skills .skill-item{padding:.55rem .7rem;font-size:.78rem;font-weight:var(--fw-5);background:var(--gray-dark);border:1px solid transparent;color:var(--gray-light);transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}#skills .skill-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:22px;font-family:var(--font-mono);font-size:.62rem;font-weight:var(--fw-7);line-height:1;color:var(--white)}#skills .skill-icon svg{width:25px;height:25px}#skills .skill-item:after{content:"";margin-left:auto;width:6px;height:6px;border-right:1.5px solid var(--gray-dim);border-bottom:1.5px solid var(--gray-dim);transform:rotate(-45deg);opacity:0;transition:opacity var(--transition-fast),border-color var(--transition-fast)}#skills .skill-item:hover{transform:translateY(-2px);border-color:var(--accent-dim);background:var(--accent-dim);color:var(--white)}#skills .skill-item:hover:after{opacity:1;border-color:var(--accent)}#skills .skill-category:hover .skill-item{color:var(--white)}#projects{padding:4rem 0}#projects .about-heading strong,#projects .section-label{color:var(--accent)}.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--gap);gap:var(--gap);margin-top:3rem}#projects .ph-grid{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(0,1fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));grid-template-areas:"featured top-mid top-right" "featured bot-mid bot-right";grid-gap:var(--card-gap-md);gap:var(--card-gap-md);margin-top:2rem;align-items:stretch}#projects .ph-card[data-ph-area=featured]{grid-area:featured}#projects .ph-card[data-ph-area=top-mid]{grid-area:top-mid}#projects .ph-card[data-ph-area=top-right]{grid-area:top-right}#projects .ph-card[data-ph-area=bot-mid]{grid-area:bot-mid}#projects .ph-card[data-ph-area=bot-right]{grid-area:bot-right}#projects .ph-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--br-none);overflow:hidden;display:flex;flex-direction:column;min-height:0;height:100%;transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition);cursor:pointer;position:relative}#projects .ph-card--featured{min-height:max-content;height:max-content}#projects .ph-card:focus-visible,#projects .ph-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));box-shadow:0 18px 48px rgba(0,0,0,.45);transform:translateY(-4px);outline:none}#projects .ph-card:focus-visible{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--accent)}#projects .ph-card.ph-reveal{opacity:0;transform:translateY(44px) scale(.98);transition:opacity .65s cubic-bezier(.4,0,.2,1),transform .65s cubic-bezier(.4,0,.2,1),border-color var(--transition),box-shadow var(--transition)}#projects .ph-card.ph-reveal.visible{opacity:1;transform:translateY(0) scale(1)}#projects .ph-mockup{position:relative;overflow:hidden;flex:0 0 auto;padding:.85rem .75rem .55rem}#projects .ph-card--featured .ph-mockup{flex:0 0 clamp(240px,48%,320px);padding:1.1rem .9rem .65rem;align-items:flex-end}#projects .ph-mockup:before{content:"";position:absolute;inset:0;opacity:.55;pointer-events:none;transition:opacity var(--transition)}#projects .ph-card:hover .ph-mockup:before{opacity:.72}#projects .ph-mockup--purple:before{background:radial-gradient(ellipse 80% 70% at 50% 55%,color-mix(in srgb,var(--accent-purple) 55%,transparent),transparent 72%)}#projects .ph-card--featured .ph-mockup--purple:before{opacity:.62;background:radial-gradient(ellipse 92% 88% at 50% 78%,color-mix(in srgb,var(--accent-purple) 50%,transparent),transparent 68%)}#projects .ph-mockup--green:before{background:radial-gradient(ellipse 80% 70% at 50% 55%,color-mix(in srgb,var(--accent-green) 50%,transparent),transparent 72%)}#projects .ph-mockup--blue:before{background:radial-gradient(ellipse 80% 70% at 50% 55%,color-mix(in srgb,var(--accent-blue) 50%,transparent),transparent 72%)}#projects .ph-mockup--cyan:before{background:radial-gradient(ellipse 80% 70% at 50% 55%,color-mix(in srgb,var(--accent-blue) 45%,#00d4ff 20%),transparent 72%)}#projects .ph-mockup--orange:before{background:radial-gradient(ellipse 80% 70% at 50% 55%,color-mix(in srgb,var(--accent-orange) 50%,transparent),transparent 72%)}#projects .ph-mockup-stage{position:relative;z-index:1;width:100%;height:200px;display:flex;align-items:center;justify-content:center}#projects .ph-mockup-stage.h-100{height:100%}#projects .ph-card--featured .ph-mockup-stage{align-items:flex-end;padding-bottom:.15rem;border-radius:var(--br-none)}#projects .ph-mockup-img{border-radius:var(--br-none);filter:drop-shadow(0 10px 24px rgba(0,0,0,.5));transition:transform .5s var(--ease-bounce)}#projects .ph-card--featured .ph-mockup-img,#projects .ph-mockup-img{width:100%;height:100%;object-fit:cover;object-position:center bottom}#projects .ph-card:hover .ph-mockup-img{transform:scale(1.03)}#projects .ph-featured-badge{position:absolute;top:.85rem;left:.85rem;z-index:2;display:inline-flex;align-items:center;gap:.35rem;padding:.34rem .72rem;background:var(--accent-dim);border:1px solid var(--accent);border-radius:var(--br-none);font-family:var(--font-mono);font-size:.58rem;font-weight:var(--fw-7);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}#projects .ph-featured-badge .icon{width:12px;height:12px}#projects .ph-body{padding:.58rem 1rem;display:flex;flex-direction:column;flex:1 1 auto}#projects .ph-card--featured .ph-body{padding:1.15rem 1.25rem 1.2rem;flex:1 1 auto;justify-content:flex-start;gap:0}#projects .ph-card--featured .ph-title{font-size:clamp(1.25rem,1.8vw,1.65rem);margin-bottom:.5rem}#projects .ph-card--featured .ph-desc{font-size:.8rem;line-height:1.62;margin-bottom:1rem}#projects .ph-card--featured .ph-footer{align-items:center;padding-top:.15rem}#projects .ph-card--featured .ph-tags{gap:.4rem .35rem}#projects .ph-category{font-family:var(--font-mono);font-size:.62rem;color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.45rem}#projects .ph-title{font-family:var(--font-head);font-size:clamp(1.1rem,1.6vw,1.45rem);letter-spacing:.02em;text-transform:uppercase;color:var(--white);margin-bottom:.55rem;line-height:1.15}#projects .ph-desc{font-size:.78rem;color:var(--gray);line-height:1.6;margin-bottom:.85rem;flex:1 1 auto;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}#projects .ph-card--featured .ph-desc{-webkit-line-clamp:8}#projects .ph-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem;margin-top:auto}#projects .ph-tags{display:flex;flex-wrap:wrap;gap:.35rem;flex:1 1;min-width:0}#projects .ph-tag{font-family:var(--font-mono);font-size:.58rem;color:var(--gray);background:var(--bg);border:1px solid var(--border);border-radius:var(--br-none);padding:.28rem .62rem;letter-spacing:.04em;white-space:nowrap;transition:border-color var(--transition)}#projects .ph-card:hover .ph-tag{border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}#projects .ph-cta{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--br-none);border:1px solid var(--accent);color:var(--accent);background:transparent;text-decoration:none;transition:background var(--transition),border-color var(--transition),transform var(--transition)}#projects .ph-card--featured .ph-cta{width:42px;height:42px}#projects .ph-cta:focus-visible,#projects .ph-cta:hover{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:var(--accent);transform:translateX(2px);outline:none}#projects .ph-cta .icon{width:16px;height:16px}.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:.68rem;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:.65rem;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:.9rem;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:.75rem;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:.65rem;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:.88rem;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:.88rem;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:2.2rem;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 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;background:var(--accent-dim);border:1px solid var(--accent-dim);color:var(--accent);margin-bottom:.85rem;flex-shrink:0}.pd2-feature-icon svg{width:20px;height:20px}.pd2-feature-title{font-family:var(--font-head);font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;color:var(--white);margin-bottom:.45rem}.pd2-feature-desc{font-size:.78rem;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:.7rem;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(--fs-16);letter-spacing:.05em;text-transform:uppercase;color:var(--white);margin-bottom:.2rem}.pd2-tl-duration{font-family:var(--font-mono);font-size:.62rem;color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.5rem}.other-skill-desc,.pd2-tl-desc{font-size:.78rem;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;color:var(--accent);flex-shrink:0}.pd2-metric-icon svg{width:40px;height:40px}.pd2-metric-val{font-family:var(--font-head);font-size:2.5rem;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:.65rem;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:.65rem;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:.86rem;color:var(--gray-light);line-height:1.5}.pd2-oc-item-icon{color:var(--accent);flex-shrink:0;margin-top:1px;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:.5rem;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:1.1rem;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:.82rem;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:5rem;color:var(--accent);opacity:.2;line-height:1;transition:opacity var(--transition)}.testimonial-card:hover:before{opacity:.5}.testimonial-text{font-size:.88rem;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(--fs-16)}.author-name{letter-spacing:.05em;text-transform:uppercase;margin-bottom:.1rem}.author-role{font-family:var(--font-mono);font-size:.65rem;color:var(--gray);letter-spacing:.1em;text-transform:uppercase}#blogs{background:var(--bg-2)}#blogs .about-heading strong{color:var(--accent)}.blogs-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--card-gap-lg);gap:var(--card-gap-lg);margin-top:3rem}.blog-card{background:var(--bg-card);border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;transition:var(--transition);cursor:pointer;position:relative;border-radius:var(--br-none)}.blog-card:focus-visible,.blog-card:hover{border-color:var(--accent-dim);transform:translateY(-5px);box-shadow:var(--sh2);outline:none}.blog-card:focus-visible{box-shadow:var(--sh2),0 0 0 2px var(--accent-dim)}.blog-card-thumb{position:relative;width:100%;height:200px;overflow:hidden;background:var(--bg);flex-shrink:0}.blog-card-img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition)}.blog-card:hover .blog-card-img{transform:scale(1.04)}.blog-card-category{position:absolute;top:.75rem;left:.75rem;font-family:var(--font-mono);font-size:.62rem;font-weight:var(--fw-7);letter-spacing:.1em;text-transform:uppercase;border-radius:var(--br-none);color:var(--bg);background:var(--accent);padding:.2rem .55rem;z-index:2}.blog-card-body{padding:1.5rem;display:flex;flex-direction:column;flex:1 1}.blog-card-date{font-family:var(--font-mono);font-size:.65rem;color:var(--gray);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.6rem}.blog-card-title{font-family:var(--font-head);font-size:1.15rem;letter-spacing:.04em;text-transform:uppercase;line-height:1.15;color:var(--white);margin-bottom:.65rem}.blog-card-excerpt{font-size:.83rem;color:var(--gray);line-height:1.7;margin-bottom:1.25rem;flex:1 1}.blog-card-read{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:.72rem;font-weight:var(--fw-6);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);text-decoration:none;transition:gap var(--transition-fast);margin-top:auto;width:-moz-fit-content;width:fit-content}.blog-card-read:focus-visible,.blog-card-read:hover{gap:.65rem;outline:none}.blog-card-read .icon{display:flex}.blogs-footer{display:flex;justify-content:center;margin-top:3rem}#faqs .about-heading strong{color:var(--accent)}.faq-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);grid-gap:1.25rem;gap:1.25rem;margin-top:3rem;align-items:start}.faq-accordion{display:flex;flex-direction:column;gap:.75rem}.faq-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--br-none);overflow:hidden;transition:border-color var(--transition),box-shadow var(--transition)}.faq-item.is-open{background:var(--accent);border-color:var(--accent);box-shadow:0 8px 32px var(--accent-dim)}.faq-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;width:100%;background:transparent;border:none;color:var(--white);font-family:var(--font-body);font-size:1rem;font-weight:var(--fw-6);letter-spacing:0;text-transform:none;text-align:left;cursor:pointer;padding:1.35rem 1.5rem;transition:color var(--transition-fast)}.faq-item.is-open .faq-item-head{color:var(--bg);padding-bottom:.65rem}.faq-item-head:focus-visible,.faq-item-head:hover{outline:none}.faq-item:not(.is-open) .faq-item-head:hover{color:var(--accent)}.faq-item-head:focus-visible{box-shadow:inset 0 0 0 2px var(--accent-dim)}.faq-question{flex:1 1;line-height:1.45}.faq-toggle{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--white);transition:color var(--transition-fast)}.faq-item:not(.is-open) .faq-toggle{color:var(--gray-light)}.faq-item.is-open .faq-toggle{color:var(--bg)}.faq-icon-minus,.faq-item.is-open .faq-icon-plus{display:none}.faq-item.is-open .faq-icon-minus{display:flex;color:var(--bg);fill:var(--bg)}.faq-item-body{padding:0 1.5rem 1.35rem;max-height:0;overflow:hidden;transition:max-height .6s ease-in-out}.faq-item-body.pf-collapsed,.faq-item-head[aria-expanded=false]+.faq-item-body{display:none}.faq-item.is-open .faq-item-body{max-height:500px}.faq-item-body p{font-size:.88rem;color:var(--gray);line-height:1.7;margin:0;font-weight:var(--fw-4)}.faq-item.is-open .faq-item-body p{color:var(--bg);opacity:.88}.faq-sidebar{display:flex;flex-direction:column;gap:1rem;position:-webkit-sticky;position:sticky;top:calc(var(--nav-h) + 1.5rem)}.faq-cta-card{background:var(--bg);border-radius:var(--br-none);overflow:hidden;text-align:center;padding:2rem 1.75rem;border:1px solid var(--border)}.faq-cta-icon{display:flex;justify-content:center;margin-bottom:1.25rem}.faq-cta-icon .icon{display:flex}.faq-cta-title{font-family:var(--font-body);font-size:1.15rem;font-weight:var(--fw-7);color:var(--white);line-height:1.35;margin-bottom:.65rem}.faq-cta-desc{font-size:.82rem;color:var(--gray);line-height:1.6;margin-bottom:1.5rem}.faq-cta-btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 2rem;background:var(--accent);color:var(--bg);font-family:var(--font-body);font-size:.88rem;font-weight:var(--fw-6);text-decoration:none;border-radius:var(--br-none);transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.faq-cta-btn:focus-visible,.faq-cta-btn:hover{background:var(--white);transform:translateY(-2px);box-shadow:var(--sh-accent);outline:none}.faq-contact-card{display:flex;align-items:center;gap:1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--br-none);padding:1.25rem 1.5rem;transition:border-color var(--transition-fast),transform var(--transition-fast)}.faq-contact-card:hover{border-color:var(--accent-dim);transform:translateY(-2px)}.faq-contact-icon{flex-shrink:0;width:52px;height:52px;border-radius:var(--br-none);background:var(--white);display:flex;align-items:center;justify-content:center;color:var(--accent)}.faq-contact-icon .icon{display:flex}.faq-contact-tag{font-size:.72rem;color:var(--gray);margin-bottom:.15rem}.faq-contact-title{font-family:var(--font-body);font-size:1rem;font-weight:var(--fw-7);color:var(--white);margin-bottom:.15rem}.faq-contact-phone{font-size:.82rem;color:var(--gray);text-decoration:none;transition:color var(--transition-fast)}.faq-contact-phone:focus-visible,.faq-contact-phone:hover{color:var(--accent);outline:none}html.theme-light .faq-item:not(.is-open){background:var(--white);border-color:var(--border)}html.theme-light .faq-item:not(.is-open) .faq-item-head{color:var(--white)}html.theme-light .faq-item.is-open .faq-item-body p,html.theme-light .faq-item.is-open .faq-item-head{color:var(--bg)}html.theme-light .faq-cta-card{background:var(--bg)}html.theme-light .faq-contact-card{background:var(--white);border-color:var(--border)}html.theme-light .faq-contact-icon{background:var(--white)}.ch-hero{position:relative;min-height:100dvh;padding:calc(var(--nav-h) + 40px) 0 3rem!important;display:flex;align-items:center;background:var(--bg);overflow:clip!important}.ch-particles,.footer-bg{position:absolute;inset:0;pointer-events:none;z-index:0}.ch-particles span{position:absolute;background:var(--ch-dot-color,var(--accent-orange));opacity:var(--tw-op,.5);animation:ch-twinkle var(--tw-dur,4s) ease-in-out infinite;animation-delay:var(--tw-delay,0s)}.ch-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.05fr;grid-gap:var(--gap);gap:var(--gap);align-items:center}.ch-accent-dot{color:var(--accent-orange)}.ch-nav-active{color:var(--accent-orange)!important}.ch-nav-active:after{background:var(--accent-orange)!important;transform:translateX(-50%) scaleX(1)!important}.ch-hire-btn{border-color:var(--accent-orange)!important;color:var(--accent-orange)!important}.ch-hire-btn:before{background:var(--danger-dim)!important}.ch-hire-btn:hover{border-color:var(--accent-orange)!important;color:var(--accent-orange)!important;box-shadow:0 8px 24px var(--danger-dim)}.ch-theme-toggle{width:40px;height:40px;border:1px solid var(--gray-dim);color:var(--white);background:0 0;transition:var(--transition)}.ch-theme-toggle:hover{border-color:var(--accent-orange);color:var(--accent-orange)}.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(--fs-16);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;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:.9rem;font-weight:var(--fw-6);color:var(--white)}.ch-info-text span{font-size:.76rem;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:.82rem;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;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:.88rem;font-weight:var(--fw-6);color:var(--white)}.ch-response-text span{font-size:.76rem;color:var(--gray);line-height:1.5}.ch-response-text em{color:var(--accent);font-style:normal;font-weight:var(--fw-6)}#contact{padding:7rem 0;background:var(--bg-2)}.contact-grid{display:grid;grid-template-columns:1fr 1.5fr;grid-gap:var(--gap);gap:var(--gap);align-items:start;margin-top:3rem}.contact-heading{font-family:var(--font-head);font-size:clamp(2rem,3vw,4rem);text-transform:uppercase;letter-spacing:.02em;line-height:.95;margin-bottom:1rem}.contact-heading em{color:var(--accent);font-style:normal;display:block}.contact-sub{color:var(--gray);font-size:.88rem;line-height:1.75}.contact-details,.contact-sub{margin-bottom:2.5rem}.contact-detail-icon{width:36px;height:36px;background:var(--bg-card);border:1px solid var(--border);color:var(--accent);flex-shrink:0}.contact-detail-text a,.contact-detail-text span{font-size:.88rem;color:var(--gray-light);transition:color var(--transition)}.contact-detail:hover .contact-detail-text a{color:var(--accent)}.social-link{width:38px;height:38px;background:var(--bg-card);border:1px solid var(--border);color:var(--gray);transition:var(--transition)}.form-label{font-family:var(--font-mono);font-size:.65rem;color:var(--gray);letter-spacing:.15em;text-transform:uppercase}.form-input,.form-textarea{background:var(--bg-card);border:1px solid var(--border);color:var(--white);padding:.875rem 1rem;font-size:.88rem;outline:0;transition:border-color var(--transition);width:100%;resize:none}.form-input:focus,.form-textarea:focus{border-color:var(--accent)}.form-input::placeholder,.form-textarea::placeholder{color:var(--gray)}.form-textarea{min-height:140px}.form-submit{width:100%;justify-content:center;padding:1rem;font-size:.82rem}.site-footer{position:relative;overflow:hidden;background:var(--bg-card);padding:80px 0 0;isolation:isolate;border-top:1px solid var(--border)}.footer-inner{position:relative;z-index:2;max-width:100vw}.footer-bg-glow-blob{position:absolute;left:-180px;bottom:-220px;width:620px;height:620px;background:radial-gradient(circle,var(--accent-dim) 0,var(--overlay) 35%,transparent 70%);filter:blur(10px)}.footer-bg-radar{position:absolute;top:-46px;left:-132px;width:720px;height:720px;transform:rotate(34deg);background:repeating-radial-gradient(circle at 0 30%,var(--accent-dim) 0,var(--accent-dim) 1px,transparent 1px,transparent 46px);opacity:.5}.footer-bg-globe{position:absolute;top:50%;right:-160px;transform:translateY(-50%);width:420px;height:420px;opacity:1}.footer-globe-svg,.sh-mesh-wrap svg{width:100%;height:100%}.footer-bg-noise{position:absolute;inset:0;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:overlay}.footer-grid{display:grid;grid-template-columns:1.5fr .85fr .85fr 1.5fr;grid-gap:var(--card-gap-md);gap:var(--card-gap-md);padding-bottom:64px}.footer-col{min-width:0}.footer-col-heading{font-size:1.05rem;font-weight:var(--fw-7);color:var(--white);margin-bottom:26px}.dot{width:7px;height:7px;background:var(--accent);box-shadow:0 0 8px 2px var(--accent-dim);flex-shrink:0}.dot--small{width:5px;height:5px;margin-right:8px;box-shadow:0 0 6px 1.5px var(--accent-dim)}.footer-col--brand,.hero-copy,.pf-quicklinks{display:flex;flex-direction:column}.brand-tagline{color:var(--gray);font-size:.95rem;line-height:1.6;max-width:280px;margin:22px 0}.brand-rule{width:42px;height:2px;background:linear-gradient(90deg,var(--accent),transparent);margin-bottom:28px}.footer-cta-card{position:relative;max-width:320px;background:var(--gray-dark);border:1px solid var(--border);padding:28px 26px 26px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);margin-top:1rem}.footer-cta-icon{position:absolute;top:-22px;left:26px;width:46px;height:46px;background:var(--bg-card);border:1px solid var(--accent);color:var(--accent);box-shadow:0 0 0 6px var(--bg-card),0 4px 18px var(--accent-dim)}.footer-cta-icon svg{width:20px;height:20px}.footer-cta-title{font-size:1.05rem;font-weight:var(--fw-7);margin:10px 0;color:var(--white)}.footer-cta-text{font-size:.875rem;color:var(--gray);line-height:1.55;margin-bottom:20px}.footer-cta-button{display:inline-flex;align-items:center;gap:var(--card-gap-md);background:var(--accent);color:var(--bg);font-size:.875rem;font-weight:var(--fw-6);padding:11px 20px;box-shadow:0 4px 16px var(--accent-dim);transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}.footer-cta-button svg{transition:transform .25s ease}.footer-cta-button:focus-visible,.footer-cta-button:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 8px 26px var(--accent-dim);filter:brightness(1.08)}.footer-cta-button:focus-visible svg,.footer-cta-button:hover svg{transform:translate(2px,-2px)}.footer-cta-button:active{transform:translateY(0) scale(.98)}.footer-link-list li{margin-bottom:16px}.footer-link-list a{position:relative;display:inline-flex;align-items:center;font-size:.92rem;color:var(--gray);transition:color .2s ease,transform .2s ease,padding-left .2s ease}.footer-link-list a:not(.footer-link-active){padding-left:0}.footer-link-list a:focus-visible,.footer-link-list a:hover{color:var(--white);transform:translateX(3px)}.footer-link-active{color:var(--white)!important;font-weight:var(--fw-5)}.footer-contact-list{margin-bottom:26px}.footer-contact-item{display:flex;align-items:flex-start;gap:var(--card-gap-md);padding:12px;margin-bottom:10px;background:var(--gray-dark);border:1px solid var(--border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .2s ease,border-color .2s ease}.footer-contact-item:hover{background:var(--bg-card-hover);border-color:var(--accent-dim)}.footer-contact-icon{flex-shrink:0;width:36px;height:36px;background:var(--accent-dim);color:var(--accent)}.footer-contact-text{min-width:0;gap:0}.contact-static,.footer-contact-text a{font-size:.9rem;font-weight:var(--fw-6);color:var(--white)}.footer-contact-text a:focus-visible,.footer-contact-text a:hover{color:var(--accent)}.footer-contact-sub,.pg-pagination-info,.pg-pagination-show{font-size:.78rem;color:var(--gray)}.footer-social-list{margin-top:6px}.social-icon{width:42px;height:42px;background:var(--gray-dark);border:1px solid var(--border);color:var(--gray);transition:background .25s ease,transform .25s ease,box-shadow .25s ease,color .25s ease}.social-icon:focus-visible,.social-icon:hover{background:var(--accent);color:var(--bg);transform:translateY(-3px);box-shadow:0 6px 18px var(--accent-dim)}.freelance-note{font-size:.75rem;color:var(--gray);margin-top:1rem;font-family:var(--font-mono);letter-spacing:.02em}.footer-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:var(--card-gap-lg);gap:var(--card-gap-lg);padding:26px 0;border-top:1px solid var(--border);font-size:.85rem;color:var(--gray)}.bottom-left{white-space:nowrap}.code-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;background:var(--gray-dark);font-size:.78rem;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.accent,.code-icon{color:var(--accent);font-weight:var(--fw-7)}.bottom-center{text-align:center;white-space:nowrap}.mobile-nav-wrapper{width:100%;padding:0 1rem;height:50px;position:fixed;bottom:.655rem;left:0;z-index:1111;opacity:.344;pointer-events:none;transform:translateY(100px);transition:transform .6s ease-in}.tabbar{background:var(--bg);border-radius:var(--br-none);height:100%;display:flex;flex-direction:column;position:relative;box-shadow:0 8px 32px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.05);transition:background-color .4s}.mobile-nav-list{position:absolute;bottom:0;width:100%;height:100%;border-radius:var(--br-none);justify-content:space-around;padding:0;margin:0}.mobile-nav-list,.mobile-nav-list li{list-style:none;background:var(--bg-2);display:flex;align-items:center}.mobile-nav-list li{flex-direction:column;justify-content:flex-end;width:40px;height:40px;padding-bottom:0;gap:3px;position:relative;top:0;color:var(--white);cursor:pointer;border-radius:0;transition:top .4s cubic-bezier(.34,1.56,.64,1),width .4s ease,height .4s ease,border-radius .4s ease,background .4s ease,box-shadow .4s ease,color .4s ease}.mobile-nav-list li a{min-height:40px}.icon-wrap{font-size:1.35rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:font-size .4s ease}.nav-label{font-size:8px;letter-spacing:.06em;color:var(--white);line-height:1;max-width:100%;overflow:hidden;white-space:nowrap;transition:color .4s,opacity .4s}.mobile-nav-list li.active{height:40px;border-radius:var(--br-none);top:-22px;padding-bottom:0;justify-content:center;background:var(--accent);color:var(--white);box-shadow:2px 4px 8px 0 var(--overlay),4px 8px 16px 0 var(--overlay),inset 2px 2px 6px rgba(255,255,255,.06),inset -2px -2px 6px rgba(0,0,0,.5)}.mobile-nav-list li.active .nav-label{display:none}.mobile-nav-list li.active:after{content:attr(data-label);position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);font-size:8.5px;font-weight:700;letter-spacing:.07em;color:var(--white);white-space:nowrap;font-family:inherit}.mobile-nav-wrapper{box-sizing:border-box;max-width:100%;overflow:visible}.mobile-nav-list{box-sizing:border-box;max-width:100%;min-width:0;gap:0}.mobile-nav-list li{flex:1 1;min-width:0;max-width:48px;box-sizing:border-box}.mobile-nav-list li a{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:3px;width:100%;height:100%;min-width:0;min-height:44px;padding-bottom:4px;box-sizing:border-box;color:inherit;-webkit-tap-highlight-color:transparent}.mobile-nav-list li.active a{min-height:40px;min-width:0;padding-bottom:0;justify-content:center;margin:0}.mobile-nav-list li.active{flex:0 0 40px;width:40px}.mobile-nav-list li .nav-label{max-width:100%;overflow:hidden;white-space:nowrap}.mobile-nav-list .icon-wrap svg{width:20px;height:20px;flex-shrink:0;display:block}.cursor{width:10px;height:10px;background:var(--accent);border-radius:var(--br-round);z-index:9999;transition:width .2s,height .2s,background .2s;mix-blend-mode:difference}.cursor,.cursor-ring{position:fixed;pointer-events:none;transform:translate(-50%,-50%)}.cursor-ring{width:32px;height:32px;border:1px solid var(--accent-dim);border-radius:var(--br-round);z-index:9998;transition:all .12s ease}body:hover .cursor{opacity:1}.back-top{position:fixed;bottom:.78rem;right:.78rem;width:40px;height:40px;background:var(--accent);color:var(--bg);cursor:pointer;transform:translateX(110px);display:inline-flex;align-items:center;justify-content:center;overflow:visible;opacity:0;visibility:hidden;transition:var(--transition);z-index:100;border:none;border-radius:50%}.back-top.show{transform:translateX(0);opacity:1;visibility:visible}.back-top .icon{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;pointer-events:none}.back-top-progress{position:absolute;inset:-4px;width:auto;height:auto;pointer-events:none;transform:rotate(-90deg);overflow:visible;z-index:0}.back-top-progress .ring-fill,.back-top-progress .ring-track{fill:none;stroke-width:7}.back-top-progress .ring-track{stroke:color-mix(in srgb,var(--accent) 55%,transparent)}.back-top-progress .ring-fill,.back-top-progress-fill{stroke:var(--white);stroke-linecap:round;stroke-dasharray:263.89;stroke-dashoffset:263.89}html.theme-light .back-top-progress .ring-track{stroke:color-mix(in srgb,var(--white) 35%,transparent)}html.theme-light .back-top:hover .back-top-progress .ring-fill,html.theme-light .back-top:hover .back-top-progress-fill{stroke:var(--accent)}.page-side-nav{position:fixed;left:2.5rem;top:50%;transform:translateY(-50%);z-index:100}.page-side-link{flex-direction:column;text-decoration:none;transition:var(--transition)}.side-num{font-family:var(--font-head);font-size:1.3rem;color:var(--border);line-height:1}.side-label,.side-num{transition:color var(--transition)}.side-label{font-family:var(--font-mono);font-size:.52rem;color:transparent;letter-spacing:.15em;text-transform:uppercase}.page-side-link.active .side-label,.page-side-link.active .side-num{color:var(--accent)}.page-side-link.page-side-link:hover .side-num{color:var(--gray-light)}.page-side-link:hover .side-label{color:var(--gray)}.about-hero{min-height:100dvh;padding-top:var(--nav-h);display:flex;align-items:center;position:relative;overflow:hidden}.edu-certs-section,.journey-section{padding:6rem 0;background:var(--bg-2);border-top:1px solid var(--border)}.beliefs-heading,.edu-section-heading,.journey-heading{font-family:var(--font-head);font-size:clamp(4rem,5vw,6rem);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.journey-heading-underline{width:48px;height:3px;background:var(--accent);margin-bottom:1.5rem}.journey-body{font-size:.9rem;color:var(--gray);line-height:1.85;margin-bottom:2rem}.journey-timeline{position:relative;padding-left:1.5rem}.journey-timeline:before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:1px;background:var(--border)}.jt-item{position:relative;padding-bottom:2.5rem}.jt-item:last-child{padding-bottom:0}.jt-dot{position:absolute;left:-1.55rem;top:6px;width:12px;height:12px;background:var(--bg-2);border:2px solid var(--border);transition:var(--transition);z-index:1}.jt-item:hover .jt-dot{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-dim)}.jt-date{font-family:var(--font-mono);font-size:.7rem;color:var(--accent);letter-spacing:.12em;margin-bottom:.3rem}.jt-date,.jt-role{text-transform:uppercase}.jt-role{font-family:var(--font-head);font-size:1.35rem;letter-spacing:.04em;line-height:1.1;margin-bottom:.4rem}.jt-desc{font-size:.84rem;color:var(--gray);line-height:1.65}.beliefs-section,.exp-work{padding:6rem 0;background:var(--bg);border-top:1px solid var(--border)}.beliefs-underline{width:48px;height:3px;background:var(--accent);margin-bottom:3rem}.belief-card{background:var(--bg-card);border:1px solid var(--border);padding:2rem 1.75rem;position:relative;overflow:hidden;transition:var(--transition)}.belief-card:hover{border-color:var(--accent-dim);transform:translateY(-5px)}.belief-card:hover:after{transform:scaleX(1)}.belief-icon{width:40px;height:40px;color:var(--accent);margin-bottom:1.25rem}.belief-icon svg{width:100%;height:100%}.belief-title{font-family:var(--font-head);font-size:1.05rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.75rem;color:var(--white)}.belief-desc{font-size:.83rem;color:var(--gray);line-height:1.7}.edu-underline{width:40px;height:3px;background:var(--accent);margin-bottom:2rem}.edu-card{display:flex;gap:var(--card-gap-md);align-items:flex-start;background:var(--bg-card);border:1px solid var(--border);padding:1.75rem;margin-bottom:1rem;transition:var(--transition)}.edu-card:last-child{margin-bottom:0}.edu-icon-wrap{width:40px;height:40px;background:var(--bg);border:1px solid var(--border);color:var(--accent);flex-shrink:0}.edu-icon-wrap svg{width:20px;height:20px}.edu-degree{font-family:var(--font-head);font-size:1.15rem;letter-spacing:.04em;line-height:1.2;margin-bottom:.35rem}.edu-dates,.edu-degree{text-transform:uppercase}.edu-dates{font-family:var(--font-mono);font-size:.65rem;color:var(--accent);letter-spacing:.12em;margin-bottom:.25rem}.edu-institution{font-size:.84rem;color:var(--gray)}.cert-item{background:var(--bg-card);border:1px solid var(--border);padding:1rem 1.25rem;transition:var(--transition)}.cert-item:hover,.ci-card:hover{border-color:var(--accent-dim);transform:translateX(4px)}.cert-icon{width:36px;height:36px;background:var(--bg);border:1px solid var(--border);color:var(--accent);flex-shrink:0}.cert-icon svg{width:20px;height:20px}.cert-name{font-size:.86rem;color:var(--gray-light);line-height:1.4}.cert-name strong{color:var(--white);font-weight:var(--fw-6);display:block;font-size:.88rem;margin-bottom:.1rem}.pd-hero{padding-top:calc(var(--nav-h) + 3rem);padding-bottom:5rem;background:var(--bg);position:relative;overflow:hidden}.trv-pager-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.proj-card .badge svg{width:10px;height:10px}.proj-nav{display:flex;align-items:center;justify-content:space-between}.filter-section{background:var(--bg-2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);position:relative;padding:1.25rem 0;z-index:90}.pf-search{flex:1 1 260px;min-width:200px;background:var(--bg);border:1px solid var(--border);padding:.7rem .9rem;color:var(--gray);transition:border-color var(--transition-fast)}.pf-search:focus-within{border-color:var(--accent-dim)}.pf-quicklink svg:first-child,.pf-search svg{flex-shrink:0;color:var(--gray)}.pf-search-input{flex:1 1;background:0 0;border:none;outline:0;color:var(--white);font-family:var(--font-body);font-size:.85rem;min-width:0}.pf-search-input::placeholder{color:var(--gray)}.pf-kbd{font-family:var(--font-mono);font-size:.65rem;color:var(--gray);background:var(--bg-card);border:1px solid var(--border);padding:.15rem .4rem;flex-shrink:0}.pf-dropdown{flex-shrink:0;position:relative}.pf-dropdown-btn{background:var(--bg);border:1px solid var(--border);color:var(--gray-light);font-family:var(--font-body);font-size:var(--fs-14);padding:.7rem .9rem;cursor:pointer;white-space:nowrap;width:100%;transition:border-color var(--transition-fast),color var(--transition-fast)}.pf-dropdown-btn:hover,.pf-dropdown.open .pf-dropdown-btn{border-color:var(--accent-dim);color:var(--white)}.pf-dropdown-btn svg{color:var(--gray);flex-shrink:0;transition:transform var(--transition-fast)}.pf-dropdown.open .pf-dropdown-btn svg{transform:rotate(180deg)}.pf-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:100%;max-height:280px;overflow-y:auto;background:var(--bg-card);border:1px solid var(--border);list-style:none;margin:0;padding:.4rem 0;z-index:120;display:none;box-shadow:0 12px 28px rgba(0,0,0,.4)}.pf-dropdown.open .pf-dropdown-menu{display:block}.pf-dropdown-menu li{padding:.55rem .9rem;font-size:var(--fs-14);color:var(--gray-light);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast),color var(--transition-fast)}.pf-dropdown-menu li:hover{background:var(--accent-dim);color:var(--white)}.pf-dropdown-menu li[aria-selected=true]{color:var(--accent)}.pf-dropdown-menu li[aria-selected=true]:before{content:"âœ“ "}.pf-more-filters{background:0 0;border:1px solid var(--border);color:var(--gray-light);font-family:var(--font-body);font-size:var(--fs-14);padding:.7rem .9rem;cursor:pointer;white-space:nowrap;flex-shrink:0;margin-left:auto;transition:border-color var(--transition-fast),color var(--transition-fast)}.cf-pill:hover,.exp-filter-btn:hover,.pf-more-filters:hover,.pg-icon-btn:hover{border-color:var(--accent-dim);color:var(--white)}.pg-toolbar{justify-content:space-between;padding-bottom:1.25rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border)}.pg-toolbar-left{font-family:var(--font-mono);font-size:.78rem;color:var(--gray-light);letter-spacing:.02em}.pg-results-dot{width:6px;height:6px;border-radius:var(--br-none);background:var(--accent);display:inline-block;flex-shrink:0}.pg-view-toggle{display:flex;border:1px solid var(--border)}.pg-view-btn{background:0 0;border:none;color:var(--gray);font-family:var(--font-body);font-size:.78rem;padding:.55rem .85rem;cursor:pointer;border-right:1px solid var(--border);transition:var(--transition-fast)}.pg-view-btn:last-child{border-right:none}.pg-view-btn:hover{color:var(--white)}.pg-view-btn.active{color:var(--accent);background:var(--accent-dim);border-color:var(--accent-dim)}.pg-sort-label{font-size:.78rem;color:var(--gray);white-space:nowrap}.pg-sort-select{background:var(--card-bg);border:1px solid var(--border);color:var(--white);font-family:var(--font-body);font-size:.78rem;padding:.5rem .75rem;cursor:pointer;outline:0}.pg-sort-select option{background:var(--bg-card)}.pg-sort-select:focus,.pg-sort-select:hover{border-color:var(--accent-dim)}.pg-icon-btn{width:32px;height:32px;background:0 0;border:1px solid var(--border);color:var(--gray);cursor:pointer;transition:var(--transition-fast);flex-shrink:0}.pg-icon-btn.is-spinning svg{animation:pgIconSpin .5s linear}.pg-layout{display:grid;grid-template-columns:260px 1fr;align-items:start;grid-gap:var(--card-gap-md);gap:var(--card-gap-md)}.pg-main{min-width:0}.pg-sidebar{position:-webkit-sticky;position:sticky;top:calc(var(--nav-h, 70px) + 1rem)}.pf-panel{background:var(--bg-card);border:1px solid var(--border);padding:1.1rem}.pf-panel-title{font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:.1em;text-transform:uppercase;color:var(--white);display:block}.pf-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem}.pf-clear-all{background:0 0;border:none;color:var(--gray);font-family:var(--font-mono);font-size:.65rem;letter-spacing:.06em;cursor:pointer;transition:color var(--transition-fast)}.pf-clear-all:hover{color:var(--accent)}.pf-group{border-top:1px solid var(--border);padding-top:.85rem;margin-top:.85rem}.pf-group:first-of-type{border-top:none;padding-top:0;margin-top:0}.pf-group-head{display:flex;align-items:center;justify-content:space-between;width:100%;background:0 0;border:none;color:var(--gray-light);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;padding:0;margin-bottom:.65rem}.pf-chevron{color:var(--gray);transition:transform var(--transition-fast)}.pf-group-head[aria-expanded=false] .pf-chevron{transform:rotate(-90deg)}.pf-group-body{overflow:hidden}.pf-group-body.pf-collapsed,.pf-group-head[aria-expanded=false]+.pf-group-body{display:none}.pf-check{cursor:pointer;font-size:.82rem;color:var(--gray-light);-webkit-user-select:none;-moz-user-select:none;user-select:none}.cf-checkbox input,.pf-check input{position:absolute;opacity:0;width:0;height:0}.pf-check-box{width:15px;height:15px;border:1px solid var(--border);background:var(--bg);flex-shrink:0;position:relative;transition:var(--transition-fast)}.cf-checkbox input:checked+.cf-checkbox-box,.pf-check input:checked~.pf-check-box,.pro-paginations .pro-dot.active{background:var(--accent);border-color:var(--accent)}.pf-check input:checked~.pf-check-box:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid var(--bg);border-width:0 2px 2px 0;transform:rotate(45deg)}.pf-check input:focus-visible~.pf-check-box{outline:2px solid var(--accent-dim);outline-offset:2px}.pf-check-label{flex:1 1}.pf-check-count{color:var(--gray);font-family:var(--font-mono);font-size:.7rem}.pf-check:hover .pf-check-label{color:var(--white)}.pf-show-more{background:0 0;border:none;color:var(--accent);font-size:.75rem;cursor:pointer;padding:0;margin-top:.65rem}.pf-show-more:hover{text-decoration:underline}.pf-year-labels{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:.7rem;color:var(--gray);margin-bottom:.5rem}.pf-year-slider{width:100%;accent-color:var(--accent);cursor:pointer}.pf-reset-btn{gap:var(--card-gap-md);width:100%;background:0 0;border:1px solid var(--border);color:var(--gray-light);font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:.06em;text-transform:uppercase;padding:.7rem;cursor:pointer;margin-top:1rem;transition:var(--transition-fast)}.pf-reset-btn:hover{border-color:var(--accent-dim);color:var(--accent)}.pf-tech-bar-row{cursor:pointer;padding:.5rem;margin:-.3rem;transition:border-color var(--transition-fast),background var(--transition-fast)}.pf-tech-bar-row.active{border-color:var(--accent-dim);background:var(--accent-dim)}.pf-tech-bar-row.active .pf-tech-bar-top{color:var(--accent)}.pf-tech-bar-top{display:flex;justify-content:space-between;font-size:.78rem;color:var(--gray-light);margin-bottom:.3rem}.pf-tech-bar-track{width:100%;height:4px;background:var(--border);overflow:hidden}.pf-tech-bar-fill{height:100%;background:var(--accent)}.pf-view-all-tech{width:100%;background:0 0;border:1px solid var(--accent-dim);color:var(--accent);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;padding:.65rem;cursor:pointer;transition:var(--transition-fast)}.pf-view-all-tech:hover{background:var(--accent-dim)}.pf-quicklink{color:var(--gray-light);font-size:.82rem;text-decoration:none;padding:.6rem 0;border-bottom:1px solid var(--border);transition:color var(--transition-fast)}.pf-quicklink:last-child{border-bottom:none}.pf-quicklink-arrow{margin-left:auto;color:var(--gray);transition:transform var(--transition-fast)}.pf-quicklink:hover{color:var(--accent)}.pf-quicklink:hover .pf-quicklink-arrow{transform:translateX(3px);color:var(--accent)}.pf-quicklink .icon svg{width:15px;height:15px}.pg-pagination{justify-content:space-between;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}.pg-page-arrow,.pg-page-num{width:30px;height:30px;background:0 0;border:1px solid var(--border);color:var(--gray-light);font-family:var(--font-mono);font-size:.78rem;cursor:pointer;transition:var(--transition-fast)}.pg-page-arrow:hover,.pg-page-num:hover{border-color:var(--accent-dim);color:var(--white)}.pg-page-arrow:disabled,.trv-pager-btn:disabled{opacity:.35;cursor:not-allowed}.pg-page-arrow:disabled:hover{border-color:var(--border);color:var(--gray-light)}.pg-pagination-show select{background:var(--card-bg);border:1px solid var(--border);color:var(--white);font-family:var(--font-body);font-size:.78rem;padding:.4rem .6rem;cursor:pointer;outline:0}.pg-pagination-show option{background:var(--bg-card)}.projects-gallery{padding:5rem 0 3rem;background:var(--bg-card-hover)}.pg-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--card-gap-lg);gap:var(--card-gap-lg)}.pg-grid.pg-grid--list{grid-template-columns:1fr}.pg-grid.pg-grid--list .pg-card{flex-direction:row}.pg-grid.pg-grid--list .pg-thumb{width:400px;height:220px;flex-shrink:0}.pg-grid--masonry,.trv-grid[data-view=masonry]{display:block;column-count:3;column-gap:var(--card-gap-md);background:0 0;overflow:visible}.pg-grid--masonry .pg-card,.trv-grid[data-view=masonry] .testi-card{display:inline-block;width:100%;break-inside:avoid;page-break-inside:avoid;margin:0 0 1rem;border:1px solid var(--border);vertical-align:top}.pg-card{background:var(--bg-card);border:1px solid var(--border);overflow:hidden;transition:var(--transition);position:relative;cursor:pointer;display:flex;flex-direction:column}.pg-card.hidden{display:none}.pg-thumb{width:100%;height:230px;position:relative;overflow:hidden;background:var(--bg);flex-shrink:0}.pg-thumb-grid,.skills-img-bg{position:absolute;inset:0}.pg-num{position:absolute;top:.7rem;left:.7rem;font-family:var(--font-mono);font-size:.65rem;font-weight:var(--fw-7);color:var(--bg);background:var(--accent);padding:.15rem .45rem;letter-spacing:.08em;z-index:2}.pg-overlay{position:absolute;inset:0;background:var(--accent-dim);opacity:0;transition:opacity var(--transition);z-index:3}.pg-card:hover .pg-overlay{opacity:1}.pg-overlay-icon{width:42px;height:42px;background:var(--accent);color:var(--bg);transform:scale(0);transition:transform .3s var(--ease-bounce)}.pg-card:hover .pg-overlay-icon{transform:scale(1)}.pg-body{padding:1.25rem;display:flex;flex-direction:column;flex:1 1}.pg-name{font-family:var(--font-head);font-size:1.25rem;letter-spacing:.04em;line-height:1;margin-bottom:.25rem}.pg-category,.pg-name{text-transform:uppercase}.pg-category{font-family:var(--font-mono);font-size:.65rem;color:var(--accent);letter-spacing:.12em;margin-bottom:.6rem}.pg-desc{font-size:.81rem;color:var(--gray);line-height:1.65;margin-bottom:.9rem;flex:1 1;max-height:3rem;overflow:hidden;position:relative}.pg-desc:after{content:"...";position:absolute;bottom:10%;right:0;background:linear-gradient(to right,transparent,var(--card-bg) 50%);padding-left:10px}.pg-tags{margin-bottom:1rem}.pg-tag{font-family:var(--font-mono);font-size:var(--fs-10);color:var(--gray);background:var(--bg);border:1px solid var(--border);padding:.15rem .5rem;letter-spacing:.06em;transition:var(--transition)}.pg-card:hover .pg-tag{border-color:var(--accent-dim)}.pg-link{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:.7rem;color:var(--accent);letter-spacing:.1em;text-transform:uppercase;transition:gap var(--transition);border:none;background:0 0;cursor:pointer;padding:0}.pg-link,.pg-link:hover{gap:var(--card-gap-md)}.load-more-wrap{text-align:center;margin-top:3rem}.btn-load-more{display:inline-flex;align-items:center;gap:var(--card-gap-md);font-family:var(--font-mono);font-size:.78rem;color:var(--white);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--border);padding:.875rem 2.5rem;background:0 0;cursor:pointer;transition:var(--transition)}.hero-testi{position:relative;padding:clamp(2rem,5vw,4rem) 0 clamp(3rem,6vw,5rem);overflow:clip}.hero-testi-grid{display:grid;grid-template-columns:44% 56%;align-items:center;grid-gap:var(--card-gap-lg);gap:var(--card-gap-lg);min-height:640px}.ht-left{position:relative;min-width:0;z-index:2}.ht-logo{font-family:var(--font-head);font-weight:var(--fw-7);font-size:1.4rem;color:var(--white);margin-bottom:2.75rem;letter-spacing:-.01em}.ht-headline-wrap{position:relative;margin-bottom:1.75rem}.ht-watermark{position:absolute;top:-1.6em;left:-.08em;font-family:var(--font-head);font-weight:var(--fw-7);font-size:clamp(3.6rem,9vw,6.4rem);text-transform:uppercase;line-height:1;white-space:nowrap;letter-spacing:-.01em;z-index:0;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ht-watermark,html.theme-light .ht-watermark{color:var(--overlay)}.ht-headline{position:relative;z-index:1;font-family:var(--font-head);font-weight:var(--fw-7);font-size:clamp(2.4rem,5vw,3.4rem);line-height:1.08;color:var(--white);letter-spacing:-.01em;max-width:92%}.ht-headline .ht-accent-word{color:var(--accent-orange)}.ht-subhead{color:var(--gray-light);font-size:clamp(.98rem,1.4vw,1.08rem);max-width:30rem;margin-top:1.4rem;margin-bottom:2.25rem}.ht-cta-row{margin-bottom:2.5rem}.ht-btn{display:inline-flex;align-items:center;gap:var(--card-gap-md);padding:.9rem 1.6rem;font-family:var(--font-body);font-size:.95rem;font-weight:var(--fw-6);transition:var(--transition);position:relative}.ht-btn-primary{background:var(--accent);color:var(--bg);box-shadow:var(--sh2)}.ht-btn-primary:hover{transform:translateY(-2px);box-shadow:var(--sh3);filter:brightness(1.06)}.ht-btn-outline{background:0 0;color:var(--white);border:1.5px solid var(--border)}.ht-btn-outline:hover{border-color:var(--white);background:var(--bg-card-hover);transform:translateY(-2px)}.ht-btn:hover svg{transform:translateX(3px)}.ht-avatar-more{width:40px;height:40px;border:1px solid var(--bg);object-fit:cover}.ht-avatar-caption{font-size:.88rem;color:var(--gray-light);line-height:1.3}.ht-avatar-caption strong,.trv-results-count span#trvResultsCount{color:var(--white);font-weight:var(--fw-6)}.ht-right{position:relative;min-width:0;height:clamp(520px,54vw,660px);z-index:1;padding-left:clamp(1.5rem,4vw,3rem)}.ht-orbit-stage{position:relative;width:min(100%,560px);height:100%}.ht-dashed-circle{width:88%;max-width:500px;border-radius:var(--br-round);border:1.5px dashed var(--border);animation:ht-spin-slow 60s linear infinite}.ht-dashed-circle,.ht-dashed-circle-outer{position:absolute;aspect-ratio:1/1;top:50%;left:50%;transform:translate(-50%,-50%)}.ht-dashed-circle-outer{width:104%;max-width:580px;border-radius:var(--br-round);border:1px dashed var(--border);animation:ht-spin-slow-reverse 90s linear infinite}.ht-trust-badge{top:5%;left:15%;padding:.6rem 1.1rem;border:1px solid var(--overlay);font-size:.85rem;color:var(--white-dim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:6;animation:ht-float 5s ease-in-out infinite}.ht-badge,.ht-trust-badge{position:absolute;display:inline-flex;align-items:center;gap:var(--card-gap-md);background:var(--overlay)}.ht-badge{padding:.55rem 1rem;border:1px solid var(--bg-card-hover);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.82rem;font-weight:var(--fw-5);color:var(--white);white-space:nowrap;z-index:5;box-shadow:var(--sh1);transition:transform var(--transition),background var(--transition)}.ht-badge:hover{background:var(--bg-card-hover);transform:scale(1.05)}.ht-badge svg{flex-shrink:0}.ht-badge .star{color:var(--accent)}.ht-badge-clients{bottom:15%;right:2%;animation:ht-orbit-float-1 7s ease-in-out infinite}.ht-badge-rating{top:84%;left:26%;animation:ht-orbit-float-2 6.5s ease-in-out infinite}.ht-badge-delivery{top:58%;left:-4%;animation:ht-orbit-float-3 8s ease-in-out infinite}.ht-badge-experience{top:34%;left:-10%;animation:ht-orbit-float-1 7.5s ease-in-out infinite reverse}.ht-orbit-node{position:absolute;z-index:6}.ht-orbit-node .ht-node-avatar,.ht-orbit-node .ht-node-icon,.ht-orbit-node img{width:52px;height:52px;border-radius:var(--br-none);border:2px solid var(--border);object-fit:cover;box-shadow:var(--sh2);flex-shrink:0}.ht-node-avatar,.ht-node-icon{background:var(--bg);border-color:var(--bg-card-hover);font-family:var(--font-mono);font-size:.78rem;font-weight:var(--fw-7);color:var(--white)}.ht-node-label{font-size:.85rem;line-height:1.25;text-align:left}.ht-node-label strong{display:block;color:var(--white);font-weight:var(--fw-7);font-size:1.05rem}.ht-node-label span{color:var(--gray-light);font-size:.78rem}.ht-node-1{top:18%;left:-10%;flex-direction:row-reverse;animation:ht-float 6s ease-in-out infinite}.ht-node-1 .ht-node-label,.ht-node-3 .ht-node-label,.ht-node-4 .ht-node-label{text-align:right}.ht-node-2{top:10%;right:4%;animation:ht-float 5.5s ease-in-out infinite reverse}.ht-node-3{bottom:30%;right:-6%;animation:ht-float 6.5s ease-in-out infinite}.ht-node-3,.ht-node-4{flex-direction:row-reverse}.ht-node-4{bottom:15%;left:-5%;animation:ht-float 7s ease-in-out infinite reverse}.ht-testi-card{position:relative;z-index:10;width:min(70%,300px);margin-left:4%;margin-top:-1rem;padding:.94rem .88rem;background:var(--bg-card-hover);border:1px solid var(--overlay);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--sh2);transition:transform var(--transition),box-shadow var(--transition)}.ht-testi-card:before{content:"";position:absolute;top:.9rem;bottom:.9rem;left:0;width:3px;background:var(--accent)}.ht-testi-card:hover{transform:translateY(-6px) scale(1.015);box-shadow:var(--sh3)}.ht-testi-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.75rem}.ht-quote-mark{font-family:var(--font-head);font-size:3rem;line-height:1;color:var(--accent);opacity:.35}.ht-stars{display:flex;gap:var(--card-gap-md);color:var(--accent)}.cf-submit svg,.ci-card-icon svg,.ht-stars svg{width:16px;height:16px}.ht-testi-quote{color:var(--gray-light);font-size:.98rem;line-height:1.6;margin-bottom:1.25rem}.th-quote-slider{position:relative;margin-bottom:1.25rem}.th-quote-slide{display:none}.th-quote-slide.active{display:block;animation:ht-fade-in .4s ease}.th-quote-text{color:var(--gray-light);font-size:.98rem;line-height:1.6}.ht-testi-divider{height:1px;background:var(--bg-card-hover);margin-bottom:1.1rem}.ht-avatar-more,.ht-avatar-stack .ht-avatar-initials,.ht-avatar-stack img,.ht-testi-author .ht-testi-avatar,.ht-testi-author img{width:40px;height:40px;border-radius:var(--br-none);border:1px solid var(--border-accent);object-fit:cover;text-align:center;color:var(--white);font-size:12px;font-weight:var(--fw-5);box-shadow:var(--sh2);background:var(--bg-card);flex-shrink:0}.ht-avatar-initials{margin-left:-6px}.ht-avatar-initials:first-child{margin-left:0}.ht-avatar-stack{gap:0}.ht-testi-author-info strong{display:block;color:var(--white);font-weight:var(--fw-7);font-size:.98rem}.ht-testi-author-info span{color:var(--gray-light);font-size:.82rem}.ht-testi-dots{display:flex;gap:var(--card-gap-md);justify-content:center;margin-top:1.4rem}.ht-testi-dots button{width:7px;height:7px;background:var(--white-dim);transition:var(--transition-fast);padding:0}.ht-testi-dots button.active{background:var(--accent);width:20px}.ht-testi-dots button:hover{background:var(--bg-card-hover)}.ht-spinner-dot{position:absolute;bottom:6%;right:4%;width:14px;height:14px;background:var(--accent);box-shadow:0 0 18px 4px var(--accent-dim);z-index:6}.ht-spinner-orbit{position:absolute;bottom:15px;right:-2px;width:60px;height:60px;border:1.5px dashed var(--accent);opacity:.5;animation:ht-spin-fast 4s linear infinite}.ht-plus-badge{position:absolute;bottom:-6%;left:-4%;width:40px;height:40px;background:var(--bg);border:2px solid var(--overlay);font-family:var(--font-mono);font-size:var(--fs-12);font-weight:var(--fw-7);color:var(--white);z-index:11;box-shadow:var(--sh2);animation:ht-pulse 3s ease-in-out infinite}.ht-dot-accent{position:absolute;width:6px;height:6px;background:var(--accent-orange);opacity:.6}.ht-dot-1{top:10%;right:2%}.ht-dot-2{top:46%;left:4%}.ht-dot-3{bottom:18%;right:22%}.testi-section{padding:5rem 0;background:var(--bg-card-hover);border-bottom:1px solid var(--border)}.testi-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem}.testi-section-title{font-family:Barlow,sans-serif;font-size:var(--fs-14);font-weight:var(--fw-6);letter-spacing:.15em;text-transform:uppercase;color:var(--white)}.testi-nav-btn{width:38px;height:38px;border:1px solid var(--border);background:0 0;color:var(--gray);cursor:pointer;transition:all .2s}.learning-cards,.testi-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--card-gap-md);gap:var(--card-gap-md)}.testi-card{background:var(--bg-card);padding:2rem;transition:background .2s;position:relative}.testi-card:hover{background:var(--bg-2)}.testi-card-quote{font-size:2.5rem;line-height:1;color:var(--accent);font-family:Georgia,serif;margin-bottom:1rem;display:block}.testi-card-text{font-size:.88rem;color:var(--gray);line-height:1.7;margin-bottom:1.8rem}.testi-card-avatar{width:42px;height:42px;background:var(--bg-2);border:2px solid var(--border);overflow:hidden;font-family:Bebas Neue,sans-serif;font-size:var(--fs-16);color:var(--accent);flex-shrink:0}.avatar-dm,.avatar-ew,.avatar-ja,.avatar-mc,.avatar-ob,.avatar-sj{background:linear-gradient(135deg,var(--border),var(--gray-light))}.testi-card-name{font-family:Barlow,sans-serif;font-weight:var(--fw-6);font-size:.9rem;color:var(--white);margin:0 0 .1rem}.testi-card-role{font-size:.75rem;color:var(--gray);font-family:JetBrains Mono,monospace;margin:0}.testi-stars{display:flex;gap:var(--card-gap-md);margin-top:.8rem}.star{color:var(--accent);font-size:.85rem}.testi-section{overflow:visible}.trv-metrics{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--card-gap-md);gap:var(--card-gap-md);margin-bottom:2.5rem}.trv-metric-card{padding:1.1rem 1.3rem;background:var(--bg-card);border:1px solid var(--border);transition:var(--transition-fast)}.trv-metric-card:hover{border-color:var(--accent);background:var(--bg-card-hover)}.trv-metric-icon{width:40px;height:40px;flex-shrink:0;border:1px solid var(--border);color:var(--accent)}.trv-metric-body{min-width:0}.trv-metric-num{font-family:var(--font-head);font-size:1.5rem;color:var(--white);line-height:1}.trv-metric-label{font-family:var(--font-mono);font-size:.68rem;color:var(--gray);letter-spacing:.06em;white-space:nowrap}.trv-filter-bar{background:var(--bg-card);border:1px solid var(--border);padding:1rem 1.25rem;border-bottom-left-radius:0;border-bottom-right-radius:0}.trv-search{position:relative;display:flex;align-items:center;flex:1 1 220px;min-width:180px;color:var(--gray)}.trv-search svg{position:absolute;left:.9rem;pointer-events:none;color:var(--gray)}.trv-search-input{width:100%;padding:.65rem 3.2rem .65rem 2.6rem;background:var(--bg-2);border:1px solid var(--border);color:var(--white);font-family:var(--font-body);font-size:.85rem;transition:var(--transition-fast)}.trv-search-input::placeholder{color:var(--gray)}.trv-search-input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.trv-search-input:focus{outline:0;border-color:var(--accent);background:var(--bg)}.trv-search-kbd{position:absolute;right:.7rem;padding:.15rem .4rem;border:1px solid var(--border);font-family:var(--font-mono);font-size:var(--fs-10);color:var(--gray);background:var(--bg-card);pointer-events:none}.trv-select-wrap{position:relative;display:inline-flex;align-items:center;flex-shrink:0}.trv-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:var(--bg-2);border:1px solid var(--border);color:var(--white);font-family:var(--font-body);font-size:.82rem;padding:.62rem 2rem .62rem .9rem;cursor:pointer;transition:var(--transition-fast);max-width:170px}.trv-select:hover{border-color:var(--accent-dim)}.trv-select:focus{outline:0;border-color:var(--accent)}.trv-select-chevron{position:absolute;right:.75rem;color:var(--accent);pointer-events:none}.trv-select-wrap--sm .trv-select{max-width:130px;padding-top:.5rem;padding-bottom:.5rem;font-size:.78rem}.trv-clear-btn{display:inline-flex;align-items:center;gap:var(--card-gap-md);background:0 0;border:none;color:var(--accent);font-family:var(--font-mono);font-size:var(--fs-14);cursor:pointer;padding:.5rem .25rem;flex-shrink:0;transition:var(--transition-fast)}.trv-clear-btn:hover{opacity:.75}.trv-clear-btn svg{transition:transform .3s ease}.trv-clear-btn:hover svg{transform:rotate(-90deg)}.trv-sort-wrap{margin-left:auto;flex-shrink:0}.trv-sort-label{font-family:var(--font-mono);font-size:.75rem;color:var(--gray);white-space:nowrap}.trv-results-bar{justify-content:space-between;background:var(--bg-card);padding:1rem 1.25rem;margin-bottom:1.5rem;border-bottom-left-radius:var(--br-none);border-bottom-right-radius:var(--br-none);border:1px solid var(--border);border-top:0}.trv-results-count{font-size:.85rem;color:var(--gray-light)}.trv-dot{width:6px;height:6px;border-radius:var(--br-round);background:var(--accent);flex-shrink:0}.trv-view-toggle{display:inline-flex;border:1px solid var(--border);overflow:hidden}.trv-view-btn{background:0 0;border:none;color:var(--gray);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.04em;padding:.55rem .9rem;cursor:pointer;transition:var(--transition-fast);border-right:1px solid var(--border)}.trv-view-btn:last-child{border-right:none}.client-logo-item:hover,.trv-view-btn:hover{color:var(--white);background:var(--bg-2)}.trv-view-btn.active{color:var(--accent);background:var(--accent-dim)}.trv-perpage-wrap{flex-shrink:0}.trv-pager-btn{width:30px;height:30px;background:var(--bg-2);border:1px solid var(--border);color:var(--gray);cursor:pointer;transition:var(--transition-fast)}.trv-pager-page{min-width:26px;height:26px;padding:10px;border:1px solid var(--accent);color:var(--accent);font-family:var(--font-mono);font-size:.78rem;background:var(--accent-dim)}.trv-grid{overflow:hidden}.trv-grid.testi-cards-grid{grid-template-columns:repeat(3,1fr)}.trv-grid[data-view=list]{grid-template-columns:1fr}.trv-grid[data-view=masonry] .testi-card:hover{border-color:var(--accent-dim)}.trv-grid[data-view=masonry] .trv-more-card,.trv-grid[data-view=masonry] .trv-no-results{display:inline-block;width:100%;page-break-inside:avoid;break-inside:avoid;margin:0 0 1rem;border:1px dashed var(--border);border-radius:var(--br-none);vertical-align:top}.trv-grid[data-view=masonry] .trv-no-results{border-style:solid}.trv-grid[data-view=masonry] .testi-card[hidden],.trv-grid[data-view=masonry] .trv-more-card[hidden],.trv-grid[data-view=masonry] .trv-no-results[hidden]{display:none}.trv-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--card-gap-md);margin-bottom:.25rem}.trv-card-top .testi-card-quote{margin-bottom:0}.trv-service-tag{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.04em;color:var(--gray-light);background:var(--bg-2);border:1px solid var(--border);padding:.3rem .6rem;white-space:nowrap;flex-shrink:0}.testi-card-author{flex-wrap:wrap}.testi-card-author .testi-stars{margin-top:0;margin-left:auto}.testi-card[hidden]{display:none}.trv-more-card{background:var(--bg-card);flex-direction:column;text-align:center;gap:var(--card-gap-md);border-radius:var(--br-none);padding:2rem;min-height:220px;color:var(--gray)}.trv-more-icon{width:52px;height:52px;border:1px dashed var(--border);color:var(--gray)}.trv-more-card p{font-size:.85rem;line-height:1.5}.trv-no-results{grid-column:1/-1;text-align:center;padding:3rem 1rem;color:var(--gray);font-size:.9rem;background:var(--bg-card)}.trv-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--card-gap-lg);flex-wrap:wrap;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.trv-footer-badges{gap:var(--card-gap-md);margin-top:1rem;flex-wrap:wrap}.trv-footer-badge-icon{width:34px;height:34px;flex-shrink:0;border:1px solid var(--border);color:var(--accent)}.trv-footer-badge strong{display:block;font-size:var(--fs-14);color:var(--white);font-weight:var(--fw-6)}.trv-footer-badge small{display:block;font-size:.7rem;color:var(--gray);margin-top:.1rem}.trv-view-all-btn{flex-shrink:0}.clients-section{padding:4rem 0;border-bottom:1px solid var(--border)}.clients-title{font-family:Barlow,sans-serif;font-size:var(--fs-14);font-weight:var(--fw-6);letter-spacing:.15em;text-transform:uppercase;color:var(--white);margin-bottom:2rem;padding-bottom:.75rem;border-bottom:2px solid var(--accent);display:inline-block}.clients-logos{display:flex;flex-wrap:wrap;gap:0;background:var(--border)}.client-logo-item{flex:1 1;min-width:140px;background:var(--bg-card);padding:1.4rem 1.8rem;font-family:Barlow,sans-serif;font-size:.85rem;font-weight:var(--fw-6);color:var(--gray);transition:all .2s;border-right:1px solid var(--border);cursor:default}.client-logo-item:last-child{border-right:none}.client-logo-icon{width:24px;height:24px;background:var(--border);font-size:.7rem;color:var(--accent);font-family:JetBrains Mono,monospace;font-weight:var(--fw-7);flex-shrink:0}.contact-main{padding:5rem 0;background:var(--bg);border-top:1px solid var(--border)}.contact-main-grid{display:grid;grid-template-columns:1fr 1.5fr;grid-gap:var(--gap);gap:var(--gap);align-items:start}.contact-main-grid .section-header{margin-bottom:.5rem}.cf-heading,.ci-heading{font-family:var(--font-head);font-size:1.1rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.6rem}.cf-underline,.ci-underline{width:40px;height:2px;background:var(--accent);margin-bottom:2rem}.ci-cards{margin-bottom:2.5rem}.ci-card{display:flex;align-items:flex-start;gap:var(--card-gap-md);background:var(--bg-card);padding:1.1rem 1.25rem;transition:var(--transition)}.ci-card,.ci-card-icon{border:1px solid var(--border)}.ci-card-icon{width:40px;height:40px;background:var(--bg);color:var(--accent);flex-shrink:0}.ci-card-label{font-family:var(--font-mono);font-size:var(--fs-10);letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:.25rem}.ci-card-value{font-size:.88rem;color:var(--white);font-weight:var(--fw-5);line-height:1.3}.ci-card-sub{font-size:.75rem;color:var(--gray);margin-top:.15rem}.ci-connect-heading{font-family:var(--font-head);font-size:var(--fs-16);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.5rem}.ci-connect-heading:after{content:"";flex:1 1;height:1px;background:var(--border)}.ci-connect-sub{font-size:.78rem;color:var(--gray);margin-bottom:1rem}.ci-social-btn{width:42px;height:42px;background:var(--bg-card);border:1px solid var(--border);color:var(--gray);transition:var(--transition);text-decoration:none}.ci-social-btn svg{width:17px;height:17px}.cf-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--card-gap-md);gap:var(--card-gap-md)}.cf-field,.cf-row{margin-bottom:1rem}.cf-field{display:flex;flex-direction:column;gap:0}.cf-field.full{grid-column:1/-1}.cf-input,.cf-textarea{background:var(--bg-card);border:1px solid var(--border);color:var(--white);padding:.9rem 1.1rem;font-size:.88rem;font-family:var(--font-body);outline:0;transition:border-color var(--transition);width:100%;resize:none}.cf-input::placeholder,.cf-textarea::placeholder{color:var(--gray);font-size:.85rem}.cf-input:focus,.cf-textarea:focus{border-color:var(--accent)}.cf-textarea{height:160px}.cf-submit{width:100%;padding:.77rem 1rem;background:var(--accent);color:var(--bg);font-family:var(--font-head);font-size:var(--fs-16);letter-spacing:.12em;text-transform:uppercase;border:none;cursor:pointer;gap:var(--card-gap-md);transition:var(--transition);position:relative;overflow:hidden}.cf-submit:before{content:"";position:absolute;inset:0;background:var(--white);transform:translateX(-101%);transition:transform .4s var(--ease-bounce)}.cf-submit:hover:before{transform:translateX(0)}.cf-submit span,.cf-submit svg{position:relative;z-index:1}.cf-submit:hover{color:var(--bg)}.cf-secure{font-size:.74rem;color:var(--gray);margin-top:.75rem}.cf-secure svg{width:12px;height:12px;color:var(--gray)}.cf-steps{display:flex;flex-direction:column;gap:var(--card-gap-lg)}.cf-step{display:flex;align-items:flex-start;gap:var(--card-gap-md);margin:10px 0}.cf-step-badge{flex-shrink:0;min-width:38px;height:30px;padding:0 .4rem;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.05em;background:var(--bg-card);border:1px solid var(--border);color:var(--gray);transition:var(--transition)}.cf-step.is-active .cf-step-badge,.cf-step.is-filled .cf-step-badge{background:var(--accent);border-color:var(--accent);color:var(--bg)}.cf-step.is-invalid .cf-step-badge{border-color:var(--danger);color:var(--danger);background:0 0}.cf-step-body{flex:1 1;min-width:0}.cf-step-label{font-family:var(--font-body);font-size:.92rem;font-weight:var(--fw-5);color:var(--white);line-height:1.4}.cf-req{color:var(--accent);margin-left:2px}.cf-line-input,.cf-line-textarea{background:0 0;border:none;border-bottom:1px solid var(--border);color:var(--white);padding:.6rem .05rem;font-size:.9rem;font-family:var(--font-body);outline:0;width:100%;resize:none;transition:border-color var(--transition)}.cf-line-input::placeholder,.cf-line-textarea::placeholder{color:var(--gray);font-size:.85rem}.cf-line-input:focus,.cf-line-textarea:focus{border-color:var(--accent)}.cf-line-textarea{height:90px;padding-top:.7rem}.cf-step.is-invalid .cf-line-input,.cf-step.is-invalid .cf-line-textarea{border-color:var(--danger)}.cf-error{display:none;font-size:.74rem;color:var(--danger);font-family:var(--font-body)}.cf-error.show{display:block}.cf-pills{margin-top:.1rem;gap:var(--card-gap-sm)}.cf-pill{padding:.25rem 1.1rem;background:var(--bg-card);border:1px solid var(--border);color:var(--gray-light);font-size:var(--fs-14);font-family:var(--font-body);cursor:pointer;transition:var(--transition);white-space:nowrap}.cf-pill.active{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:var(--fw-6)}.cf-step.is-invalid .cf-pill{border-color:var(--danger)}.cf-checkbox{display:flex;align-items:flex-start;gap:var(--card-gap-md);cursor:pointer;font-size:.82rem;color:var(--gray-light);line-height:1.5}.cf-checkbox-box{position:relative;width:18px;height:18px;flex-shrink:0;margin-top:2px;border:1px solid var(--border);background:var(--bg-card);transition:var(--transition)}.cf-checkbox input:checked+.cf-checkbox-box:after{content:"";position:absolute;left:5px;top:1px;width:5px;height:9px;border:solid var(--bg);border-width:0 2px 2px 0;transform:rotate(45deg)}.cf-consent.is-invalid .cf-checkbox-box{border-color:var(--danger)}.cf-checkbox-label a{color:var(--accent);font-weight:var(--fw-6);text-decoration:underline}.cf-submit-row{display:flex;align-items:center;gap:var(--card-gap-lg);flex-wrap:wrap;margin-top:.25rem}.cf-submit-row .cf-submit{width:auto;min-width:160px}.cf-recaptcha{font-size:.7rem;color:var(--gray);line-height:1.5;flex:1 1;min-width:200px}.cf-recaptcha a{color:var(--gray-light);text-decoration:underline}.form-success{display:none;align-items:center;gap:var(--card-gap-md);margin-top:1rem;padding:.85rem 1.25rem;background:var(--accent-dim);border:1px solid var(--accent);font-family:var(--font-mono);font-size:.85rem;color:var(--accent);letter-spacing:.05em}.form-success.show{display:block}.contact-map-section{padding:0;background:var(--bg);border-top:1px solid var(--border);position:relative;overflow:hidden}.contact-map-inner{display:grid;grid-template-columns:300px 1fr;min-height:320px}.cmap-info{background:var(--bg-card);border-right:1px solid var(--border);padding:3rem 2rem;position:relative;z-index:2}.cmap-badge{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:.6rem}.cmap-title,.exp-highlights-heading{font-family:var(--font-head);font-size:1.35rem;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.5rem}.cmap-desc{font-size:.82rem;color:var(--gray);line-height:1.7;margin-bottom:2rem}.cmap-city{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:.35rem}.cmap-city-name{font-family:var(--font-head);font-size:var(--fs-16);letter-spacing:.04em;text-transform:uppercase;color:var(--gray-light)}.cmap-triangle{position:absolute;bottom:0;right:0;width:0;height:0;border-left:40px solid transparent;border-bottom:40px solid var(--accent)}.cmap-visual{position:relative;overflow:hidden;min-height:320px}#leaflet-map{width:100%;height:100%;min-height:320px}.leaflet-container{background:var(--bg-2);font-family:var(--font-mono)}.leaflet-control-zoom a{background:var(--bg-card)!important;border:1px solid var(--border)!important;color:var(--white)!important;line-height:26px!important;transition:var(--transition)}.leaflet-control-zoom a:hover{background:var(--accent-dim)!important;border-color:var(--accent)!important;color:var(--accent)!important}.leaflet-control-zoom{border:none!important;box-shadow:none!important}.leaflet-control-attribution{background:var(--overlay)!important;color:var(--gray)!important;font-size:.55rem!important;letter-spacing:.04em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.leaflet-control-attribution a{color:var(--accent)!important}.lf-marker-wrap{position:relative;display:flex;flex-direction:column;align-items:center;width:160px}.lf-marker-dot{width:16px;height:16px;background:var(--accent);transform:rotate(-45deg);position:relative;z-index:2;box-shadow:0 0 0 4px var(--accent-dim),0 0 16px var(--accent-dim);animation:pinPulse 2s ease-in-out infinite}.lf-marker-dot:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(45deg);width:6px;height:6px;background:var(--bg)}.lf-marker-pulse{position:absolute;top:-6px;left:50%;transform:translateX(-50%);width:28px;height:28px;background:var(--accent-dim);animation:lfPulseRing 2s ease-out infinite;z-index:1}.lf-marker-label{margin-top:7px;font-family:var(--font-mono);font-size:var(--fs-10);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);background:var(--bg-card);border:1px solid var(--accent-dim);padding:.2rem .55rem;white-space:nowrap;box-shadow:var(--sh-accent-sm)}.leaflet-popup-content-wrapper{background:var(--bg-card)!important;border:1px solid var(--border)!important;border-left:3px solid var(--accent)!important;border-radius:var(--br-none)!important;box-shadow:0 8px 32px var(--overlay)!important;padding:0!important}.leaflet-popup-content{margin:0!important;width:auto!important}.leaflet-popup-tip-container{display:none!important}.leaflet-popup-close-button{color:var(--gray)!important;font-size:1rem!important;top:6px!important;right:8px!important;transition:color .2s}.leaflet-popup-close-button:hover{color:var(--accent)!important}.lf-popup{padding:1rem 1.25rem;min-width:200px}.lf-popup-name{font-family:var(--font-head);font-size:var(--fs-16);letter-spacing:.06em;text-transform:uppercase;color:var(--white);line-height:1.1;margin-bottom:.2rem}.lf-popup-role{font-family:var(--font-mono);font-size:var(--fs-10);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem}.lf-popup-loc{font-size:.62rem;color:var(--gray-light);margin-bottom:.4rem}.lf-popup-avail,.lf-popup-loc{font-family:var(--font-mono);letter-spacing:.08em}.lf-popup-avail{font-size:.58rem;color:var(--accent);opacity:.8}.exp-hero,.skills-hero{min-height:100dvh;padding-top:var(--nav-h);display:flex;align-items:center;position:relative;overflow:hidden;background:var(--bg)}.skills-hero-inner{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--gap);gap:var(--gap);align-items:center;padding:5rem 0 4rem;position:relative;z-index:1}.exp-hero-label:before,.skills-hero-label:before{content:"";display:inline-block;width:10px;height:10px;background:var(--accent);flex-shrink:0}.exp-hero-heading,.skills-hero-heading{font-family:var(--font-head);font-size:clamp(4rem,5vw,6rem);line-height:.92;text-transform:uppercase;letter-spacing:.02em;margin-bottom:1.5rem}.skills-hero-heading .accent{color:var(--accent)}.sh-hero{min-height:100vh;padding:4rem 0 60px;display:flex;align-items:center;overflow:hidden;background:var(--bg)}.sh-hero-grid{position:relative;z-index:2;width:min(var(--max-w),100% - 3rem);margin-inline:auto;display:grid;grid-template-columns:1fr 1.05fr;grid-gap:var(--gap);gap:var(--gap);align-items:center}.sh-copy{display:flex;flex-direction:column;animation:sh-fade-up .7s ease both}.sh-visual{position:relative;height:600px}.sh-stage{position:relative;width:500px;height:500px;max-width:100%}.sh-orbit-ring{position:absolute;border-radius:var(--br-round)}.sh-orbit-ring.sh-r1{width:53.6%;height:53.6%;top:23.2%;left:23.2%;border:1px solid var(--accent-dim)}.sh-orbit-ring.sh-r2{width:75%;height:75%;top:50%;left:50%;transform:translate(-50%,-50%)!important;border:1.5px dashed var(--accent-dim);animation:ht-spin-slow 50s linear infinite}.sh-orbit-ring.sh-r3{width:96.4%;height:96.4%;top:1.8%;left:1.8%;border:1px solid var(--accent-dim)}.sh-spokes{position:absolute;top:50%;left:50%;width:560px;height:560px;transform:translate(-50%,-50%);pointer-events:none;z-index:2}.sh-spokes line{stroke:var(--accent);stroke-width:1;stroke-dasharray:3 5;animation:sh-dash-flow 6s linear infinite}.sh-spokes circle.sh-travel-dot{fill:var(--accent);filter:drop-shadow(0 0 4px var(--accent))}.sh-core{position:relative;z-index:3;width:200px;height:200px;border-radius:var(--br-round);background:radial-gradient(circle at 50% 45%,var(--accent-dim),var(--bg-card-hover) 72%);border:1.5px solid var(--border);box-shadow:0 0 45px 6px var(--accent-dim),0 0 90px 20px var(--accent),inset 0 0 40px var(--accent-dim);animation:sh-core-pulse 3.2s ease-in-out infinite}.sh-core-icon{width:46px;height:46px;color:var(--white);filter:drop-shadow(0 0 8px var(--accent-dim))}.sh-node{position:absolute;z-index:4;transition:transform var(--transition),filter var(--transition)}.sh-node-circle{width:62px;height:62px;border-radius:var(--br-round);flex-shrink:0;background:var(--bg);border:1.5px solid var(--node-color,var(--accent-purple));box-shadow:0 0 16px 2px color-mix(in srgb,var(--node-color,var(--accent-purple)) 55%,transparent);animation:float 5s ease-in-out infinite}.sh-node-circle svg{width:26px;height:26px}.sh-node-label{display:flex;flex-direction:column;white-space:nowrap}.sh-node.sh-devops .sh-node-label{flex-direction:column-reverse}.sh-node-title{font-family:var(--font-head);font-weight:var(--fw-6);font-size:.9rem;color:var(--white);line-height:1.2}.sh-node-sub{font-size:.7rem;color:var(--gray);margin-top:.1rem}.sh-node:hover .sh-node-circle{transform:scale(1.12);box-shadow:0 0 26px 6px color-mix(in srgb,var(--node-color,var(--accent-purple)) 70%,transparent)}.sh-node.sh-frontend{top:3%;left:18%;transform:rotate(-34deg)!important;flex-direction:column;text-align:center;--node-color:var(--accent-orange);animation:sh-node-orbit-a 7s ease-in-out infinite}.htv2-center .sh-node.sh-frontend{top:18%;left:55%;transform:rotate(0) translateY(-50%)!important}.sh-node.sh-frontend .sh-node-label{align-items:center}.sh-node.sh-frontend .sh-node-circle svg{color:var(--accent-orange)}.sh-node.sh-backend{top:10%;right:9%;flex-direction:column;align-items:center;justify-content:center;text-align:center;transform:rotate(50deg)!important;--node-color:var(--accent-green);animation:sh-node-orbit-b 6.5s ease-in-out infinite}.sh-node.sh-backend .sh-node-circle svg{color:var(--accent-green)}.htv2-center .sh-node.sh-backend{right:33%;top:50%;transform:rotate(0) translateY(-50%)!important}.sh-node.sh-database{bottom:15%;right:0;flex-direction:column;align-items:center;justify-content:center;text-align:center;transform:rotate(-60deg)!important;--node-color:var(--accent-purple);animation:sh-node-orbit-a 8s ease-in-out infinite}.sh-node.sh-database .sh-node-circle svg{color:var(--accent-purple)}.sh-node.sh-devops{bottom:-3%;left:27%;transform:rotate(15deg)!important;flex-direction:column;text-align:center;--node-color:var(--accent-blue);animation:sh-node-orbit-b 7.5s ease-in-out infinite}.sh-node.sh-devops .sh-node-label{align-items:center}.sh-node.sh-devops .sh-node-circle svg{color:var(--accent-blue)}.sh-node.sh-uiux{top:46%;left:0;transform:rotate(-100deg)!important;flex-direction:column;align-items:center;text-align:center;justify-content:center;--node-color:var(--accent-pink);animation:sh-node-orbit-a 6.8s ease-in-out infinite}.sh-node.sh-uiux .sh-node-circle svg{color:var(--accent-pink)}.htv2-center .sh-node.sh-uiux{left:36%;transform:rotate(0) translate(-50%)!important}.sh-mesh-wrap{position:absolute;left:0;right:0;bottom:-40px;height:320px;z-index:1;pointer-events:none;overflow:hidden}.sh-particle{animation:sh-particle-drift var(--p-dur,4s) ease-in-out infinite}.skills-hero-visual{position:relative;display:flex;justify-content:flex-end}.skills-img-wrap{position:relative;width:420px;height:500px}.skills-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;transition:filter var(--transition)}.skills-img-accent{position:absolute;bottom:-16px;right:-16px;width:120px;height:120px;border:2px solid var(--accent);pointer-events:none}.skills-name-card{position:absolute;bottom:10px;right:-10px;background:var(--accent);color:var(--bg);padding:1rem 1.25rem;min-width:160px;z-index:2}.skills-name-card h3{font-family:var(--font-head);font-size:1.25rem;letter-spacing:.05em;line-height:1.1;text-transform:uppercase;color:var(--bg);margin:0 0 .25rem}.skills-name-card p{font-family:var(--font-mono);font-size:var(--fs-10);letter-spacing:.15em;text-transform:uppercase;color:var(--bg-card-hover);margin:0}.skills-geo-plus{position:absolute;top:20px;right:20px;color:var(--accent);font-size:1.6rem;font-weight:var(--fw-3);opacity:.7;pointer-events:none;z-index:3}.skills-section{padding:4rem 0;background:var(--bg-card-hover);border-top:1px solid var(--border)}.skills-section.bg-2{background:var(--bg-2)}.skills-section.bg{background:var(--bg)}.section-title-bar{justify-content:space-between;margin-bottom:1.75rem}.section-title-left h2{font-family:var(--font-body);font-size:var(--fs-16);font-weight:var(--fw-7);letter-spacing:.12em;text-transform:uppercase;color:var(--white);margin-bottom:.5rem}.section-title-underline{width:36px;height:2px;background:var(--accent)}.skill-cat-head{margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.other-skills-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:var(--card-gap-md);gap:var(--card-gap-md)}.other-skill-card{background:var(--bg);padding:1.5rem 1.25rem;transition:background .2s}.other-skill-card:hover{background:var(--bg-card-hover)}.other-skill-icon{width:40px;height:40px;border:1px solid var(--border);color:var(--accent);margin-bottom:1rem}.other-skill-icon svg{width:20px;height:20px}.other-skill-title{font-family:var(--font-body);font-size:var(--fs-14);font-weight:var(--fw-7);letter-spacing:.08em;text-transform:uppercase;color:var(--white);margin-bottom:.5rem}.tools-grid{display:grid;grid-template-columns:repeat(8,1fr);grid-gap:var(--card-gap-md);gap:var(--card-gap-md);background:var(--border)}.tool-item{background:var(--bg-card);padding:1.25rem .75rem;flex-direction:column;transition:background .2s;cursor:default}.tool-item:hover{background:var(--bg-card-hover)}.tool-icon{width:40px;height:40px;flex-shrink:0}.tool-icon img,.tool-icon svg{width:30px;height:30px;object-fit:contain}.tool-label{font-family:var(--font-mono);font-size:.62rem;color:var(--gray);text-align:center;letter-spacing:.05em}.learning-inner{display:grid;grid-template-columns:1fr 2fr;grid-gap:var(--gap);gap:var(--gap);place-content:center;place-items:center}.learning-underline{width:36px;height:2px;background:var(--accent);margin-bottom:1rem}.learning-desc{font-size:.85rem;color:var(--gray);line-height:1.75}.learning-card{background:var(--bg-card);padding:1.5rem;display:flex;align-items:flex-start;gap:var(--card-gap-md)}.learning-card-icon{width:36px;height:36px;border:1px solid var(--border);color:var(--accent);flex-shrink:0;margin-top:.1rem}.learning-card-text{font-size:.82rem;color:var(--gray-light);line-height:1.65}#hero-canvas{width:100%;height:100%}#hero-canvas,.exp-hero-bg{position:absolute;inset:0;pointer-events:none;z-index:0}.exp-hero-bg{background-image:radial-gradient(circle,var(--accent-dim) 1px,transparent 1px);background-size:36px 36px;animation:bgShift 20s linear infinite}.hero-glow-blob{position:absolute;pointer-events:none;z-index:0;filter:blur(80px);animation:blobFloat 8s ease-in-out infinite alternate}.hero-glow-blob.b1{width:420px;height:420px;top:-80px;left:-60px;animation-delay:0s}.hero-glow-blob.b1,.hero-glow-blob.b2{background:radial-gradient(circle,var(--accent-dim) 0,transparent 70%)}.hero-glow-blob.b2{width:320px;height:320px;bottom:0;right:5%;animation-delay:-3s}.hero-glow-blob.b3{width:200px;height:200px;background:radial-gradient(circle,var(--accent-dim) 0,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:-6s}.hero-symbols{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}.hsym{position:absolute;font-family:var(--font-mono);color:var(--accent-dim);font-size:.7rem;letter-spacing:.05em;white-space:nowrap;animation:symDrift linear infinite;-webkit-user-select:none;-moz-user-select:none;user-select:none}.hero-bracket{position:absolute;width:60px;height:60px;pointer-events:none;z-index:0;opacity:.15}.hero-bracket.tl{left:20px;border-left:1px solid var(--accent);animation:bracketPulse 4s ease-in-out infinite}.hero-bracket.tl,.hero-bracket.tr{top:80px;border-top:1px solid var(--accent)}.hero-bracket.tr{right:20px;border-right:1px solid var(--accent);animation:bracketPulse 4s ease-in-out 1s infinite}.hero-bracket.bl{left:20px;border-left:1px solid var(--accent);animation:bracketPulse 4s ease-in-out 2s infinite}.hero-bracket.bl,.hero-bracket.br{bottom:40px;border-bottom:1px solid var(--accent)}.hero-bracket.br{right:20px;border-right:1px solid var(--accent);animation:bracketPulse 4s ease-in-out 3s infinite}.hero-scan-line{position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-dim),transparent);pointer-events:none;z-index:0;animation:scanDown 6s linear infinite}.footer-inner-wrap,footer>.container{position:relative;z-index:2}#footer-geo-canvas{width:100%;height:100%}#footer-geo-canvas,.footer-geo-layer{position:absolute;inset:0;pointer-events:none;z-index:1}.footer-geo-layer{overflow:hidden}.fgeo-circle-solid{background:var(--accent);opacity:.72}.fgeo-circle-outline,.fgeo-circle-solid{position:absolute;animation:fgeoFloat ease-in-out infinite alternate}.fgeo-circle-outline{background:0 0;border:1.5px solid var(--accent-dim)}.fgeo-tri-outline{position:absolute;animation:fgeoSpin linear infinite}.fgeo-tri-outline svg{display:block}.fgeo-dots{position:absolute;display:grid;grid-gap:var(--card-gap-md);gap:var(--card-gap-md);animation:fgeoPulse ease-in-out infinite alternate}.fgeo-dot{width:3px;height:3px;background:var(--accent-dim)}.fgeo-dash{background:var(--accent-dim)}.fgeo-bars,.fgeo-dash{position:absolute;animation:fgeoPulse ease-in-out infinite alternate}.fgeo-bars{display:flex;gap:var(--card-gap-md);align-items:flex-end}.fgeo-bar{width:3px;background:var(--accent-dim)}.exp-hero-inner{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--gap);gap:var(--gap);align-items:center;padding:2rem 0;position:relative;z-index:1}.exp-hero-heading .accent{color:var(--accent)}.exp-hero-stats{display:grid;grid-template-columns:repeat(4,auto);grid-gap:var(--card-gap-md);gap:var(--card-gap-md);margin-bottom:2.5rem}.exp-hero-stat{background:var(--bg-card);padding:10px 15px}.exp-hero-stat-icon{color:var(--accent);width:20px;height:20px;stroke-width:1.5}.exp-hero-stat svg{color:var(--accent)}.exp-hero-stat-num{font-family:var(--font-head);font-size:2rem;color:var(--white);line-height:1;letter-spacing:.01em}.exp-hero-stat-label{font-family:var(--font-mono);font-size:.62rem;color:var(--gray);letter-spacing:.06em;text-transform:uppercase;line-height:1.5}.exp-btn-story{gap:var(--card-gap-md);padding:.5rem 1.5rem .5rem .5rem}.exp-btn-story,.exp-btn-story-icon{display:inline-flex;align-items:center}.exp-btn-story-icon{width:32px;height:32px;border:1px solid;justify-content:center;flex-shrink:0;transition:var(--transition)}.exp-btn-story-icon svg{width:11px;height:11px;margin-left:1px}.exp-hero-visual{position:relative;display:flex;justify-content:center}.exp-path-wrap{position:relative;width:100%;max-width:540px;aspect-ratio:560/700;max-height:80vh}.exp-path-svg{position:absolute;right:-4rem;width:100%;height:100%;overflow:visible;z-index:0;padding:1rem}.exp-path-line-glow{fill:none;stroke:var(--accent);stroke-width:10;stroke-linecap:round;opacity:.15;filter:blur(6px)}.exp-path-line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-dasharray:5 7;opacity:.85;animation:pathDash 3.5s linear infinite}.exp-path-node-ring{fill:var(--bg);stroke:var(--gray-dim);stroke-width:2;transition:var(--transition)}.exp-path-node-dot{fill:var(--accent)}.exp-path-node.is-now .exp-path-node-ring{stroke:var(--accent);filter:drop-shadow(0 0 6px var(--accent))}.exp-path-peak{fill:var(--bg-card);stroke:var(--border);stroke-width:1.5}.exp-path-flag-pole{stroke:var(--accent);stroke-width:2}.exp-path-flag-cloth{fill:var(--accent);filter:drop-shadow(0 0 8px var(--accent))}.exp-milestone{position:absolute;left:var(--x);top:var(--y);width:60%;transform:translateY(-50%);background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--accent-dim);padding:.5rem 1rem;z-index:2;transition:var(--transition)}.exp-milestone:hover{border-color:var(--accent-dim);transform:translateY(calc(-50% - 3px))}.exp-milestone.is-now{border-left-color:var(--accent);box-shadow:var(--sh-accent)}.exp-milestone-top{margin-bottom:.65rem}.exp-milestone-icon{color:var(--accent);width:18px;height:18px;flex-shrink:0}.exp-milestone-badge{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gray)}.exp-milestone.is-now .exp-milestone-badge{color:var(--accent)}.exp-milestone-title{font-family:var(--font-head);font-size:1.05rem;letter-spacing:.02em;text-transform:uppercase;margin-bottom:.4rem;line-height:1.15}.exp-milestone-desc{font-size:.78rem;color:var(--gray-light);line-height:1.55}.exp-work-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:2.5rem;flex-wrap:wrap;gap:var(--card-gap-lg)}.exp-work-title-wrap{max-width:640px}.exp-work-eyebrow{display:inline-flex;align-items:center;gap:var(--card-gap-md);font-family:var(--font-mono);font-size:.7rem;color:var(--accent);letter-spacing:.18em;text-transform:uppercase;margin-bottom:.85rem}.exp-work-eyebrow:after{content:"";width:6px;height:6px;background:var(--accent);box-shadow:0 0 8px var(--accent)}.exp-work-title{font-family:var(--font-head);font-size:clamp(2.6rem,4.6vw,4.2rem);text-transform:uppercase;letter-spacing:.02em;line-height:1;margin-bottom:.9rem;color:var(--white)}.exp-work-title .accent{color:var(--accent)}.exp-work-subtitle{font-size:.92rem;color:var(--gray);line-height:1.7;max-width:520px;margin-bottom:1rem}.exp-work-underline{width:40px;height:2px;background:var(--accent)}.exp-download-cv{display:inline-flex;align-items:center;gap:var(--card-gap-md);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--white);border:1px solid var(--accent-dim);background:0 0;padding:.75rem 1.4rem;transition:var(--transition);flex-shrink:0;white-space:nowrap}.exp-download-cv:hover{border-color:var(--accent);color:var(--accent);box-shadow:var(--sh-accent-sm)}.exp-filters{margin-bottom:3rem}.exp-filter-btn{display:inline-flex;align-items:center;gap:var(--card-gap-md);font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:.05em;color:var(--gray-light);background:var(--bg-card);border:1px solid var(--border);padding:.7rem 1.2rem;cursor:pointer;transition:var(--transition)}.exp-filter-btn svg{flex-shrink:0;opacity:.8}.exp-tech-chip{height:40px;font-family:var(--font-mono);font-size:var(--fs-10);font-weight:var(--fw-7);letter-spacing:.02em;color:var(--chip-color,var(--accent));background:var(--chip-bg,var(--border));border:1px solid var(--border);transition:var(--transition)}.exp-tech-chip svg{width:18px;height:18px}.exp-work--hscroll .exp-tech-chip:hover{border-color:var(--border-accent)}.exp-highlights{background:var(--bg-card);border:1px solid var(--border);margin-top:1rem;padding:2rem 2rem 0}.exp-highlights-bar{width:40px;height:2px;background:var(--accent);margin-bottom:1.75rem}.leaflet-bottom.leaflet-right{display:none}.exp-highlight-item{gap:var(--card-gap-lg);padding:3rem 1rem;border-right:1px solid var(--border);transition:background var(--transition)}.exp-highlight-item:last-child{border-right:none}.exp-highlight-item:hover{background:var(--accent-dim)}.exp-highlight-icon{color:var(--accent);flex-shrink:0;width:70px;height:70px;background:var(--bg-card);border-radius:var(--br-none)}.exp-highlight-val{font-family:var(--font-head);font-size:2.2rem;color:var(--white);line-height:1}.exp-highlight-val span{color:var(--accent)}.exp-highlight-label{font-family:var(--font-mono);font-size:.58rem;color:var(--gray);letter-spacing:.14em;text-transform:uppercase;margin-top:.25rem;line-height:1.5}.exp-cta-strip{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--card-gap-lg);margin-top:1.5rem;padding:1.5rem 2rem;border:1px solid var(--border);background:var(--bg-card)}.exp-cta-strip-icon{width:44px;height:44px;flex-shrink:0;border:1px solid var(--accent-dim);background:var(--accent-dim);color:var(--accent)}.exp-cta-strip-title{font-family:var(--font-head);font-size:var(--fs-16);color:var(--white);letter-spacing:.02em;margin-bottom:.2rem}.exp-cta-strip-desc{font-size:var(--fs-14);color:var(--gray)}.exp-download-cv-strip{flex-shrink:0}.projects-hero{position:relative;z-index:1;padding:calc(var(--nav-h) + 24px) 0 60px;min-height:100dvh;display:flex;align-items:center;background:var(--bg)}.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}.stat-item{display:flex;align-items:center;gap:var(--card-gap-md);background:var(--bg-card);padding:10px}.stat-icon.orange{color:var(--accent-orange)}.stat-icon.pink{color:var(--accent-pink)}.stat-icon.blue{color:var(--accent-blue)}.stat-icon.green{color:var(--accent-green)}.hero-ctas{gap:var(--card-gap-lg);flex-wrap:wrap}.hero-ctas,.hero-visual{display:flex;align-items:center}.hero-visual{position:relative;height:560px;justify-content:center;perspective:1400px}.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;transform:translate(var(--tx,0),var(--ty,0)) rotate(var(--rz,0deg)) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}.proj-card:hover{box-shadow:0 30px 80px var(--accent-dim),0 20px 60px var(--accent-dim)}.proj-card:first-child:hover{--tx:-150px;--ty:0px;--rz:-11deg}.proj-card:nth-child(2):hover{--tx:0px;--ty:-40px;--rz:0deg}.proj-card:nth-child(3):hover{--tx:160px;--ty:20px;--rz:12deg}.proj-card .badge{display:inline-flex;align-items:center;gap:var(--card-gap-md);font-family:var(--font-mono);font-size:var(--fs-10);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:.6rem}.proj-card h4{font-family:var(--font-head);font-size:1.05rem;font-weight:var(--fw-7);margin-bottom:.15rem;color:var(--white)}.proj-card p.sub{font-size:.68rem;color:var(--gray);margin-bottom:.8rem}.proj-card:hover .proj-screen img{transform:scale(1.05)}.case-link .arrow-circle{display:inline-flex}.scroll-cue .mouse{width:22px;height:34px;border:1.5px solid var(--gray-dim);position:relative}.scroll-cue .mouse:after{content:"";position:absolute;top:6px;left:50%;transform:translateX(-50%);width:3px;height:6px;background:var(--accent);animation:scrollDot 1.6s ease-in-out infinite}.card-stack.pd-card-stack{perspective:1400px}.card-stack.pd-card-stack .proj-card,.card-stack.pd-card-stack .proj-card:first-child,.card-stack.pd-card-stack .proj-card:nth-child(2),.card-stack.pd-card-stack .proj-card:nth-child(3){width:470px;height:270px;margin-top:0;padding:.3rem;z-index:var(--z,2);opacity:var(--op,1);box-shadow:0 20px 60px var(--bg-card);transform:translate(-50%,-50%) translate(var(--tx,0),var(--ty,0)) rotate(var(--rz,0deg)) scale(var(--scale,1));transition:transform .6s cubic-bezier(.175,.885,.32,1.275),opacity .5s ease,width .6s cubic-bezier(.175,.885,.32,1.275),height .6s cubic-bezier(.175,.885,.32,1.275),box-shadow .4s ease;position:absolute;top:50%;left:50%;will-change:transform,opacity}.card-stack.pd-card-stack .proj-card.active,.card-stack.pd-card-stack .proj-card:first-child.active,.card-stack.pd-card-stack .proj-card:nth-child(2).active,.card-stack.pd-card-stack .proj-card:nth-child(3).active{width:550px;height:400px;box-shadow:0 30px 80px var(--accent-dim),0 20px 60px var(--overlay)}.card-stack.pd-card-stack .proj-card:hover{box-shadow:0 30px 80px var(--accent-dim),0 20px 60px var(--accent-dim)}.card-stack.pd-card-stack .proj-screen{width:100%;height:100%;margin:0}.card-stack.pd-card-stack .proj-screen img{transition:transform .6s ease,opacity .4s ease}.nav-pro-btn{background:var(--accent);width:40px;height:40px;position:absolute;right:-3%;top:50%;transform:translate(-50%,-50%);cursor:pointer;z-index:99;box-shadow:var(--sh1);transition:all .5s ease}.nav-pro-btn.proj-prev{right:auto;left:5%}.nav-pro-btn:hover{background:var(--accent-dimmer)}.pro-paginations{position:absolute;bottom:15%;left:50%;transform:translateX(-50%)}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{width:14px;height:14px;border-radius:var(--br-none);margin:-1rem .2rem}.pro-paginations .pro-dot{width:10px;height:10px;background:var(--border);border:1px solid var(--border);cursor:pointer;transition:all .5s ease}.pdp-head .about-hero-heading{font-size:clamp(3rem,4vw,4rem)}.pdp-head .about-hero-heading .green{font-size:clamp(2rem,3vw,3rem)}.si-skel-wrap{position:relative;display:block;overflow:hidden;border-radius:var(--br-none)}.blog-details-page .si-skel-wrap,.blog-page .si-skel-wrap{width:100%;height:100%}.hv2-portrait-wrap.si-skel-wrap{overflow:visible}.si-skel{position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,var(--bg-card) 30%,var(--bg-card-hover) 50%,var(--bg-card) 70%);background-size:200% 100%;animation:siSkelShimmer 1.4s ease-in-out infinite;border:1px solid var(--border-light);pointer-events:none}.si-skel-circle{border-radius:var(--br-round)}img.si-skel-img{opacity:0;transition:opacity .4s ease;border-radius:var(--br-none)}img.si-skel-img.si-skel-loaded{opacity:1}@keyframes siSkelShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}html.si-symbols-off .si-symbol,html.si-textures-off .si-texture-canvas{display:none!important}html.si-animations-off .si-symbol,html.si-animations-off .si-texture-layer{animation-play-state:paused!important}html.si-animations-off #projects .ph-card.ph-reveal,html.si-animations-off .reveal,html.si-animations-off .reveal-left,html.si-animations-off .reveal-right{transition-duration:0s!important}@keyframes abt2-fade-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes abt2-orbit-spin{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}.about-hero-bg:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 60% 50% at 100% 20%,var(--accent-dim) 0,transparent 60%),radial-gradient(ellipse 80% 60% at 0 100%,var(--bg-2) 0,transparent 70%)}.abt2-hero-inner{display:grid;grid-template-columns:1fr 1.5fr;align-items:center;grid-gap:var(--gap);gap:var(--gap);padding:2rem 0 3rem;position:relative;z-index:1}.abt2-left{min-width:0}.abt2-tag{animation:abt2-fade-in .7s ease both}.abt2-heading{font-family:var(--font-head);font-weight:var(--fw-7);font-size:clamp(2.6rem,4.4vw,4rem);line-height:1.05;letter-spacing:.01em;text-transform:uppercase;margin-bottom:1.25rem;animation:abt2-fade-in .7s ease .08s both}.abt2-subhead{font-weight:var(--fw-5);font-size:1.05rem;color:var(--white-dim);margin-bottom:1rem;max-width:480px;animation:abt2-fade-in .7s ease .16s both}.abt2-body,.abt2-subhead{font-family:var(--font-body)}.abt2-body{color:var(--gray-light);font-size:.95rem;line-height:1.8;max-width:460px;margin-bottom:2rem;animation:abt2-fade-in .7s ease .22s both}.abt2-ctas{gap:var(--card-gap-lg);flex-wrap:wrap;margin-bottom:2.5rem;animation:abt2-fade-in .7s ease .3s both}.abt2-ctas,.abt2-social-proof{display:flex;align-items:center}.abt2-social-proof{gap:1.1rem;padding-top:1.5rem;border-top:1px solid var(--border);max-width:460px;animation:abt2-fade-in .7s ease .38s both}.abt2-avatar-stack{display:flex;align-items:center}.abt2-avatar-more,.abt2-avatar-stack img{width:42px;height:42px;border-radius:var(--br-round);object-fit:cover;border:2px solid var(--bg);box-shadow:var(--sh1);background:var(--bg-card)}.abt2-avatar-stack .abt2-avatar-more,.abt2-avatar-stack img:not(:first-child){margin-left:-14px}.abt2-avatar-more{font-family:var(--font-mono);font-size:.72rem;font-weight:var(--fw-7);color:var(--accent);z-index:1}.abt2-social-copy{font-size:.9rem;line-height:1.3;color:var(--white);font-weight:var(--fw-6)}.abt2-social-copy span{display:block;font-family:var(--font-mono);font-size:.7rem;font-weight:var(--fw-5);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-top:.2rem}.abt2-visual{position:relative;height:560px;min-width:0}.abt2-geo{position:absolute;pointer-events:none;z-index:0}.abt2-geo-1{width:220px;height:220px;right:18%;top:8%;background:linear-gradient(135deg,var(--gray-dark),transparent);border:1px solid var(--border-light);transform:rotate(18deg);animation:float 7s ease-in-out infinite}.abt2-geo-dots{position:absolute;top:6%;right:2%;width:140px;height:140px;background-image:radial-gradient(var(--border) 1.4px,transparent 1.4px);background-size:16px 16px;opacity:.5;z-index:0}.abt2-orbit{position:absolute;width:460px;height:460px;max-width:86%;aspect-ratio:1/1;border-radius:var(--br-round);border:1.5px dashed var(--border-light);top:50%;left:50%;transform:translate(-50%,-50%)!important;z-index:1;animation:abt2-orbit-spin 70s linear infinite}.abt2-orbit-dot{position:absolute;width:6px;height:6px;border-radius:var(--br-round);background:var(--accent);box-shadow:0 0 10px 2px var(--accent-dim)}.abt2-orbit-dot:first-child{top:-4px;left:50%;transform:translateX(-50%)}.abt2-orbit-dot:nth-child(2){bottom:-4px;left:50%;transform:translateX(-50%)}.abt2-orbit-dot:nth-child(3){left:-4px;top:50%;transform:translateY(-50%)}.abt2-orbit-dot:nth-child(4){right:-4px;top:50%;transform:translateY(-50%)}.abt2-portrait-wrap{position:relative;width:300px;height:380px;z-index:2;animation:abt2-fade-in .9s ease .1s both}.abt2-portrait-wrap img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;-webkit-mask-image:linear-gradient(to bottom,var(--overlay) 82%,transparent 100%);mask-image:linear-gradient(to bottom,var(--overlay) 82%,transparent 100%)}.abt2-card{position:absolute;z-index:3;display:flex;align-items:center;gap:.85rem;background:var(--bg-card);border:1px solid var(--border-light);box-shadow:var(--sh2);padding:.85rem 1.1rem;min-width:168px;animation:abt2-fade-in .7s ease both,float 6s ease-in-out infinite}.abt2-card-icon{width:42px;height:42px;flex-shrink:0;color:var(--accent);background:var(--accent-dim);border:1px solid var(--border-accent)}.abt2-card-icon svg{width:20px;height:20px}.abt2-card-num{font-family:var(--font-head);font-weight:var(--fw-7);font-size:1.3rem;color:var(--white);line-height:1.1}.abt2-card-label{font-size:.76rem;color:var(--gray-light);line-height:1.25;white-space:nowrap}.abt2-card-projects{top:5%;left:36%;animation-delay:.3s,0s}.abt2-card-projects.htv-card-projects{top:15%}.abt2-card-clients{top:40%;left:10%;animation-delay:.42s,.6s}.abt2-card-clients.htv-card-clients{flex-direction:column;align-items:center;justify-content:center;text-align:center;min-width:auto;left:auto;right:32%}.abt2-card-tech{top:40%;right:5%;animation-delay:.5s,1.2s}.abt2-card-experience{bottom:4%;left:32%;animation-delay:.58s,1.8s}.abt2-availability{position:absolute;bottom:1%;right:2%;z-index:4;display:flex;align-items:center;gap:.65rem;background:var(--bg-card);border:1px solid var(--border-light);box-shadow:var(--sh1);padding:.7rem 1rem;font-size:.8rem;color:var(--white);animation:abt2-fade-in .7s ease .66s both}.abt2-live-dot{width:9px;height:9px;border-radius:var(--br-round);background:var(--accent-green);box-shadow:0 0 0 0 var(--accent-green-dim);flex-shrink:0;animation:pulse 1.8s ease-in-out infinite}.pa-panel-overlay{position:fixed;inset:0;background:var(--overlay);z-index:999999998;opacity:0;pointer-events:none;transition:opacity var(--transition-fast);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.pa-panel-overlay.visible{opacity:1;pointer-events:auto}.pa-panel{position:fixed;top:0;right:0;bottom:0;width:420px;max-width:100vw;height:100dvh;background:var(--bg-card);border-left:1px solid var(--border);z-index:999999999;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .32s cubic-bezier(.4,0,.2,1);box-shadow:var(--sh1);font-family:var(--font-body)}.pa-panel.visible{transform:translateX(0)}.pa-panel-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--border);flex-shrink:0}.pa-panel-title{font-family:var(--font-head);font-weight:var(--fw-7);font-size:1rem;color:var(--white)}.pa-panel-close{width:30px;height:30px;border-radius:var(--br-none);background:var(--bg-card-hover);display:flex;align-items:center;justify-content:center;color:var(--gray);cursor:pointer;border:none;transition:all .2s}.pa-panel-close svg{width:14px;height:14px}.pa-panel-close:hover{background:var(--gray-dark);color:var(--white)}.pa-panel-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0}.pa-panel-tab{flex:1 1;padding:13px 8px;font-size:.75rem;font-weight:var(--fw-6);color:var(--gray);cursor:pointer;background:0 0;text-align:center;border:none;border-bottom:2px solid transparent;transition:all .2s;font-family:var(--font-body)}.pa-panel-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.pa-panel-tab:hover:not(.active){color:var(--gray-light)}.pa-panel-body{flex:1 1;overflow-y:auto;padding:20px 22px}.pa-panel-body::-webkit-scrollbar{width:4px}.pa-panel-body::-webkit-scrollbar-track{background:0 0}.pa-panel-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--br-none)}.pa-panel-footer{padding:16px 22px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:var(--card-gap-sm);flex-shrink:0}.pa-form-group{margin-bottom:17px}.pa-form-group.mt-8{margin-top:8px}.pa-form-label{display:flex;align-items:center;gap:var(--card-gap-sm);font-size:.75rem;font-weight:var(--fw-6);color:var(--gray-light);margin-bottom:1rem}.pa-btn{padding:9px 20px;border-radius:var(--br-none);border:1px solid var(--border);background:var(--bg-card-hover);color:var(--white);font-family:var(--font-body);font-size:.8rem;font-weight:var(--fw-5);cursor:pointer;transition:all .2s}.pa-btn-cancel:hover,.pa-btn:hover{background:var(--gray-dark)}.pa-toast-wrap{position:fixed;bottom:15px;right:24px;z-index:999999999;flex-direction:column;max-width:340px}.pa-toast,.pa-toast-wrap{display:flex;gap:var(--card-gap-sm)}.pa-toast{background:var(--bg-card-hover);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--br-none);padding:12px 14px;font-size:.8rem;color:var(--white);align-items:flex-start;animation:paToastIn .25s ease;box-shadow:0 12px 28px rgba(0,0,0,.35);font-family:var(--font-body)}.pa-toast.removing{animation:paToastOut .2s ease forwards}.pa-toast-icon{width:15px;height:15px;flex-shrink:0;margin-top:1px;color:var(--accent)}.pa-toast-close{margin-left:auto;background:0 0;border:none;color:var(--gray);cursor:pointer;flex-shrink:0;padding:0;display:flex;align-items:center}.pa-toast-close svg{width:13px;height:13px}.pa-toast-close:hover{color:var(--white)}@keyframes paToastIn{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes paToastOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(20px)}}.pa-tab-panel{display:none}.pa-tab-panel.active{display:block;animation:paFadeIn .2s ease}@keyframes paFadeIn{0%{opacity:0}to{opacity:1}}.custom-theme-group{display:flex;gap:var(--card-gap-sm);margin-top:1rem}.custom-theme-card{position:relative;cursor:pointer;border:2px solid var(--border);border-radius:var(--br-none);background:0 0;padding:5px;text-align:center;width:90px;transition:border-color .2s,background .2s,box-shadow .2s;outline:0;font-family:var(--font-body);color:var(--gray)}.custom-theme-card:hover{border-color:var(--gray-dim);color:var(--white)}.custom-theme-card:focus-visible{box-shadow:0 0 0 2px var(--accent)}.custom-theme-card.active{border-color:var(--accent);background:var(--accent-dim);color:var(--white)}.custom-theme-thumb{width:100%;height:60px;padding:4px;border-radius:calc(var(--br-none) - 5px);overflow:hidden;margin-bottom:7px;position:relative}.thumb-light{background:#d6d5d5}.thumb-light .th-bar,.thumb-light .th-bar2{background:#8d8d8d;height:5px;border-radius:var(--br-none);margin:6px 6px 3px}.thumb-light .th-bar2{margin:0 6px;width:55%}.thumb-light .th-block,.thumb-light .th-block2{position:absolute;bottom:5px;width:24px;height:16px;background:#8d8d8d;border-radius:var(--br-none)}.thumb-light .th-block{left:6px}.thumb-light .th-block2{right:6px;width:16px}.thumb-dark{background:#242424}.thumb-dark .th-bar,.thumb-dark .th-bar2{background:#575757;height:5px;border-radius:var(--br-none);margin:6px 6px 3px}.thumb-dark .th-bar2{margin:0 6px;width:55%}.thumb-dark .th-block,.thumb-dark .th-block2{position:absolute;bottom:5px;width:24px;height:16px;background:#575757;border-radius:var(--br-none)}.thumb-dark .th-block{left:6px}.thumb-dark .th-block2{right:6px;width:16px}.thumb-system{background:linear-gradient(90deg,var(--white-dim) 50%,var(--border) 50%)}.thumb-system .th-bar,.thumb-system .th-bar2{background:linear-gradient(90deg,var(--white-dim) 50%,var(--bg-card-hover) 50%);height:5px;border-radius:var(--br-none);margin:6px 6px 3px}.thumb-system .th-bar2{margin:0 6px;width:55%}.custom-theme-radio{display:flex;align-items:center;justify-content:center;gap:var(--card-gap-sm);font-size:.75rem;font-weight:var(--fw-5);color:var(--gray)}.custom-theme-card.active .custom-theme-radio{color:var(--white)}.custom-theme-radio .radio-dot{width:13px;height:13px;border-radius:var(--br-none);border:1.5px solid var(--gray-dim);display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.custom-theme-card.active .radio-dot{border-color:var(--accent);background:var(--accent)}.radio-dot:after{content:"";width:5px;height:5px;border-radius:var(--br-none);background:var(--bg-card);display:none}.custom-theme-card.active .radio-dot:after{display:block}.custom-color-row{display:flex;gap:var(--card-gap-md,10px);align-items:center;margin-top:1rem;flex-wrap:wrap}.custom-swatch{width:42px;height:42px;border-radius:var(--br-none);cursor:pointer;border:2.5px solid transparent;display:flex;align-items:center;justify-content:center;transition:transform .15s,box-shadow .15s;outline:0;flex-shrink:0}.custom-swatch:hover{transform:scale(1.12)}.custom-swatch:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.custom-swatch.active{box-shadow:0 0 0 2.5px var(--bg-card),0 0 0 4.5px currentColor}.custom-swatch svg{display:none}.custom-swatch.active svg{display:block}.pa-orange{background:var(--accent-orange);color:var(--accent-orange)}.pa-pink{background:var(--accent-pink);color:var(--accent-pink)}.pa-green{background:var(--accent-green);color:var(--accent-green)}.pa-yellow{background:var(--accent-yellow);color:var(--accent-yellow)}.pa-blue{background:var(--accent-blue);color:var(--accent-blue)}.pa-purple{background:var(--accent-purple);color:var(--accent-purple)}.custom-font-size-control{display:flex;align-items:center;justify-content:space-between;gap:0;background:var(--bg-card-hover);border:1px solid var(--border);border-radius:var(--br-none);overflow:hidden}.custom-fs-seg{display:flex;height:35px;width:100%}.custom-fs-btn{background:0 0;border:none;color:var(--gray);font-family:var(--font-body);font-size:.72rem;font-weight:var(--fw-5);padding:0 8px;height:100%;width:100%;cursor:pointer;transition:background .12s,color .12s;border-right:1px solid var(--border);white-space:nowrap;outline:0}.custom-fs-btn:last-child{border-right:none}.custom-fs-btn:hover{background:var(--bg-card);color:var(--white)}.custom-fs-btn:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.custom-fs-btn.active{background:var(--accent);color:var(--bg);font-weight:var(--fw-7)}.custom-cr-group{display:flex;background:var(--bg-card-hover);border:1px solid var(--border);border-radius:var(--br-none);overflow:hidden;margin-top:4px;flex-wrap:wrap}.custom-cr-btn{flex:1 1;background:0 0;border:none;color:var(--gray);font-family:var(--font-body);font-size:.72rem;font-weight:var(--fw-5);padding:0 10px;height:35px;cursor:pointer;transition:background .12s,color .12s;border-right:1px solid var(--border);white-space:nowrap;outline:0;display:flex;align-items:center;justify-content:center;gap:var(--card-gap-sm);min-width:60px}.custom-cr-btn:last-child{border-right:none}.custom-cr-btn:hover{background:var(--bg-card);color:var(--white)}.custom-cr-btn:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.custom-cr-btn.active{background:var(--accent);color:var(--bg);font-weight:var(--fw-7)}.custom-cr-icon{width:20px;height:20px;border:2px solid;border-radius:var(--br-none);flex-shrink:0;display:block;background:0 0;transition:border-radius .2s ease}.rad-0 .custom-cr-icon{border-radius:0}.rad-sm .custom-cr-icon{border-radius:4px}.rad-md .custom-cr-icon{border-radius:6px}.rad-lg .custom-cr-icon{border-radius:10px}html.theme-light .pa-panel{box-shadow:var(--sh3)}html.theme-light .thumb-light{border:1px solid var(--border)}.custom-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:var(--card-gap-sm);padding:12px 0;border-bottom:1px solid var(--border)}.custom-toggle-row:last-child{border-bottom:none}.custom-toggle-text{display:flex;flex-direction:column;gap:var(--card-gap-sm)}.custom-toggle-title{font-size:.85rem;font-weight:var(--fw-6);color:var(--white)}.custom-toggle-desc{font-size:.72rem;color:var(--gray);line-height:1.4}.custom-toggle-switch{position:relative;flex-shrink:0;width:40px;height:22px;border-radius:var(--br-none);border:1px solid var(--border);background:var(--bg-card-hover);cursor:pointer;padding:0;transition:background .18s ease,border-color .18s ease;outline:0}.custom-toggle-switch:focus-visible{box-shadow:0 0 0 2px var(--accent-dim)}.custom-toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:var(--br-none);background:var(--gray);transition:transform .18s ease,background .18s ease}.custom-toggle-switch.on{background:var(--accent-dim);border-color:var(--accent-dimmer)}.custom-toggle-switch.on:after{transform:translateX(18px);background:var(--accent)}.custom-speed-seg .custom-fs-btn{font-size:.68rem}#customSpeedGroup.disabled{opacity:.45;pointer-events:none}html.theme-light .back-top:hover{background:var(--bg);color:var(--accent)}@media (min-width:1280px){.exp-hero-inner{gap:3rem}.pg-grid{grid-template-columns:repeat(3,1fr)}.tools-grid{grid-template-columns:repeat(8,1fr)}}@media (max-width:1200px){.hero-v2-inner{grid-template-columns:1fr 1fr}.hv2-side{grid-column:1/-1}.hv2-services-grid{grid-template-columns:repeat(3,1fr)}.abt2-card{min-width:148px;padding:.7rem .9rem}.abt2-portrait-wrap{width:260px;height:340px}.sh-hero-grid{grid-template-columns:1fr .95fr;gap:1.5rem}.sh-visual{height:560px}.sh-stage{width:500px;height:500px}.ch-hero-grid{gap:1.5rem}.ht-orbit-stage{max-width:540px}.pg-grid{grid-template-columns:repeat(3,1fr)}.tools-grid{grid-template-columns:repeat(6,1fr)}.other-skills-grid{grid-template-columns:repeat(4,1fr)}.learning-cards{grid-template-columns:repeat(2,1fr)}.contact-main-grid{grid-template-columns:1fr 1.3fr;gap:3rem}}@media (max-width:1100px){.back-top{right:1.5rem;bottom:1.5rem}.back-top-progress{inset:-4px}.pg-grid{grid-template-columns:repeat(2,1fr);gap:1rem}#projects .ph-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;grid-template-areas:"featured featured" "top-mid top-right" "bot-mid bot-right"}.beliefs-grid,.skills-grid{grid-template-columns:repeat(2,1fr)}.tools-grid{grid-template-columns:repeat(5,1fr)}.other-skills-grid{grid-template-columns:repeat(3,1fr)}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}.section-desc{max-width:100%}.metrics-grid{grid-template-columns:repeat(2,1fr)}.metric-item{border-right:none}.metric-item:nth-child(odd){border-right:1px solid var(--border)}.metric-item{border-bottom:1px solid var(--border)}.metric-item:last-child,.metric-item:nth-last-child(2):nth-child(odd){border-bottom:none}}@media (max-width:1024px){.faq-layout{grid-template-columns:1fr;gap:2rem}.faq-sidebar{position:static;display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.exp-hero-inner{grid-template-columns:1fr;gap:1rem;text-align:center;padding:3.5rem 0 3rem}.exp-hero .btn-primary,.exp-hero-visual,.hero-btns,.hero-visual,.projects-hero .btn-primary,.skills-hero .btn-primary{justify-content:center}.exp-hero-body,.hero-sub{margin-inline:auto;max-width:540px}.about-grid{grid-template-columns:1fr;gap:3rem}.metrics-grid,.skills-grid{grid-template-columns:repeat(2,1fr)}.metric-item{border-right:none;border-bottom:1px solid var(--border)}.metric-item:nth-child(odd){border-right:1px solid var(--border)}.metric-item:last-child,.metric-item:nth-last-child(2):nth-child(odd){border-bottom:none}.blogs-grid,.testi-cards-grid,.testimonials-grid{grid-template-columns:1fr 1fr}.contact-grid,.contact-main-grid,.edu-certs-grid,.journey-inner,.learning-inner{grid-template-columns:1fr;gap:3rem}.section-wrap{padding-left:0}.pg-grid{grid-template-columns:repeat(2,1fr)}.pg-layout{grid-template-columns:1fr}.pg-sidebar{position:static;flex-direction:row;flex-wrap:wrap}.pf-panel{flex:1 1 260px;min-width:260px}.beliefs-grid,.exp-highlights-grid{grid-template-columns:repeat(2,1fr)}.exp-highlight-item:nth-child(2){border-right:none}.exp-highlight-item:nth-child(3),.exp-highlight-item:nth-child(4){border-top:1px solid var(--border)}.exp-highlight-item:nth-child(4){border-right:none}.contact-map-inner{grid-template-columns:1fr}.cmap-info{border-right:none;border-bottom:1px solid var(--border)}#leaflet-map,.cmap-visual{min-height:300px}.tools-grid{grid-template-columns:repeat(4,1fr)}.other-skills-grid{grid-template-columns:repeat(3,1fr)}.cta-inner,.exp-hero-inner{grid-template-columns:1fr}.exp-hero-visual{order:2;margin-top:3rem}.exp-path-svg{display:none}.exp-path-wrap{aspect-ratio:unset;height:auto;max-width:560px}.exp-milestone{position:static;width:100%;transform:none;margin-bottom:1rem}.exp-milestone:hover,.exp-milestone:last-child{transform:none}.exp-milestone:last-child{margin-bottom:0}#skills .skills-grid{grid-template-columns:repeat(2,1fr);gap:1.1rem}#skills .skill-category{padding:1.5rem}#skills .skill-cat-header{margin-bottom:1.25rem;padding-bottom:1rem}#skills .skill-cat-bar-fill:after{font-size:.58rem}.projects-hero-grid{grid-template-columns:1fr;gap:3.5rem}.hero-visual{height:480px}.stats-row{grid-template-columns:repeat(2,auto);row-gap:1.4rem}.pd2-tech-grid{grid-template-columns:repeat(3,1fr)}.pd2-features-grid{grid-template-columns:repeat(2,1fr)}.hero-testi-grid{grid-template-columns:1fr;gap:3.5rem}.ht-right{height:clamp(520px,90vw,600px)}.ch-hero-grid{grid-template-columns:1fr}.ch-right{order:-1}.ch-globe-stage{max-width:460px}.ch-left{text-align:center}.ch-info-row{max-width:620px;margin-inline:auto;margin-bottom:2rem}.learning-inner{place-items:unset}.sh-hero-grid{grid-template-columns:1fr}.sh-visual{height:560px;margin-top:1rem}.sh-stage{width:520px;height:520px}.trv-grid.testi-cards-grid{grid-template-columns:repeat(2,1fr)}.trv-grid[data-view=masonry]{column-count:2}.trv-metrics{grid-template-columns:repeat(2,1fr)}.abt2-hero-inner{grid-template-columns:1fr;text-align:center;gap:2.5rem;padding:3.5rem 0 3rem}.abt2-body,.abt2-subhead{margin-inline:auto}.abt2-ctas,.abt2-social-proof{justify-content:center}.abt2-social-proof{margin-inline:auto;margin-bottom:2rem}.abt2-visual{height:520px}#testimonials .section-header{margin-bottom:0}.hero-v2-inner{grid-template-columns:1fr;gap:2.5rem}.hv2-side{width:100%;max-width:560px}.hv2-services-grid{grid-template-columns:repeat(3,1fr)}.hv2-portrait-wrap{max-width:340px}.mobile-nav-wrapper{pointer-events:none}}@media (max-width:900px){.back-top-progress{inset:-5px}.back-top-progress .ring-fill,.back-top-progress .ring-track{stroke-width:8}.trv-filter-row{gap:.6rem}.trv-sort-wrap{margin-left:0;width:100%}.journey-inner{grid-template-columns:1fr;gap:3rem}.beliefs-grid{grid-template-columns:repeat(2,1fr)}.edu-certs-grid{grid-template-columns:1fr;gap:3rem}.exp-hero-visual{justify-content:center}.si-ticker-track-wrap{margin-bottom:14px}.tools-grid{grid-template-columns:repeat(4,1fr)}.other-skills-grid{grid-template-columns:repeat(2,1fr)}.pf-dropdown-btn,.pf-more-filters{padding:.65rem .75rem;font-size:.75rem}.pd2-features-grid{grid-template-columns:repeat(2,1fr)}.nav-menu{display:none}.mobile-nav-wrapper{opacity:1;pointer-events:auto;z-index:1111;transform:translateY(0);padding-left:max(.5rem,env(safe-area-inset-left,0px));padding-right:max(.5rem,env(safe-area-inset-right,0px));bottom:max(.655rem,env(safe-area-inset-bottom,0px))}.site-footer{padding-bottom:calc(72px + env(safe-area-inset-bottom, 0px))}.back-top{bottom:calc(62px + env(safe-area-inset-bottom, 0px));right:max(.75rem,env(safe-area-inset-right,0px));z-index:1112}}@media (max-width:768px){.faq-sidebar{grid-template-columns:1fr}.faq-item-head{padding:1.15rem 1.25rem;font-size:.95rem}.faq-item-body{padding:0 1.25rem 1.15rem}.hero-v2-inner .footer-social-list{justify-content:start}.nav-cta,.nav-menu{display:none}.nav-inner{padding:.85rem 0;gap:0;justify-content:space-between}.nav-logo{max-width:calc(100% - 52px);gap:.5rem}.logo-box{width:34px;height:34px;font-size:.9rem;flex-shrink:0}.logo-name{font-size:.88rem;letter-spacing:.04em}.logo-role{font-size:.55rem;letter-spacing:.08em}.back-top{bottom:calc(62px + env(safe-area-inset-bottom, 0px));right:max(1.25rem,env(safe-area-inset-right,0px));z-index:1112}.pa-panel{width:360px}#projects .ph-grid{grid-template-columns:1fr;grid-template-rows:auto;grid-template-areas:"featured" "top-mid" "top-right" "bot-mid" "bot-right";gap:1rem}#projects .ph-card--featured .ph-mockup{flex:0 0 auto;min-height:220px;max-height:280px}.blogs-grid,.skills-grid,.testi-cards-grid,.testimonials-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;align-items:flex-start;gap:1rem}.cursor,.cursor-ring{display:none}.pg-grid{grid-template-columns:1fr}.pf-topbar{flex-direction:column;align-items:stretch}.pf-search{flex:1 1 auto;width:100%}.pf-dropdown{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 0.375rem)}.pf-dropdown-btn{width:100%;justify-content:space-between}.pf-more-filters{margin-left:0;width:100%;justify-content:center}.pg-sidebar{flex-direction:column}.pf-panel{min-width:0}.pg-toolbar{flex-direction:column;align-items:flex-start}.pg-toolbar-right{width:100%;justify-content:space-between}.pg-pagination{flex-direction:column;align-items:stretch}.pg-pagination-controls{justify-content:center}.tools-grid{grid-template-columns:repeat(4,1fr)}.other-skills-grid{grid-template-columns:repeat(2,1fr)}.learning-inner{gap:2rem}.about-values,.cta-inner,.learning-cards,.learning-inner{grid-template-columns:1fr}.beliefs-grid,.metrics-grid{grid-template-columns:repeat(2,1fr)}.clients-logos{flex-wrap:wrap}.client-logo-item{flex-grow:0;flex-shrink:0;flex-basis:calc(50% - 1px);border-bottom:1px solid var(--border)}.journey-inner{grid-template-columns:1fr;gap:2rem}.section-header{flex-direction:column;align-items:flex-start}.hero-glow{opacity:.5}footer{padding:2.5rem 0 1.5rem}.si-swiper{overflow:hidden}.si-swiper-pagination{bottom:4px!important}.si-ticker-label{font-size:.7rem}.skills-section{padding:2rem 0}.filter-section{padding:1rem 0}.pg-grid{gap:.75rem}.exp-work{padding:2rem 0}.exp-work-header{flex-direction:column;align-items:flex-start}.exp-highlights-grid{grid-template-columns:repeat(2,1fr)}.exp-highlight-item:nth-child(2){border-right:none}.exp-highlight-item:nth-child(3),.exp-highlight-item:nth-child(4){border-top:1px solid var(--border)}.exp-highlight-item:nth-child(4){border-right:none}.exp-cta-strip{flex-direction:column;align-items:flex-start}.exp-download-cv-strip{width:100%;justify-content:center}.beliefs-section,.edu-certs-section,.journey-section{padding:4rem 0}.journey-timeline{padding-left:1.25rem}.about-values{grid-template-columns:1fr}.contact-main{padding:2rem 0}.contact-map-inner{grid-template-columns:1fr}.cmap-info{border-right:none;border-bottom:1px solid var(--border)}.ci-socials{flex-wrap:wrap}.hero-testi{padding:4rem 0 3rem}.testi-section{padding:2rem 0}.clients-section{padding:2.5rem 0}.pd-hero{padding-bottom:3rem}.pd-hero,.projects-hero{padding-top:calc(var(--nav-h) + 2rem)}.proj-card{width:220px}.proj-card:first-child{--tx:-90px;--ty:10px;--rz:-9deg;transform:translate(-90px,10px) rotate(-9deg) scale(.9)}.proj-card:nth-child(2){--tx:0px;--ty:-20px;--rz:0deg;transform:translateY(-20px) scale(.98)}.proj-card:nth-child(3){--tx:95px;--ty:25px;--rz:10deg;transform:translate(95px,25px) rotate(10deg) scale(.9)}.hero-visual{height:420px}.stats-row{grid-template-columns:1fr 1fr}.pd2-oc-grid{grid-template-columns:1fr}.pd2-metrics-grid{grid-template-columns:repeat(2,1fr)}.pd2-metric-item:nth-child(2n){border-right:none}.mobile-menu{gap:1.25rem;padding:2rem 1.5rem}.mobile-nav-link{letter-spacing:.06em}html.theme-light .mobile-menu{background:rgba(245,245,245,.97);border-right:none}.ch-hero{padding-top:calc(var(--nav-h) + 24px)}.ch-info-row{grid-template-columns:1fr;gap:.7rem}.ch-info-card{flex-direction:row;align-items:center}.ch-globe-stage{max-width:380px}.ch-bubble{width:200px;padding:.85rem 1rem}.ch-response-card{width:190px}.sh-visual{height:460px}.sh-stage{width:420px;height:420px}.sh-core{width:150px;height:150px}.sh-core-icon{width:36px;height:36px}.sh-node-circle{width:52px;height:52px}.sh-node-circle svg{width:22px;height:22px}.sh-node-title{font-size:.8rem}.sh-node-sub{font-size:.62rem}.trv-grid.testi-cards-grid{grid-template-columns:1fr}.trv-grid[data-view=masonry]{column-count:1}.trv-metrics{grid-template-columns:repeat(2,1fr);gap:.75rem}.trv-filter-bar{padding:1rem}.trv-filter-row{flex-direction:column;align-items:stretch}.trv-search{flex:1 1 auto;width:100%}.trv-select-wrap{width:100%}.trv-select-wrap .trv-select{width:100%;max-width:none}.trv-clear-btn{justify-content:center;border:1px solid var(--border);border-radius:var(--br-none);padding:.6rem}.trv-sort-wrap{flex-direction:column;align-items:stretch;gap:.4rem}.trv-sort-wrap .trv-select-wrap{width:100%}.trv-results-bar{flex-direction:column;align-items:flex-start;gap:.85rem}.trv-view-toggle{width:100%}.trv-view-btn{flex:1 1;justify-content:center}.trv-perpage-wrap{width:100%;justify-content:space-between;flex-direction:column}.trv-footer{flex-direction:column;align-items:flex-start;gap:1.25rem}.trv-footer-badges{gap:1.25rem}.abt2-hero-inner{padding:2.5rem 0}.abt2-visual{height:440px}.abt2-orbit{width:340px}.abt2-portrait-wrap{width:220px;height:290px}.abt2-card{min-width:130px;padding:.6rem .75rem;gap:.6rem}.abt2-card-icon{width:34px;height:34px}.abt2-card-icon svg{width:16px;height:16px}.abt2-card-num{font-size:1.05rem}.abt2-card-label{font-size:.68rem}.abt2-card-projects{left:30%;top:0}.abt2-card-clients{left:0;top:42%}.abt2-card-tech{right:2%;top:50%}.abt2-card-experience{left:28%;bottom:10%}.abt2-availability{right:-2%;bottom:-6%;font-size:.72rem;padding:.55rem .8rem}.hv2-services-grid{grid-template-columns:1fr 1fr}.hv2-stats{gap:1.25rem}.hv2-terminal{width:max-content;left:2%;bottom:-4%}.hv2-service-card.span-2{grid-column:span 1}}@media (max-width:640px){.ht-node-label{display:none}.ht-orbit-node .ht-node-avatar,.ht-orbit-node .ht-node-icon,.ht-orbit-node img{width:42px;height:42px}.ht-node-1{left:20%}.ht-node-2{right:4%}.ht-node-3{right:-2%;top:20%}.ht-node-4{display:none}.ht-badge{font-size:.72rem;padding:.45rem .75rem}.ht-badge-clients{left:-2%}.ht-badge-delivery{left:-4%}.ht-testi-card{width:100%;margin-left:0;padding:1.4rem}.ht-cta-row{flex-direction:column;align-items:stretch}.ch-airplane,.ch-bubble,.ch-connections,.ch-node-sm,.ch-response-card,.ht-dashed-circle,.ht-node-label{display:none}.ch-globe-stage{max-width:280px}.sh-visual{height:400px}.sh-stage{width:350px;height:350px}.sh-node-label{display:none}.sh-core{width:120px;height:120px}.sh-core-icon{width:30px;height:30px}.sh-node-circle{width:44px;height:44px}.sh-node-circle svg{width:18px;height:18px}.abt2-visual{height:400px}.hv2-ctas{flex-direction:column;align-items:stretch}.hv2-services-grid{grid-template-columns:1fr}.hv2-available{flex-direction:column;text-align:center}.hv2-stats{flex-wrap:wrap;gap:.9rem}}@media (max-width:600px){.about-hero-heading{font-size:clamp(2.5rem,10vw,3.5rem)}.exp-hero-heading{font-size:clamp(2.2rem,9vw,3.2rem)}.container{width:min(var(--max-w),100% - 1.5rem)}.metric-item:nth-child(odd){border-right:1px solid var(--border)!important}.ht-right{padding-left:0}.ht-orbit-stage{height:auto;max-width:max-content;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:1.4rem}.ht-dashed-circle,.ht-dashed-circle-outer{display:none}.ht-badge,.ht-orbit-node,.ht-trust-badge{position:static;animation:none;justify-content:center;display:flex}.ht-testi-card{margin:3rem 1rem;width:100%}.ht-avatar-row{justify-content:center}.about-values,.beliefs-grid,.skills-grid{grid-template-columns:1fr}.exp-highlights-grid{grid-template-columns:1fr 1fr}#projects .ph-grid{grid-template-areas:"featured" "top-mid" "top-right" "bot-mid" "bot-right";gap:.85rem}#projects .ph-grid,.blogs-grid,.testi-cards-grid,.testimonials-grid{grid-template-columns:1fr}.client-logo-item{flex:0 0 100%;border-right:none}.back-top{width:40px;height:40px;bottom:calc(62px + env(safe-area-inset-bottom, 0px));right:max(1rem,env(safe-area-inset-right,0px));z-index:1112}.pa-panel{width:320px}.learning-cards{grid-template-columns:1fr}.hero-btns{flex-direction:column;align-items:center}.hero-btns .btn{width:100%;justify-content:center}.footer-bottom{flex-direction:column;text-align:center}.preloader-logo{font-size:3rem}.preloader-bar{width:160px}.exp-hero-label,.hero-label,.skills-hero-label{font-size:.65rem;display:flex}.exp-hero-label{justify-content:center}.cta-heading{font-size:clamp(1.5rem,7vw,2rem)}.exp-highlight-item{padding:1rem}.exp-highlight-val{font-size:1.8rem}.hero-headline{font-size:3.5rem}.about-values,.beliefs-grid,.exp-highlights-grid,.other-skills-grid{grid-template-columns:1fr}.metric-item{border-right:none!important}.metrics-grid{grid-template-columns:repeat(2,1fr)}.pg-grid{grid-template-columns:1fr}.tools-grid{grid-template-columns:repeat(3,1fr)}.exp-hero-stats{grid-template-columns:repeat(2,auto);row-gap:.5rem}.contact-main-grid{gap:2rem}#leaflet-map,.cmap-visual{min-height:220px}.testi-card{padding:1.5rem}.testi-card-text{font-size:.84rem}.pd2-tech-grid{grid-template-columns:repeat(2,1fr)}.cf-step{gap:.65rem}.cf-step-badge{min-width:32px;height:26px;font-size:.62rem}.cf-step-label{font-size:.85rem}.cf-pill{padding:.5rem .9rem;font-size:.75rem}.cf-submit-row{flex-direction:column;align-items:flex-start;gap:.9rem}.cf-submit-row .cf-submit{width:100%}.orbit-ring.r2{width:450px;height:450px}.orbit-ring.r1{width:350px;height:350px}#skills .skills-grid{grid-template-columns:repeat(1,1fr);gap:1.1rem}.trv-metrics{grid-template-columns:1fr 1fr;gap:.6rem}.trv-metric-card{padding:clamp(.75rem,3vw,1.1rem);gap:.6rem}.trv-metric-icon{width:34px;height:34px}.trv-metric-num{font-size:1.2rem}.trv-metric-label{font-size:.6rem;white-space:normal}.testi-card{padding:clamp(1.25rem,5vw,2rem)}.trv-service-tag{font-size:.6rem;padding:.25rem .5rem}.testi-card-author{flex-wrap:wrap}.testi-card-author .testi-stars{margin-left:0;width:100%}.trv-footer-badges{justify-content:start;gap:.85rem;width:100%}}@media (max-width:540px){.pd2-timeline-track{position:absolute;top:10px;left:17px;right:auto;height:100%;width:2px}.pd2-timeline-wrap{padding:0}.pd2-tl-dot{left:0;margin:0}.pd2-proj-nav-thumb{display:none}.pd2-proj-nav-title{font-size:.6rem}.pd2-proj-nav-sub{font-size:.5rem}.pdh-meta-row{gap:1rem}.pd2-tl-node{display:flex;flex-direction:row;gap:15px}.pd2-tl-content{max-width:400px;text-align:left}.pdh-inner{grid-template-columns:1fr;gap:1.5rem}.pd2-timeline-grid{grid-template-columns:1fr;gap:2rem}.footer-col--nav,.footer-cta-card{margin-bottom:15px}.footer-cta-card{max-width:100%}.footer-bottom{display:flex;align-items:center;gap:0}.footer-social-list{justify-content:center}.freelance-note{text-align:center}.footer-grid{grid-template-columns:1fr}.pa-panel{width:100vw}.custom-theme-card{width:auto;flex:1 1}}@media (max-width:480px){#projects .ph-mockup{min-height:160px;padding:1rem .75rem .5rem}#projects .ph-card--featured .ph-mockup{flex:0 0 auto;min-height:200px;max-height:240px}#projects .ph-body{padding:1rem 1rem 1.15rem}#projects .ph-desc{font-size:.76rem}#projects .ph-tag{font-size:.54rem}.back-top-progress{inset:-3px}.mobile-nav-list li a{gap:2px;padding-bottom:2px}.mobile-nav-list li.active:after,.nav-label{font-size:7.5px;letter-spacing:.04em}.back-top-progress .ring-fill,.back-top-progress .ring-track{stroke-width:6.5}.mobile-nav-wrapper{padding-left:max(.35rem,env(safe-area-inset-left,0px));padding-right:max(.35rem,env(safe-area-inset-right,0px))}.container{width:min(var(--max-w),100% - 1rem)}.hero-headline{font-size:clamp(2.4rem,12vw,3rem)}.exp-highlights-grid{grid-template-columns:1fr}.exp-highlight-item{border-right:none;border-bottom:1px solid var(--border)}.exp-highlight-item:last-child{border-bottom:none}.tools-grid{grid-template-columns:repeat(2,1fr)}.pf-topbar{gap:.5rem}.pf-dropdown-btn,.pf-more-filters{padding:.6rem .7rem;font-size:.7rem}.btn{padding:.65rem 1.25rem;font-size:.72rem}.cmap-info{padding:2rem 1.25rem}#about,#contact,#experience,#projects,#skills,#testimonials{padding-top:clamp(2rem,5vw,4rem);padding-bottom:clamp(2rem,5vw,4rem)}.skills-section{padding:2.5rem 0}.beliefs-section,.edu-certs-section,.journey-section{padding:3.5rem 0}.exp-work{padding:3rem 0}.metric-item{padding:1.5rem 1rem}.testi-section{padding:3rem 0}.nav-inner{padding:.8rem 0}.logo-box{width:32px;height:32px;font-size:.85rem}.logo-name{font-size:.82rem;letter-spacing:.03em}.logo-role{display:none}footer{padding:2rem 0 1.25rem;overflow:hidden}.footer-bottom{flex-direction:column;align-items:flex-start;gap:.75rem}.si-ticker-item{padding:8px 12px;margin:0 4px}.si-ticker-icon,.si-ticker-icon img,.si-ticker-icon svg{width:20px;height:20px}.si-ticker-label{font-size:.65rem}.other-skills-grid{grid-template-columns:1fr}.pg-card{min-height:auto}.pg-thumb{height:160px}.pg-body{padding:1rem}.pg-name{font-size:1.1rem}.preloader-logo{font-size:2.5rem}.preloader-bar{width:140px}.projects-hero-grid{width:min(var(--max-w),100% - 2rem)}.hero-visual{height:380px}.proj-card{width:180px;padding:.85rem}.proj-screen{height:135px}.proj-card:first-child{--tx:-70px;--ty:10px;--rz:-8deg;transform:translate(-70px,10px) rotate(-8deg) scale(.82)}.proj-card:nth-child(2){--tx:0px;--ty:-15px;--rz:0deg;transform:translateY(-15px) scale(.9)}.proj-card:nth-child(3){--tx:75px;--ty:20px;--rz:9deg;transform:translate(75px,20px) rotate(9deg) scale(.82)}.stats-row{grid-template-columns:1fr 1fr;gap:1.2rem}.pd2-lightbox-swiper{width:94vw;height:70vh}.pd2-lightbox-nav{width:38px;height:38px}.pd2-lightbox-prev{left:10px}.pd2-lightbox-next{right:10px}.pd2-lightbox-close{top:14px;right:14px}.pd2-lightbox-counter{top:18px;left:16px}.orbit-ring.r2{width:300px;height:300px}.orbit-ring.r1{width:200px;height:200px}#skills .skill-list{grid-template-columns:1fr;gap:var(--card-gap-sm)}.sh-hero{padding:90px 0 40px}.sh-visual{height:320px}.sh-stage{width:280px;height:280px}.sh-core{width:96px;height:96px}.sh-core-icon{width:26px;height:26px}.sh-node-circle{width:38px;height:38px}.sh-node-circle svg{width:16px;height:16px}.hv2-portrait-wrap{max-width:280px}.hv2-terminal{width:max-content;padding:.7rem .8rem .9rem}.abt2-heading{font-size:clamp(2.1rem,9vw,2.6rem)}.abt2-card{min-width:112px;gap:.5rem}.abt2-card-label{white-space:normal}.abt2-visual{height:380px}.abt2-orbit{width:300px;height:300px}.abt2-portrait-wrap{width:190px;height:250px}.trv-search-kbd{display:none}.trv-search-input{padding-right:1rem}.trv-metrics{grid-template-columns:1fr 1fr;width:100%}.trv-more-card{min-height:160px;padding:clamp(1.25rem,6vw,2rem)}.trv-results-count{font-size:.8rem}}@media (max-width:375px){.about-hero-heading,.exp-hero-heading,.hero-headline{font-size:2.2rem}.tools-grid{grid-template-columns:repeat(2,1fr)}.pf-dropdown-btn,.pf-more-filters{padding:.55rem .65rem;font-size:.68rem}.hero-btns{width:100%}.hero-btns .btn{font-size:.7rem}.logo-box{width:34px;height:34px}.logo-box,.logo-name{font-size:.85rem}.pa-panel{width:100vw}.logo-text{display:none}.nav-logo{gap:0;max-width:44px}.mobile-menu{gap:1rem}}@media (max-width:360px){.tools-grid{grid-template-columns:repeat(2,1fr)}.mobile-nav-list li.active{flex-basis:36px;width:36px;height:36px}.mobile-nav-list .icon-wrap svg{width:18px;height:18px}.ch-globe-stage{max-width:220px}.sh-hero-grid{width:calc(100% - 2rem)}.sh-visual{height:280px}.sh-stage{width:250px;height:250px}.trv-metrics{grid-template-columns:1fr}.trv-filter-bar{padding:.85rem}.trv-view-btn{font-size:.68rem;padding:.5rem;gap:.25rem}.trv-view-btn svg{width:12px;height:12px}.abt2-card-clients,.abt2-card-experience,.abt2-card-projects,.abt2-card-tech{position:static;margin:.35rem auto;animation:abt2-fade-in .7s ease both}.abt2-visual{height:auto;flex-direction:column;padding:2rem 0}.abt2-orbit{display:none}}@media (prefers-reduced-motion:reduce){#skills .ring-fill,#skills .skill-cat-icon,#skills .skill-category,#skills .skill-item{transition:none!important}#projects .ph-card.ph-reveal,.reveal,.reveal-left,.reveal-right{transition:none}#projects .ph-card.ph-reveal{opacity:1;transform:none}.ht-badge,.ht-dashed-circle,.ht-dashed-circle-outer,.ht-orbit-node,.ht-plus-badge,.ht-spinner-orbit,.ht-testi-card,.ht-trust-badge,.th-quote-slide{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}.si-skel{animation:none;opacity:.6}.sh-copy,.sh-core,.sh-node,.sh-node-circle,.sh-orbit-ring.sh-r2,.sh-particle,.sh-spokes line{animation:none!important;transition:none!important}.back-top-progress .ring-fill{transition:none}.ch-airplane,.ch-bubble,.ch-conn-path,.ch-float,.ch-left,.ch-node-dot,.ch-node-ring,.ch-node-sm,.ch-particles span,.ch-response-card,.hv2-terminal{animation:none!important}.hv2-available,.hv2-service-card,.si-btn{transition:none!important}.abt2-availability,.abt2-body,.abt2-card,.abt2-ctas,.abt2-heading,.abt2-live-dot,.abt2-orbit,.abt2-portrait-wrap,.abt2-social-proof,.abt2-subhead,.abt2-tag{animation:none!important}}@media (hover:none){.pg-overlay{opacity:0}#projects .ph-card:hover,.belief-card:hover,.blog-card:hover,.cert-item:hover,.ci-card:hover,.edu-card:hover,.pg-card:hover,.social-link:hover,.value-card:hover{transform:none}.sh-node:hover .sh-node-circle{transform:none;box-shadow:none}}@media print{#preloader,.back-top,.cursor,.cursor-ring,.mobile-menu,.navbar,.pa-panel,.pa-panel-overlay,.pa-toast-wrap{display:none!important}body{background:#fff}a,body{color:#000}.back-top-progress{display:none!important}}.exp-work--hscroll{overflow:clip;--exp-switch-dur:0.68s}@keyframes expTlCardPulse{0%{transform:scale(1) translateY(0)}35%{transform:scale(1.03) translateY(-4px)}to{transform:scale(1.02) translateY(-2px)}}@keyframes expTlNumPop{0%{transform:scale(.82) rotate(-8deg);opacity:.5}55%{transform:scale(1.12) rotate(4deg)}to{transform:scale(1) rotate(0deg);opacity:1}}@keyframes expTlLineIn{0%{opacity:0;transform:translateY(10px);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes expTlShine{0%{transform:translateX(-120%) skewX(-18deg);opacity:0}18%{opacity:1}to{transform:translateX(220%) skewX(-18deg);opacity:0}}@keyframes expRoleEnterNext{0%{opacity:0;transform:perspective(1200px) translateX(48px) rotateY(-7deg) scale(.97);filter:blur(10px);-webkit-clip-path:inset(0 0 100% 0 round 0);clip-path:inset(0 0 100% 0 round 0)}to{opacity:1;transform:perspective(1200px) translateX(0) rotateY(0) scale(1);filter:blur(0);-webkit-clip-path:inset(0 0 0 0 round 0);clip-path:inset(0 0 0 0 round 0)}}@keyframes expRoleEnterPrev{0%{opacity:0;transform:perspective(1200px) translateX(-48px) rotateY(7deg) scale(.97);filter:blur(10px);-webkit-clip-path:inset(0 0 100% 0 round 0);clip-path:inset(0 0 100% 0 round 0)}to{opacity:1;transform:perspective(1200px) translateX(0) rotateY(0) scale(1);filter:blur(0);-webkit-clip-path:inset(0 0 0 0 round 0);clip-path:inset(0 0 0 0 round 0)}}@keyframes expRoleExitNext{0%{opacity:1;transform:perspective(1200px) translateX(0) rotateY(0) scale(1);filter:blur(0)}to{opacity:0;transform:perspective(1200px) translateX(-40px) rotateY(6deg) scale(.98);filter:blur(8px)}}@keyframes expRoleExitPrev{0%{opacity:1;transform:perspective(1200px) translateX(0) rotateY(0) scale(1);filter:blur(0)}to{opacity:0;transform:perspective(1200px) translateX(40px) rotateY(-6deg) scale(.98);filter:blur(8px)}}@keyframes expRoleColIn{0%{opacity:0;transform:translateX(-28px);filter:blur(6px)}to{opacity:1;transform:translateX(0);filter:blur(0)}}@keyframes expRoleMainIn{0%{opacity:0;transform:translateY(24px);filter:blur(8px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes expRoleAsideIn{0%{opacity:0;transform:translateX(28px);filter:blur(6px)}to{opacity:1;transform:translateX(0);filter:blur(0)}}@keyframes expRoleChipIn{0%{opacity:0;transform:translateY(12px) scale(.82)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes expRoleImpactIn{0%{opacity:0;transform:scale(.7)}70%{transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes expRoleListIn{0%{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}@keyframes expRoleMobileIn{0%{opacity:0;transform:translateY(16px);filter:blur(6px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.exp-work--hscroll .exp-hscroll-root{position:relative}.exp-work--hscroll .exp-hscroll-intro{position:relative;z-index:5}.exp-work--hscroll.is-exp-pinned .exp-hscroll-stage{position:-webkit-sticky;position:sticky;top:calc(var(--nav-h) + 12px);z-index:4}.exp-work--hscroll .exp-tl{margin-bottom:.552rem}.exp-work--hscroll .exp-tl-track{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:20px;gap:20px;overflow-x:auto;padding:1rem;border-radius:var(--br-none);scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;position:relative;isolation:isolate}.exp-work--hscroll .exp-tl-indicator{position:absolute;left:0;bottom:.35rem;height:2px;z-index:3;pointer-events:none;background:linear-gradient(90deg,transparent,var(--accent) 18%,var(--accent) 82%,transparent);box-shadow:0 0 12px var(--accent-dimmer),0 0 28px var(--accent-dim);transition:transform var(--exp-switch-dur,.68s) cubic-bezier(.22,1,.36,1),width var(--exp-card-dur,.45s) ease;will-change:transform,width}.exp-work--hscroll .exp-tl-track:before{content:"";position:absolute;top:50%;transform:translateY(-50%);left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,var(--border) 12%,var(--border) 88%,transparent);pointer-events:none;z-index:0}.exp-work--hscroll .exp-tl-track::-webkit-scrollbar{display:none}.exp-work--hscroll .exp-tl-card{display:flex;gap:var(--card-gap-md);scroll-snap-align:center;position:relative;z-index:1;text-align:left;padding:1rem;background:radial-gradient(circle at 50% 0,var(--accent-dim),transparent 58%),var(--bg-card);border:1px solid var(--border);border-radius:var(--br-none);color:inherit;cursor:pointer;overflow:hidden;transition:border-color var(--exp-card-dur,.45s) ease,box-shadow var(--exp-card-dur,.45s) ease,background var(--transition);will-change:transform,box-shadow}.exp-work--hscroll .exp-tl-card:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 38%,var(--accent-dim) 50%,transparent 62%);opacity:0;pointer-events:none;transform:translateX(-120%) skewX(-18deg)}.exp-work--hscroll .exp-tl-card.is-exp-active:after{opacity:1;animation:expTlShine 2.8s ease-in-out infinite}.exp-work--hscroll .exp-tl-card.is-exp-tl-pulse{animation:expTlCardPulse var(--exp-card-dur,.45s) cubic-bezier(.22,1,.36,1) forwards}.exp-work--hscroll .exp-tl-card.is-exp-tl-pulse .exp-tl-num{animation:expTlNumPop calc(var(--exp-card-dur, .45s) * 1.1) cubic-bezier(.22,1,.36,1) both}.exp-work--hscroll .exp-tl-card.is-exp-tl-pulse .exp-tl-role{animation:expTlLineIn calc(var(--exp-card-dur, .45s) * 1.2) cubic-bezier(.22,1,.36,1) both;animation-delay:.04s}.exp-work--hscroll .exp-tl-card.is-exp-tl-pulse .exp-tl-company{animation:expTlLineIn calc(var(--exp-card-dur, .45s) * 1.2) cubic-bezier(.22,1,.36,1) both;animation-delay:.09s}.exp-work--hscroll .exp-tl-card.is-exp-tl-pulse .exp-tl-meta{animation:expTlLineIn calc(var(--exp-card-dur, .45s) * 1.2) cubic-bezier(.22,1,.36,1) both}.exp-work--hscroll .exp-tl-card.is-exp-tl-pulse .exp-tl-meta:first-of-type{animation-delay:.14s}.exp-work--hscroll .exp-tl-card.is-exp-tl-pulse .exp-tl-meta:nth-of-type(2){animation-delay:.19s}.exp-work--hscroll .exp-tl-card .exp-tl-content{display:flex;flex-direction:column;gap:.25rem}.exp-work--hscroll .exp-tl-card:hover:not(.is-exp-active){border-color:var(--accent-dim);transform:translateY(-2px)}.exp-work--hscroll .exp-tl-card.is-exp-active{border-color:var(--accent);transform:translateY(-2px) scale(1.02);box-shadow:0 0 0 1px var(--accent-dim),0 0 28px var(--accent-dimmer),inset 0 0 24px var(--accent-dim)}.exp-work--hscroll .exp-tl-num{display:flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;padding:12px;font-family:var(--font-head);font-size:.82rem;letter-spacing:.06em;color:var(--accent);background:var(--bg);border:1px solid var(--border);border-radius:var(--br-none);box-shadow:0 0 0 4px var(--bg-card);transition:border-color var(--exp-card-dur,.45s) ease,box-shadow var(--exp-card-dur,.45s) ease}.exp-work--hscroll .exp-tl-card.is-exp-active .exp-tl-num{border-color:var(--accent);box-shadow:0 0 0 4px var(--bg-card),0 0 18px var(--accent-dimmer)}.exp-work--hscroll .exp-tl-role{font-family:var(--font-head);font-size:1.02rem;letter-spacing:.02em;color:var(--white);line-height:1.25;margin-bottom:.35rem}.exp-work--hscroll .exp-tl-company{font-family:var(--font-mono);font-size:.72rem;color:var(--accent);letter-spacing:.04em;margin-bottom:.65rem}.exp-work--hscroll .exp-tl-meta{display:flex;align-items:center;gap:.4rem;font-size:.72rem;color:var(--gray);line-height:1.45}.exp-work--hscroll .exp-tl-meta .icon{flex-shrink:0;width:15px}.exp-work--hscroll .exp-tl-meta .exp-hero-stat-icon{fill:none;color:var(--gray)}.exp-work--hscroll .exp-role-stage{position:relative;min-height:max-content;margin-bottom:2.5rem;perspective:1200px}.exp-work--hscroll .exp-role{display:grid;grid-template-columns:220px minmax(0,1fr) 220px;grid-gap:0;gap:0;background:linear-gradient(135deg,var(--accent-dim),transparent 42%),var(--bg-card);border:1px solid var(--border);border-radius:var(--br-none);overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;position:absolute;inset:0;transform-origin:center top;-webkit-backface-visibility:hidden;backface-visibility:hidden}.exp-work--hscroll .exp-role.is-exp-active{opacity:1;visibility:visible;pointer-events:auto;position:relative;inset:auto}.exp-work--hscroll.is-exp-switching .exp-role.is-exp-entering{z-index:2;position:absolute;inset:0}.exp-work--hscroll.is-exp-switching .exp-role.is-exp-exiting{z-index:1;opacity:1;visibility:visible;position:absolute;inset:0;pointer-events:all}.exp-work--hscroll.is-exp-switching .exp-role-stage{min-height:var(--exp-stage-h,auto)}.exp-work--hscroll .exp-role-stage[data-exp-dir=next] .exp-role.is-exp-entering{animation:expRoleEnterNext var(--exp-switch-dur,.68s) cubic-bezier(.16,1,.3,1) both}.exp-work--hscroll .exp-role-stage[data-exp-dir=prev] .exp-role.is-exp-entering{animation:expRoleEnterPrev var(--exp-switch-dur,.68s) cubic-bezier(.16,1,.3,1) both}.exp-work--hscroll .exp-role-stage[data-exp-dir=next] .exp-role.is-exp-exiting{animation:expRoleExitNext var(--exp-switch-dur,.68s) cubic-bezier(.55,0,1,.45) both}.exp-work--hscroll .exp-role-stage[data-exp-dir=prev] .exp-role.is-exp-exiting{animation:expRoleExitPrev var(--exp-switch-dur,.68s) cubic-bezier(.55,0,1,.45) both}.exp-work--hscroll .exp-role.is-exp-entering .exp-role-company{animation:expRoleColIn calc(var(--exp-switch-dur, .68s) * .85) cubic-bezier(.16,1,.3,1) both;animation-delay:.08s}.exp-work--hscroll .exp-role.is-exp-entering .exp-role-main{animation:expRoleMainIn calc(var(--exp-switch-dur, .68s) * .9) cubic-bezier(.16,1,.3,1) both;animation-delay:.14s}.exp-work--hscroll .exp-role.is-exp-entering .exp-role-aside{animation:expRoleAsideIn calc(var(--exp-switch-dur, .68s) * .85) cubic-bezier(.16,1,.3,1) both;animation-delay:.2s}.exp-work--hscroll .exp-role.is-exp-entering .exp-role-tech .exp-tech-chip{animation:expRoleChipIn .45s cubic-bezier(.22,1,.36,1) both}.exp-work--hscroll .exp-role.is-exp-entering .exp-role-tech .exp-tech-chip:first-child{animation-delay:.24s}.exp-work--hscroll .exp-role.is-exp-entering .exp-role-tech .exp-tech-chip:nth-child(2){animation-delay:.28s}.exp-work--hscroll .exp-role.is-exp-entering .exp-role-tech .exp-tech-chip:nth-child(3){animation-delay:.32s}.exp-work--hscroll .exp-role.is-exp-entering .exp-role-tech .exp-tech-chip:nth-child(4){animation-delay:.36s}.exp-work--hscroll .exp-role.is-exp-entering .exp-role-tech .exp-tech-chip:nth-child(5){animation-delay:.4s}.exp-work--hscroll .exp-role.is-exp-entering .exp-role-tech .exp-tech-chip:nth-child(6){animation-delay:.44s}.exp-work--hscroll .exp-role.is-exp-entering .exp-role-tech .exp-tech-chip:nth-child(7){animation-delay:.48s}.exp-work--hscroll .exp-role.is-exp-entering .exp-role-tech .exp-tech-chip:nth-child(8){animation-delay:.52s}.exp-work--hscroll .exp-role.is-exp-entering .exp-role-tech .exp-tech-chip:nth-child(9){animation-delay:.56s}.exp-work--hscroll .exp-role.is-exp-entering .exp-role-tech .exp-tech-chip:nth-child(10){animation-delay:.6s}.exp-work--hscroll .exp-role.is-exp-entering .exp-role-impact li{animation:expRoleImpactIn .5s cubic-bezier(.22,1,.36,1) both}.exp-work--hscroll .exp-role.is-exp-entering .exp-role-impact li:first-child{animation-delay:.3s}.exp-work--hscroll .exp-role.is-exp-entering .exp-role-impact li:nth-child(2){animation-delay:.38s}.exp-work--hscroll .exp-role.is-exp-entering .exp-role-impact li:nth-child(3){animation-delay:.46s}.exp-work--hscroll .exp-role.is-exp-entering .exp-role-achievements-list li{animation:expRoleListIn .45s cubic-bezier(.22,1,.36,1) both}.exp-work--hscroll .exp-role.is-exp-entering .exp-role-achievements-list li:first-child{animation-delay:.22s}.exp-work--hscroll .exp-role.is-exp-entering .exp-role-achievements-list li:nth-child(2){animation-delay:.3s}.exp-work--hscroll .exp-role.is-exp-entering .exp-role-achievements-list li:nth-child(3){animation-delay:.38s}.exp-work--hscroll .exp-role.is-exp-entering .exp-role-cases{animation:expRoleChipIn .5s cubic-bezier(.22,1,.36,1) both;animation-delay:.42s}.exp-work--hscroll .exp-role-company{padding:1.75rem 1.35rem;border-right:1px solid var(--border);background:var(--bg-2);display:flex;flex-direction:column;gap:.25rem}.exp-work--hscroll .exp-role-company-name{font-family:var(--font-head);font-size:1.15rem;letter-spacing:.03em;color:var(--white)}.exp-work--hscroll .exp-role-company-loc{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--gray)}.exp-work--hscroll .exp-role-facts{display:flex;flex-direction:column;gap:.65rem;margin-top:.85rem}.exp-work--hscroll .exp-role-facts li{display:flex;align-items:flex-start;gap:.65rem;font-size:.8rem;color:var(--gray-light);line-height:1.35}.exp-work--hscroll .exp-role-facts small{display:block;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);margin-bottom:.12rem}.exp-work--hscroll .exp-role-fact-icon{width:30px;height:30px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--accent-dim);border:1px solid var(--accent-dim);border-radius:var(--br-none);color:var(--accent)}.exp-work--hscroll .exp-role-fact-icon .icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.exp-work--hscroll .exp-role-fact-icon svg{width:15px;height:15px;flex-shrink:0;display:block}.exp-work--hscroll .exp-role-main{padding:1.75rem 1.65rem;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:.85rem;min-width:0}.exp-work--hscroll .exp-role-head{position:relative}.exp-work--hscroll .exp-role-badge{position:absolute;top:0;right:0;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent-dim);background:var(--accent-dim);padding:.28rem .55rem;border-radius:var(--br-none)}.exp-work--hscroll .exp-role-badge.is-past{color:var(--gray-light);border-color:var(--border);background:var(--bg-2)}.exp-work--hscroll .exp-role-dates{font-family:var(--font-mono);font-size:.75rem;color:var(--accent);letter-spacing:.05em;margin-bottom:.35rem}.exp-work--hscroll .exp-role-title{font-family:var(--font-head);font-size:clamp(1.35rem,2.2vw,1.75rem);letter-spacing:.02em;color:var(--white);line-height:1.15;padding-right:6.5rem}.exp-work--hscroll .exp-role-desc{font-size:.86rem;color:var(--gray);line-height:1.75;max-height:9.5em;overflow:hidden;transition:max-height var(--transition)}.exp-work--hscroll .exp-role-desc.is-collapsed{max-height:4.5em}.exp-work--hscroll .exp-role-toggle{align-self:flex-end;display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-head);font-size:var(--fs-14);letter-spacing:.08em;text-transform:uppercase;color:var(--gray-light);padding:0;transition:color var(--transition)}.exp-work--hscroll .exp-role-toggle:hover{color:var(--accent)}.exp-work--hscroll .exp-role-toggle .icon{transition:transform var(--transition)}.exp-work--hscroll .exp-role-toggle.is-collapsed .icon{transform:rotate(180deg)}.exp-work--hscroll .exp-role-kicker{display:flex;align-items:center;gap:.45rem;font-family:var(--font-mono);font-size:var(--fs-14);letter-spacing:.14em;text-transform:uppercase;color:var(--gray);font-family:var(--font-head);letter-spacing:.03em;color:var(--white);margin-bottom:.25rem}.exp-work--hscroll .exp-role-kicker .icon{color:var(--accent)}.exp-work--hscroll .exp-role-achievements{display:flex;justify-content:space-between;gap:.55rem}.exp-work--hscroll .exp-role-achievements ul{display:flex;flex-direction:column;gap:.55rem}.exp-work--hscroll .exp-role-achievements .exp-role-achievements-list li{position:relative;padding-left:1.35rem;font-size:.82rem;color:var(--gray-light);line-height:1.5}.exp-work--hscroll .exp-role-achievements .exp-role-achievements-list li:before{content:"";position:absolute;left:0;top:.42em;width:14px;height:14px;border-radius:var(--br-none);border:1px solid var(--accent-dim);background:var(--accent-dim);box-shadow:inset 0 0 0 3px var(--bg-card)}.exp-work--hscroll .exp-role-achievements .exp-role-achievements-list li:after{content:"";position:absolute;left:4px;top:calc(.42em + 4px);width:6px;height:3px;border-left:1.5px solid var(--accent);border-bottom:1.5px solid var(--accent);transform:rotate(-45deg)}.exp-work--hscroll .exp-role-aside{padding:1.75rem 1.35rem;display:flex;flex-direction:column;gap:1.35rem;background:var(--bg-2)}.exp-work--hscroll .exp-role-tech-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--card-gap-sm);gap:var(--card-gap-sm)}.exp-work--hscroll .exp-role-tech .exp-tech-chip{width:100%;aspect-ratio:1;border-radius:var(--br-none);background:var(--bg-card);border-color:var(--border)}.exp-work--hscroll .exp-role-impact ul{display:flex;flex-direction:row;gap:.55rem}.exp-work--hscroll .exp-role-impact li{display:flex;flex-direction:column;gap:.1rem;padding:.7rem .85rem;background:linear-gradient(135deg,var(--accent-dim),transparent);border:1px solid var(--accent-dim);border-radius:var(--br-none)}.exp-work--hscroll .exp-role-impact strong{font-family:var(--font-head);font-size:1.15rem;color:var(--accent);line-height:1.1}.exp-work--hscroll .exp-role-impact span{font-size:.72rem;color:var(--gray-light)}.exp-work--hscroll .exp-role-cases{margin-top:auto;display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);transition:var(--transition)}.exp-work--hscroll .exp-role-cases:hover{color:var(--white)}.exp-work--hscroll .exp-skill-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1rem;gap:1rem;margin-top:.5rem}.exp-work--hscroll .exp-skill-item{display:flex;align-items:flex-start;gap:.85rem;padding:1.15rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--br-none);transition:border-color var(--transition),background var(--transition)}.exp-work--hscroll .exp-skill-item:hover{border-color:var(--accent-dim);background:var(--accent-dim)}.exp-work--hscroll .exp-skill-icon{width:42px;height:42px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--accent);background:var(--accent-dim);border:1px solid var(--accent-dim);border-radius:var(--br-none);box-shadow:0 0 16px var(--accent-dim)}.exp-work--hscroll .exp-skill-icon .icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.exp-work--hscroll .exp-skill-icon svg{width:18px;height:18px;flex-shrink:0;display:block}.exp-work--hscroll .exp-role-tech .exp-tech-chip svg{width:18px;height:18px;display:block}.exp-work--hscroll .exp-role-tech .express-js{fill:var(--white)}.exp-work--hscroll .exp-skill-item h4{font-family:var(--font-head);font-size:.92rem;letter-spacing:.03em;color:var(--white);margin-bottom:.25rem}.exp-work--hscroll .exp-skill-item p{font-size:.76rem;color:var(--gray);line-height:1.55}.exp-work--hscroll>.container:last-child{margin-top:2rem}@media (max-width:1100px){.exp-work--hscroll .exp-tl-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding-bottom:1.35rem}.exp-work--hscroll .exp-tl-track:before{display:none}.exp-work--hscroll .exp-tl-card{flex:0 0 min(280px,calc(100vw - 3.5rem));min-width:0;scroll-snap-align:center}.exp-work--hscroll .exp-role{grid-template-columns:minmax(0,200px) minmax(0,1fr)}.exp-work--hscroll .exp-role-aside{grid-column:1/-1;border-top:1px solid var(--border);flex-direction:row;flex-wrap:wrap;align-items:flex-start}.exp-work--hscroll .exp-role-tech{flex:1 1 220px}.exp-work--hscroll .exp-role-cases{width:100%}.exp-work--hscroll .exp-role-achievements{flex-direction:column;gap:1.25rem}.exp-work--hscroll .exp-role-impact ul{flex-wrap:wrap}.exp-work--hscroll .exp-role-impact li{flex-grow:1;flex-shrink:1;flex-basis:calc(33.333% - 0.4rem);min-width:100px}.exp-work--hscroll .exp-skill-row{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.exp-work--hscroll .exp-role{grid-template-columns:1fr}.exp-work--hscroll .exp-role-company,.exp-work--hscroll .exp-role-main{border-right:none;border-bottom:1px solid var(--border)}.exp-work--hscroll .exp-role-aside{border-top:none}.exp-work--hscroll .exp-role-title{padding-right:0;padding-top:2rem}.exp-work--hscroll .exp-role-badge{left:0;right:auto}.exp-work--hscroll .exp-role-impact ul{flex-direction:column}.exp-work--hscroll .exp-role-impact li{width:100%}}@media (max-width:768px){.journey-timeline:before{left:0}.pd2-metric-item{flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid var(--border)}.exp-work--hscroll{overflow-x:clip}.exp-work--hscroll .exp-hscroll-intro{padding-inline:0}.exp-work--hscroll .exp-work-header{margin-bottom:1.75rem}.exp-work--hscroll .exp-work-subtitle{font-size:.86rem;line-height:1.65}.exp-work--hscroll.is-exp-pinned .exp-hscroll-stage{position:relative;top:auto}.exp-work--hscroll .exp-tl{margin-inline:-.25rem}.exp-work--hscroll .exp-tl-track{gap:12px;padding:.5rem .25rem 1.35rem;touch-action:pan-x}.exp-work--hscroll .exp-tl-card{flex:0 0 min(260px,84vw);padding:.9rem;gap:.75rem}.exp-work--hscroll .exp-tl-num{width:2rem;height:2rem;padding:8px;font-size:.75rem}.exp-work--hscroll .exp-tl-role{font-size:.92rem}.exp-work--hscroll .exp-role-stage{min-height:0;margin-bottom:1.75rem}.exp-work--hscroll .exp-role{grid-template-columns:1fr;position:relative;opacity:1;visibility:visible;pointer-events:auto;display:none}.exp-work--hscroll .exp-role.is-exp-active{display:grid}.exp-work--hscroll.is-exp-switching .exp-role.is-exp-exiting{display:none}.exp-work--hscroll.is-exp-switching .exp-role.is-exp-active{display:grid;animation:expRoleMobileIn .42s cubic-bezier(.22,1,.36,1) both}.exp-work--hscroll .exp-role.is-exp-entering .exp-role-achievements-list li,.exp-work--hscroll .exp-role.is-exp-entering .exp-role-aside,.exp-work--hscroll .exp-role.is-exp-entering .exp-role-cases,.exp-work--hscroll .exp-role.is-exp-entering .exp-role-company,.exp-work--hscroll .exp-role.is-exp-entering .exp-role-impact li,.exp-work--hscroll .exp-role.is-exp-entering .exp-role-main,.exp-work--hscroll .exp-role.is-exp-entering .exp-tech-chip{animation:none!important}.exp-work--hscroll .exp-role-company,.exp-work--hscroll .exp-role-main{border-right:none;border-bottom:1px solid var(--border);padding:1.25rem 1rem}.exp-work--hscroll .exp-role-main{gap:.7rem}.exp-work--hscroll .exp-role-aside{flex-direction:column;flex-wrap:nowrap;padding:1.25rem 1rem;gap:1rem}.exp-work--hscroll .exp-role-tech{flex:1 1 auto;width:100%}.exp-work--hscroll .exp-role-title{padding-right:0;padding-top:2rem;font-size:clamp(1.2rem,5.5vw,1.45rem)}.exp-work--hscroll .exp-role-badge{left:0;right:auto}.exp-work--hscroll .exp-role-desc{font-size:.82rem;line-height:1.7}.exp-work--hscroll .exp-role-achievements{flex-direction:column;gap:1rem}.exp-work--hscroll .exp-role-impact ul{flex-direction:column}.exp-work--hscroll .exp-role-impact li{flex:1 1 auto;width:100%}.exp-work--hscroll .exp-role-tech-grid{grid-template-columns:repeat(5,1fr);gap:.5rem}.exp-work--hscroll .exp-role-tech .exp-tech-chip{min-height:36px;aspect-ratio:auto;height:36px}.exp-work--hscroll .exp-skill-row{grid-template-columns:1fr;gap:.75rem;margin-top:.25rem}.exp-work--hscroll .exp-skill-item{padding:1rem .9rem}.exp-work--hscroll .exp-tl-hint{display:none}}@media (max-width:480px){.exp-work--hscroll .exp-tl-card{flex:0 0 min(240px,88vw)}.exp-work--hscroll .exp-role-tech-grid{grid-template-columns:repeat(4,1fr)}.exp-work--hscroll .exp-role-facts li{font-size:.76rem}.exp-work--hscroll .exp-skill-icon{width:36px;height:36px}.exp-work--hscroll .exp-skill-item h4{font-size:.86rem}.exp-work--hscroll .exp-skill-item p{font-size:.72rem}}@media (prefers-reduced-motion:reduce){.exp-work--hscroll .exp-tl-mouse:after{animation:none}.exp-work--hscroll .exp-role,.exp-work--hscroll .exp-role *,.exp-work--hscroll .exp-tl-card,.exp-work--hscroll .exp-tl-card:after,.exp-work--hscroll .exp-tl-indicator{animation:none!important;transition:none!important}.exp-work--hscroll .exp-role.is-exp-exiting{display:none}}