:root{--bg:#fafaf8;--surface:#ffffff;--dark:#0d0d0d;--accent:#2563eb;--accent-2:#7c3aed;--accent-3:#059669;--coral:#f43f5e;--text:#1a1a1a;--text-muted:#6b7280;--font-sans:var(--font-geist),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:var(--font-geist-mono),"SF Mono",Consolas,monospace}*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.cases,.contact,.hero,.projects,.tech{scroll-margin-top:88px}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);line-height:1.7;overflow-x:hidden;min-height:100vh}::selection{background:var(--accent);color:#fff}a{color:inherit;text-decoration:none}button{font-family:var(--font-sans)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:4px}.site-wrapper{display:flex;flex-direction:column;min-height:100vh}.site-main{flex:1 1}.container{max-width:72rem;margin:0 auto;padding:0 1.5rem}.toaster{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(20px);background:var(--dark);color:#fff;padding:.65rem 1.25rem;border-radius:100px;font-size:.85rem;font-weight:500;z-index:10000;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;box-shadow:0 10px 30px rgba(0,0,0,.18)}.toaster-visible{opacity:1;transform:translateX(-50%) translateY(0)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes slideUp{0%{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}.anim-up{animation:slideUp .8s cubic-bezier(.16,1,.3,1) both}.anim-delay-1{animation-delay:.15s}.anim-delay-2{animation-delay:.3s}.anim-delay-3{animation-delay:.45s}.anim-delay-4{animation-delay:.6s}.scroll-anim{opacity:0;transform:translateY(50px);transition:all .7s cubic-bezier(.16,1,.3,1)}.scroll-anim.in-view{opacity:1;transform:translateY(0)}.site-nav{position:fixed;top:0;width:100%;z-index:100;padding:1.5rem 4rem;display:flex;justify-content:space-between;align-items:center;background:rgba(250,250,248,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,0,0,.05)}.site-nav .logo{font-weight:800;font-size:1.3rem;color:var(--dark);letter-spacing:-.02em}.site-nav .logo .dot{color:var(--accent);font-size:1.6rem}.site-nav ul{display:flex;gap:2.5rem;list-style:none}.site-nav ul a{font-size:.88rem;font-weight:500;color:var(--text-muted);transition:color .3s;position:relative}.site-nav ul a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--accent);transition:width .3s}.site-nav ul a:hover{color:var(--dark)}.site-nav ul a:hover:after{width:100%}.hire-btn{padding:.65rem 2rem;background:var(--dark);color:#fff;font-size:.85rem;font-weight:600;border-radius:100px;transition:all .3s;cursor:pointer;border:none;display:inline-flex;align-items:center}.hire-btn:hover{background:var(--accent);transform:translateY(-2px);box-shadow:0 8px 30px rgba(37,99,235,.25);color:#fff}.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:8rem 4rem 4rem;grid-gap:4rem;gap:4rem;position:relative;overflow:hidden}.hero:before{top:-20%;right:-10%;width:600px;height:600px;background:radial-gradient(circle,rgba(37,99,235,.08),transparent 70%)}.hero:after,.hero:before{content:"";position:absolute;border-radius:50%;pointer-events:none}.hero:after{bottom:-10%;left:-5%;width:400px;height:400px;background:radial-gradient(circle,rgba(124,58,237,.06),transparent 70%)}.hero-text{position:relative;z-index:1}.hero-badge{display:inline-flex;align-items:center;gap:.6rem;padding:.5rem 1.2rem;background:#fff;border-radius:100px;font-size:.8rem;font-weight:500;color:var(--accent);margin-bottom:2rem;box-shadow:0 2px 20px rgba(0,0,0,.06)}.hero-badge .pulse{width:8px;height:8px;border-radius:50%;background:var(--accent-3);animation:pulse 2s infinite}.hero h1{font-size:clamp(2.8rem,5.5vw,4.8rem);line-height:1.1;font-weight:800;margin-bottom:1.5rem;letter-spacing:-.025em;color:var(--dark)}.hero h1 .highlight{position:relative;display:inline-block}.hero h1 .highlight:after{content:"";position:absolute;bottom:.05em;left:-.05em;right:-.05em;height:.35em;background:rgba(37,99,235,.12);z-index:-1;border-radius:4px;transform:skewX(-3deg)}.hero p{font-size:1.15rem;color:var(--text-muted);max-width:560px;line-height:1.8;margin-bottom:2.5rem}.hero-inline-link{color:var(--dark);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:.15em;font-weight:600}.hero-inline-link:hover{color:var(--accent)}.hero-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.btn-primary{padding:.85rem 2.5rem;background:var(--accent);color:#fff;border-radius:100px;font-weight:600;font-size:.9rem;transition:all .3s;cursor:pointer;border:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary:hover{background:#1d4ed8;transform:translateY(-2px);box-shadow:0 8px 30px rgba(37,99,235,.3);color:#fff}.btn-outline{padding:.85rem 2.5rem;border:2px solid var(--dark);border-radius:100px;font-weight:600;font-size:.9rem;transition:all .3s;cursor:pointer;background:transparent;color:var(--dark);display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-outline:hover{background:var(--dark);color:#fff}.hero-visual{position:relative;display:flex;align-items:center;justify-content:center}.code-window{background:var(--dark);border-radius:16px;padding:0;width:100%;max-width:480px;box-shadow:0 25px 60px rgba(0,0,0,.15);overflow:hidden;animation:float 6s ease-in-out infinite}.code-window .topbar{padding:.8rem 1.2rem;display:flex;gap:.5rem;background:rgba(255,255,255,.05)}.code-window .topbar span{width:10px;height:10px;border-radius:50%}.code-window .topbar span:first-child{background:#ff5f56}.code-window .topbar span:nth-child(2){background:#ffbd2e}.code-window .topbar span:nth-child(3){background:#27c93f}.code-window pre{padding:1.5rem;font-family:var(--font-mono);font-size:.82rem;line-height:1.9;color:#e2e8f0;overflow:hidden}.code-window .kw{color:#7c3aed}.code-window .fn{color:#2563eb}.code-window .str{color:#059669}.code-window .cm{color:#6b7280}.code-window .num{color:#f43f5e}.float-badge{position:absolute;padding:.5rem .95rem;background:#fff;border-radius:100px;font-size:.78rem;font-weight:600;box-shadow:0 4px 20px rgba(0,0,0,.08);display:flex;align-items:center;gap:.45rem;animation:float 5s ease-in-out infinite;white-space:nowrap}.float-badge svg{flex-shrink:0}.float-badge.b1{top:10%;right:-10%;animation-delay:0s;color:var(--accent)}.float-badge.b2{bottom:20%;left:-8%;animation-delay:1.5s;color:var(--accent-2)}.float-badge.b3{top:50%;right:-15%;animation-delay:3s;color:var(--accent-3)}.section-header{text-align:center;margin-bottom:4rem}.cases .section-header,.contact>div,.projects .section-header,.tech .section-header{max-width:1100px;margin-left:auto;margin-right:auto}.cases .section-header,.projects .section-header,.tech .section-header{margin-bottom:4rem}.section-header .section-tag{display:inline-block;padding:.4rem 1rem;background:rgba(37,99,235,.15);color:var(--accent);border-radius:100px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem}.section-header h2{font-size:clamp(2rem,3.5vw,3rem);font-weight:700;letter-spacing:-.02em;line-height:1.2}.section-header p{margin-top:.8rem;font-size:1rem;color:var(--text-muted)}.tech{padding:6rem 4rem;background:radial-gradient(circle at top left,rgba(37,99,235,.08),transparent 34%),linear-gradient(180deg,#f8fafc,#eef4ff);color:var(--dark);position:relative;overflow:hidden}.tech:before{content:"";position:absolute;top:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(37,99,235,.18),transparent)}.tech .section-header p{color:var(--text-muted)}.tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:1.5rem;gap:1.5rem;max-width:1100px;margin:0 auto;align-items:stretch}.tech-card{padding:1.5rem;background:rgba(255,255,255,.88);border:1px solid rgba(15,23,42,.07);border-radius:20px;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;cursor:default;position:relative;overflow:hidden;min-height:220px;box-shadow:0 16px 38px rgba(15,23,42,.05)}.tech-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(37,99,235,.08),transparent 60%);opacity:0;transition:opacity .4s}.tech-card:hover{transform:translateY(-4px);border-color:rgba(37,99,235,.18);box-shadow:0 24px 48px rgba(15,23,42,.08)}.tech-card:hover:before{opacity:1}.tech-card .icon{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;position:relative;z-index:1}.tech-card h4{font-size:1.05rem;font-weight:700;margin-bottom:.6rem;color:var(--dark);line-height:1.3}.tech-card h4,.tech-card p{position:relative;z-index:1}.tech-card p{font-size:.88rem;color:var(--text-muted);line-height:1.75}.tech-card.t1 .icon{background:rgba(37,99,235,.15);color:var(--accent)}.tech-card.t2 .icon{background:rgba(124,58,237,.15);color:var(--accent-2)}.tech-card.t3 .icon{background:rgba(5,150,105,.15);color:var(--accent-3)}.tech-card.t4 .icon{background:rgba(244,63,94,.15);color:var(--coral)}.projects{padding:6rem 4rem}.projects .section-header .section-tag{background:rgba(37,99,235,.08);color:var(--accent)}.featured-list{list-style:none;padding:0;margin:2rem auto 0;max-width:1100px;display:flex;flex-direction:column;gap:1rem}.featured-row{position:relative;display:flex;align-items:center;gap:1.75rem;padding:1.6rem;border:1px solid rgba(0,0,0,.07);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(248,250,252,.9));box-shadow:0 14px 36px rgba(15,23,42,.04);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.featured-row:hover{transform:translateY(-3px);border-color:rgba(37,99,235,.16);box-shadow:0 20px 48px rgba(15,23,42,.08)}.featured-row-link-overlay{position:absolute;inset:0;z-index:1}.featured-row-text{flex:1 1;min-width:0}.featured-row-thumb{flex-shrink:0;width:260px;aspect-ratio:16/10;background-size:cover;background-position:50%;background-color:var(--surface);border:1px solid rgba(0,0,0,.06);border-radius:16px;box-shadow:0 10px 28px rgba(15,23,42,.08);position:relative;z-index:0;transition:transform .25s ease,box-shadow .25s ease}.featured-row:hover .featured-row-thumb{transform:translateY(-2px) scale(1.01);box-shadow:0 16px 34px rgba(15,23,42,.12)}.featured-row-thumb-placeholder{display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:800;font-family:var(--font-mono);color:rgba(0,0,0,.18);background:linear-gradient(135deg,rgba(0,0,0,.03),rgba(0,0,0,.06))}.featured-row-action{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.5rem;padding:.55rem .95rem;border-radius:999px;border:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.92);font-size:.82rem;font-weight:700;color:var(--dark);flex-shrink:0;transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease}.featured-row-view{pointer-events:none;color:var(--accent);border-color:rgba(37,99,235,.18);background:rgba(37,99,235,.08)}.featured-row-action.featured-row-live{color:var(--text-muted)}.featured-row-action:hover{transform:translateY(-1px)}.featured-row-action.featured-row-live:hover{color:var(--dark);border-color:rgba(15,23,42,.16);background:rgba(255,255,255,1)}@media (max-width:900px){.featured-row{flex-direction:column;align-items:stretch;gap:1rem}.featured-row-thumb{width:100%;aspect-ratio:16/9;order:2}.featured-row-text{order:1}}.featured-row-head{display:flex;align-items:baseline;gap:1.5rem;margin-bottom:.75rem}.featured-num{font-family:var(--font-mono);font-size:.8rem;font-weight:500;letter-spacing:.04em;color:rgba(0,0,0,.32);flex-shrink:0;width:1.6rem}.featured-row-title{flex:1 1;min-width:0}.featured-row-title h3{font-size:1.65rem;font-weight:800;letter-spacing:-.02em;line-height:1.2;color:var(--dark);margin:0}.featured-row-badge{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);flex-shrink:0}.featured-row-summary{margin:0 0 1rem 3.1rem;color:var(--text);font-size:.96rem;line-height:1.7;max-width:70ch}.featured-row-tags{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 1rem 3.1rem}.featured-row-tag{display:inline-flex;align-items:center;padding:.35rem .7rem;border-radius:999px;border:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.88);color:var(--text);font-size:.72rem;font-weight:600}.featured-row-tag-muted{color:var(--text-muted);background:transparent}.featured-row-foot{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-left:3.1rem}.featured-row-tech{display:inline-flex;align-items:center;gap:.75rem;font-size:.78rem;color:var(--text-muted);letter-spacing:.01em;flex:1 1;min-width:0}.featured-row-tech-label{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.featured-row-actions{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.65rem;flex-shrink:0}.featured-row-metric{display:inline-block;padding:.28rem .65rem;background:rgba(37,99,235,.1);color:var(--accent);border-radius:100px;font-size:.72rem;font-weight:700;letter-spacing:.01em;font-family:var(--font-sans);text-transform:lowercase}.featured-view-all{display:flex;justify-content:center;margin-top:3rem}.featured-view-all .btn-outline{display:inline-flex;align-items:center;gap:.6rem}.cases{padding:6rem 4rem;background:#f3f4f6}.cases .section-header .section-tag{background:rgba(37,99,235,.08);color:var(--accent)}.case-item{display:grid;grid-template-columns:1.2fr 1fr;grid-gap:4rem;gap:4rem;padding:4rem 0;border-bottom:1px solid rgba(0,0,0,.06);align-items:center}.case-item:last-child{border:none}.case-item.flip{direction:rtl}.case-item.flip>*{direction:ltr}.case-stack-panel{position:relative;background:var(--surface);border-radius:16px;padding:1.75rem 1.85rem;box-shadow:0 10px 30px rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.04);display:flex;flex-direction:column;gap:1.5rem;overflow:hidden}.case-stack-media{position:relative;width:calc(100% + 3.7rem);margin:-1.75rem -1.85rem 1.5rem;aspect-ratio:16/9;padding:1rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(37,99,235,.08),rgba(37,99,235,.02)),linear-gradient(135deg,rgba(15,23,42,.03),rgba(15,23,42,.06));border-radius:16px 16px 0 0;border-bottom:1px solid rgba(0,0,0,.06)}.case-stack-media-image{object-fit:contain;padding:1rem}.case-stack-section{display:flex;flex-direction:column;gap:.6rem}.case-stack-label{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.case-stack-tags{display:flex;flex-wrap:wrap;gap:.4rem}.case-stack-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem}.case-stack-list li{position:relative;padding-left:1.1rem;font-size:.88rem;line-height:1.55;color:var(--text)}.case-stack-list li:before{content:"";position:absolute;left:0;top:.65em;width:4px;height:4px;border-radius:50%;background:var(--accent)}.case-content .case-tag{display:inline-block;padding:.35rem 1rem;border-radius:100px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem}.case-tag.t-blue{background:rgba(37,99,235,.1);color:var(--accent)}.case-tag.t-green{background:rgba(5,150,105,.1);color:var(--accent-3)}.case-tag.t-purple{background:rgba(124,58,237,.1);color:var(--accent-2)}.case-content h3{font-size:1.6rem;font-weight:700;margin-bottom:.8rem;line-height:1.3;letter-spacing:-.01em;color:var(--dark)}.case-content p{color:var(--text-muted);font-size:.95rem;line-height:1.8;margin-bottom:1.5rem}.case-stats{display:flex;gap:2.5rem;flex-wrap:wrap}.case-stats .stat-val{font-size:2rem;font-weight:800;color:var(--dark);letter-spacing:-.03em;line-height:1}.case-stats .stat-desc{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem;font-weight:500}.contact{padding:6.5rem 4rem 4.5rem;text-align:center;position:relative}.contact h2{font-size:clamp(2.5rem,5vw,4rem);font-weight:800;margin-bottom:1.5rem;letter-spacing:-.025em;line-height:1.1;color:var(--dark)}.contact-lede,.contact>div>p{color:var(--text-muted);font-size:1.1rem;max-width:500px;margin:0 auto 3rem}.contact-grid{display:flex;justify-content:center;gap:1.5rem;margin-bottom:2.25rem;flex-wrap:wrap}.contact .contact-card{padding:2rem 2.5rem;background:var(--surface);border-radius:16px;border:1px solid rgba(0,0,0,.06);transition:all .3s;cursor:pointer;min-width:200px;text-align:center;box-shadow:0 12px 32px rgba(15,23,42,.04)}.contact .contact-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(15,23,42,.08);border-color:rgba(37,99,235,.16)}.contact .contact-card h4{font-weight:700;margin-bottom:.3rem;color:var(--dark);font-size:1rem}.contact .contact-card p{font-size:.85rem;color:var(--text-muted);margin:0}.contact-card-icon{width:40px;height:40px;border-radius:10px;background:rgba(37,99,235,.08);color:var(--accent);display:flex;align-items:center;justify-content:center;margin:0 auto .85rem}.site-footer{padding:2.4rem 4rem 3rem;display:grid;grid-template-columns:minmax(0,1.1fr) auto;align-items:start;border-top:1px solid rgba(0,0,0,.06);grid-gap:1.5rem 2.5rem;gap:1.5rem 2.5rem}.footer-copy{max-width:29rem}.footer-title{font-size:1rem;font-weight:700;color:var(--dark);margin-bottom:.45rem}.footer-lede{font-size:.9rem;line-height:1.7;color:var(--text);margin-bottom:.6rem}.footer-meta{font-size:.82rem;color:var(--text-muted)}.site-footer .footer-links{display:flex;justify-content:flex-end;align-items:flex-start;gap:1rem;flex-wrap:wrap;max-width:22rem}.site-footer .footer-links a{font-size:.82rem;color:var(--text-muted);transition:color .3s,border-color .3s,background .3s;font-weight:600;padding:.55rem .95rem;border:1px solid rgba(0,0,0,.08);border-radius:999px;background:rgba(0,0,0,.015)}.site-footer .footer-links a:hover{color:var(--accent);border-color:rgba(37,99,235,.22);background:rgba(37,99,235,.06)}.page-header{margin-bottom:3rem;text-align:left}.page-header h1{font-size:2.5rem;font-weight:800;letter-spacing:-.025em;margin-bottom:.5rem;color:var(--dark);text-align:left}.page-subtitle{font-size:1rem;color:var(--text-muted);text-align:left}.about-page,.contact-page,.work-detail-page{max-width:72rem;margin:0 auto;padding:8rem 1.5rem 4rem}.work-page{max-width:100%;margin:0;padding:8rem 1.5rem 4rem 2rem}.work-filters{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:.5rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(0,0,0,.06)}.work-filter{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1rem;background:var(--surface);border:1px solid rgba(0,0,0,.08);border-radius:100px;font-size:.85rem;font-weight:500;color:var(--text);cursor:pointer;transition:all .2s;font-family:inherit}.work-filter:hover{border-color:rgba(37,99,235,.3);color:var(--accent)}.work-filter.active{background:var(--dark);border-color:var(--dark);color:#fff}.work-filter-count{font-size:.7rem;font-weight:600;padding:.1rem .45rem;border-radius:100px;background:rgba(0,0,0,.06);color:var(--text-muted)}.work-filter.active .work-filter-count{background:rgba(255,255,255,.15);color:rgba(255,255,255,.9)}.work-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:1rem;gap:1rem}.work-card{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid rgba(0,0,0,.06);border-radius:12px;overflow:hidden;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;cursor:pointer;color:inherit;min-height:200px}.work-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.06);border-color:rgba(0,0,0,.1)}.work-card-media{display:block;width:100%;height:130px;position:relative;overflow:hidden;background:var(--bg)}.work-card-media-img{position:absolute;inset:0;background-size:cover;background-position:50%;transition:transform .4s ease}.work-card:hover .work-card-media-img{transform:scale(1.04)}.work-card-media-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:2.4rem;font-weight:800;letter-spacing:-.02em;text-transform:uppercase;font-family:var(--font-mono);opacity:.7}.work-card-body{padding:1.1rem 1.15rem 1.15rem;display:flex;flex-direction:column;flex:1 1;gap:.4rem}.work-card-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.15rem}.work-card-cat{font-size:.62rem;letter-spacing:.1em}.work-card-badge,.work-card-cat{font-weight:700;text-transform:uppercase}.work-card-badge{font-size:.6rem;letter-spacing:.08em;color:var(--text-muted);background:rgba(0,0,0,.04);padding:.22rem .55rem;border-radius:100px}.work-card-title{font-size:1.15rem;font-weight:700;margin:0;line-height:1.25;color:var(--dark);letter-spacing:-.01em}.work-card:hover .work-card-title{color:var(--accent)}.work-card-descriptor{font-size:.8rem;color:var(--text-muted);margin:0 0 .4rem}.work-card-summary{font-size:.84rem;color:var(--text);line-height:1.55;margin:0 0 .5rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-clamp:3;overflow:hidden}.work-card-metric{display:flex;flex-direction:column;gap:.18rem;margin-bottom:.4rem;padding:.65rem .75rem;border-radius:12px;background:rgba(37,99,235,.04);border:1px solid rgba(37,99,235,.08)}.work-card-metric-label{font-size:.63rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.work-card-metric-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem}.work-card-metric-val{color:var(--dark);font-weight:800;font-size:.98rem}.work-card-metric-key{color:var(--text);font-size:.8rem;text-transform:lowercase}.work-card-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:auto;padding-top:.5rem}.work-card .tag{font-size:.68rem;padding:.22rem .6rem}.tag-muted{background:transparent!important;color:var(--text-muted)!important;border-color:rgba(0,0,0,.08)!important}.tag{display:inline-flex;align-items:center;padding:.3rem .75rem;font-size:.72rem;font-weight:500;background:var(--bg);border:1px solid rgba(0,0,0,.06);border-radius:100px;color:var(--text);transition:all .2s ease}.work-card:hover .tag{border-color:rgba(37,99,235,.2)}.work-card-link{margin-top:.25rem;font-size:.78rem;font-weight:700;letter-spacing:.02em;color:var(--accent)}.back-link,.work-card-link{display:inline-flex;align-items:center}.back-link{gap:.5rem;font-size:.85rem;color:var(--text-muted);margin-bottom:2rem;font-weight:500}.back-link:hover{color:var(--dark)}.work-detail-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.88fr);grid-gap:2rem;gap:2rem;align-items:start}.work-detail-hero-copy{min-width:0}.work-detail-hero-side{display:flex;flex-direction:column;gap:1rem}.work-detail-kicker{display:inline-flex;align-items:center;padding:.4rem .8rem;margin-bottom:1rem;border-radius:999px;background:rgba(37,99,235,.08);color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.work-detail-header{margin-bottom:1.25rem}.work-detail-title{font-size:clamp(2.4rem,4vw,3.5rem);font-weight:800;margin:0;letter-spacing:-.035em;line-height:1.05;color:var(--dark)}.work-detail-meta{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.85rem;font-size:.76rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.work-detail-meta span{display:inline-flex;align-items:center;padding:.3rem .7rem;border-radius:999px;background:rgba(0,0,0,.035);border:1px solid rgba(0,0,0,.05)}.work-detail-description{font-size:1.18rem;line-height:1.75;margin-bottom:1.15rem;color:var(--text)}.work-metrics{background:var(--surface);border:1px solid rgba(0,0,0,.06);border-radius:20px;padding:1.5rem}.work-metrics-title{font-size:.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.11em;margin-bottom:1rem}.work-metrics-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.8rem;gap:.8rem;font-size:.9rem;color:var(--text)}.work-metrics-list li{display:flex;flex-direction:column;gap:.2rem;padding:.9rem 1rem;border-radius:14px;background:rgba(0,0,0,.018)}.work-metrics-list .metric-plus{color:var(--accent);font-weight:800;font-size:1.15rem}.work-tags{display:flex;flex-wrap:wrap;gap:.5rem}.work-detail-long{font-size:1rem;line-height:1.75;color:var(--text);margin-bottom:0;max-width:65ch}.work-detail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.25rem;margin-top:1.5rem}.work-detail-cta{margin:0}.work-detail-cta .btn-primary{display:inline-flex;align-items:center;gap:.5rem}.work-detail-proof{max-width:32rem;color:var(--text-muted);font-size:.92rem;line-height:1.7}.work-detail-media{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:20px;border:1px solid rgba(0,0,0,.06);background:linear-gradient(180deg,rgba(37,99,235,.08),rgba(37,99,235,.02)),linear-gradient(135deg,rgba(15,23,42,.03),rgba(15,23,42,.06));box-shadow:0 18px 45px rgba(15,23,42,.08)}.work-detail-media-image{object-fit:contain;padding:1rem}.work-detail-media-placeholder{display:flex;align-items:center;justify-content:center;padding:1.5rem}.work-detail-media-placeholder span{text-align:center;font-size:1.2rem;font-weight:700;color:var(--text-muted);max-width:14rem;line-height:1.4}.work-detail-sections{margin-top:2.75rem}.work-detail-section{margin-top:1.5rem;padding:1.5rem 1.6rem;border:1px solid rgba(0,0,0,.06);border-radius:18px;background:rgba(255,255,255,.72)}.work-detail-section-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin-bottom:1.1rem}.work-detail-bullets{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.65rem}.work-detail-bullets li{position:relative;padding-left:1.25rem;font-size:.96rem;line-height:1.65;color:var(--text)}.work-detail-bullets li:before{content:"";position:absolute;left:0;top:.7em;width:5px;height:5px;border-radius:50%;background:var(--accent)}.work-detail-repos{list-style:none;padding:0;margin:0;font-size:.82rem;display:flex;flex-direction:column;gap:.4rem}.work-detail-git,.work-detail-repos{font-family:var(--font-mono);color:var(--text-muted)}.work-detail-git{font-size:.78rem;padding-top:1.25rem;border-top:1px solid rgba(0,0,0,.06)}.skills-section,.work-detail-git{margin-top:2.5rem}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:1.5rem;gap:1.5rem}.skill-category-title{font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.75rem}.skill-tags{display:flex;flex-wrap:wrap;gap:.4rem}.contact-page .contact-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.contact-page .contact-card{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;background:var(--surface);border:1px solid rgba(0,0,0,.06);border-radius:12px;text-decoration:none;transition:all .3s;color:inherit}.contact-page .contact-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.06);border-color:rgba(37,99,235,.2)}.contact-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:rgba(37,99,235,.08);border-radius:10px;flex-shrink:0;color:var(--accent)}.contact-icon svg{width:18px;height:18px}.contact-label{font-size:.7rem;color:var(--text-muted);margin-bottom:.125rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.contact-value{color:var(--dark);font-size:.9rem;font-weight:500}.prose{max-width:65ch;color:var(--text)}.prose h2{margin-top:2.5rem;margin-bottom:1rem;font-size:1.5rem;letter-spacing:-.01em}.prose h2,.prose h3{font-weight:700;color:var(--dark)}.prose h3{margin-top:2rem;margin-bottom:.75rem;font-size:1.2rem}.prose p{margin-bottom:1.25rem;color:var(--text);line-height:1.8}.prose ol,.prose ul{margin-bottom:1.25rem;padding-left:0;list-style:none}.prose ul li{position:relative;padding-left:1.5rem;margin-bottom:.5rem;color:var(--text);line-height:1.7}.prose ul li:before{content:"→";position:absolute;left:0;color:var(--accent);font-weight:600}.prose ol{counter-reset:item}.prose ol li{position:relative;padding-left:1.75rem;margin-bottom:.5rem;color:var(--text)}.prose ol li:before{content:counter(item) ".";counter-increment:item;position:absolute;left:0;color:var(--accent);font-weight:600}.prose strong{color:var(--dark);font-weight:700}.prose code{font-family:var(--font-mono);font-size:.9em;padding:.15em .35em;background:rgba(37,99,235,.08);color:var(--accent);border-radius:4px}@media (max-width:900px){.site-nav{padding:1rem 1.5rem}.site-nav ul{display:none}.hero{grid-template-columns:1fr;padding:6rem 1.5rem 3rem;text-align:center;gap:2rem}.hero p{margin:0 auto 2rem}.hero-actions{justify-content:center}.hero-visual{display:none}.cases,.contact,.projects,.tech{padding:4rem 1.5rem}.tech-grid{grid-template-columns:1fr 1fr;gap:1rem}.featured-row{padding:1.6rem 1.25rem}.featured-row-foot,.featured-row-summary{margin-left:0}.featured-row-head{column-gap:.85rem;row-gap:.35rem;flex-wrap:wrap}.featured-num{order:1;width:auto}.featured-row-title{order:2;flex:1 1 auto;min-width:0}.featured-row-badge{order:3;flex:1 0 100%;font-size:.6rem;letter-spacing:.1em}.featured-row-title h3{font-size:1.3rem;word-break:break-word}.featured-row-foot{flex-direction:column;align-items:flex-start;gap:.75rem}.featured-row-tags{margin-left:0}.featured-row-text{padding-inline:.1rem}.featured-row-actions{justify-content:flex-start}.case-item{grid-template-columns:1fr;gap:2rem;padding:3rem 0}.case-item.flip{direction:ltr}.site-footer{padding:2rem 1.5rem;grid-template-columns:1fr;gap:1.25rem}.site-footer .footer-links{justify-content:flex-start;max-width:none}.contact-grid{flex-direction:column;align-items:center}.work-metrics-list{grid-template-columns:1fr}.work-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.about-page,.contact-page,.work-detail-page,.work-page{padding:6rem 1.25rem 3rem}.work-detail-hero{grid-template-columns:1fr}.page-header h1{font-size:2rem}}@media (max-width:600px){.tech-grid{grid-template-columns:1fr}.case-stats{gap:1.5rem}.work-grid{grid-template-columns:1fr;gap:.85rem}.work-filters{gap:.4rem}.work-filter{padding:.45rem .8rem;font-size:.78rem}.featured-list{margin-top:1rem}.featured-row{padding:1.35rem 1rem;border-radius:18px}.featured-row-foot,.featured-row-head,.featured-row-summary,.featured-row-tags{padding-inline:.1rem}.featured-row-head{margin-bottom:.9rem}.featured-row-title h3{font-size:1.15rem}.featured-row-summary{font-size:.9rem;line-height:1.65}.featured-row-badge{font-size:.55rem}.featured-row-tech{font-size:.72rem}.featured-row-tags{gap:.35rem;margin-bottom:.85rem}.featured-row-action{width:100%}.featured-row-actions{width:100%;gap:.55rem}.page-header h1,.work-detail-title{font-size:1.75rem}.work-detail-description{font-size:1rem}.work-detail-section{padding:1.2rem 1.1rem}.work-detail-actions{align-items:flex-start}.cases,.contact,.container,.hero,.projects,.tech{padding-left:1rem;padding-right:1rem}.hero h1{font-size:2rem;line-height:1.15}.hero p{font-size:.95rem}.work-card-title{font-size:1.05rem}}