.preloader{z-index:10000;pointer-events:none;display:flex;position:fixed;inset:0}.preloader-panel{background:var(--bg);width:50%;height:100%;transition:transform 1.3s cubic-bezier(.85,0,.15,1);position:relative;overflow:hidden;transform:translate(0)}.preloader-panel:after{content:"";opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.preloader-panel-left{border-right:1px solid var(--border-s)}.preloader-panel-right{border-left:1px solid var(--border-s)}.preloader.open .preloader-panel-left{transform:translate(-100%)}.preloader.open .preloader-panel-right{transform:translate(100%)}.preloader-center{z-index:10001;text-align:center;transition:opacity .45s,filter .45s;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.preloader.open .preloader-center{opacity:0;filter:blur(8px)}.preloader-mark{font-family:var(--serif);color:var(--cream);letter-spacing:.02em;opacity:0;filter:blur(6px);animation:preloader-mark-in .9s var(--ease-out) forwards .15s;font-size:52px;font-style:italic}.preloader-progress-row{opacity:0;justify-content:center;align-items:center;gap:12px;margin-top:22px;animation:.6s .5s forwards preloader-fade-in;display:flex}.preloader-track{background:var(--border-s);width:140px;height:1px;position:relative;overflow:hidden}.preloader-fill{background:var(--accent);height:100%;transition:width .12s linear;position:absolute;top:0;left:0}.preloader-num{font-family:var(--mono);color:var(--dim);letter-spacing:.05em;text-align:left;min-width:34px;font-size:12px}@keyframes preloader-mark-in{0%{opacity:0;filter:blur(6px);transform:translateY(6px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes preloader-fade-in{to{opacity:1}}@media (prefers-reduced-motion:reduce){.preloader{transition:opacity .4s}.preloader.open{opacity:0}.preloader-panel{transition:none}.preloader.open .preloader-panel-left,.preloader.open .preloader-panel-right{transform:translate(0)}.preloader-mark,.preloader-progress-row{opacity:1;filter:none;animation:none;transform:none}.preloader.open .preloader-center{filter:none}}.cursor{background:var(--cream);pointer-events:none;z-index:9999;width:8px;height:8px;transition:transform .18s var(--ease-spring),opacity .2s;border-radius:50%;position:fixed;transform:translate(-50%,-50%)}.cursor-ring{pointer-events:none;z-index:9998;width:38px;height:38px;transition:transform 70ms linear,width .25s var(--ease-out),height .25s var(--ease-out),opacity .25s;border:1px solid #f5f1ea4d;border-radius:50%;position:fixed;transform:translate(-50%,-50%)}.cursor.hover{opacity:.5;transform:translate(-50%,-50%)scale(2.5)}.cursor-ring.hover{opacity:0;width:20px;height:20px}#progress-bar{background:var(--cream);z-index:9997;opacity:.6;width:0%;height:1px;transition:width 80ms linear;position:fixed;top:0;left:0}.grain-overlay{z-index:1;pointer-events:none;opacity:.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px 200px;position:fixed;inset:0}.side-nav{z-index:100;flex-direction:column;display:flex;position:fixed;top:50%;right:1.4rem;transform:translateY(-50%)}.side-dot{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:24px;height:24px;padding:0;display:flex;position:relative}.side-dot:after{content:"";background:var(--dim);border-radius:50%;width:5px;height:5px;transition:all .25s}.side-dot:focus-visible{outline-offset:2px}.side-dot:before{content:attr(data-label);font-family:var(--mono);color:var(--dim);white-space:nowrap;opacity:0;letter-spacing:.1em;text-transform:uppercase;font-size:.58rem;transition:opacity .18s;position:absolute;top:50%;right:1.6rem;transform:translateY(-50%)}.side-dot:hover:before,.side-dot.active:before{opacity:1}.side-dot.active:after{background:var(--accent);width:7px;height:7px}.side-dot:hover:not(.active):after{background:var(--muted)}.ticker-wrap{background:var(--bg-2);border-bottom:1px solid var(--border);padding:.42rem 0;overflow:hidden}.ticker-track{white-space:nowrap;animation:34s linear infinite ticker;display:inline-flex}.ticker-track span{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--dim);padding:0 3rem;font-size:.67rem}.ticker-track span:before{content:"·";opacity:.5;margin-right:1.2rem}nav#main-nav{z-index:200;-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--border);background:#0f0e0cd9;padding:.95rem 4rem;position:sticky;top:0}.nav-inner{transform-origin:0;transition:transform .3s var(--ease-out);justify-content:space-between;align-items:center;display:flex}nav#main-nav.scrolled .nav-inner{transform:scale(.94)}.nav-logo{font-family:var(--serif);color:var(--cream);letter-spacing:-.02em;font-size:1.32rem;text-decoration:none;transition:opacity .2s}.nav-logo:hover{opacity:.65}.nav-links{gap:2.5rem;list-style:none;display:flex}.nav-links a{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-bottom:3px;font-size:.72rem;text-decoration:none;transition:color .2s;position:relative}.nav-links a:after{content:"";background:var(--cream);width:0;height:1px;transition:width .3s var(--ease-out),background .2s;position:absolute;bottom:0;left:0}.nav-links a:hover{color:var(--cream)}.nav-links a:hover:after{width:100%}.nav-links a.active{color:var(--cream)}.nav-links a.active:after{background:var(--accent);width:100%}footer{background:var(--bg-2);border-top:1px solid var(--border);color:var(--dim);font-size:.72rem;font-family:var(--mono);letter-spacing:.07em;justify-content:space-between;align-items:center;padding:2rem 6rem;display:flex}.footer-status{align-items:center;gap:.55rem;display:flex}.status-dot{background:#3d9960;border-radius:50%;width:6px;height:6px;animation:2.5s ease-in-out infinite pulse-dot}#hero{grid-template-columns:1fr 1fr;min-height:calc(100vh - 35px);display:grid}.hero-left{flex-direction:column;justify-content:center;padding:7rem 5rem 7rem 6rem;display:flex;position:relative}.hero-eyebrow{font-family:var(--mono);color:var(--muted);letter-spacing:.22em;text-transform:uppercase;opacity:0;animation:fade-up .8s .1s var(--ease-out) forwards;align-items:center;gap:.9rem;margin-bottom:2.2rem;font-size:.68rem;display:flex}.hero-eyebrow:before{content:"";background:var(--muted);flex-shrink:0;width:28px;height:1px;display:block}.hero-name{font-family:var(--serif);letter-spacing:-.035em;opacity:0;animation:fade-up .9s .2s var(--ease-out) forwards;color:var(--cream);margin-bottom:2.2rem;font-size:clamp(4.5rem,7vw,6rem);line-height:.9}.hero-name em{color:var(--text);font-style:italic}.hero-bio{color:var(--muted);opacity:0;max-width:460px;animation:fade-up .9s .35s var(--ease-out) forwards;margin-bottom:3rem;font-size:1.02rem;line-height:1.95}.hero-ctas{opacity:0;animation:fade-up .9s .5s var(--ease-out) forwards;flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.btn-primary{background:var(--accent);color:var(--accent-ink);letter-spacing:.06em;transition:background .2s var(--ease-spring),box-shadow .2s var(--ease-spring),opacity .2s var(--ease-spring);align-items:center;gap:.6rem;padding:.9rem 2rem;font-size:.8rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn-primary:hover{background:var(--accent-2);opacity:.95;box-shadow:0 8px 32px #c15f3c40}.btn-primary span{z-index:1;position:relative}.btn-ghost{border:1px solid var(--border-s);color:var(--muted);letter-spacing:.06em;transition:all .2s var(--ease-spring);align-items:center;gap:.6rem;padding:.9rem 1.8rem;font-size:.8rem;font-weight:500;text-decoration:none;display:inline-flex}.btn-ghost:hover{color:var(--cream);border-color:#f5f1ea59;transform:translateY(-2px)}.hero-right{border-left:1px solid var(--border);background:#110f0cb3;flex-direction:column;justify-content:center;padding:4.5rem;display:flex;position:relative;overflow:hidden}.hero-right:before{content:"";pointer-events:none;background-image:radial-gradient(#f5f1ea09 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0}.hero-bg-text{font-family:var(--serif);color:#f5f1ea06;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:22vw;font-style:italic;line-height:1;position:absolute;bottom:-2.5rem;right:-1rem}.hero-terminal{z-index:2;background:var(--bg);border:1px solid var(--border-s);border-radius:8px;margin-bottom:1.8rem;position:relative;overflow:hidden;box-shadow:0 24px 64px #0009}.terminal-bar{background:var(--bg-card);border-bottom:1px solid var(--border);align-items:center;gap:7px;padding:10px 16px;display:flex}.terminal-dot{border-radius:50%;width:11px;height:11px}.terminal-dot.r{background:#ff5f57}.terminal-dot.y{background:#febc2e}.terminal-dot.g{background:#28c840}.terminal-title{font-family:var(--mono);color:var(--dim);letter-spacing:.08em;margin-left:8px;font-size:.68rem}.terminal-body{font-family:var(--mono);padding:1.25rem 1.5rem;font-size:.74rem;line-height:2.1}.tline{opacity:0;align-items:baseline;gap:.5rem;animation:.35s forwards tappear;display:flex;transform:translateY(5px)}.tline:first-child{animation-delay:.4s}.tline:nth-child(2){animation-delay:1.1s}.tline:nth-child(3){animation-delay:1.8s}.tline:nth-child(4){animation-delay:2.5s}.tline:nth-child(5){animation-delay:3.2s}.tline:nth-child(6){animation-delay:3.9s}.tline:nth-child(7){animation-delay:4.6s}.tline:nth-child(8){animation-delay:5.3s}.tline:nth-child(9){animation-delay:5.9s}.tline:nth-child(10){animation-delay:6.4s}.t-prompt{color:#f5f1ea80;flex-shrink:0}.t-cmd{color:#f5f1ead9}.t-flag{color:#f5f1ea73}.t-ok{color:#f5f1eab3}.t-warn{color:#febc2e}.t-dim{color:#f5f1ea38}.t-path{color:#f5f1ea8c}.t-cursor{vertical-align:middle;opacity:0;background:#f5f1eab3;width:7px;height:13px;animation:1.1s step-end 7s infinite blink;display:inline-block}.hero-badges{z-index:2;flex-wrap:wrap;gap:.45rem;margin-bottom:1.5rem;display:flex;position:relative}.orbit-badge{border:1px solid var(--border);font-family:var(--mono);color:var(--dim);letter-spacing:.05em;opacity:0;animation:badge-in .45s var(--ease-spring) forwards;background:#f5f1ea05;border-radius:100px;align-items:center;gap:.4rem;padding:.35rem .85rem;font-size:.66rem;transition:all .2s;display:flex}.orbit-badge:hover{border-color:var(--border-s);color:var(--muted)}.orbit-badge:first-child{animation-delay:7s}.orbit-badge:nth-child(2){animation-delay:7.2s}.orbit-badge:nth-child(3){animation-delay:7.4s}.orbit-badge:nth-child(4){animation-delay:7.6s}.orbit-badge:nth-child(5){animation-delay:7.8s}.orbit-badge:nth-child(6){animation-delay:8s}.orbit-badge:nth-child(7){animation-delay:8.2s}.badge-dot{background:var(--dim);border-radius:50%;flex-shrink:0;width:5px;height:5px}.hero-stats{z-index:2;border:1px solid var(--border);border-radius:4px;display:flex;position:relative;overflow:hidden}.hero-stat-cell{border-right:1px solid var(--border);opacity:0;animation:tappear .5s var(--ease-out) forwards;flex:1;padding:1.1rem 1.5rem;transition:background .25s}.hero-stat-cell:last-child{border-right:none}.hero-stat-cell:hover{background:var(--bg-hover)}.hero-stat-cell:first-child{animation-delay:8.5s}.hero-stat-cell:nth-child(2){animation-delay:8.7s}.hero-stat-cell:nth-child(3){animation-delay:8.9s}.stat-num{font-family:var(--serif);color:var(--cream);font-size:2rem;font-style:italic;line-height:1;display:block}.stat-lbl{font-family:var(--mono);color:var(--dim);letter-spacing:.14em;text-transform:uppercase;margin-top:.25rem;font-size:.6rem;display:block}.hero-scroll{letter-spacing:.12em;text-transform:uppercase;color:var(--dim);align-items:center;gap:1rem;font-size:.68rem;display:flex;position:absolute;bottom:3rem;left:6rem}.hero-scroll-line{background:var(--dim);width:36px;height:1px;animation:2.5s ease-in-out infinite scrollpulse}body.is-preloading .hero-eyebrow,body.is-preloading .hero-name,body.is-preloading .hero-bio,body.is-preloading .hero-ctas,body.is-preloading .tline,body.is-preloading .t-cursor,body.is-preloading .orbit-badge,body.is-preloading .hero-stat-cell{animation-play-state:paused}#about{background:var(--bg-2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;align-items:start;gap:7rem;display:grid}.about-text p{color:var(--muted);margin-bottom:1.6rem;font-size:1rem;line-height:1.95}.about-links{flex-wrap:wrap;gap:.65rem;margin-top:2.5rem;display:flex}.about-link{border:1px solid var(--border);color:var(--muted);letter-spacing:.04em;align-items:center;gap:.45rem;padding:.5rem 1rem;font-size:.78rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.about-link:hover{background:var(--cream);color:var(--accent-ink);border-color:var(--cream);transform:translateY(-1px)}.about-skills{min-width:0}.skills-category-label{font-family:var(--mono);color:var(--dim);letter-spacing:.22em;text-transform:uppercase;align-items:center;gap:.75rem;margin-top:2.5rem;margin-bottom:.9rem;font-size:.65rem;display:flex}.skills-category-label:first-child{margin-top:0}.skills-category-label:after{content:"";background:var(--border);flex:1;height:1px}.skill-grid{flex-wrap:wrap;gap:.4rem;display:flex}.skill-tag{color:var(--dim);border:1px solid var(--border);font-size:.76rem;font-family:var(--mono);cursor:default;background:0 0;padding:.3rem .85rem;transition:background .2s,color .2s,border-color .2s}.skill-tag:hover{background:var(--bg-hover);color:var(--text);border-color:var(--border-s)}#education{background:var(--bg)}.edu-card{border:1px solid var(--border);transition:border-color .3s var(--ease-out),background .3s var(--ease-out);background:0 0;grid-template-columns:auto 1fr;gap:4rem;margin-bottom:2rem;padding:4.25rem;display:grid;position:relative;overflow:hidden}.edu-card:last-child{margin-bottom:0}.edu-card:hover{border-color:var(--border-s);background:var(--bg-card)}.edu-card:before{content:"";background:var(--cream);opacity:.12;width:2px;position:absolute;top:0;bottom:0;left:0}.edu-year{font-family:var(--mono);color:var(--dim);letter-spacing:.1em;writing-mode:vertical-rl;text-orientation:mixed;font-size:.7rem;transform:rotate(180deg)}.edu-body h3{font-family:var(--serif);letter-spacing:-.025em;color:var(--cream);margin-bottom:.4rem;font-size:2rem}.edu-degree{color:var(--muted);margin-bottom:.75rem;font-size:.98rem}.edu-gpa{font-family:var(--mono);background:var(--bg-card);color:var(--muted);letter-spacing:.07em;border:1px solid var(--border);margin-bottom:1.75rem;padding:.25rem .8rem;font-size:.7rem;display:inline-block}.edu-courses{font-family:var(--mono);color:var(--dim);letter-spacing:.18em;text-transform:uppercase;margin-bottom:.85rem;font-size:.65rem}.course-list{flex-wrap:wrap;gap:.45rem;display:flex}.course-pill{border:1px solid var(--border);color:var(--dim);padding:.28rem .8rem;font-size:.76rem;transition:border-color .2s,color .2s}.course-pill:hover{border-color:var(--border-s);color:var(--muted)}#certifications{background:var(--bg-2)}.cert-grid{background:var(--border);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.cert-card{background:var(--bg-2);transition:background .3s var(--ease-out),box-shadow .3s var(--ease-out);color:inherit;padding:3.5rem;text-decoration:none;display:block;position:relative;overflow:hidden}.cert-card:before{content:"";background:var(--cream);opacity:0;width:2px;transition:opacity .3s;position:absolute;top:0;bottom:0;left:0}.cert-card:hover{background:var(--bg-hover);box-shadow:0 16px 40px #00000059}.cert-card:hover:before{opacity:.2}.cert-card:hover .cert-arrow{opacity:1;transform:translate(0)}.cert-arrow{color:var(--muted);opacity:0;transition:all .25s var(--ease-out);font-size:1rem;position:absolute;top:2.5rem;right:2.5rem;transform:translate(-4px,4px)}.cert-status{font-family:var(--mono);color:var(--accent);letter-spacing:.16em;text-transform:uppercase;border:1px solid #c15f3c59;border-radius:100px;margin-bottom:1.5rem;padding:.25rem .65rem;font-size:.64rem;display:inline-block}.cert-status.in-progress{color:var(--dim);border-color:var(--border)}.cert-card h3{font-family:var(--serif);letter-spacing:-.022em;color:var(--cream);margin-bottom:1rem;font-size:1.45rem;line-height:1.25}.cert-issuer{color:var(--dim);margin-bottom:1.25rem;font-size:.88rem}.cert-date{font-family:var(--mono);color:var(--dim);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem}#experience{background:var(--bg)}.exp-entry{border-bottom:1px solid var(--border);grid-template-columns:240px 1fr;gap:4rem;padding:3.5rem 0;display:grid}.exp-entry:first-of-type{border-top:1px solid var(--border)}.exp-meta{padding-top:.25rem}.exp-period{font-family:var(--mono);color:var(--dim);letter-spacing:.09em;margin-bottom:.6rem;font-size:.7rem;display:block}.exp-company{color:var(--muted);margin-bottom:.85rem;font-size:.9rem;display:block}.exp-type{font-family:var(--mono);color:var(--dim);letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--border);padding:.2rem .6rem;font-size:.62rem;display:inline-block}.exp-body h3{font-family:var(--serif);color:var(--cream);letter-spacing:-.022em;margin-bottom:1.5rem;font-size:1.7rem;line-height:1.1}.exp-timeline{padding-left:1.5rem;position:relative}.exp-timeline:before{content:"";background:var(--border-s);width:1px;position:absolute;top:1.3rem;bottom:1.3rem;left:0}.exp-timeline-fill{background:var(--accent);transform-origin:top;width:1px;position:absolute;top:1.3rem;bottom:1.3rem;left:0}.exp-achievements{list-style:none}.exp-achievement{color:var(--muted);padding:.65rem 0;font-size:.9rem;line-height:1.75;position:relative}.exp-node{background:var(--bg);border:1px solid var(--accent);box-sizing:border-box;border-radius:50%;width:7px;height:7px;margin-top:-3px;margin-left:-3px;position:absolute;top:1.3rem;left:-1.5rem}.exp-text{text-align:left;display:block}.exp-highlight{font-weight:500;color:var(--text)!important}#projects{background:var(--bg-2)}.gallery-pin{position:relative}.gallery-track{background:var(--border);grid-template-columns:1fr;gap:1px;display:grid}.gallery-pin.gallery-active{align-items:center;height:100vh;display:flex;overflow:clip}.gallery-pin.gallery-active .gallery-track{background:0 0;grid-template-columns:none;width:max-content;display:flex}.gallery-pin.gallery-active .project-card{flex-shrink:0;width:min(440px,80vw)}.project-card{background:var(--bg-2);color:inherit;transition:background .3s var(--ease-out),box-shadow .3s var(--ease-out);padding:2.75rem;text-decoration:none;display:block;position:relative;overflow:hidden}.project-card:after{content:"";background:var(--cream);transform-origin:0;height:1px;transition:transform .35s var(--ease-out);opacity:.3;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.project-card:hover{background:var(--bg-hover);box-shadow:0 16px 40px #00000059}.project-card:hover:after{transform:scaleX(1)}.project-card:hover .project-arrow{opacity:1;transform:translate(0)}.project-num{font-family:var(--mono);color:var(--dim);letter-spacing:.16em;margin-bottom:2rem;font-size:.66rem}.project-tech{flex-wrap:wrap;gap:.35rem;margin-bottom:1.5rem;display:flex}.project-tech span{font-family:var(--mono);background:var(--bg-card);color:var(--dim);letter-spacing:.06em;border:1px solid var(--border);padding:.18rem .6rem;font-size:.62rem}.project-title{font-family:var(--serif);letter-spacing:-.022em;color:var(--cream);margin-bottom:.9rem;font-size:1.45rem;line-height:1.25}.project-desc{color:var(--muted);margin-bottom:1.5rem;font-size:.86rem;line-height:1.85}.project-period{font-family:var(--mono);color:var(--dim);letter-spacing:.1em;font-size:.66rem}.project-arrow{opacity:0;transition:all .25s var(--ease-out);color:var(--muted);font-size:1rem;position:absolute;top:2.75rem;right:2.75rem;transform:translate(-4px,4px)}.contact-form{flex-direction:column;gap:1.25rem;margin-top:.5rem;display:flex}.contact-form input,.contact-form textarea{border:none;border-bottom:1px solid var(--border);color:var(--text);font-family:var(--sans);resize:vertical;background:0 0;padding:.75rem 0;font-size:.92rem;transition:border-color .2s}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--dim)}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--border-s);outline:none}.contact-form button{cursor:pointer;font-family:var(--sans);border:none;align-self:flex-start;margin-top:.5rem}#contact{grid-template-columns:1fr 1fr;gap:0;min-height:60vh;padding:0;display:grid}.contact-left{background:var(--bg-2);border-right:1px solid var(--border);flex-direction:column;justify-content:center;padding:8rem 6rem;display:flex;position:relative;overflow:hidden}.contact-dotgrid{pointer-events:none;background-image:radial-gradient(#f5f1ea09 1px,#0000 1px);background-size:28px 28px;height:130%;position:absolute;top:-15%;left:0;right:0}.contact-left .section-number{color:var(--dim)}.contact-tagline{color:var(--muted);z-index:1;max-width:380px;margin-bottom:3rem;font-size:1rem;line-height:1.95;position:relative}.contact-email{font-family:var(--serif);color:var(--cream);overflow-wrap:anywhere;z-index:1;border-bottom:1px solid #f5f1ea26;padding-bottom:.5rem;font-size:1.32rem;text-decoration:none;transition:all .2s;display:inline-block;position:relative}.contact-email:hover{opacity:.6}.contact-right{background:var(--bg);flex-direction:column;justify-content:center;padding:8rem 6rem;display:flex}.contact-detail{flex-direction:column;gap:2.5rem;display:flex}.contact-item{border-bottom:1px solid var(--border);padding-bottom:2rem}.contact-item-label{font-family:var(--mono);color:var(--dim);letter-spacing:.22em;text-transform:uppercase;margin-bottom:.5rem;font-size:.62rem}.contact-item-value{color:var(--muted);overflow-wrap:anywhere;font-size:.98rem;text-decoration:none;transition:color .2s;display:block}a.contact-item-value:hover{color:var(--cream)}:root{--bg:#0f0e0c;--bg-2:#17140f;--bg-card:#f5f1ea09;--bg-hover:#f5f1ea0f;--border:#f5f1ea14;--border-s:#f5f1ea24;--text:#e4ddd0;--muted:#9a9184;--dim:#8e887f;--cream:#f5f1ea;--accent:#c15f3c;--accent-2:#d9784f;--accent-ink:#120d0a;--olive:#3a3a32;--serif:"Instrument Serif", Georgia, serif;--sans:"DM Sans", system-ui, sans-serif;--mono:"DM Mono", "Fira Mono", monospace;--ease-out:cubic-bezier(.16,1,.3,1);--ease-spring:cubic-bezier(.34,1.56,.64,1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}html,body{overflow-x:hidden}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.btn-primary:focus-visible,.btn-ghost:focus-visible{outline-offset:4px}body{font-family:var(--sans);background:var(--bg);color:var(--text);cursor:none;-webkit-font-smoothing:antialiased;background-image:radial-gradient(#f5f1ea0d 1px,#0000 1px);background-size:28px 28px;line-height:1.7}section{padding:10rem 7rem}.section-header{align-items:center;gap:1.75rem;margin-bottom:6.5rem;display:flex}.section-number{font-family:var(--mono);color:var(--dim);letter-spacing:.22em;text-transform:uppercase;flex-shrink:0;font-size:.67rem}.section-line{background:var(--border);flex:1;max-width:72px;height:1px}.section-title{font-family:var(--serif);letter-spacing:-.03em;color:var(--cream);font-size:clamp(2.5rem,4.5vw,4rem);line-height:1}.section-title em{color:var(--text);font-style:italic}@keyframes fade-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes tappear{to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,to{opacity:.7}50%{opacity:0}}@keyframes badge-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes scrollpulse{0%,to{opacity:.5;width:36px}50%{opacity:.2;width:14px}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (width<=1200px){nav#main-nav{padding:1.1rem 2.5rem}.hero-left{padding:6rem 3rem 6rem 4rem}.hero-right{padding:3.5rem}section{padding:8rem 4rem}#about{gap:4rem;padding:8rem 4rem}.cert-grid{grid-template-columns:repeat(2,1fr)}.contact-left,.contact-right{padding:6rem 3.5rem}.side-nav{display:none}}@media (width<=900px){nav#main-nav{padding:1.2rem 2rem}.nav-inner{align-items:flex-start}.nav-links{flex-wrap:wrap;gap:.85rem 1.5rem}#hero{grid-template-columns:1fr;min-height:auto}.hero-right{justify-content:flex-start;min-height:45vh}section,#about{padding:5.5rem 2rem}#about,#contact{grid-template-columns:1fr}.exp-entry{grid-template-columns:1fr;gap:1.25rem}.cert-grid{grid-template-columns:1fr}.contact-left,.contact-right{padding:5.5rem 2rem}footer{text-align:center;flex-direction:column;gap:.75rem;padding:1.75rem 2rem}.edu-card{grid-template-columns:1fr;gap:2rem}.edu-year{writing-mode:horizontal-tb;transform:none}}@media (width<=640px){body{cursor:auto;background-size:20px 20px}.cursor,.cursor-ring{display:none}nav#main-nav{-webkit-backdrop-filter:none;backdrop-filter:none;padding:1rem 1.25rem;position:static}.nav-inner{flex-direction:column;gap:1rem}.nav-links{justify-content:flex-start;gap:.65rem 1.1rem}.nav-links a{font-size:.67rem}.hero-left{padding:4rem 1.25rem}.hero-right{min-height:300px;padding:2rem 1.25rem}.hero-name{font-size:3.5rem}.hero-scroll{display:none}section,#about{padding:4rem 1.25rem}.section-title{font-size:2.2rem}.edu-card,.cert-card,.project-card{padding:2rem 1.5rem}.contact-left,.contact-right{padding:4rem 1.25rem}.hero-stats{flex-direction:column}.hero-stat-cell{border-right:none;border-bottom:1px solid var(--border)}.hero-stat-cell:last-child{border-bottom:none}footer{padding:1.5rem 1.25rem}}@media (width<=420px){.hero-name{font-size:3rem}.btn-primary,.btn-ghost{justify-content:center;width:100%}.section-title{font-size:1.9rem}.edu-card,.cert-card,.project-card{padding:1.75rem 1rem}}@media (hover:none),(pointer:coarse){body{cursor:auto}.cursor,.cursor-ring{display:none}}@media (prefers-reduced-motion:reduce){.tline,.t-cursor,.orbit-badge,.hero-stat-cell,.hero-eyebrow,.hero-name,.hero-bio,.hero-ctas{opacity:1;animation:none;transform:none}.ticker-track{animation:none}}
