:root{--bg:#f3f1e9;--ink:#25251f;--muted:#77776b;--line:#d6d6ca;--accent:#c26442;--dark:#292c25;--serif:"Source Serif 4",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--mono:"IBM Plex Mono",monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:#d3bda8}main{overflow-x:clip}.container{width:min(1280px,100% - 112px);margin:auto}.nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:88px;display:flex}.brand{letter-spacing:-.06em;align-items:center;gap:11px;font-size:22px;font-weight:700;display:flex}.brand-symbol{color:var(--accent);font-family:var(--mono);font-size:25px}.nav-links{align-items:center;gap:40px;font-size:13px;font-weight:600;display:flex}.nav-links a:not(.nav-cta){color:#5c5d52;transition:color .2s}.nav-links a:hover{color:var(--accent)}.nav-cta{border:1px solid #292c25;border-radius:4px;padding:11px 15px;transition:background .2s,color .2s}.nav-cta:hover{background:var(--dark);color:#fff!important}.hero{grid-template-columns:1.03fr .97fr;align-items:center;min-height:660px;padding:80px 0 105px;display:grid;position:relative}.eyebrow,.section-index,.label,.project-number,.tech-label,.ascii-caption,.project-link,.footer-meta{font:500 11px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase}.eyebrow{color:#686d5f;align-items:center;gap:11px;display:flex}.eyebrow:before{content:"";background:#718664;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #e1e6d8}.hero h1{font:400 clamp(64px,7.2vw,108px)/.97 var(--serif);letter-spacing:-.065em;margin:30px 0}.hero h1 em{color:var(--accent);font-weight:400}.hero-copy{color:#696b5e;max-width:460px;font-size:17px;line-height:1.7}.hero-actions{align-items:center;gap:30px;margin-top:36px;font-size:13px;font-weight:600;display:flex}.primary-link{background:var(--dark);color:#f9f8f0;border:1px solid var(--dark);border-radius:4px;align-items:center;gap:35px;padding:15px 20px;transition:background .2s,transform .2s;display:inline-flex}.primary-link:hover{background:#46513c;transform:translateY(-2px)}.text-link{border-bottom:1px solid #a9aa9e;padding:8px 0}.hero-visual{place-items:center;min-height:480px;display:grid;position:relative}.ascii-orb{color:#69775b;font:500 clamp(6px,.72vw,10px)/1.05 var(--mono);letter-spacing:0;white-space:pre;-webkit-user-select:none;user-select:none;margin:0}.orb-border{aspect-ratio:1;pointer-events:none;border:1px solid #d9dacf;border-radius:50%;width:min(100%,490px);position:absolute}.orb-border:before,.orb-border:after{content:"+";color:#a7aa9a;font:12px var(--mono);position:absolute}.orb-border:before{top:50%;left:-4px}.orb-border:after{top:50%;right:-4px}.ascii-caption{color:#96998b;font-size:9px;position:absolute;bottom:20px;right:0}.hero-foot{border-top:1px solid var(--line);color:#858779;font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:20px 0 24px;display:flex}.projects-wrap{background:#e8e9df;border-top:1px solid #d7d8cd}.section-heading{grid-template-columns:1fr 1fr;align-items:end;gap:40px;padding:110px 0 66px;display:grid}.section-index{color:#848979;gap:18px;display:flex}.section-heading h2,.about h2,.contact h2{font:400 clamp(48px,5.5vw,76px)/1.05 var(--serif);letter-spacing:-.055em;margin:18px 0 0}.section-heading p{color:#73766a;max-width:350px;margin:0 0 6px auto;font-size:15px;line-height:1.65}.project{border-top:1px solid #c5c9bb;grid-template-columns:100px 1fr 1fr;gap:24px;min-height:260px;padding:40px 0 48px;display:grid}.project-number{color:#888d7c;padding-top:9px}.project-title h3{font:400 clamp(35px,4vw,52px)/1.1 var(--serif);letter-spacing:-.045em;margin:0 0 15px}.project-category{font:10px var(--mono);color:#8b8e80;letter-spacing:.06em;text-transform:uppercase}.project-detail{max-width:490px}.project-detail p{color:#64685c;margin:0 0 22px;font-size:15px;line-height:1.7}.tech-label{color:#999d8f;margin-bottom:10px;font-size:9px}.tags{flex-wrap:wrap;gap:7px;display:flex}.tag{font:10px var(--mono);color:#626b5a;border:1px solid #c4cabe;border-radius:3px;padding:6px 8px}.project-link{color:#30392c;border-bottom:1px solid #9ca696;gap:12px;margin-top:28px;padding-bottom:5px;transition:gap .2s,color .2s;display:inline-flex}.project-link:hover{color:var(--accent);gap:19px}.end-projects{font:10px var(--mono);text-transform:uppercase;color:#8b9081;border-top:1px solid #c5c9bb;padding:22px 0 85px}.about{grid-template-columns:1fr 1fr;gap:40px;padding:120px 0;display:grid}.about-copy{font:400 clamp(22px,2.4vw,32px)/1.4 var(--serif);letter-spacing:-.025em;max-width:520px;margin:32px 0 0}.about-copy span{color:#929487}.about-aside{border-top:1px solid var(--line);color:#77796d;align-self:end;max-width:430px;margin-left:auto;padding-top:20px;font-size:14px;line-height:1.7}.contact{background:var(--dark);color:#f3f1e9;padding:90px 0 34px}.contact-top{justify-content:space-between;align-items:end;gap:40px;padding-bottom:95px;display:flex}.contact .section-index{color:#9ba293}.contact h2{max-width:600px}.contact h2 em{color:#c89579;font-weight:400}.contact .primary-link{color:#30342b;white-space:nowrap;background:#e9e9dd;border-color:#e9e9dd}.contact .primary-link:hover{background:#fff}.footer{color:#a5ab9d;border-top:1px solid #565b50;justify-content:space-between;gap:15px;padding-top:24px;display:flex}.footer-meta{font-size:9px}.footer a:hover{color:#fff}.arrow{font-size:16px;line-height:0}@media (max-width:800px){.container{width:min(100% - 40px,620px)}.nav{height:72px}.nav-links{gap:18px}.nav-links a:not(.nav-cta){display:none}.hero{flex-direction:column;align-items:stretch;min-height:auto;padding:80px 0 35px;display:flex}.hero h1{font-size:clamp(57px,13vw,86px)}.hero-visual{min-height:355px;margin-top:25px}.orb-border{width:320px;max-width:90%}.ascii-orb{font-size:7px}.ascii-caption{bottom:4px}.section-heading{grid-template-columns:1fr;gap:15px;padding:80px 0 40px}.section-heading p{margin:0}.project{grid-template-columns:48px 1fr;gap:8px 12px;padding:32px 0}.project-detail{grid-column:2}.project-title h3{font-size:38px}.project-detail p{margin-top:15px}.about{grid-template-columns:1fr;padding:80px 0}.about-aside{margin-left:0}.contact-top{flex-direction:column;align-items:start;padding-bottom:70px}.footer{flex-direction:column}.hero-foot span:last-child{text-align:right}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.ascii-orb{font-size:clamp(11px,1.15vw,15px)}.end-projects{justify-content:space-between;align-items:center;gap:20px;display:flex;overflow:hidden}.ascii-stream{white-space:nowrap;color:#a1aa96;animation:7s ease-in-out infinite alternate drift;display:block}@keyframes drift{0%{transform:translate(0)}to{transform:translate(24px)}}@media (max-width:800px){.ascii-orb{font-size:10px}.hero-actions{gap:16px}.hero-actions a{white-space:nowrap}.primary-link{gap:20px}.ascii-stream{display:none}}
:root{--bg:#101c17;--ink:#edf4e8;--muted:#a4b4a8;--line:#34473b;--accent:#a8d4ad;--dark:#193b2a}body{background:var(--bg);color:var(--ink)}::selection{color:#fff;background:#527f5b}.container{width:min(1340px,100% - 112px)}.nav{border-color:#31463a;height:88px}.brand{letter-spacing:-.055em}.brand-symbol{color:#a8d4ad}.nav-links a:not(.nav-cta){color:#b1c2b4}.nav-cta{color:#e4efe3;border-color:#64836b;border-radius:2px}.nav-cta:hover{background:#d3e7d2;color:#10251a!important}.hero{min-height:670px;padding:76px 0 92px}.hero-content{animation:.85s cubic-bezier(.16,1,.3,1) both heroRise}.hero h1{font-size:clamp(68px,7.8vw,114px)}.hero h1 em{color:#a8d4ad}.hero-copy{color:#aabaae;max-width:490px}.eyebrow{color:#c2d3c4}.eyebrow:before{background:#a8d4ad;box-shadow:0 0 0 5px #284333}.primary-link{color:#102018;background:#b6d8b5;border-color:#b6d8b5;border-radius:2px}.primary-link:hover{color:#102018;background:#e0f1db}.text-link{color:#d3dfd3;border-color:#708a75}.hero-visual{isolation:isolate;animation:1s cubic-bezier(.16,1,.3,1) .1s both heroRise}.hero-visual:before{content:"";border:1px solid #294633;border-radius:50%;position:absolute;inset:11%}.orb-border{border-color:#375543}.orb-border:before,.orb-border:after{color:#a8d4ad}.ascii-orb{color:#b9e1b6;will-change:transform;font-size:clamp(6px,.58vw,8.2px);line-height:1;transition:transform .65s cubic-bezier(.2,.8,.2,1)}.ascii-caption{bottom:4px}.ascii-caption,.hero-foot{color:#839d89}.hero-foot{border-color:#34473b}@keyframes heroRise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.projects-wrap{color:#14261b;background:#e2ebe0;border:0;position:relative}.timeline-anchor{height:0;position:relative;top:-12px}.timeline-runway{position:relative}.timeline-sticky{--timeline-progress:0;flex-direction:column;justify-content:space-between;padding:56px 0 36px;display:flex}@media (min-width:901px){.timeline-sticky{height:100svh;padding:clamp(16px,2.2vh,28px) 0 clamp(12px,1.8vh,22px);position:sticky;top:0;overflow:hidden}}.timeline-top-bar{justify-content:space-between;align-items:flex-end;gap:28px;display:flex}.timeline-heading-group{min-width:0}.projects-wrap .section-index{color:#546e5e}.timeline-title-row{flex-wrap:wrap;align-items:baseline;gap:28px;margin-top:8px;display:flex}.timeline-title-row h2{font:400 clamp(34px, 3.7vw, 54px) / 1 var(--serif);letter-spacing:-.05em;margin:0}.projects-wrap h2 span{color:#2d633f!important}.timeline-lead{color:#526759;max-width:470px;margin:0;font-size:13.5px;line-height:1.5}.timeline-controls{flex-shrink:0;align-items:center;gap:16px;display:flex}.timeline-counter{font:500 11px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#496552;white-space:nowrap}.timeline-counter strong{color:#163322;font-weight:600}.timeline-arrows{gap:8px;display:flex}.timeline-arrow-btn{color:#183624;width:38px;height:38px;font:500 15px/1 var(--mono);cursor:pointer;background:#edf3e9;border:1px solid #9ab4a0;border-radius:4px;place-items:center;transition:background .2s,border-color .2s,transform .2s,opacity .2s;display:grid}.timeline-arrow-btn:hover:not(:disabled){color:#edf4e8;background:#183624;border-color:#183624;transform:translateY(-1px)}.timeline-arrow-btn:focus-visible{outline-offset:3px;outline:2px solid #245736}.timeline-arrow-btn:disabled{opacity:.35;cursor:not-allowed}.timeline-scrubber-wrap{margin-top:clamp(10px,1.5vh,18px);margin-bottom:clamp(10px,1.5vh,18px)}.timeline-scrubber{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:6px 0 4px;display:grid;position:relative}.scrubber-rail{pointer-events:none;background:#c2d2c4;border-radius:2px;height:2px;position:absolute;top:12px;left:8.33333%;right:8.33333%;overflow:hidden}.scrubber-fill{transform-origin:0;width:100%;height:100%;transform:scaleX(var(--timeline-progress,0));background:linear-gradient(90deg,#326543,#173d27);transition:transform 80ms linear}.scrubber-node{z-index:1;text-align:center;cursor:pointer;color:#5b7162;background:0 0;border:0;flex-direction:column;align-items:center;gap:7px;padding:0 4px;transition:color .25s;display:flex;position:relative}.scrubber-node:focus-visible{outline-offset:4px;border-radius:3px;outline:2px solid #245736}.node-dot{background:#e2ebe0;border:2px solid #91ab97;border-radius:50%;width:13px;height:13px;transition:transform .28s cubic-bezier(.2,.8,.2,1),background .25s,border-color .25s,box-shadow .25s}.scrubber-node.is-passed .node-dot{background:#356947;border-color:#356947}.scrubber-node.is-active{color:#132a1d}.scrubber-node.is-active .node-dot{background:#173d27;border-color:#173d27;transform:scale(1.22);box-shadow:0 0 0 5px #245c382e}.scrubber-node.is-milestone .node-dot{border-radius:3px;transform:rotate(45deg)scale(.92)}.scrubber-node.is-milestone.is-active .node-dot{transform:rotate(45deg)scale(1.15)}.scrubber-node.is-current-jump .node-period{color:#215b38;font-weight:600}.node-meta{flex-direction:column;gap:1px;min-width:0;display:flex}.node-period{font:500 9.5px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;opacity:.85}.node-name{font:600 12px/1.25 var(--sans);white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.timeline-viewport{flex:1;align-items:center;width:100%;min-height:0;display:flex;overflow:hidden}.timeline-viewport.is-horizontal-scroll{scroll-snap-type:x mandatory;scrollbar-width:none;padding-block:10px;scroll-padding-inline:20px;overflow-x:auto}.timeline-viewport.is-horizontal-scroll::-webkit-scrollbar{display:none}.timeline-track{will-change:transform;align-items:stretch;padding-inline:max(56px,50vw - 670px);display:flex}.timeline-item{flex-shrink:0;align-items:center;display:flex}.timeline-connector{flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:7px;min-width:clamp(118px,9.5vw,156px);padding-inline:12px;display:flex;position:relative}.connector-track{align-items:center;width:100%;display:flex;position:relative}.connector-line{background:linear-gradient(90deg,#98b49f,#4c7a5c);width:100%;height:1px;display:block}.timeline-connector.is-jump{min-width:clamp(134px,10.5vw,172px)}.timeline-connector.is-jump .connector-line{background:0 0;border-top:2px dashed #2e6d44;height:0}.connector-dot{background:#3a734e;border-radius:50%;flex-shrink:0;width:7px;height:7px}.connector-arrow{font:600 12px/1 var(--mono);color:#2f6542;flex-shrink:0;margin-left:2px}.connector-label{font:500 9px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#4b6855;white-space:nowrap;background:#d8e5d6;border:1px solid #b5c9b8;border-radius:3px;padding:3px 8px}.timeline-connector.is-jump .connector-label{color:#d6eed7;background:#173a26;border-color:#2f6c47}.timeline-card{transition:transform .45s cubic-bezier(.2,.75,.2,1),box-shadow .45s,border-color .4s,opacity .45s}.timeline-card.is-active{transform:translateY(-3px)}.timeline-card.project{background:linear-gradient(#f3f7f1 0%,#eaf2e6 100%);border:1px solid #b8cbbd;border-radius:10px;grid-template-columns:1.06fr .94fr;gap:0;width:min(850px,80vw);min-height:clamp(400px,54vh,468px);max-height:calc(100svh - 220px);margin:0;padding:0;display:grid;overflow:hidden;box-shadow:0 12px 34px #15311f12}@media (min-width:901px){.timeline-card.project,.timeline-card.milestone{height:clamp(410px,55vh,472px)}}.timeline-card.project.is-active,.timeline-card.project:hover,.timeline-card.project:focus-within{border-color:#6b9675;box-shadow:0 22px 54px #14301e24}.timeline-card.project.is-current-project{background:linear-gradient(#f5f9f3 0%,#ecf4e8 100%);border-color:#4a835d}.project-info{flex-direction:column;justify-content:space-between;gap:12px;min-width:0;padding:clamp(20px,2.6vh,30px) clamp(22px,2.4vw,34px);display:flex;overflow-y:auto}.project-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.project-number{color:#346645;font:600 10px/1.4 var(--mono);letter-spacing:.07em;text-transform:uppercase;padding-top:0}.current-pill{font:600 9.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#143922;background:#cce6cc;border:1px solid #8ec097;border-radius:999px;align-items:center;gap:6px;padding:4px 9px;display:inline-flex}.pulse-dot{background:#1d7a42;border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite livePulse}@keyframes livePulse{0%,to{box-shadow:0 0 #1d7a4273}50%{box-shadow:0 0 0 5px #1d7a4200}}.project-category{font:500 10px/1.4 var(--mono);color:#6b7f71;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}.project-title h3{color:#153322;font:400 clamp(32px, 3.2vw, 46px) / 1.03 var(--serif);letter-spacing:-.04em;margin:0}.project-detail{flex-direction:column;gap:13px;max-width:none;display:flex}.project-detail p{color:#465d4d;margin:0;font-size:14px;line-height:1.55}.learning-box{background:#dae9d9a6;border:1px solid #c3d9c3;border-left:3px solid #29633e;border-radius:7px;padding:10px 14px}.learning-title{font:600 9.5px/1.3 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:#1f4d2f;align-items:center;gap:6px;margin-bottom:6px;display:flex}.learning-list{color:#274131;gap:5px;margin:0;padding:0;font-size:12.6px;line-height:1.38;list-style:none;display:grid}.learning-list li{align-items:baseline;gap:8px;display:flex}.learning-marker{color:#2b6b43;font:600 11px/1 var(--mono);flex-shrink:0}.project-bottom-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.project-stack{flex:1;min-width:0}.tech-label{color:#6c8272;margin:0 0 6px;font-size:9px}.tags{flex-wrap:wrap;gap:5px;display:flex}.tag{font:500 9.5px/1.2 var(--mono);color:#3f6048;background:#e4ede2;border:1px solid #b5ccb8;border-radius:3px;padding:5px 7px}.project-link{color:#1c442a;white-space:nowrap;border-bottom:1px solid #6b9575;margin-top:0;padding-bottom:4px;font-size:10.5px}.project-link:hover{color:#0b5d31}.project-visual{color:#c0dac1;background:#203c2c;flex-direction:column;min-width:0;min-height:100%;margin:0;padding:16px;display:flex;position:relative;overflow:hidden}.visual-top,.project-visual figcaption{font:500 9px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:10px;display:flex}.visual-top{color:#9bb99f;padding:0 2px 12px}.visual-picture{border-radius:6px;flex:1;min-height:0;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #a8d4ad24}.project-visual img{object-fit:cover;filter:saturate(.92);border-radius:6px;width:100%;height:100%;min-height:0;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .8s}.visual-1{background:#13281d}.project:hover .project-visual img,.project.is-active .project-visual img,.project:focus-within .project-visual img{filter:saturate();transform:scale(1.03)}.project-visual figcaption{color:#b2cab5;padding:12px 2px 0}.visual-2{background:#163328}.visual-3{background:#294837}.visual-4{background:#233c2b}.signal-art{background:repeating-linear-gradient(0deg,#0000 0 35px,#ffffff0a 36px),repeating-linear-gradient(90deg,#0000 0 35px,#ffffff0a 36px);border-radius:3px;flex:1;place-items:center;min-height:220px;display:grid;position:relative;overflow:hidden}.signal-badges{z-index:2;flex-wrap:wrap;justify-content:center;gap:6px;display:flex;position:absolute;top:12px;left:12px;right:12px}.signal-badges span{font:500 8.5px/1 var(--mono);letter-spacing:.08em;color:#c9e6ca;background:#0d1f16bf;border:1px solid #a8d4ad47;border-radius:2px;padding:4px 7px}.signal-orbit{border:1px solid #7ba483;border-radius:50%;place-items:center;width:152px;height:152px;animation:18s linear infinite orbit;display:grid;position:relative}.signal-orbit:before,.signal-orbit:after{content:"";border:1px solid #729778;border-radius:50%;position:absolute;inset:18px}.signal-orbit:after{border-style:dashed;inset:38px}.signal-core{font:32px var(--serif);color:#b4d7b3}.signal-dot{background:#b4d7b3;border-radius:50%;width:8px;height:8px;position:absolute;top:10px;left:32px;box-shadow:0 0 14px #b4d7b3}.signal-lines{opacity:.65;justify-content:space-between;align-items:center;gap:3px;height:30px;display:flex;position:absolute;bottom:8%;left:8%;right:8%}.signal-lines i{width:3px;height:calc(7px + mod(var(--i) * 7, 22) * 1px);min-height:7px;animation:1s ease-in-out infinite alternate signal;animation-delay:calc(var(--i) * -.07s);background:#91b99a}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes signal{0%{transform:scaleY(.4)}to{transform:scaleY(1.3)}}.timeline-card.milestone{color:#edf4e8;background:linear-gradient(165deg,#163023 0%,#0f2118 100%);border:1px solid #2e4d3b;border-radius:10px;flex-direction:column;width:min(465px,44vw);min-height:clamp(400px,54vh,468px);max-height:calc(100svh - 220px);display:flex;overflow:hidden;box-shadow:0 14px 36px #0a1a112e}.timeline-card.milestone.is-active,.timeline-card.milestone:hover{border-color:#6ca177;box-shadow:0 22px 54px #0a1c1247}.milestone-visual{background:#0d1d15;border-bottom:1px solid #264232;flex-direction:column;flex-shrink:0;justify-content:space-between;gap:6px;height:clamp(144px,18.5vh,170px);padding:10px 14px;display:flex;position:relative;overflow:hidden}.mv-header,.mv-footer{font:500 8.5px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#8bb092;z-index:2;justify-content:space-between;align-items:center;gap:8px;display:flex}.mv-status{color:#a8d4ad;background:#142c1f;border:1px solid #355843;border-radius:2px;padding:2px 6px}.mv-code-terminal{font:500 10px/1.42 var(--mono);color:#cde3ce;z-index:2;background:#132b1fc7;border:1px solid #284635;border-radius:4px;padding:6px 9px}.mv-line{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mv-prompt{color:#a8d4ad;margin-right:6px}.mv-line.is-pass{color:#93c99b}.mv-line.is-active{color:#edf4e8}.mv-cursor{color:#a8d4ad;animation:1s steps(2,start) infinite blinkCursor;display:inline-block}@keyframes blinkCursor{to{opacity:0}}.mv-curve-wrap{flex-shrink:0;align-items:center;width:100%;height:36px;display:flex}.mv-curve{opacity:.9;pointer-events:none;width:100%;height:100%}.mv-curve-bg{stroke:#264834;stroke-width:2px}.mv-curve-fg{stroke:#9cd1a3;stroke-width:2.2px;stroke-dasharray:340;stroke-dashoffset:0;animation:4.5s ease-in-out infinite alternate drawPulse}.mv-dot{fill:#a8d4ad}.mv-dot.is-end{fill:#edf4e8;filter:drop-shadow(0 0 6px #a8d4ad)}@keyframes drawPulse{0%{stroke-dashoffset:110px;opacity:.55}to{stroke-dashoffset:0;opacity:1}}.mv-agent-graph{flex:1;place-items:center;margin:2px 0;display:grid;position:relative}.mv-agent-ring{border:1px dashed #4a7859;border-radius:50%;width:92px;height:92px;animation:22s linear infinite orbit;position:absolute}.mv-agent-core{width:52px;height:52px;font:600 9.5px/1.1 var(--mono);color:#edf4e8;z-index:2;background:#1c442e;border:1px solid #a8d4ad;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex;box-shadow:0 0 24px #a8d4ad33}.mv-agent-core small{color:#a8d4ad;font-size:8.5px}.mv-agent-node{font:500 9px/1 var(--mono);color:#cde3ce;z-index:2;background:#153122;border:1px solid #3c654b;border-radius:999px;padding:4px 8px;position:absolute}.mv-agent-node.node-top{top:2px}.mv-agent-node.node-bottom{bottom:2px}.mv-agent-node.node-left{left:8px}.mv-agent-node.node-right{right:8px}.milestone-body{flex-direction:column;flex:1;justify-content:space-between;gap:7px;padding:clamp(14px,1.8vh,20px) clamp(18px,2vw,24px);display:flex;overflow-y:auto}.milestone-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.milestone-step{font:500 9.5px/1.3 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:#97bb9c}.milestone-badge{font:600 9px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#102418;background:#a8d4ad;border-radius:3px;padding:4px 8px}.milestone-title{font:400 clamp(22px, 2.2vw, 30px) / 1.12 var(--serif);letter-spacing:-.03em;color:#f2f7f0;margin:0}.milestone-subtitle{font:500 11px/1.3 var(--mono);color:#96b99c}.milestone-copy{color:#c8dacb;margin:0;font-size:13px;line-height:1.5}.milestone-highlights{background:#193727b8;border:1px solid #a8d4ad2e;border-left:3px solid #a8d4ad;border-radius:7px;padding:9px 13px}.milestone-highlights .learning-title{color:#a8d4ad}.milestone-highlights .learning-list{color:#dceadc;font-size:12.2px}.milestone-highlights .learning-marker{color:#a8d4ad}.milestone-tag{color:#bfe0c2;background:#1a3728;border-color:#3a6049}.timeline-foot{font:500 9.5px/1.3 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:#5b7563;border-top:1px solid #c0d1c3;justify-content:space-between;align-items:center;gap:16px;padding-top:10px;display:flex}.ascii-stream{color:#547a5d;animation:none}.about{padding:125px 0;display:block}.about-grid{grid-template-columns:1fr 1fr;gap:40px;display:grid}.about .section-index,.about-aside{color:#94ac9a}.about h2 span{color:#a8d4ad!important}.about-copy span{color:#a9bcae}.about-aside{border-color:#34473b}.pillars-grid{border-top:1px solid #2b4034;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:64px;padding-top:44px;display:grid}.pillar-card{background:#14241c;border:1px solid #2a4234;border-radius:4px;flex-direction:column;gap:10px;padding:22px;transition:border-color .25s,transform .25s;display:flex}.pillar-card:hover{border-color:#5d8c69;transform:translateY(-2px)}.pillar-label{font:500 10px/1.3 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:#a8d4ad}.pillar-card h3{font:400 22px/1.2 var(--serif);letter-spacing:-.02em;color:#edf4e8;margin:0}.pillar-card p{color:#9eb2a3;margin:0;font-size:13.5px;line-height:1.6}.contact{color:#edf4e8;background:#1d3c2b;padding:100px 0 34px}.contact .section-index{color:#b4cdb7}.contact h2 em{color:#b1d7b1}.contact .primary-link{color:#173322;background:#d2e7d0;border-color:#d2e7d0}.footer{color:#b2c9b5;border-color:#537360}@media (max-width:900px){.container{width:calc(100% - 40px)}.timeline-sticky{padding:56px 0 42px}.timeline-top-bar{flex-direction:column;align-items:flex-start;gap:16px}.timeline-controls{justify-content:space-between;width:100%}.timeline-scrubber{scrollbar-width:none;gap:8px;padding:4px 2px 8px;display:flex;overflow-x:auto}.timeline-scrubber::-webkit-scrollbar{display:none}.scrubber-rail{display:none}.scrubber-node{text-align:left;background:#edf3e9;border:1px solid #b5cab8;border-radius:999px;flex-direction:row;flex:none;align-items:center;gap:7px;padding:7px 10px}.scrubber-node.is-active{color:#edf4e8;background:#173a26;border-color:#173a26}.scrubber-node.is-active .node-dot{box-shadow:none;background:#a8d4ad;border-color:#a8d4ad}.scrubber-node.is-current-jump.is-active .node-period{color:#a8d4ad}.timeline-track{width:max-content;padding-inline:20px}.timeline-item{align-items:stretch}.timeline-connector{min-width:108px;padding-inline:8px}.timeline-connector.is-jump{min-width:126px}.connector-label{padding:3px 6px;font-size:8px}.timeline-card.project{scroll-snap-align:center;grid-template-columns:1fr;width:calc(100vw - 44px);max-width:540px;min-height:0;max-height:none}.project-visual{order:-1;height:235px;min-height:235px;padding:14px}.signal-art{min-height:155px}.signal-orbit{width:118px;height:118px}.timeline-card.milestone{scroll-snap-align:center;width:calc(100vw - 44px);max-width:480px;min-height:0;max-height:none}.milestone-visual{height:198px}.timeline-foot{flex-direction:column;align-items:flex-start;margin-top:12px}.about{padding:90px 0}.about-grid{grid-template-columns:1fr}.pillars-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:800px){.hero{min-height:0;padding:72px 0 35px}.hero h1{font-size:clamp(56px,13vw,84px)}.hero-visual{margin-top:20px}.ascii-orb{font-size:4.8px;line-height:.98}.contact{padding-top:80px}}@media (max-width:560px){.pillars-grid{grid-template-columns:1fr}}@media (max-width:380px){.hero-actions{flex-wrap:wrap}.project-title h3{font-size:28px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.ascii-orb{transform:none!important}.timeline-sticky{height:auto!important;position:static!important}.timeline-viewport{scroll-snap-type:x proximity;padding-bottom:14px;overflow-x:auto}}
