:root{--bg:#0a0e1a;--bg-2:#070a12;--panel:#0f1524;--text:#e8edf7;--muted:#8b96ad;--muted-2:#a9b3c7;--line:#7896c81f;--accent:#22d3ee;--accent-2:#67e8f9;--accent-soft:#22d3ee24;--grad:linear-gradient(135deg, #06b6d4 0%, #22d3ee 50%, #67e8f9 100%);--radius:14px;--maxw:1360px;--font:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:78px}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}.site-header{z-index:50;border-bottom:1px solid #0000;transition:background .3s,border-color .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s;position:fixed;inset:0 0 auto}.site-header.is-scrolled{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-color:var(--line);background:#0a0e1ab8}.header-inner{max-width:var(--maxw);justify-content:space-between;align-items:center;gap:24px;margin:0 auto;padding:22px 40px;display:flex}.logo{align-items:center;gap:11px;display:inline-flex}.logo-badge{background:var(--grad);color:#061021;letter-spacing:-.02em;border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;font-family:SFMono-Regular,ui-monospace,monospace;font-size:1.18rem;font-weight:800;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 6px 18px -6px #22d3ee8c}.logo:hover .logo-badge{transform:translateY(-2px);box-shadow:0 10px 24px -6px #22d3eeb3}.logo-word{letter-spacing:-.02em;color:var(--text);font-size:1.24rem;font-weight:700}.nav{align-items:center;gap:48px;display:flex}.nav a{color:var(--muted-2);font-size:.98rem;font-weight:450;transition:color .2s;position:relative}.nav a:after{content:"";background:var(--grad);border-radius:2px;width:0;height:2px;transition:width .25s;position:absolute;bottom:-6px;left:0}.nav a:hover{color:var(--text)}.nav a:hover:after{width:100%}.nav a.active{color:var(--text)}.nav a.active:after{width:100%}.nav-toggle{cursor:pointer;background:0 0;border:0;flex-direction:column;gap:5px;padding:6px;display:none}.nav-toggle span{background:var(--text);border-radius:2px;width:24px;height:2px;transition:transform .25s,opacity .25s}.hero{background:radial-gradient(1000px 700px at 74% 40%, #1258781a, transparent 62%), linear-gradient(135deg, var(--bg-2) 0%, var(--bg) 100%);align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero-inner{z-index:2;max-width:var(--maxw);grid-template-columns:1.05fr .95fr;align-items:center;gap:40px;width:100%;margin:0 auto;padding:120px 40px 80px;display:grid;position:relative}.hero-name{letter-spacing:-.03em;background:var(--grad);color:#0000;filter:drop-shadow(0 4px 30px #22d3ee40);-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(2.6rem,5.4vw,4.2rem);font-weight:800;line-height:1.02}.hero-title{color:var(--muted-2);letter-spacing:-.01em;margin:18px 0 0;font-size:clamp(1.15rem,2.2vw,1.6rem);font-weight:400}.hero-tagline{max-width:560px;color:var(--muted);margin:26px 0 0;font-size:1.05rem;line-height:1.7}.hero-actions{flex-wrap:wrap;gap:16px;margin-top:38px;display:flex}.btn{cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:15px 28px;font-size:1rem;font-weight:600;transition:transform .2s,box-shadow .25s,background .25s,border-color .25s;display:inline-flex}.btn-primary{background:var(--grad);color:#061021;box-shadow:0 10px 30px -10px #22d3ee99}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 40px -12px #22d3eebf}.btn-ghost{color:var(--text);background:#0c112099;border:1px solid #22d3ee66}.btn-ghost:hover{color:var(--accent);border-color:#22d3ee66;transform:translateY(-3px)}.hero-social{gap:20px;margin-top:34px;display:flex}.hero-social a{color:var(--muted);transition:color .2s,transform .2s;display:inline-flex}.hero-social a:hover{color:var(--accent);transform:translateY(-3px)}.hero-bg{z-index:1;pointer-events:none;position:absolute;inset:0}.hero-grid{background-image:linear-gradient(#78a0dc0d 1px,#0000 1px),linear-gradient(90deg,#78a0dc0d 1px,#0000 1px);background-size:52px 52px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(135% 125% at 50% 42%,#000 62%,#0000 100%);mask-image:radial-gradient(135% 125% at 50% 42%,#000 62%,#0000 100%)}.hero-glow{filter:blur(12px);background:radial-gradient(circle,#22d3ee0d,#0000 64%);width:48%;height:80%;position:absolute;top:-6%;right:-8%}.float-square{border:1px solid #78a0dc24;border-radius:5px;animation:18s ease-in-out infinite drift;position:absolute}.sq-1{width:96px;height:96px;top:25%;left:24%;rotate:12deg}.sq-2{opacity:.75;width:58px;height:58px;animation-delay:-5s;top:52%;left:61%;rotate:-8deg}.sq-3{width:44px;height:44px;animation-delay:-9s;top:67%;left:33%;rotate:14deg}.sq-4{opacity:.7;width:76px;height:76px;animation-delay:-13s;bottom:14%;right:21%;rotate:-10deg}.sq-5{opacity:.6;width:52px;height:52px;animation-delay:-3s;bottom:24%;left:8%;rotate:8deg}@keyframes drift{0%,to{translate:0}50%{translate:0 -14px}}.scroll-cue{z-index:2;color:var(--muted);animation:2s ease-in-out infinite bob;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.scroll-cue:hover{color:var(--accent)}@keyframes bob{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(8px)}}.section{background:radial-gradient(900px 600px at 15% 0%, #1258782e, transparent 60%), linear-gradient(135deg, var(--bg-2) 0%, var(--bg) 100%);padding:110px 0;position:relative}.section-inner{max-width:var(--maxw);margin:0 auto;padding:0 40px}.section-heading{text-align:center;margin-bottom:56px}.section-title{letter-spacing:-.03em;max-width:20ch;color:var(--text);margin:0 auto;font-size:clamp(2.2rem,4.6vw,3.4rem);font-weight:800;line-height:1.08}.section-sub{max-width:760px;color:var(--muted);margin:18px auto 0;font-size:1.12rem;line-height:1.7}.section.about{padding:92px 0}.about .section-heading{margin-bottom:22px}.about-edu-wrap{justify-content:center;margin-bottom:48px;display:flex}.about-edu{border:1px solid var(--line);background:linear-gradient(135deg,#0c1120b3,#121a2eb3);border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:11px;padding:7px 16px 7px 8px;display:inline-flex}.about-edu-icon{color:#061021;background:var(--grad);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex;box-shadow:0 4px 12px -6px #22d3ee80}.about-edu-degree{color:var(--text);font-size:.9rem;font-weight:700}.about-edu-inst{color:var(--muted-2);font-size:.88rem}.about-edu-dot{color:var(--muted)}.about-edu-detail{color:var(--accent);font-size:.86rem;font-weight:600}.about-cols{grid-template-columns:1fr 1fr;align-items:stretch;gap:56px;display:grid}.about-subhead{letter-spacing:-.02em;color:var(--text);margin:0 0 22px;font-size:1.4rem;font-weight:700}.about-journey p{color:var(--muted-2);margin:0 0 18px;font-size:1.04rem;line-height:1.75}.about-work{max-width:90%;margin-left:auto}.work-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.focus-card{padding:26px}.focus-head{align-items:center;gap:13px;margin-bottom:16px;display:flex}.focus-icon{color:#061021;background:var(--grad);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex;box-shadow:0 6px 16px -6px #22d3ee8c}.focus-title{letter-spacing:-.01em;color:var(--text);margin:0;font-size:1.08rem;font-weight:700}.focus-desc{color:var(--muted);margin:0;font-size:.88rem;line-height:1.65}.about-stats{grid-template-columns:repeat(auto-fit,minmax(170px,220px));justify-content:center;gap:18px;margin-top:60px;display:grid}.stat-card{text-align:center;padding:28px 22px}.stat-value{letter-spacing:-.02em;background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(1.9rem,2.8vw,2.4rem);font-weight:800}.stat-label{color:var(--muted);margin-top:6px;font-size:.88rem;line-height:1.4}.skills-grid{grid-template-columns:repeat(3,1fr);align-items:start;gap:20px;display:grid}.skill-card,.stat-card,.exp-card,.proj-card,.focus-card,.writing-card,.contact-card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,#0c112099,#121a2e99);transition:transform .25s,border-color .25s,box-shadow .25s;position:relative;overflow:hidden}.skill-card:before,.stat-card:before,.exp-card:before,.proj-card:before,.focus-card:before,.writing-card:before,.contact-card:before{content:"";background:var(--grad);opacity:0;height:2px;transition:opacity .25s;position:absolute;inset:0 0 auto}.skill-card:hover,.stat-card:hover,.exp-card:hover,.proj-card:hover,.focus-card:hover,.writing-card:hover,.contact-card:hover{border-color:#22d3ee59;transform:translateY(-6px);box-shadow:0 24px 60px -30px #22d3ee59}.skill-card:hover:before,.stat-card:hover:before,.exp-card:hover:before,.proj-card:hover:before,.focus-card:hover:before,.writing-card:hover:before,.contact-card:hover:before{opacity:1}.skill-card{align-self:start;padding:24px 24px 20px}.skill-head{border-bottom:1px solid var(--line);align-items:center;gap:13px;margin-bottom:14px;padding-bottom:16px;display:flex}.skill-icon{color:#061021;background:var(--grad);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex;box-shadow:0 5px 14px -6px #22d3ee80}.skill-title{letter-spacing:-.01em;color:var(--text);margin:0;font-size:1.1rem;font-weight:700}.skill-rows{grid-template-columns:minmax(0,1fr);gap:5px;margin:0;padding:0;list-style:none;display:grid}.skill-row{border-radius:10px;align-items:center;gap:12px;padding:7px 8px;transition:background .2s;display:flex}.skill-row:hover{background:#7896c80f}.skill-avatar{width:34px;height:34px;color:var(--accent);background:#22d3ee1a;border:1px solid #22d3ee38;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.skill-avatar svg{opacity:.85}.skill-meta{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.skill-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.94rem;font-weight:600;line-height:1.3;overflow:hidden}.skill-desc{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.skill-badge{white-space:nowrap;min-width:112px;color:var(--muted-2);border:1px solid var(--line);background:#7896c814;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:4px;padding:3px 8px;font-size:.68rem;font-weight:600;display:inline-flex}.skill-badge svg{opacity:.75}.skill-badge.is-hi{color:var(--accent);background:#22d3ee1f;border-color:#22d3ee59}.skill-badge.is-hi svg{opacity:1}.exp-list{gap:20px;display:grid}.exp-card{grid-template-columns:auto 1fr;gap:24px;padding:30px;display:grid}.exp-icon{color:#061021;background:var(--grad);border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:inline-flex;box-shadow:0 5px 14px -6px #22d3ee80}.exp-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.exp-role{letter-spacing:-.01em;color:var(--text);flex-wrap:wrap;align-items:center;gap:12px;margin:0;font-size:1.25rem;font-weight:700;display:flex}.exp-badge{letter-spacing:.05em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border:1px solid #22d3ee4d;border-radius:999px;padding:3px 9px;font-size:.68rem;font-weight:700}.exp-org{color:var(--accent-2);margin:5px 0 0;font-size:1rem;font-weight:500}.exp-meta{text-align:right;flex-direction:column;gap:3px;display:flex}.exp-period{color:var(--muted-2);font-size:.92rem;font-weight:500}.exp-loc{color:var(--muted);font-size:.84rem}.exp-summary{color:var(--muted-2);margin:18px 0 0;font-size:1.02rem;line-height:1.7}.exp-points{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.exp-points li{color:var(--muted);padding-left:22px;font-size:.96rem;line-height:1.6;position:relative}.exp-points li:before{content:"";background:var(--grad);border-radius:2px;width:6px;height:6px;position:absolute;top:9px;left:3px}.exp-tags{flex-wrap:wrap;gap:8px;margin:20px 0 0;padding:0;list-style:none;display:flex}.exp-tags li{color:var(--muted-2);border:1px solid var(--line);background:#7896c814;border-radius:999px;padding:5px 11px;font-size:.8rem}.proj-grid{grid-template-columns:repeat(2,1fr);gap:22px;display:grid}.proj-card{flex-direction:column;padding:30px;display:flex}.proj-card.is-featured{border-color:#22d3ee38}.proj-head{align-items:center;gap:12px;margin-bottom:20px;display:flex}.proj-icon{color:#061021;background:var(--grad);border-radius:13px;justify-content:center;align-items:center;width:50px;height:50px;display:inline-flex;box-shadow:0 5px 14px -6px #22d3ee80}.proj-flag{letter-spacing:.05em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border:1px solid #22d3ee4d;border-radius:999px;padding:3px 9px;font-size:.68rem;font-weight:700}.proj-repo{color:var(--muted);margin-left:auto;transition:color .2s,transform .2s;display:inline-flex}.proj-repo:hover{color:var(--accent);transform:translateY(-2px)}.proj-title{letter-spacing:-.02em;color:var(--text);margin:0;font-size:1.4rem;font-weight:800}.proj-kicker{color:var(--accent-2);margin:5px 0 0;font-size:.92rem;font-weight:500}.proj-desc{color:var(--muted-2);margin:16px 0 0;font-size:.98rem;line-height:1.65}.proj-points{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.proj-points li{color:var(--muted);padding-left:22px;font-size:.92rem;line-height:1.6;position:relative}.proj-points li:before{content:"";background:var(--grad);border-radius:2px;width:6px;height:6px;position:absolute;top:9px;left:3px}.proj-stack{flex-wrap:wrap;gap:8px;margin:auto 0 18px;padding:20px 0 0;list-style:none;display:flex}.proj-stack li{color:var(--muted-2);border:1px solid var(--line);background:#7896c814;border-radius:6px;padding:4px 10px;font-family:SFMono-Regular,ui-monospace,monospace;font-size:.78rem}.proj-link{border-top:1px solid var(--line);color:var(--accent);align-items:center;gap:7px;padding-top:20px;font-size:.92rem;font-weight:600;transition:gap .2s;display:inline-flex}.proj-link:hover{gap:12px}.writing-grid{grid-template-columns:repeat(2,1fr);gap:22px;display:grid}.writing-card{flex-direction:column;padding:22px;display:flex}.writing-cover{aspect-ratio:40/21;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#0c1120,#141c2e);margin:-22px -22px 18px;overflow:hidden}.writing-cover img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.writing-card:hover .writing-cover img{transform:scale(1.04)}.writing-foot{margin-top:auto}.writing-title{letter-spacing:-.02em;color:var(--text);margin:0;font-size:1.2rem;font-weight:800}.writing-desc{color:var(--muted-2);margin:10px 0 0;font-size:.95rem;line-height:1.6}.writing-topics{flex-wrap:wrap;gap:8px;margin:16px 0 0;padding:0;list-style:none;display:flex}.writing-topics li{color:var(--muted-2);border:1px solid var(--line);background:#7896c814;border-radius:999px;padding:5px 11px;font-size:.78rem}.writing-link{border-top:1px solid var(--line);color:var(--accent);align-items:center;gap:7px;margin-top:18px;padding-top:18px;font-size:.92rem;font-weight:600;transition:gap .2s;display:flex}.writing-card:hover .writing-link{gap:12px}.writing-all-wrap{text-align:center;margin-top:30px}@media (width>=1024px){.section.writing{padding-top:72px;padding-bottom:72px}.section.writing .section-heading{margin-bottom:38px}}.writing-all{color:var(--text);border:1px solid var(--line);background:#0c112099;border-radius:12px;align-items:center;gap:9px;padding:12px 22px;font-size:.96rem;font-weight:600;transition:transform .2s,border-color .2s,color .2s;display:inline-flex}.writing-all:hover{color:var(--accent);border-color:#22d3ee66;transform:translateY(-3px)}.contact-head{text-align:center;margin-bottom:56px}.contact-title{letter-spacing:-.03em;color:var(--text);margin:0;font-size:clamp(2.4rem,5vw,3.6rem);font-weight:800}.grad-text{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.contact-sub{max-width:620px;color:var(--muted);margin:18px auto 0;font-size:1.12rem;line-height:1.7}.contact-cols{grid-template-columns:1.05fr .95fr;align-items:start;gap:26px;display:grid}.contact-card{padding:32px}.card-title{letter-spacing:-.01em;color:var(--text);margin:0 0 24px;font-size:1.5rem;font-weight:700}.contact-side{gap:26px;display:grid}.info-list,.follow-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.info-row,.follow-row{border-radius:12px;align-items:center;gap:16px;transition:transform .2s;display:flex}.follow-row{border:1px solid var(--line);background:#080c1680;padding:14px;transition:transform .2s,border-color .2s}a.info-row:hover,.follow-row:hover{transform:translate(4px)}.follow-row:hover{border-color:#22d3ee66}.ci-icon{color:#061021;background:var(--grad);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex;box-shadow:0 5px 14px -6px #22d3ee80}.ci-text{flex-direction:column;gap:3px;min-width:0;display:flex}.ci-label{color:var(--muted);font-size:.82rem}.ci-label.lower{font-size:.86rem}.ci-value{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:1.02rem;font-weight:600;overflow:hidden}.contact-form{align-content:start;gap:20px;display:grid}.field-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field{gap:8px;display:grid}.field label span{color:var(--accent)}.field label{color:var(--text);font-size:.92rem;font-weight:500}.field input,.field textarea{border:1px solid var(--line);width:100%;color:var(--text);resize:vertical;background:#080c16b3;border-radius:10px;padding:13px 15px;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.field input::placeholder,.field textarea::placeholder{color:var(--muted)}.field input:focus,.field textarea:focus{border-color:#22d3ee80;outline:none;box-shadow:0 0 0 3px #22d3ee1f}.contact-submit{justify-content:center;width:100%}.footer{border-top:1px solid var(--line);background:radial-gradient(800px 400px at 85% 0%, #12587824, transparent 60%), linear-gradient(135deg, var(--bg-2) 0%, var(--bg) 100%)}.footer-inner{padding-top:72px;padding-bottom:34px}.footer-grid{grid-template-columns:1.6fr 1fr 1fr;gap:48px;padding-bottom:44px;display:grid}.footer-logo .logo-badge{width:38px;height:38px;font-size:1.3rem}.footer-logo .logo-word{font-size:1.4rem}.footer-blurb{max-width:420px;color:var(--muted);margin:20px 0 0;font-size:.98rem;line-height:1.7}.footer-social{gap:12px;margin-top:24px;display:flex}.footer-social a{width:42px;height:42px;color:var(--muted);border:1px solid var(--line);background:#0f1524b3;border-radius:11px;justify-content:center;align-items:center;transition:color .2s,border-color .2s,transform .2s;display:inline-flex}.footer-social a:hover{color:var(--accent);border-color:#22d3ee66;transform:translateY(-3px)}.footer-col h4{color:var(--text);margin:0 0 20px;font-size:1.05rem;font-weight:700}.footer-col ul{gap:13px;margin:0;padding:0;list-style:none;display:grid}.footer-col ul a{color:var(--muted);font-size:.98rem;transition:color .2s}.footer-col ul a:hover{color:var(--accent)}.footer-cta{color:var(--muted);margin:0 0 6px;font-size:.98rem}.footer-email{color:var(--accent);font-weight:500;transition:color .2s}.footer-email:hover{color:var(--accent-2)}.footer-loc{color:var(--muted);margin:14px 0 0;font-size:.98rem}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:26px;font-size:.9rem;display:flex}.footer-bottom span{align-items:center;gap:6px;display:inline-flex}.footer-heart{color:#f4607a}.reveal{opacity:0;transition:opacity .6s cubic-bezier(.22,.61,.36,1),translate .6s cubic-bezier(.22,.61,.36,1);translate:0 22px}.reveal.is-visible{opacity:1;translate:0}.reveal-stagger>*{opacity:0;transition:opacity .55s cubic-bezier(.22,.61,.36,1),translate .55s cubic-bezier(.22,.61,.36,1),transform .25s,border-color .25s,box-shadow .25s;translate:0 20px}.reveal-stagger.is-visible>*{opacity:1;translate:0}.reveal-stagger.is-visible>:first-child{transition-delay:50ms}.reveal-stagger.is-visible>:nth-child(2){transition-delay:.12s}.reveal-stagger.is-visible>:nth-child(3){transition-delay:.19s}.reveal-stagger.is-visible>:nth-child(4){transition-delay:.26s}.reveal-stagger.is-visible>:nth-child(5){transition-delay:.33s}.reveal-stagger.is-visible>:nth-child(6){transition-delay:.4s}.reveal-stagger.is-visible>:nth-child(7){transition-delay:.47s}.reveal-stagger.is-visible>:nth-child(8){transition-delay:.54s}@media (prefers-reduced-motion:reduce){.reveal,.reveal-stagger>*{opacity:1!important;transition:none!important;translate:none!important}}@media (width<=900px){.header-inner{padding:18px 22px}.nav{border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:0;pointer-events:none;background:#0c1120f5;border-radius:16px;flex-direction:column;align-items:flex-start;gap:18px;padding:22px 24px;transition:opacity .22s,transform .22s;position:fixed;inset:68px 14px auto;transform:translateY(-12px)}.nav.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-toggle{display:flex}.hero-inner{text-align:center;grid-template-columns:1fr;gap:48px;padding:130px 22px 90px}.hero-tagline{margin-left:auto;margin-right:auto}.hero-actions,.hero-social{justify-content:center}}@media (width<=1024px){.skills-grid{grid-template-columns:repeat(2,1fr)}.proj-grid,.writing-grid{grid-template-columns:1fr}}@media (width<=900px){.section{padding:84px 0}.section-inner{padding:0 22px}.about-cols{grid-template-columns:1fr;gap:44px}.about-work{max-width:none;margin-left:0}.exp-card{grid-template-columns:1fr;gap:18px;padding:24px}.exp-meta{text-align:left}.exp-top{flex-direction:column;gap:8px}.contact-cols{grid-template-columns:1fr;gap:22px}.footer-grid{grid-template-columns:1fr 1fr;gap:36px 24px}.footer-brand{grid-column:1/-1}.footer-bottom{text-align:center;flex-direction:column;gap:10px}}@media (width<=480px){.hero-actions{flex-direction:column}.btn{justify-content:center;width:100%}.about-stats{grid-template-columns:1fr 1fr}.skills-grid,.work-grid{grid-template-columns:1fr}.exp-card,.proj-card{padding:22px}.field-row{grid-template-columns:1fr}.contact-card{padding:24px}.footer-grid{grid-template-columns:1fr;gap:32px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto;animation:none!important}}.hero-right{justify-content:center;align-items:center;display:flex}.term-card{text-align:left;border:1px solid var(--line);background:linear-gradient(135deg,#0a0e18f5,#0e1422f5);border-radius:14px;width:clamp(320px,38vw,500px);font-family:SFMono-Regular,ui-monospace,monospace;overflow:hidden;box-shadow:0 30px 80px -30px #000c,0 0 0 1px #22d3ee1f}.term-bar{border-bottom:1px solid var(--line);background:#ffffff08;align-items:center;gap:7px;padding:11px 14px;display:flex}.term-dot{background:#3a4256;border-radius:50%;width:11px;height:11px}.term-dot:first-child{background:#ff5f57}.term-dot:nth-child(2){background:#febc2e}.term-dot:nth-child(3){background:#28c840}.term-title{color:var(--muted);margin-left:8px;font-size:.78rem}.term-body{min-height:216px;padding:16px 18px;font-size:.7rem;line-height:1.75;overflow-x:auto}.term-row{white-space:pre}.tc-cmd{color:var(--text)}.tc-prompt{color:var(--accent)}.tc-punc{color:var(--muted)}.tc-line{color:#a9b3c7}.tc-ok{color:#34d399}.term-cursor{background:var(--accent);vertical-align:-2px;width:8px;height:1.05em;margin-left:2px;animation:1s step-end infinite tw-blink;display:inline-block}@keyframes tw-blink{50%{opacity:0}}.case-study-page{min-height:100vh;padding-top:78px}.case-study-hero{padding:48px 40px 20px}.case-study-eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin:0 0 14px;font-size:.78rem;font-weight:700}.case-study-hero h1{letter-spacing:-.02em;max-width:1120px;color:var(--text);margin:0 0 18px;font-size:clamp(2.2rem,5vw,3.4rem);line-height:1.05}.case-study-subtitle{max-width:1120px;color:var(--muted);margin:0 0 26px;font-size:1.06rem;line-height:1.7}.case-study-actions{flex-wrap:wrap;gap:14px;display:flex}.case-study-body{padding:8px 40px 96px}.case-study-article{max-width:1120px;color:var(--text);margin:0 auto}.case-study-article>*+*{margin-top:20px}.case-study-article h1,.case-study-article h2,.case-study-article h3,.case-study-article h4{letter-spacing:-.01em;color:var(--text);scroll-margin-top:100px}.case-study-article h2{margin-top:44px;margin-bottom:12px;font-size:1.8rem;line-height:1.2}.case-study-article hr+h2{margin-top:28px}.case-study-article h3{margin-top:32px;margin-bottom:10px;font-size:1.28rem;line-height:1.3}.case-study-article h4{margin-bottom:8px;font-size:1.04rem}.case-study-article p,.case-study-article li{color:var(--muted);font-size:1rem;line-height:1.78}.case-study-article a{color:var(--accent);font-weight:600}.case-study-article a:hover{color:var(--accent-2)}.case-study-article strong{color:var(--text);font-weight:700}.case-study-article em{color:var(--muted-2)}.case-study-article code{border:1px solid var(--line);color:var(--accent);background:#22d3ee14;border-radius:6px;padding:.1em .36em;font-family:SFMono-Regular,ui-monospace,monospace;font-size:.9em}.case-study-article blockquote{border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 12px 12px 0;margin:24px 0;padding:18px 22px}.case-study-article blockquote p{color:var(--text);margin:0;font-size:1.04rem}.case-study-article ul,.case-study-article ol{margin:16px 0 0;padding-left:24px}.case-study-article li+li{margin-top:7px}.case-study-article hr{border:0;border-top:1px solid var(--line);margin:52px 0 0}.case-study-article .case-study-stack{grid-template-columns:max-content minmax(0,1fr);align-items:start;column-gap:10px;display:grid}.case-study-stack-label{min-height:26px;color:var(--text);align-items:center;font-size:.94rem;font-weight:700;line-height:1;display:inline-flex}.case-study-article .case-study-stack-list{flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;display:flex}.case-study-article .case-study-stack-list li{white-space:nowrap;height:26px;color:var(--muted-2);border:1px solid var(--line);background:#7896c814;border-radius:6px;justify-content:center;align-items:center;margin:0;padding:0 10px;font-family:SFMono-Regular,ui-monospace,monospace;font-size:.78rem;line-height:1;display:inline-flex}.case-study-code{border:1px solid var(--line);color:var(--muted-2);background:#0408128c;border-radius:14px;margin:20px 0;padding:16px 18px;font-family:SFMono-Regular,ui-monospace,monospace;font-size:.86rem;line-height:1.6;overflow-x:auto}.case-study-code code{color:inherit;font-size:inherit;white-space:pre;background:0 0;border:0;padding:0;display:block}.case-study-table-wrap{border:1px solid var(--line);background:#ffffff05;border-radius:14px;overflow-x:auto}.case-study-article table{border-collapse:collapse;width:100%;min-width:640px}.case-study-article th,.case-study-article td{border-bottom:1px solid var(--line);color:var(--muted);text-align:left;vertical-align:top;padding:12px 15px;font-size:.92rem;line-height:1.55}.case-study-article th{color:var(--text);text-transform:uppercase;letter-spacing:.04em;background:#ffffff0a;font-size:.78rem}.case-study-article tr:last-child td{border-bottom:0}.case-study-placeholder{background:var(--accent-soft);border:1px dashed #22d3ee66;border-radius:14px;margin:22px 0 48px;padding:22px}.case-study-placeholder div{min-height:150px;color:var(--accent);letter-spacing:.04em;place-items:center;font-weight:800;display:grid}.case-study-placeholder figcaption{max-width:min(760px,82%);color:var(--muted);text-align:center;margin:12px auto 0;font-size:.9rem;line-height:1.5}.case-study-media{width:100%;margin:28px 0 52px}.case-study-media-frame{background:#040812b8;border:1px solid #22d3ee29;border-radius:14px;overflow:hidden;box-shadow:0 24px 70px -50px #22d3ee73}.case-study-media img,.case-study-media video{width:100%;height:auto;display:block}.case-study-media video{background:#050914}.case-study-media figcaption{max-width:min(760px,82%);color:var(--muted);text-align:center;margin:13px auto 0;font-size:.9rem;line-height:1.55}.case-study-media figcaption strong{color:var(--text)}.case-study-architecture{background:linear-gradient(135deg,#22d3ee12,#121a2e80);border:1px solid #22d3ee3d;border-radius:18px;margin:24px 0;padding:20px;display:grid}.architecture-step{display:grid}.architecture-node{border:1px solid var(--line);background:#ffffff0a;border-radius:14px;grid-template-columns:48px minmax(0,1fr);align-items:start;gap:16px;padding:18px;display:grid}.architecture-index{color:#061021;background:var(--grad);border-radius:12px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.architecture-copy h3{color:var(--text);margin:0 0 8px;font-size:1.14rem}.architecture-copy p{margin:0 0 12px;line-height:1.6}.architecture-tags{flex-wrap:wrap;gap:8px;display:flex}.architecture-tags span{border:1px solid var(--line);color:var(--muted);background:#ffffff0d;border-radius:999px;padding:5px 10px;font-size:.8rem;font-weight:600}.architecture-connector{background:linear-gradient(to bottom, var(--accent), var(--line));width:2px;height:22px;margin-left:42px}@media (width<=600px){.architecture-node{grid-template-columns:1fr;gap:12px}.architecture-connector{margin-left:20px}}
