#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:2rem}#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-explorer{position:relative;width:100%;transform:none}#skills .skills-explorer--pin{margin-top:0;box-sizing:border-box}#skills .skills-explorer__layout{display:grid;grid-template-columns:minmax(220px,300px) 1fr;grid-gap:20px;gap:20px;align-items:start}#skills .skills-explorer__railwrap{position:relative;--p:0}#skills .skills-explorer__tab:first-child{border-top-left-radius:var(--br-none);border-top-right-radius:var(--br-none)}#skills .skills-explorer__tab:last-child{border-bottom-right-radius:var(--br-none);border-bottom-left-radius:var(--br-none)}#skills .skills-explorer__rline{position:absolute;left:0;top:3.68rem;bottom:2rem;width:6px;border-radius:var(--br-none);background:var(--border);z-index:2}#skills .skills-explorer__rline i{position:absolute;inset:0;background:var(--accent);transform-origin:top;transform:scaleY(var(--p));border-radius:var(--br-none)}#skills .skills-explorer__rail{position:relative;display:flex;flex-direction:column;padding-left:15px;z-index:1}#skills .skills-explorer__tab{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:1fr auto;grid-gap:4px 12px;gap:4px 12px;padding:14px 16px;border:1px solid transparent;background:var(--bg);color:var(--white-dim);transition:background .2s,color .2s,border-color .2s}#skills .skills-explorer__tab b{font:500 15px var(--font-body);color:inherit}#skills .skills-explorer__tab small{font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}#skills .skills-explorer__tab-bar{grid-column:1/-1;height:3px;background:var(--border);overflow:hidden;border-radius:var(--br-none)}#skills .skills-explorer__tab-bar i{display:block;height:100%;background:var(--white-dim);opacity:.6;border-radius:var(--br-none)}#skills .skills-explorer__tab:hover{background:var(--bg-2);color:var(--white)}#skills .skills-explorer__tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#skills .skills-explorer__tab[aria-selected=true]{border-color:var(--border);background:radial-gradient(circle at 100% 0,var(--accent-dim) 0,transparent 60%),var(--bg-card-hover);box-shadow:var(--sh3);color:var(--white)}#skills .skills-explorer__tab[aria-selected=true] .skills-explorer__tab-bar i{background:var(--accent);opacity:1;border-radius:var(--br-none)}#skills .skills-explorer__panel{background:var(--bg-2);min-height:470px;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.25rem;overflow:visible;box-shadow:var(--sh1);border-radius:var(--br-none);transition:transform var(--transition-smooth),box-shadow var(--transition-smooth),border-color var(--transition-smooth),background var(--transition-smooth)}#skills .skills-explorer__panel: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;border-radius:var(--br-none);pointer-events:none}#skills .skills-explorer__panel:hover{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 .skills-explorer__head{display:flex;gap:24px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;padding-bottom:28px;border-bottom:1px solid var(--border);margin-bottom:28px}#skills .skills-explorer__head-text{display:flex;gap:var(--card-gap-sm)}#skills .skills-explorer__title{font-family:var(--font-head);font-size:clamp(22px,3vw,28px);font-weight:var(--fw-7);line-height:1.15;letter-spacing:-.01em;-webkit-hyphens:none;hyphens:none}#skills .skills-explorer__w{display:inline-block;overflow:hidden;vertical-align:top}#skills .skills-explorer__w>span{display:inline-block;will-change:transform}#skills .skills-explorer__desc{color:var(--white-dim);max-width:46ch;font-size:var(--fs-15);line-height:1.55}#skills .skills-explorer__ring{position:relative;width:96px;height:96px;flex:none}#skills .skills-explorer__ring svg{transform:rotate(-90deg)}#skills .skills-explorer__ring-fill,#skills .skills-explorer__ring-track{fill:none;stroke-width:8;stroke-linecap:round}#skills .skills-explorer__ring-track{stroke:var(--border)}#skills .skills-explorer__ring-fill{stroke:var(--accent);stroke-dasharray:263.9;stroke-dashoffset:263.9}#skills .skills-explorer__ring-num{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--font-head);font-weight:var(--fw-7);font-size:22px}#skills .skills-explorer__chips{display:flex;flex-wrap:wrap;gap:var(--card-gap-sm);margin-bottom:2rem}#skills .skills-explorer__chip{display:flex;align-items:center;gap:var(--card-gap-sm);padding:8px 12px;border-radius:var(--br-none);background:var(--bg-card);border:1px solid var(--border);font-size:var(--fs-14);font-weight:var(--fw-5);transition:border-color .2s}#skills .skills-explorer__chip-icon{flex:none;width:28px;height:28px;font-size:var(--icon-size);display:grid;place-items:center}#skills .skill-icon .skill-brand-svg,#skills .skills-explorer__chip-icon .skill-brand-svg{display:flex;align-items:center;justify-content:center;width:100%;height:100%}#skills .skill-icon .skill-brand-svg svg,#skills .skills-explorer__chip-icon .skill-brand-svg svg{width:100%;height:100%;max-width:22px;max-height:22px;object-fit:contain}#skills .skills-explorer__chip-icon img,#skills .skills-explorer__chip-icon svg{width:22px;height:22px;object-fit:contain}#skills .skills-explorer__chip-label{min-width:0;color:var(--gray-light);font-weight:var(--fw-5)}@media (max-width:820px){#skills .skills-explorer--pin{min-height:auto;justify-content:flex-start}#skills .skills-explorer__layout{grid-template-columns:1fr}#skills .skills-explorer__rline{inset:auto 0 0 0;width:auto;height:2px}#skills .skills-explorer__rline i{transform-origin:left;transform:scaleX(var(--p))}#skills .skills-explorer__rail{flex-direction:row;overflow-x:auto;gap:8px;padding:0 0 12px;scrollbar-width:none}#skills .skills-explorer__tab{flex:none;min-width:150px;border-color:var(--border)}#skills .skills-explorer__panel{min-height:0}#skills .skills-explorer__chips{grid-template-columns:repeat(2,1fr)}#skills .skills-explorer__chip{padding:10px;gap:10px;font-size:14px}#skills .skills-explorer__chip-icon{width:24px;height:24px}#skills .skills-explorer__ring,#skills .skills-explorer__ring svg{width:72px;height:72px}#skills .skills-explorer__head{padding-bottom:20px;margin-bottom:20px}}#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;align-items:start}#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.4rem .9rem;overflow:visible;border-radius:var(--br-none);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;border-radius:var(--br-none);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:var(--fs-42);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;font-size:var(--fs-30);width:52px;height:52px;font-size:var(--fs-22);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:var(--fs-14);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:var(--fs-14);font-weight:var(--fw-8);color:var(--white);line-height:1}#skills .ring-value small{font-size:var(--fs-10);font-weight:var(--fw-7);margin-left:1px}#skills .ring-caption{margin-top:.15rem;font-family:var(--font-mono);font-size:var(--fs-8);letter-spacing:.08em;text-transform:uppercase;color:var(--gray-dim)}#skills .skill-list{display:flex;flex-wrap:wrap;gap:var(--card-gap-sm)}.contact-detail-phones{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem}.contact-detail-phones .contact-phone-sep{color:var(--gray-dim);-webkit-user-select:none;-moz-user-select:none;user-select:none}.contact-detail-phones .contact-phone-line,.contact-detail-phones .contact-whatsapp-line{color:inherit;text-decoration:none}.contact-detail-phones .contact-phone-line:hover,.contact-detail-phones .contact-whatsapp-line:hover{color:var(--accent)}#skills .skill-item{padding:.55rem .7rem;font-size:var(--fs-12);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:var(--icon-size);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:var(--card-gap-sm);padding:.34rem .72rem;background:var(--accent-dim);border:1px solid var(--accent);border-radius:var(--br-none);font-family:var(--font-mono);font-size:var(--fs-10);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(1rem,1vw,1.34rem);margin-bottom:.5rem}#projects .ph-card--featured .ph-desc{font-size:var(--fs-12);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:var(--card-gap-sm) var(--card-gap-sm)}#projects .ph-category{font-family:var(--font-mono);font-size:var(--fs-10);color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.45rem}#projects .ph-title{font-family:var(--font-head);font-size:clamp(1rem,1vw,1.34rem);letter-spacing:.02em;text-transform:uppercase;color:var(--white);margin-bottom:.55rem;line-height:1.15}#projects .ph-desc{font-size:var(--fs-12);color:var(--gray);line-height:1.6;margin-bottom:.85rem;flex:1 1 auto;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}#projects .ph-card--featured .ph-desc{-webkit-line-clamp:8;line-clamp:8}#projects .ph-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--card-gap-md);margin-top:auto}#projects .ph-tags{display:flex;flex-wrap:nowrap;gap:var(--card-gap-sm);flex:1 1;min-width:0;overflow:hidden}#projects .ph-tag{flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-mono);font-size:var(--fs-10);color:var(--gray);background:var(--bg);border:1px solid var(--border);border-radius:var(--br-none);padding:.18rem .32rem;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}#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:var(--fs-10);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:var(--fs-10);color:var(--gray);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.6rem}.blog-card-title{font-family:var(--font-head);font-size:var(--fs-14);letter-spacing:.04em;text-transform:uppercase;line-height:1.15;color:var(--white);margin-bottom:.65rem}.blog-card-excerpt{font-size:var(--fs-14);color:var(--gray);line-height:1.7;margin-bottom:1.25rem;flex:1 1}.blog-card-read{display:inline-flex;align-items:center;gap:var(--card-gap-sm);font-family:var(--font-mono);font-size:var(--fs-12);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:var(--fs-10);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:var(--fs-22);gap:var(--fs-22);margin-top:3rem;align-items:start}.faq-accordion{display:flex;flex-direction:column;gap:var(--card-gap-md)}.faq-load-empty,.faq-load-error,.ph-load-empty,.ph-load-error,.testi-load-empty,.testi-load-error{color:var(--gray-light);font-size:var(--fs-14);margin:0}.ph-load-empty,.ph-load-error{grid-column:1/-1}.faq-accordion{position:relative}.faq-active-bg{position:absolute;left:0;right:0;top:0;height:0;background:var(--accent);box-shadow:0 18px 50px -14px var(--accent-dim);border-radius:var(--br-none);opacity:0;z-index:1;pointer-events:none;will-change:transform,height}.faq-item{position:relative;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--br-none);overflow:hidden;transition:border-color .4s ease}.faq-item.is-open{border-color:var(--accent)}.faq-item>*{position:relative;z-index:2}.faq-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--fs-22);width:100%;background:transparent;border:none;color:var(--white);font-family:var(--font-body);font-size:var(--icon-size);font-weight:var(--fw-6);letter-spacing:0;text-transform:none;text-align:left;cursor:pointer;padding:1.35rem 1.5rem;transition:color .3s ease .22s}.faq-item.is-highlighted .faq-item-head{color:var(--bg)}.faq-item-head:focus-visible,.faq-item-head:hover{outline:none}.faq-item:not(.is-open) .faq-item-head:hover{color:var(--accent);transition-delay:0s}.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{position:relative;flex-shrink:0;width:24px;height:24px;color:var(--gray-light);transition:color .3s ease .22s}.faq-item.is-highlighted .faq-toggle{color:var(--bg)}.faq-icon-minus,.faq-icon-plus{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.faq-item-body{height:0;overflow:hidden;padding:0;visibility:hidden}.faq-item-body p{padding:0 1.5rem 1.35rem;font-size:var(--fs-14);color:var(--gray);line-height:1.7;margin:0;font-weight:var(--fw-4);transition:color .3s ease .22s}.faq-item.is-highlighted .faq-item-body p{color:var(--bg)}.faq-word{display:inline-block}.faq-sidebar{display:flex;flex-direction:column;gap:var(--card-gap-lg);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;font-size:var(--icon-size)}.faq-cta-title{font-family:var(--font-body);font-size:var(--fs-14);font-weight:var(--fw-7);color:var(--white);line-height:1.35;margin-bottom:.65rem}.faq-cta-desc{font-size:var(--fs-14);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:var(--fs-14);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:var(--card-gap-lg);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);align-items:center;justify-content:center;color:var(--accent)}.faq-contact-icon,.faq-contact-icon .icon{font-size:var(--icon-size);display:flex}.faq-contact-tag{font-size:var(--fs-12);color:var(--gray);margin-bottom:.15rem}.faq-contact-title{font-family:var(--font-body);font-size:var(--fs-14);font-weight:var(--fw-7);color:var(--white);margin-bottom:.15rem}.faq-contact-phone{font-size:var(--fs-14);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(--bg-card);border-color:var(--border)}html.theme-light .faq-item:not(.is-open) .faq-item-head{color:var(--white)}html.theme-light .faq-item.is-highlighted .faq-item-body p,html.theme-light .faq-item.is-highlighted .faq-item-head{color:var(--bg)}@media (prefers-reduced-motion:reduce){.faq-item-body p,.faq-item-head,.faq-toggle{transition-delay:0s;transition-duration:0s}}html.theme-light .faq-cta-card{background:var(--bg)}html.theme-light .faq-contact-card{background:var(--bg-card);border-color:var(--border)}html.theme-light .faq-contact-icon{background:var(--accent-dimmer)}.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{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)}#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-grid.mt-0{margin-top:0}.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:var(--fs-14);line-height:1.75}.contact-details,.contact-sub{margin-bottom:2.5rem}.contact-detail-icon{width:36px;height:36px;font-size:var(--icon-size);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:var(--fs-14);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:var(--fs-10);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:var(--fs-14);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:var(--fs-14)}.footer-social-list{margin-top:6px}.social-icon{width:42px;height:42px;font-size:var(--icon-size);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)}.sh-mesh-wrap svg{width:100%;height:100%}.hero-copy,.pf-quicklinks{display:flex;flex-direction:column}.pg-pagination-info,.pg-pagination-show{font-size:var(--fs-12);color:var(--gray)}.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:var(--card-gap-sm);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:var(--fs-22);line-height:1;display:flex;align-items:center;justify-content:center;transition:font-size .4s ease}.nav-label{font-size:var(--fs-8);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:var(--fs-8);font-weight:var(--fw-7);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:var(--card-gap-sm);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:var(--fs-22);color:var(--border);line-height:1}.side-label,.side-num{transition:color var(--transition)}.side-label{font-family:var(--font-mono);font-size:var(--fs-8);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:var(--fs-14);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:var(--fs-12);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:var(--fs-22);letter-spacing:.04em;line-height:1.1;margin-bottom:.4rem}.jt-desc{font-size:var(--fs-14);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;font-size:var(--icon-size);color:var(--accent);margin-bottom:1.25rem}.belief-title{font-family:var(--font-head);font-size:var(--fs-14);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.75rem;color:var(--white)}.belief-desc{font-size:var(--fs-14);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:var(--fs-14);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:var(--fs-10);color:var(--accent);letter-spacing:.12em;margin-bottom:.25rem}.edu-institution{font-size:var(--fs-14);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;font-size:var(--fs-14);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:var(--fs-14);color:var(--gray-light);line-height:1.4}.cert-name strong{color:var(--white);font-weight:var(--fw-6);display:block;font-size:var(--fs-14);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:var(--fs-14);min-width:0}.pf-search-input::placeholder{color:var(--gray)}.pf-kbd{font-family:var(--font-mono);font-size:var(--fs-10);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:var(--fs-12);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:var(--fs-12);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:var(--fs-12);color:var(--gray);white-space:nowrap}.pg-sort-select{border:1px solid var(--border);color:var(--white);font-family:var(--font-body);font-size:var(--fs-12);padding:.5rem .75rem;cursor:pointer;outline:0}.pg-sort-select,.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:var(--fs-10);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:var(--fs-10);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:var(--fs-14);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:var(--fs-12)}.pf-check:hover .pf-check-label{color:var(--white)}.pf-show-more{background:0 0;border:none;color:var(--accent);font-size:var(--fs-12);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:var(--fs-12);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:var(--fs-12);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:var(--fs-12);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:var(--fs-14);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:var(--fs-12);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(--bg-card);border:1px solid var(--border);color:var(--white);font-family:var(--font-body);font-size:var(--fs-12);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:var(--fs-10);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;font-size:var(--icon-size);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:var(--fs-22);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:var(--fs-10);color:var(--accent);letter-spacing:.12em;margin-bottom:.6rem}.pg-desc{font-size:var(--fs-12);color:var(--gray);line-height:1.65;margin-bottom:.9rem;flex:1 1;max-height:5rem;overflow:hidden;position:relative}.pg-desc:after{content:"...";position:absolute;bottom:10%;right:0;background:linear-gradient(to right,transparent,var(--bg-card) 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:var(--fs-12);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:var(--fs-12);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:var(--fs-22);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:var(--fs-14);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:var(--fs-14);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);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);font-size:var(--fs-14)}.ht-badge{padding:.55rem 1rem;border:1px solid var(--bg-card-hover);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);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:var(--icon-size);font-weight:var(--fw-7);color:var(--white)}.ht-node-label{font-size:var(--fs-14);line-height:1.25;text-align:left}.ht-node-label strong{display:block;color:var(--white);font-weight:var(--fw-7);font-size:var(--fs-14)}.ht-node-label span{color:var(--gray-light);font-size:var(--fs-12)}.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:var(--fs-42);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:var(--fs-14);line-height:1.6;margin-bottom:1.25rem}.th-quote-slider{position:relative;max-height:150px;overflow:hidden}.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:var(--fs-14);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:var(--fs-12);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:var(--icon-size)}.ht-testi-author-info span{color:var(--gray-light);font-size:var(--fs-14)}.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:var(--fs-42);line-height:1;color:var(--accent);font-family:Georgia,serif;margin-bottom:1rem;display:block}.testi-card-text{font-size:var(--fs-14);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:var(--font-mono);font-size:var(--icon-size);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:var(--font-mono);font-weight:var(--fw-6);font-size:var(--fs-14);color:var(--white);margin:0 0 .1rem}.testi-card-role{font-size:var(--fs-12);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:var(--fs-14)}.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;font-size:var(--icon-size);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:var(--fs-22);color:var(--white);line-height:1}.trv-metric-label{font-family:var(--font-mono);font-size:var(--fs-10);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:var(--fs-14);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:var(--fs-14);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:var(--fs-12)}.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:var(--fs-12);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:var(--fs-14);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:var(--fs-12);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:var(--fs-12);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:var(--fs-10);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;font-size:var(--icon-size);border:1px dashed var(--border);color:var(--gray)}.trv-more-card p{font-size:var(--fs-14);line-height:1.5}.trv-no-results{grid-column:1/-1;text-align:center;padding:3rem 1rem;color:var(--gray);font-size:var(--fs-14);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;font-size:var(--icon-size);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:var(--fs-12);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:var(--fs-14);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:var(--icon-size);color:var(--accent);font-family:var(--font-mono);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:var(--icon-size);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;font-size:var(--icon-size);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:var(--fs-14);color:var(--white);font-weight:var(--fw-5);line-height:1.3}.ci-card-sub{font-size:var(--fs-12);color:var(--gray);margin-top:.15rem}.ci-connect-heading{font-family:var(--font-head);font-size:var(--fs-14);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:var(--fs-12);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:var(--fs-14);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:var(--fs-14)}.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-14);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:var(--fs-12);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}.pa-modal-grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--card-gap-md);gap:var(--card-gap-md)}.cf-step-badge{position:absolute;top:-15px;right:0;flex-shrink:0;min-width:38px;height:30px;padding:0 .4rem;font-family:var(--font-mono);font-size:var(--fs-10);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;gap:0}.cf-step-label{font-family:var(--font-body);font-size:var(--fs-14);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:var(--fs-14);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:var(--fs-14)}.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:var(--fs-12);color:var(--danger);font-family:var(--font-body)}.cf-error.show{display:block}.cf-pills{margin-top:.81rem;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:var(--fs-14);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:var(--fs-12);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:var(--fs-14);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:var(--fs-10);letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:.6rem}.cmap-title,.exp-highlights-heading{font-family:var(--font-head);font-size:var(--fs-22);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.5rem}.cmap-desc{font-size:var(--fs-14);color:var(--gray);line-height:1.7;margin-bottom:2rem}.cmap-city{font-family:var(--font-mono);font-size:var(--fs-10);letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:.35rem}.cmap-city-name{font-family:var(--font-head);font-size:var(--fs-14);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:var(--fs-8)!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:var(--fs-14)!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-14);letter-spacing:.06em;text-transform:uppercase;color:var(--white);line-height:1.1;margin-bottom:.2rem}.lf-popup-role{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem}.lf-popup-loc,.lf-popup-role{font-family:var(--font-mono);font-size:var(--fs-10)}.lf-popup-loc{letter-spacing:.08em;color:var(--gray-light);margin-bottom:.4rem}.lf-popup-avail{font-family:var(--font-mono);font-size:var(--fs-10);letter-spacing:.08em;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;font-size:var(--icon-size);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:var(--fs-14);color:var(--white);line-height:1.2}.sh-node-sub{font-size:var(--fs-12);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:var(--fs-22);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:var(--fs-22);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-14);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;font-size:var(--icon-size);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;font-size:var(--icon-size);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:var(--fs-10);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:var(--fs-14);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;font-size:var(--icon-size);border:1px solid var(--border);color:var(--accent);flex-shrink:0;margin-top:.1rem}.learning-card-text{font-size:var(--fs-14);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{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:var(--fs-12);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;font-size:var(--icon-size);stroke-width:1.5}.exp-hero-stat svg{color:var(--accent)}.exp-hero-stat-num{font-family:var(--font-head);font-size:var(--fs-22);color:var(--white);line-height:1;letter-spacing:.01em}.exp-hero-stat-label{font-family:var(--font-mono);font-size:var(--fs-10);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;font-size:var(--icon-size);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;font-size:var(--icon-size);flex-shrink:0}.exp-milestone-badge{font-family:var(--font-mono);font-size:var(--icon-size);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:var(--fs-14);letter-spacing:.02em;text-transform:uppercase;margin-bottom:.4rem;line-height:1.15}.exp-milestone-desc{font-size:var(--fs-12);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:var(--fs-12);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:var(--fs-14);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:var(--fs-10);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 .icon{width:20px;height:20px;max-width:20px;max-height:20px}.exp-tech-chip .icon .si-skel-wrap,.exp-tech-chip svg{width:100%;height:100%}.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;font-size:var(--fs-22);background:var(--bg-card);border-radius:var(--br-none)}.exp-highlight-val{font-family:var(--font-head);font-size:var(--fs-42);color:var(--white);line-height:1}.exp-highlight-val span{color:var(--accent)}.exp-highlight-label{font-family:var(--font-mono);font-size:var(--fs-10);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;font-size:var(--icon-size);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-14);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:var(--fs-14);font-weight:var(--fw-7);margin-bottom:.15rem;color:var(--white)}.proj-card p.sub{font-size:var(--fs-10);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);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);font-size:var(--fs-14)}.abt2-body{color:var(--gray-light);line-height:1.8;max-width:460px;margin-bottom:2rem;animation:abt2-fade-in .7s ease .22s both}.abt2-ctas{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;gap:var(--card-gap-lg)}.abt2-social-proof{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:var(--fs-12);font-weight:var(--fw-7);color:var(--accent);z-index:1}.abt2-social-copy{font-size:var(--fs-14);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:var(--fs-12);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:var(--fs-14);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;font-size:var(--icon-size);flex-shrink:0;color:var(--accent);background:var(--accent-dim);border:1px solid var(--border-accent)}.abt2-card-num{font-family:var(--font-head);font-weight:var(--fw-7);font-size:var(--fs-22);color:var(--white);line-height:1.1}.abt2-card-label{font-size:var(--fs-12);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:var(--fs-10);background:var(--bg-card);border:1px solid var(--border-light);box-shadow:var(--sh1);padding:.7rem 1rem;font-size:var(--fs-12);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:var(--fs-14);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:var(--fs-12);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:var(--fs-12);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:var(--fs-12);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:var(--fs-12);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;font-size:var(--icon-size);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:var(--fs-12);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:var(--fs-12);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:var(--fs-12);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;font-size:var(--icon-size);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:var(--fs-14);font-weight:var(--fw-6);color:var(--white)}.custom-toggle-desc{font-size:var(--fs-12);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:var(--fs-10)}#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:var(--fs-42)}.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:var(--fs-22)}.sh-visual{height:560px}.sh-stage{width:500px;height:500px}.ch-hero-grid{gap:var(--fs-22)}.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:var(--fs-42)}}@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:var(--card-gap-lg)}#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:var(--card-gap-lg)}.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:var(--fs-22)}.faq-sidebar{position:static;display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--card-gap-lg);gap:var(--card-gap-lg)}.exp-hero-inner{grid-template-columns:1fr;gap:var(--card-gap-lg);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:var(--fs-42)}.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:var(--fs-42)}.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:var(--card-gap-lg)}#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:var(--fs-10)}.projects-hero-grid{grid-template-columns:1fr;gap:var(--gap)}.hero-visual{height:480px}.stats-row{grid-template-columns:repeat(2,auto);row-gap:var(--fs-22)}.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:var(--gap)}.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:var(--fs-42);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:var(--fs-42)}.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:var(--fs-10)}.trv-sort-wrap{margin-left:0;width:100%}.journey-inner{grid-template-columns:1fr;gap:var(--fs-42)}.beliefs-grid{grid-template-columns:repeat(2,1fr)}.edu-certs-grid{grid-template-columns:1fr;gap:var(--fs-42)}.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:var(--fs-12)}.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))}.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:var(--fs-14)}.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:var(--fs-8)}.logo-box{width:34px;height:34px;flex-shrink:0}.logo-box,.logo-name{font-size:var(--fs-14)}.logo-name{letter-spacing:.04em}.logo-role{font-size:var(--fs-8);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:var(--card-gap-lg)}#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}.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:var(--fs-22)}.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:var(--fs-22)}.section-header{flex-direction:column;align-items:flex-start}.hero-glow{opacity:.5}.si-swiper{overflow:hidden}.si-swiper-pagination{bottom:4px!important}.si-ticker-label{font-size:var(--fs-12)}.skills-section{padding:2rem 0}.filter-section{padding:1rem 0}.pg-grid{gap:var(--card-gap-md)}.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:var(--fs-22);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:var(--card-gap-md)}.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:var(--fs-12)}.sh-node-sub{font-size:var(--fs-10)}.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:var(--card-gap-md)}.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:var(--card-gap-sm)}.trv-sort-wrap .trv-select-wrap{width:100%}.trv-results-bar{flex-direction:column;align-items:flex-start;gap:var(--fs-14)}.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}.trv-footer,.trv-footer-badges{gap:var(--fs-22)}.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:var(--fs-10)}.abt2-card-icon{width:34px;height:34px}.abt2-card-icon svg{width:16px;height:16px}.abt2-card-num{font-size:var(--fs-14)}.abt2-card-label{font-size:var(--fs-10)}.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:var(--fs-12);padding:.55rem .8rem}.hv2-services-grid{grid-template-columns:1fr 1fr}.hv2-stats{gap:var(--fs-22)}.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:var(--fs-12);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:var(--fs-14)}}@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:var(--fs-10);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:var(--fs-14)}#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}.preloader-logo{font-size:var(--fs-42)}.preloader-bar{width:160px}.exp-hero-label,.hero-label,.skills-hero-label{font-size:var(--fs-10);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:var(--fs-22)}.hero-headline{font-size:var(--fs-42)}.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:var(--fs-8)}.contact-main-grid{gap:var(--fs-22)}#leaflet-map,.cmap-visual{min-height:220px}.testi-card{padding:1.5rem}.testi-card-text{font-size:var(--fs-14)}.pd2-tech-grid{grid-template-columns:repeat(2,1fr)}.cf-step{gap:var(--fs-10)}.cf-step-badge{min-width:32px;height:26px;font-size:var(--fs-10)}.cf-step-label{font-size:var(--fs-14)}.cf-pill{padding:.5rem .9rem;font-size:var(--fs-12)}.cf-submit-row{flex-direction:column;align-items:flex-start;gap:var(--fs-14)}.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:var(--card-gap-lg)}.trv-metrics{grid-template-columns:1fr 1fr;gap:var(--fs-10)}.trv-metric-card{padding:clamp(.75rem,3vw,1.1rem);gap:var(--fs-10)}.trv-metric-icon{width:34px;height:34px}.trv-metric-num{font-size:var(--fs-22)}.trv-metric-label{font-size:var(--fs-10);white-space:normal}.testi-card{padding:clamp(1.25rem,5vw,2rem)}.trv-service-tag{font-size:var(--fs-10);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:var(--fs-14);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:var(--fs-10)}.pd2-proj-nav-sub{font-size:var(--fs-8)}.pdh-meta-row{gap:var(--card-gap-lg)}.pd2-tl-node{display:flex;flex-direction:row;gap:var(--fs-14)}.pd2-tl-content{max-width:400px;text-align:left}.pd2-timeline-grid,.pdh-inner{grid-template-columns:1fr;gap:var(--fs-22)}.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:var(--fs-12)}#projects .ph-tag{font-size:var(--fs-8)}.back-top-progress{inset:-3px}.mobile-nav-list li a{gap:var(--card-gap-sm);padding-bottom:2px}.mobile-nav-list li.active:after,.nav-label{font-size:var(--fs-8);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:var(--fs-8)}.pf-dropdown-btn,.pf-more-filters{padding:.6rem .7rem;font-size:var(--fs-12)}.btn{padding:.65rem 1.25rem;font-size:var(--fs-12)}.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}.logo-box,.logo-name{font-size:var(--fs-14)}.logo-name{letter-spacing:.03em}.logo-role{display:none}.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:var(--fs-10)}.other-skills-grid{grid-template-columns:1fr}.pg-card{min-height:auto}.pg-thumb{height:160px}.pg-body{padding:1rem}.pg-name{font-size:var(--fs-14)}.preloader-logo{font-size:var(--fs-42)}.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:var(--fs-22)}.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:var(--fs-8)}.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:var(--fs-12)}}@media (max-width:375px){.about-hero-heading,.exp-hero-heading,.hero-headline{font-size:var(--fs-42)}.tools-grid{grid-template-columns:repeat(2,1fr)}.pf-dropdown-btn,.pf-more-filters{padding:.55rem .65rem;font-size:var(--fs-10)}.hero-btns{width:100%}.hero-btns .btn{font-size:var(--fs-12)}.logo-box{width:34px;height:34px}.logo-box,.logo-name{font-size:var(--fs-14)}.pa-panel{width:100vw}.logo-text{display:none}.nav-logo{gap:0;max-width:44px}.mobile-menu{gap:var(--card-gap-lg)}}@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:var(--fs-10);padding:.5rem;gap:var(--card-gap-sm)}.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}.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) + 5px);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:var(--fs-22);gap:var(--fs-22);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 .5rem;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 .exp-tl-content{display:flex;flex-direction:column}.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:var(--fs-14);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:var(--fs-14);letter-spacing:.02em;color:var(--white);line-height:1.25}.exp-work--hscroll .exp-tl-company{font-family:var(--font-mono);font-size:var(--fs-12);color:var(--accent);letter-spacing:.04em;margin-bottom:.65rem}.exp-work--hscroll .exp-tl-meta{display:flex;align-items:center;gap:var(--card-gap-sm);font-size:var(--fs-12);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);font-size:var(--fs-14)}.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:0;visibility:hidden;position:absolute;inset:0;pointer-events:none}.exp-work--hscroll.is-exp-switching .exp-role-stage{min-height:var(--exp-stage-h,auto)}.exp-work--hscroll .exp-role-company{padding:1rem;border-right:1px solid var(--border);background:var(--bg-2);display:flex;flex-direction:column;gap:var(--card-gap-sm)}.exp-work--hscroll .exp-role-company-name{font-family:var(--font-head);font-size:var(--fs-14);letter-spacing:.03em;color:var(--white)}.exp-work--hscroll .exp-role-company-loc{display:flex;align-items:center;gap:var(--card-gap-sm);font-size:var(--fs-12);color:var(--gray)}.exp-work--hscroll .exp-role-facts{display:flex;flex-direction:column;gap:var(--fs-10);margin-top:.85rem}.exp-work--hscroll .exp-role-facts li{display:flex;align-items:flex-start;gap:var(--fs-10);font-size:var(--fs-12);color:var(--gray-light);line-height:1.35}.exp-work--hscroll .exp-role-facts small{display:block;font-family:var(--font-mono);font-size:var(--fs-10);letter-spacing:.1em;text-transform:uppercase;color:var(--gray);margin-bottom:.12rem}.exp-work--hscroll .exp-role-fact-icon{width:30px;height:30px;font-size:var(--fs-14);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:1rem;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:var(--fs-14);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:var(--fs-10);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:var(--fs-12);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:var(--fs-14);color:var(--gray);line-height:1.75}.exp-work--hscroll .exp-role-kicker{display:flex;align-items:center;gap:var(--fs-8);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:var(--fs-8)}.exp-work--hscroll .exp-role-achievements ul{display:flex;flex-direction:column;gap:var(--fs-8)}.exp-work--hscroll .exp-role-achievements .exp-role-achievements-list li{position:relative;padding-left:1.35rem;font-size:var(--fs-14);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:1rem;display:flex;flex-direction:column;gap:var(--fs-22);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:var(--fs-8)}.exp-work--hscroll .exp-role-impact li{display:flex;flex-direction:column;gap:var(--card-gap-sm);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:var(--icon-size);color:var(--accent);line-height:1.1}.exp-work--hscroll .exp-role-impact span{font-size:var(--fs-12);color:var(--gray-light)}.exp-work--hscroll .exp-role-cases{margin-top:auto;display:inline-flex;align-items:center;gap:var(--card-gap-sm);font-family:var(--font-mono);font-size:var(--fs-10);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:var(--card-gap-lg);gap:var(--card-gap-lg);margin-top:.5rem}.exp-work--hscroll .exp-skill-item{display:flex;align-items:flex-start;gap:var(--fs-14);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;font-size:var(--icon-size);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:var(--fs-14);letter-spacing:.03em;color:var(--white);margin-bottom:.25rem}.exp-work--hscroll .exp-skill-item p{font-size:var(--fs-12);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:var(--card-gap-lg);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:var(--fs-22)}.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:var(--fs-14);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:var(--card-gap-md);padding:.5rem .25rem 1.35rem;touch-action:pan-x}.exp-work--hscroll .exp-tl-card{flex:0 0 min(260px,84vw);padding:.9rem;gap:var(--card-gap-md)}.exp-work--hscroll .exp-tl-num{width:2rem;height:2rem;padding:8px;font-size:var(--fs-12)}.exp-work--hscroll .exp-tl-role{font-size:var(--fs-14)}.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}.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:var(--card-gap-md)}.exp-work--hscroll .exp-role-aside{flex-direction:column;flex-wrap:nowrap;padding:1.25rem 1rem;gap:var(--card-gap-lg)}.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:var(--fs-14);line-height:1.7}.exp-work--hscroll .exp-role-achievements{flex-direction:column;gap:var(--card-gap-lg)}.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:var(--fs-8)}.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:var(--card-gap-md);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:var(--fs-12)}.exp-work--hscroll .exp-skill-icon{width:36px;height:36px}.exp-work--hscroll .exp-skill-item h4{font-size:var(--fs-14)}.exp-work--hscroll .exp-skill-item p{font-size:var(--fs-12)}}@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}}