:root{--bg-dark: #0f0f11;--text-light: #e4e4e7;--text-muted: #a1a1aa;--accent: #3b82f6}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg-dark);color:var(--text-light);font-family:Inter,sans-serif;line-height:1.8;scroll-behavior:smooth}nav{position:fixed;top:0;right:0;width:100%;display:flex;justify-content:flex-end;padding:30px 50px;background:#0f0f11d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;transition:padding .3s ease}nav.scrolled{padding:15px 50px;border-bottom:1px solid rgba(255,255,255,.05)}nav a{color:var(--text-light);text-decoration:none;margin-left:40px;font-size:.9rem;font-weight:400;letter-spacing:1px;transition:color .3s ease}nav a:hover{color:var(--accent)}section{min-height:100vh;display:flex;flex-direction:column;justify-content:center;max-width:800px;margin:0 auto;padding:100px 20px 20px}.fade-in-section{opacity:0;transform:translateY(40px);transition:opacity .8s ease-out,transform .8s ease-out}.fade-in-section.is-visible{opacity:1;transform:translateY(0)}h1{font-size:3rem;font-weight:600;margin-bottom:10px;color:#fff}h2{font-size:2rem;font-weight:400;margin-bottom:20px;color:var(--accent)}p{color:var(--text-muted);margin-bottom:20px;font-size:1.05rem;text-align:justify}.highlight{color:var(--text-light);font-weight:600}.profile-wrapper{display:flex;align-items:center;gap:40px;margin-bottom:30px}.profile-photo{width:150px;height:150px;border-radius:50%;background-color:#27272a;object-fit:cover;border:2px solid var(--accent)}.intro-text h3{font-size:1.2rem;font-weight:300;color:var(--text-muted)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;margin-top:40px}.project-card{background:#18181b;border:1px solid rgba(255,255,255,.05);border-radius:12px;overflow:hidden;transition:transform .3s ease,border-color .3s ease;text-decoration:none;display:flex;flex-direction:column}.project-card:hover{transform:translateY(-5px);border-color:var(--accent)}.project-image{width:100%;height:180px;background-color:#27272a;object-fit:cover}.project-content{padding:20px;display:flex;flex-direction:column;flex-grow:1}.project-title{color:var(--text-light);font-size:1.25rem;font-weight:600;margin-bottom:10px}.project-desc{color:var(--text-muted);font-size:.95rem;margin-bottom:20px;line-height:1.5;flex-grow:1}.project-tags{display:flex;flex-wrap:wrap;gap:8px}.tag{background:#3b82f61a;color:var(--accent);padding:4px 10px;border-radius:20px;font-size:.8rem;font-weight:600}.timeline{position:relative;max-width:800px;margin:40px auto 0;padding-left:30px;border-left:2px solid #27272a}.timeline-item{position:relative;margin-bottom:40px}.timeline-item:last-child{margin-bottom:0}.timeline-item:before{content:"";position:absolute;left:-37px;top:6px;width:12px;height:12px;border-radius:50%;background-color:var(--accent);box-shadow:0 0 10px #3b82f680;border:3px solid var(--bg-dark)}.timeline-date{display:inline-block;font-size:.85rem;color:var(--accent);font-weight:600;margin-bottom:8px;letter-spacing:1px;background:#3b82f61a;padding:4px 12px;border-radius:20px}.timeline-title{font-size:1.3rem;color:var(--text-light);font-weight:600;margin-bottom:4px}.timeline-company{font-size:1.05rem;color:#a1a1aa;font-weight:400;margin-bottom:12px}.timeline-desc{color:var(--text-muted);font-size:.95rem;line-height:1.6}.skills-container{display:flex;flex-direction:column;gap:30px;margin-top:30px}.skill-category h3{color:var(--text-light);font-size:1.1rem;font-weight:600;margin-bottom:15px;border-bottom:1px solid #27272a;padding-bottom:8px}.skill-list{display:flex;flex-wrap:wrap;gap:12px}.skill-item{background-color:#18181b;border:1px solid rgba(255,255,255,.05);padding:10px 18px;border-radius:8px;color:var(--text-muted);font-size:.95rem;transition:all .3s ease;cursor:default}.skill-item:hover{border-color:var(--accent);color:var(--text-light);transform:translateY(-3px);box-shadow:0 4px 12px #3b82f61a}.detail-container{max-width:900px;margin:0 auto;padding:100px 20px 40px;min-height:100vh;animation:fadeUp .6s ease forwards}.back-link{display:inline-flex;align-items:center;color:var(--text-muted);text-decoration:none;font-size:1rem;margin-bottom:30px;transition:color .3s ease}.back-link:hover{color:var(--accent)}.detail-header h1{font-size:2.5rem;color:var(--text-light);margin-bottom:15px}.detail-tags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.detail-image{width:100%;height:auto;max-height:450px;object-fit:cover;border-radius:12px;margin-bottom:40px;border:1px solid rgba(255,255,255,.05)}.detail-content{color:var(--text-muted);font-size:1.1rem;line-height:1.8}.detail-content h3{color:var(--text-light);font-size:1.5rem;margin:30px 0 15px}.detail-links{display:flex;gap:15px;margin-top:40px}.btn{padding:12px 24px;border-radius:8px;text-decoration:none;font-weight:600;transition:all .3s ease}.btn-primary{background-color:var(--accent);color:#fff}.btn-primary:hover{background-color:#2563eb}.btn-secondary{background-color:transparent;border:1px solid var(--text-muted);color:var(--text-light)}.btn-secondary:hover{border-color:var(--text-light)}:root{--demo-ink: #111512;--demo-paper: #e8ece6;--demo-white: #f8f9f5;--demo-hero: #1b211c;--demo-muted: #626963;--demo-lime: #c8ff3d;--demo-coral: #ff6b4a;--demo-blue: #8fb2ff;--demo-line: rgba(17, 21, 18, .16);--demo-scroll: 0}html{scroll-behavior:smooth}body.demo-active{background:var(--demo-paper)}.portfolio-demo,.portfolio-demo *{box-sizing:border-box}.portfolio-demo{min-height:100vh;background:var(--demo-paper);color:var(--demo-ink);font-family:Segoe UI,Arial,sans-serif;line-height:1.5;overflow:hidden}.portfolio-demo a{color:inherit}.portfolio-demo p{color:inherit;margin:0;font-size:inherit;line-height:inherit;text-align:left}.portfolio-demo button,.portfolio-demo a{-webkit-tap-highlight-color:transparent}.demo-progress{position:fixed;inset:0 auto auto 0;z-index:2000;width:calc(var(--demo-scroll) * 100%);height:3px;background:var(--demo-coral);transform-origin:left}.demo-shell{width:min(1180px,calc(100% - 64px));margin:0 auto}.demo-nav{position:fixed;top:3px;left:0;right:0;z-index:1000;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;padding:18px max(32px,calc((100vw - 1180px)/2));color:var(--demo-white);background:#111512f0;border-bottom:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.demo-brand{width:max-content;font-size:1.35rem;font-weight:800;line-height:1;text-decoration:none}.demo-brand span{color:var(--demo-coral)}.demo-nav-links{position:static;display:flex;justify-content:center;gap:28px;width:auto;padding:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.demo-nav-links a{position:relative;margin:0;color:#aeb6af;font-size:.82rem;font-weight:700;letter-spacing:0;text-decoration:none}.demo-nav-links a:after{position:absolute;right:0;bottom:-7px;left:0;height:2px;background:var(--demo-coral);content:"";opacity:0;transform:scaleX(.4);transition:opacity .18s ease,transform .18s ease}.demo-nav-links a:hover,.demo-nav-links a.is-active{color:var(--demo-white)}.demo-nav-links a.is-active:after{opacity:1;transform:scaleX(1)}.language-switch{display:flex;justify-self:end;padding:3px;border:1px solid rgba(255,255,255,.24);border-radius:6px;background:#2a312b}.language-switch button{min-width:38px;height:30px;padding:0 8px;border:0;border-radius:4px;color:#b8c0b9;background:transparent;font-family:Cascadia Mono,Consolas,monospace;font-size:.72rem;font-weight:500;cursor:pointer}.language-switch button.is-active{color:var(--demo-ink);background:var(--demo-lime)}.demo-language-layer{animation:demo-language-enter .34s ease both}@keyframes demo-language-enter{0%{opacity:.2;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.demo-hero{position:relative;display:flex;width:100%;max-width:none;min-height:94svh;margin:0;padding:112px 0 88px;color:var(--demo-white);background:var(--demo-hero);isolation:isolate;overflow:hidden}.hero-lines{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none}.hero-lines span{position:absolute;display:block;background:#ffffff13}.line-vertical{top:0;bottom:0;width:1px}.line-vertical:nth-child(1){left:7%}.line-vertical:nth-child(2){left:21%}.line-vertical:nth-child(3){left:36%}.line-vertical:nth-child(4){left:50%}.line-vertical:nth-child(5){left:64%}.line-vertical:nth-child(6){left:79%}.line-vertical:nth-child(7){left:93%}.line-horizontal{right:0;left:0;height:1px}.line-horizontal:nth-child(8){top:23%}.line-horizontal:nth-child(9){top:46%}.line-horizontal:nth-child(10){top:69%}.line-horizontal:nth-child(11){top:92%}.hero-signal{position:absolute;top:24%;right:5%;z-index:-1;width:270px;height:270px;border:1px solid rgba(255,255,255,.18);border-radius:50%;transform:translate(var(--pointer-x, 0),var(--pointer-y, 0));transition:transform .18s ease-out}.hero-signal:before,.hero-signal:after{position:absolute;border:1px solid rgba(255,255,255,.14);border-radius:50%;content:""}.hero-signal:before{inset:38px}.hero-signal:after{inset:78px;background:var(--demo-lime)}.hero-signal span{position:absolute;z-index:1;width:8px;height:8px;border-radius:50%;background:var(--demo-coral);animation:signal-pulse 2.4s ease-in-out infinite}.hero-signal span:nth-child(1){top:19px;left:129px}.hero-signal span:nth-child(2){right:31px;bottom:56px;animation-delay:.5s}.hero-signal span:nth-child(3){bottom:33px;left:43px;animation-delay:.9s}@keyframes signal-pulse{0%,to{transform:scale(.8);opacity:.45}50%{transform:scale(1.45);opacity:1}}.hero-content{position:relative;display:grid;grid-template-columns:minmax(0,650px) minmax(300px,360px);grid-template-rows:1fr auto;justify-content:space-between;gap:52px 88px;align-items:center}.hero-copy{position:relative;z-index:2;min-width:0;max-width:650px}.demo-hero .demo-eyebrow{color:#aeb6af!important}.demo-eyebrow{display:flex;align-items:center;gap:10px;color:var(--demo-muted)!important;font-family:Cascadia Mono,Consolas,monospace;font-size:.72rem!important;font-weight:500;letter-spacing:0;text-transform:uppercase}.demo-eyebrow:before{width:28px;height:2px;background:var(--demo-coral);content:""}.hero-copy h1{width:100%;max-width:650px;margin:22px 0 28px;color:var(--demo-white);font-size:clamp(3.5rem,4.4vw,4.6rem);font-weight:600;line-height:.94;letter-spacing:0}.hero-copy h1 span{display:block;color:transparent;-webkit-text-stroke:1.5px var(--demo-white)}.hero-description{max-width:650px;color:#b8c0b9!important;font-size:1.03rem!important;line-height:1.7!important}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.demo-button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:48px;padding:0 18px;border:1px solid var(--demo-ink);border-radius:6px;font-size:.82rem;font-weight:800;text-decoration:none;transition:color .18s ease,background .18s ease,transform .18s ease}.demo-button:hover{transform:translateY(-2px)}.demo-button-primary{color:var(--demo-ink)!important;background:var(--demo-lime)}.demo-button-primary:hover{color:var(--demo-white)!important;background:var(--demo-ink)}.demo-button-secondary{border-color:#ffffffb8;color:var(--demo-white)!important;background:transparent}.demo-button-secondary:hover{color:var(--demo-ink)!important;background:var(--demo-white)}.hero-visual{position:relative;z-index:1;width:min(100%,360px);justify-self:end;transform:translate(var(--pointer-x, 0),var(--pointer-y, 0));transition:transform .18s ease-out}.portrait-frame{position:relative;aspect-ratio:.82;overflow:hidden;border:1px solid rgba(255,255,255,.8);border-radius:6px;background:var(--demo-white);box-shadow:18px 18px 0 var(--demo-blue)}.portrait-frame:after{position:absolute;inset:0;border:10px solid var(--demo-hero);content:"";pointer-events:none}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 34%;filter:saturate(.78) contrast(1.03)}.portrait-index,.portrait-caption{font-family:Cascadia Mono,Consolas,monospace;font-size:.66rem;font-weight:500}.portrait-index{margin-bottom:10px;color:var(--demo-coral)}.portrait-caption{margin-top:28px;text-align:right}.hero-meta{display:grid;grid-column:1 / -1;grid-template-columns:repeat(3,1fr);gap:30px;padding-top:26px;border-top:1px solid rgba(255,255,255,.2)}.hero-meta div{display:flex;flex-direction:column;gap:4px}.hero-meta span{color:#929c94;font-family:Cascadia Mono,Consolas,monospace;font-size:.64rem;text-transform:uppercase}.hero-meta strong{font-size:.86rem;font-weight:700}.status-line{display:flex;align-items:center;gap:8px}.status-line:before{width:8px;height:8px;border-radius:50%;background:#37b66b;box-shadow:0 0 0 4px #37b66b26;content:""}.scroll-cue{position:absolute;right:24px;bottom:26px;display:flex;align-items:center;gap:12px;color:#aeb6af!important;font-family:Cascadia Mono,Consolas,monospace;font-size:.62rem;text-decoration:none;text-transform:uppercase;transform:rotate(90deg);transform-origin:right center}.scroll-cue i{display:block;width:32px;height:1px;background:currentColor}.demo-section{display:block;max-width:none;min-height:0;margin:0;padding:128px 0}.section-heading h2,.demo-footer h2{margin:18px 0 0;color:var(--demo-ink);font-size:clamp(2.35rem,5vw,4.9rem);font-weight:600;line-height:1.05;letter-spacing:0}.demo-reveal{opacity:0;transform:translateY(28px);transition:opacity .6s ease,transform .6s cubic-bezier(.22,1,.36,1)}.demo-reveal.is-visible{opacity:1;transform:translateY(0)}.about-section{position:relative;border-top:12px solid var(--demo-blue);background:#dfe5df;overflow:hidden}.about-section:before{position:absolute;top:0;right:8%;width:1px;height:100%;background:#1115121f;box-shadow:-180px 0 #1115120e,-360px 0 #1115120e;content:"";pointer-events:none}.about-heading{max-width:800px}.about-heading-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:90px;align-items:end;padding-bottom:68px;border-bottom:1px solid rgba(17,21,18,.22)}.about-intro{max-width:620px;margin-top:28px!important;color:#4f5851!important;font-size:1rem!important;line-height:1.8!important}.biography-layout{position:relative;display:grid;grid-template-columns:260px minmax(0,1fr);gap:82px;align-items:start;margin-top:82px}.biography-aside{position:sticky;top:110px;padding:28px;border-radius:6px;color:var(--demo-white);background:var(--demo-ink)}.biography-code{display:block;margin-bottom:38px;color:var(--demo-lime);font-family:Cascadia Mono,Consolas,monospace;font-size:.65rem}.biography-aside>p{color:#c1c8c2!important;font-size:.79rem!important;line-height:1.75!important}.biography-track{display:flex;justify-content:space-between;margin-top:38px;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);color:#747e76;font-family:Cascadia Mono,Consolas,monospace;font-size:.58rem}.biography-content{display:grid}.biography-chapter{display:grid;grid-template-columns:190px minmax(0,1fr);gap:44px;padding:0 0 54px;border-bottom:1px solid rgba(17,21,18,.22)}.biography-chapter+.biography-chapter{padding-top:54px}.biography-chapter-heading{display:flex;flex-direction:column;gap:16px}.biography-chapter-heading>span{color:var(--demo-coral);font-family:Cascadia Mono,Consolas,monospace;font-size:.65rem;font-weight:500}.biography-chapter-heading h3{margin:0;color:var(--demo-ink);font-size:1.05rem;font-weight:750;line-height:1.35}.biography-paragraphs{display:grid;gap:24px}.biography-paragraphs p{color:#4d564f!important;font-size:.98rem!important;line-height:1.92!important}.biography-paragraphs p:first-child:first-letter{color:var(--demo-ink);font-size:1.5em;font-weight:600}.about-stats{display:grid;border-top:1px solid rgba(17,21,18,.24)}.about-stats>div{display:grid;grid-template-columns:110px 1fr;align-items:center;padding:22px 0;border-bottom:1px solid rgba(17,21,18,.24)}.about-stats strong{color:var(--demo-coral);font-family:Cascadia Mono,Consolas,monospace;font-size:2rem;font-weight:500}.about-stats span{color:var(--demo-muted);font-size:.84rem}.work-section{color:var(--demo-white);background:var(--demo-ink)}.work-section .demo-eyebrow,.work-section .work-heading>p{color:#aeb5af!important}.work-heading{display:grid;grid-template-columns:1.5fr .5fr;gap:70px;align-items:end}.work-heading h2{color:var(--demo-white)}.work-heading>p{padding-bottom:8px;font-size:.88rem!important;line-height:1.75!important}.project-toolbar{display:flex;align-items:center;justify-content:space-between;margin:64px 0 26px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.18)}.project-toolbar>span{color:#929a93;font-family:Cascadia Mono,Consolas,monospace;font-size:.68rem}.project-filters{display:flex;flex-wrap:wrap;gap:6px}.project-filters button{min-height:34px;padding:0 13px;border:1px solid rgba(255,255,255,.24);border-radius:4px;color:#bcc2bd;background:transparent;font-family:inherit;font-size:.72rem;font-weight:700;cursor:pointer}.project-filters button:hover,.project-filters button.is-active{border-color:var(--demo-lime);color:var(--demo-ink);background:var(--demo-lime)}.demo-project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}.project-reveal{grid-column:span 4}.project-reveal:nth-child(1),.project-reveal:nth-child(2){grid-column:span 6}.demo-project-card{position:relative;display:flex;flex-direction:column;width:100%;height:100%;min-height:510px;overflow:hidden;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:var(--demo-white);background:#191f1a;font-family:inherit;text-align:left;cursor:pointer;transition:border-color .22s ease,transform .22s ease}.project-reveal:nth-child(n+3) .demo-project-card{min-height:460px}.demo-project-card:hover{border-color:var(--demo-lime);transform:translateY(-5px)}.project-number{position:absolute;top:14px;left:14px;z-index:2;display:grid;width:34px;height:26px;place-items:center;border-radius:3px;color:var(--demo-ink);background:var(--demo-lime);font-family:Cascadia Mono,Consolas,monospace;font-size:.62rem;font-weight:500}.project-media{height:270px;overflow:hidden;background:#ecece7}.project-reveal:nth-child(n+3) .project-media{height:220px}.project-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.22,1,.36,1),filter .3s ease}.project-media.is-contain{padding:10px;background:#f4f6f9}.project-media.is-contain img{object-fit:contain}.demo-project-card:hover .project-media img{filter:saturate(1.12);transform:scale(1.035)}.project-card-copy{display:flex;flex:1;flex-direction:column;padding:24px}.project-card-copy h3{margin:0 0 12px;color:var(--demo-white);font-size:1.35rem;font-weight:650}.project-card-copy>p{color:#aeb5af;font-size:.83rem!important;line-height:1.7!important}.project-card-footer{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-top:auto;padding-top:28px}.project-card-footer>span{color:#808881;font-family:Cascadia Mono,Consolas,monospace;font-size:.58rem;text-transform:uppercase}.project-card-footer strong{color:var(--demo-lime);font-size:.72rem;white-space:nowrap}.project-card-footer i{font-style:normal}.journey-section{background:var(--demo-blue)}.journey-heading{display:grid;grid-template-columns:1fr 2fr;gap:30px}.journey-heading .demo-eyebrow{grid-column:1}.journey-heading h2{grid-column:2;grid-row:1 / span 2;margin:0}.journey-heading>p{grid-column:1;max-width:300px;color:#354465!important;font-size:.84rem!important;line-height:1.75!important}.journey-list{margin-top:90px;border-top:1px solid rgba(17,21,18,.35)}.journey-item{display:grid;grid-template-columns:58px 150px 1.2fr .8fr;gap:28px;align-items:start;padding:34px 0;border-bottom:1px solid rgba(17,21,18,.35)}.journey-index,.journey-date{font-family:Cascadia Mono,Consolas,monospace;font-size:.65rem}.journey-index{color:#42547c}.journey-date{font-weight:500}.journey-item h3{margin:0 0 7px;color:var(--demo-ink);font-size:1rem;font-weight:750}.journey-item h4{margin:0;color:#354465;font-size:.78rem;font-weight:600}.journey-item p{color:#354465;font-size:.8rem!important;line-height:1.7!important}.skills-section{background:var(--demo-paper)}.skills-heading{max-width:840px}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:72px}.skill-group{padding-top:18px;border-top:3px solid var(--demo-ink)}.skill-group:nth-child(2){border-color:var(--demo-coral)}.skill-group:nth-child(3){border-color:#527fe5}.skill-group-title{display:flex;align-items:center;gap:12px;margin-bottom:28px}.skill-group-title span{color:var(--demo-muted);font-family:Cascadia Mono,Consolas,monospace;font-size:.62rem}.skill-group-title h3{margin:0;color:var(--demo-ink);font-size:1rem}.skill-cloud{display:flex;flex-wrap:wrap;gap:8px}.skill-cloud>span{padding:9px 12px;border:1px solid var(--demo-line);border-radius:4px;background:var(--demo-white);font-family:Cascadia Mono,Consolas,monospace;font-size:.67rem;transition:color .16s ease,background .16s ease,transform .16s ease}.skill-cloud>span:hover{color:var(--demo-white);background:var(--demo-ink);transform:translateY(-2px)}.contact-section{position:relative;color:var(--demo-ink);background:var(--demo-coral);overflow:hidden}.contact-section:before{position:absolute;top:-180px;right:-120px;width:470px;height:470px;border:1px solid rgba(17,21,18,.22);border-radius:50%;box-shadow:0 0 0 70px #11151209,0 0 0 140px #11151206;content:""}.contact-layout{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:100px;align-items:end}.contact-heading .demo-eyebrow{color:#111512ad!important}.contact-heading .demo-eyebrow:before{background:var(--demo-ink)}.contact-heading h2{color:var(--demo-ink)}.contact-heading>p:last-child{max-width:570px;margin-top:28px;color:#111512b8;font-size:.92rem;line-height:1.8}.contact-links{display:grid;border-top:1px solid rgba(17,21,18,.48)}.contact-links a{display:grid;grid-template-columns:100px minmax(0,1fr) 24px;gap:20px;align-items:center;padding:30px 0;border-bottom:1px solid rgba(17,21,18,.48);text-decoration:none;transition:padding .18s ease,background .18s ease}.contact-links a:hover{padding-right:14px;padding-left:14px;background:#ffffff24}.contact-links span{font-family:Cascadia Mono,Consolas,monospace;font-size:.62rem;text-transform:uppercase}.contact-links strong{min-width:0;overflow-wrap:anywhere;font-size:1.02rem}.contact-links i{font-size:1.1rem;font-style:normal;text-align:right}.demo-footer{display:block;padding:120px 0 34px;color:var(--demo-white);background:#24251f}.demo-footer .demo-eyebrow,.demo-footer p{color:#b4b6ad!important}.demo-footer h2{max-width:850px;color:var(--demo-white)}.demo-footer .demo-reveal>p:not(.demo-eyebrow){max-width:590px;margin-top:28px;font-size:.9rem!important;line-height:1.75!important}.demo-footer .demo-button{margin-top:34px}.footer-bottom{display:flex;justify-content:space-between;gap:24px;margin-top:100px;padding-top:22px;border-top:1px solid rgba(255,255,255,.16);color:#8c9086;font-family:Cascadia Mono,Consolas,monospace;font-size:.6rem;text-transform:uppercase}.footer-bottom a{color:var(--demo-white);text-decoration:none}.project-dialog-backdrop{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:28px;background:#111512cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:dialog-backdrop-in .22s ease both}@keyframes dialog-backdrop-in{0%{opacity:0}to{opacity:1}}.project-dialog{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;width:min(980px,100%);max-height:min(720px,calc(100svh - 56px));overflow:hidden;border:1px solid rgba(255,255,255,.24);border-radius:8px;background:var(--demo-paper);box-shadow:0 28px 90px #00000057;animation:dialog-in .32s cubic-bezier(.22,1,.36,1) both}@keyframes dialog-in{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.dialog-close{position:absolute;top:14px;right:14px;z-index:2;display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--demo-line);border-radius:50%;color:var(--demo-ink);background:var(--demo-white);font-family:Arial,sans-serif;font-size:1.35rem;line-height:1;cursor:pointer}.dialog-close:hover{color:var(--demo-white);background:var(--demo-ink)}.dialog-media{min-height:520px;background:var(--demo-white)}.dialog-media img{width:100%;height:100%;object-fit:cover}.dialog-media.is-contain{display:grid;padding:20px;place-items:center;background:#eef1f5}.dialog-media.is-contain img{height:auto;max-height:100%;object-fit:contain}.dialog-content{max-height:min(720px,calc(100svh - 56px));overflow-y:auto;padding:60px 54px 46px}.dialog-content h2{margin:16px 0;color:var(--demo-ink);font-size:2.25rem;line-height:1.1}.dialog-summary{color:var(--demo-muted)!important;font-size:.92rem!important;line-height:1.7!important}.dialog-content h3{margin:28px 0 8px;color:var(--demo-ink);font-size:.75rem;text-transform:uppercase}.dialog-content>p:not(.demo-eyebrow){color:var(--demo-muted);font-size:.82rem!important;line-height:1.7!important}.dialog-content ul{margin:0;padding:0;list-style:none}.dialog-content li{position:relative;padding:8px 0 8px 18px;border-bottom:1px solid var(--demo-line);color:var(--demo-muted);font-size:.78rem}.dialog-content li:before{position:absolute;top:14px;left:0;width:6px;height:6px;background:var(--demo-coral);content:""}.dialog-actions{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:30px}.dialog-actions a{padding-bottom:4px;border-bottom:1px solid var(--demo-ink);font-size:.74rem;font-weight:800;text-decoration:none}@media(max-width:920px){.demo-nav{grid-template-columns:1fr auto}.demo-nav-links{display:none}.hero-content{grid-template-columns:minmax(0,1fr) minmax(240px,300px);gap:44px 48px}.hero-copy h1{font-size:clamp(3.15rem,5.5vw,3.75rem)}.about-heading-row{grid-template-columns:minmax(0,1fr) 260px;gap:54px}.biography-layout{grid-template-columns:220px minmax(0,1fr);gap:48px}.biography-chapter{grid-template-columns:150px minmax(0,1fr);gap:30px}.project-reveal,.project-reveal:nth-child(1),.project-reveal:nth-child(2){grid-column:span 6}.contact-layout{grid-template-columns:1fr;gap:56px}.journey-item{grid-template-columns:44px 130px 1fr}.journey-item>p{grid-column:3}}@media(max-width:720px){.demo-shell{width:min(100% - 36px,1180px)}.demo-nav{padding:14px 18px}.demo-hero{min-height:0;padding:104px 0 64px}.hero-content{grid-template-columns:1fr;grid-template-rows:auto;gap:54px}.hero-copy h1{margin-top:18px;max-width:100%;font-size:clamp(2.8rem,11.4vw,4rem)}.hero-description{font-size:.92rem!important}.hero-visual{width:min(76vw,330px);justify-self:center;margin-top:4px}.portrait-frame{box-shadow:12px 12px 0 var(--demo-blue)}.hero-meta{grid-template-columns:1fr;gap:16px}.hero-meta div{display:grid;grid-template-columns:80px 1fr;align-items:center}.hero-signal{top:47%;right:-110px}.scroll-cue{display:none}.demo-section{padding:88px 0}.section-heading h2,.demo-footer h2{font-size:clamp(2.25rem,11vw,3.5rem)}.about-heading-row,.biography-layout,.work-heading,.journey-heading,.contact-layout,.skills-grid{grid-template-columns:1fr}.about-heading-row{gap:48px;padding-bottom:58px}.biography-layout{gap:52px;margin-top:58px}.biography-aside{position:relative;top:auto}.biography-chapter{grid-template-columns:1fr;gap:24px;padding-bottom:44px}.biography-chapter+.biography-chapter{padding-top:44px}.biography-chapter-heading{flex-direction:row;align-items:baseline;gap:18px}.work-heading{gap:24px}.project-toolbar{align-items:flex-end;gap:16px;margin-top:46px}.project-reveal,.project-reveal:nth-child(1),.project-reveal:nth-child(2){grid-column:1 / -1}.demo-project-card,.project-reveal:nth-child(n+3) .demo-project-card{min-height:450px}.project-media,.project-reveal:nth-child(n+3) .project-media{height:225px}.journey-heading h2,.journey-heading .demo-eyebrow,.journey-heading>p{grid-column:1;grid-row:auto}.journey-heading h2{margin-top:6px}.journey-list{margin-top:58px}.journey-item{grid-template-columns:34px 1fr;gap:12px 14px}.journey-date{grid-column:2}.journey-item>div,.journey-item>p{grid-column:2}.skills-grid{gap:44px}.contact-layout{gap:52px}.contact-links a{grid-template-columns:78px minmax(0,1fr) 20px;gap:12px;padding:24px 0}.demo-footer{padding-top:88px}.footer-bottom{flex-direction:column;margin-top:72px}.project-dialog-backdrop{align-items:end;padding:12px}.project-dialog{grid-template-columns:1fr;max-height:calc(100svh - 24px);overflow-y:auto}.dialog-media{min-height:0;height:220px}.dialog-content{max-height:none;overflow:visible;padding:36px 24px 32px}}@media(max-width:440px){.hero-actions{flex-direction:column}.demo-button{width:100%}.project-filters button{padding:0 9px;font-size:.65rem}.about-stats>div{grid-template-columns:86px 1fr}.project-card-footer{align-items:start;flex-direction:column}.contact-links a{grid-template-columns:1fr 20px}.contact-links span{grid-column:1 / -1}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.portfolio-demo *,.portfolio-demo *:before,.portfolio-demo *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.demo-reveal{opacity:1;transform:none}}
