/* A restrained circuit motif over the original forest-green palette. */
:root{--signal:#9ec7ad}header{position:relative;z-index:2}nav{gap:25px}nav a{font-size:13px}nav a:last-child{margin-left:0}.wordmark:before{content:'>';font:500 17px monospace;color:var(--signal);margin-right:10px;vertical-align:3px}.hero{position:relative;isolation:isolate}.tech-label{display:flex;align-items:center;gap:10px;color:var(--signal);font:10px/1.6 ui-monospace,Consolas,monospace;letter-spacing:1.8px;margin:0 0 25px}.tech-label>span{width:6px;height:6px;background:var(--signal);box-shadow:0 0 0 4px #9ec7ad12}.circuit-art{position:absolute;z-index:-1;right:-4%;top:-30px;width:450px;height:680px;color:#9ec7ad17;pointer-events:none;overflow:hidden}.circuit-art svg{height:100%;width:100%}.hero-photo{border:1px solid #9ec7ad33;border-radius:130px 130px 10px 10px}.hero-photo:before{content:'';position:absolute;z-index:1;inset:12px;border:1px solid #f3f0e714;border-radius:118px 118px 3px 3px;pointer-events:none}.eyebrow,.track .when,.hero-bottom,.latest-label{font-family:ui-monospace,Consolas,monospace}.button{border-radius:5px}.timeline{background-image:radial-gradient(#9ec7ad0d 1px,transparent 1px);background-size:24px 24px}.track ol{position:relative}.timeline-progress{position:absolute;left:-1px;top:0;bottom:0;width:1px;background:var(--signal);transform:scaleY(0);transform-origin:top;pointer-events:none}.track li:before{border-radius:2px}.track li.revealed:before{background:var(--gold);box-shadow:0 0 0 4px #d4b77b12}.motion-ready .reveal-item{opacity:0;transform:translate3d(0,25px,0);transition:opacity .75s ease,transform .9s cubic-bezier(.22,1,.36,1)}.motion-ready .reveal-item.revealed{opacity:1;transform:none}.motion-ready .track li.reveal-item{transform:translate3d(14px,0,0)}.motion-ready .track li.revealed{transform:none}
/* One-shot circuit boot graphic. No perpetual render loop. */
.tech-loader{position:fixed;inset:0;z-index:10010;background:var(--deep);display:grid;place-items:center;pointer-events:all;animation:loader-safety .75s 2s forwards}.loader-core{text-align:center}.loader-core svg{width:180px;height:180px;color:var(--signal);overflow:visible}.chip-line{stroke-dasharray:320;stroke-dashoffset:320;animation:circuit-draw 1s cubic-bezier(.22,1,.36,1) forwards}.chip-logo{opacity:0;animation:chip-in .5s .25s forwards}.chip-node{transform-box:fill-box;transform-origin:center;animation:chip-pulse 1s ease-in-out}.loader-core p{font:12px ui-monospace,Consolas,monospace;letter-spacing:5px;color:var(--ivory);margin:20px 0}.loader-track{height:2px;width:90px;margin:auto;background:#9ec7ad22;overflow:hidden}.loader-track:after{content:'';display:block;height:100%;background:var(--signal);transform-origin:left;animation:boot-track 1.05s ease both}.tech-loader.done{animation:boot-away .75s cubic-bezier(.65,0,.25,1) forwards}.boot-enter main>.hero,.boot-enter .achievements-heading,.boot-enter .blog-hero{animation:content-in .9s ease both}@keyframes circuit-draw{to{stroke-dashoffset:0}}@keyframes chip-in{to{opacity:1}}@keyframes chip-pulse{50%{opacity:.35;transform:scale(.75)}}@keyframes boot-track{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes boot-away{to{transform:translate3d(0,-100%,0)}}@keyframes content-in{from{opacity:.4;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes loader-safety{to{opacity:0;visibility:hidden;pointer-events:none}}
/* Each layer only animates a compositor transform. Incoming coverage is set before paint. */
.page-transition{position:fixed;inset:0;z-index:10020;pointer-events:none;visibility:hidden;contain:layout style paint}.transition-panel{position:absolute;inset:0;background:#8ba991;transform:translate3d(-102%,0,0);will-change:transform}.transition-panel:nth-child(2){background:#173e32;transform:translate3d(-102%,0,0)}.transition-panel:nth-child(3){background:var(--deep);transform:translate3d(-102%,0,0);display:grid;place-items:center}.transition-mark{font:26px ui-monospace,Consolas,monospace;color:var(--signal);letter-spacing:-2px;border:1px solid #9ec7ad38;border-radius:12px;padding:20px;transform:rotate(-8deg)}.page-transition.cover{visibility:visible;pointer-events:all}.cover .transition-panel{transform:translate3d(0,0,0);transition:transform .68s cubic-bezier(.65,0,.35,1)}.cover .transition-panel:nth-child(2){transition-delay:.055s}.cover .transition-panel:nth-child(3){transition-delay:.11s}.nav-incoming .page-transition{visibility:visible}.nav-incoming .transition-panel{transform:translate3d(0,0,0)}.page-transition.arriving{visibility:visible}.arriving .transition-panel{animation:panel-away .88s cubic-bezier(.65,0,.35,1) both}.arriving .transition-panel:nth-child(2){animation-delay:.05s}.arriving .transition-panel:nth-child(3){animation-delay:.1s}@keyframes panel-away{from{transform:translate3d(0,0,0)}to{transform:translate3d(102%,0,0)}}
/* Accomplishments */
.achievements-heading{max-width:1268px;margin:auto;padding:75px 6% 45px}.achievements-heading h1{font-size:clamp(42px,6.2vw,82px);letter-spacing:-4px;overflow-wrap:anywhere}.achievements-heading>p:not(.tech-label){font-size:17px;line-height:1.7;color:var(--muted);max-width:570px}.achievement-index{display:flex;flex-wrap:wrap;gap:25px;border-top:1px solid var(--line);padding-top:25px;margin-top:38px;font:11px ui-monospace,Consolas,monospace;color:var(--gold)}.achievement-index a:hover{color:var(--ivory)}.achievements{max-width:1268px;margin:auto;padding:0 6% 90px}.achievement{display:grid;grid-template-columns:1fr 1.15fr;gap:8%;align-items:center;padding:65px 0;border-top:1px solid var(--line);scroll-margin-top:30px}.achievement-copy h2{font-size:clamp(33px,3.1vw,48px);letter-spacing:-1.8px;margin-bottom:22px}.achievement-copy>p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:1.85}.achievement-copy .eyebrow{color:var(--gold);letter-spacing:1.3px}.achievement-copy .button{margin-top:18px}.achievement-visual{position:relative;min-width:0;min-height:330px;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid #9ec7ad25;border-radius:14px;background:#0b241e66;overflow:hidden;margin:0}.channel-visual{aspect-ratio:1}.channel-visual:before,.afl-visual:before{content:'';position:absolute;inset:0;background-image:radial-gradient(#9ec7ad25 1px,transparent 1px);background-size:18px 18px;opacity:.55}.channel-visual img{width:47%;height:auto;border-radius:50%;position:relative;z-index:1;border:6px solid var(--green)}.visual-caption{font-size:12px;letter-spacing:.5px;color:var(--gold);margin-top:24px;z-index:1}.orbit{position:absolute;width:75%;height:75%;border:1px solid #9ec7ad33;border-radius:50%;transform:rotate(-25deg)}.orbit:after{content:'';position:absolute;top:14%;left:12%;width:8px;height:8px;border-radius:2px;background:var(--gold);box-shadow:0 0 0 6px #d4b77b12}.orbit-two{width:90%;height:48%;transform:rotate(30deg);border-color:#9ec7ad1c}.orbit-two:after{background:var(--signal);top:83%;left:19%}.award-achievement{grid-template-columns:1.15fr 1fr}.award-visual{background:radial-gradient(ellipse at 50% 50%,#90a99328,transparent 70%);border:0}.creator-award{max-width:250px;width:75%;filter:drop-shadow(8px 18px 10px #06191055);transform:rotate(6deg)}.award-visual figcaption{font:9px ui-monospace,Consolas,monospace;color:var(--muted);margin-top:20px}.achievement-stat{border-left:2px solid var(--signal);padding:5px 0 5px 22px;margin-top:28px;display:flex;flex-direction:column;gap:8px}.achievement-stat strong{font-size:46px;font-weight:500;color:var(--gold);letter-spacing:-2px}.achievement-stat span{font-size:11px;color:var(--muted)}.afl-visual{padding:35px 25px;align-self:stretch}.afl-logo-box{position:relative;z-index:1;background:var(--ivory);width:100%;padding:25px;border-radius:5px}.afl-logo-box img{display:block;max-width:100%;width:100%;height:65px;object-fit:contain}.growth-graphic{position:relative;z-index:1;display:flex;align-items:center;gap:15px;margin:38px 0 25px;width:100%;justify-content:space-between}.growth-graphic strong{display:block;font-size:40px;font-weight:500;color:var(--gold);letter-spacing:-2px}.growth-graphic span{display:block;font:9px/1.6 ui-monospace,Consolas,monospace;color:var(--muted);max-width:95px}.growth-graphic svg{width:55px;color:var(--signal)}.growth-nodes{display:grid;grid-template-columns:repeat(12,1fr);gap:8px;width:100%;position:relative}.growth-nodes i{height:5px;background:#9ec7ad6b;border-radius:1px}.growth-nodes i:nth-child(-n+9){background:var(--gold)}.achievement-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.achievement-tags span{font:10px ui-monospace,Consolas,monospace;border:1px solid var(--line);border-radius:4px;padding:8px 10px;color:var(--signal)}
@media(max-width:1000px){nav{gap:16px}nav a{font-size:12px}.achievement{gap:6%}.growth-graphic strong{font-size:32px}.afl-visual{padding:25px 18px}}
@media(max-width:720px){header{height:auto;min-height:85px;gap:18px;align-items:flex-start;padding-top:22px;padding-bottom:18px}nav{flex-wrap:wrap;justify-content:flex-end;gap:2px 18px;max-width:76%}nav a{padding:5px 0;font-size:11px}nav a[href="#timeline"],nav a[href="#skills"]{display:block}nav a.active:after{bottom:0}.wordmark{font-size:24px}.wordmark:before{font-size:13px;margin-right:6px}.tech-label{font-size:8px;letter-spacing:1.3px}.hero-photo{border-radius:115px 115px 8px 8px}.hero{overflow:hidden}.circuit-art{right:-50%;top:300px;opacity:.7}.achievements-heading{padding-top:45px}.achievements-heading h1{letter-spacing:-2px;font-size:clamp(32px,8.5vw,55px)}.achievements-heading>p:not(.tech-label){font-size:15px}.achievement-index{gap:14px;font-size:10px}.achievement{grid-template-columns:1fr;gap:30px;padding:40px 0}.achievement-visual{min-height:280px;max-width:420px;width:100%;margin:auto}.channel-visual{aspect-ratio:1.2}.award-visual{order:0}.award-achievement .achievement-copy{order:1}.achievement-copy h2{font-size:36px}.achievement-copy>p:not(.eyebrow){font-size:14px}.achievements{padding-bottom:40px}.growth-graphic{justify-content:center;gap:30px}.afl-logo-box{max-width:320px}.creator-award{max-width:210px}.hero-bottom{letter-spacing:.7px}.hero-bottom span{max-width:70%;line-height:1.7}}
@media(prefers-reduced-motion:reduce){.tech-loader,.page-transition{display:none!important}.motion-ready .reveal-item{opacity:1;transform:none!important;transition:none!important}.boot-enter main>.hero,.boot-enter .achievements-heading,.boot-enter .blog-hero{animation:none!important}.timeline-progress{display:none}}

.boot-pending body:before{content:"";position:fixed;inset:0;background:var(--deep);z-index:10000;animation:loader-safety .1s 3s forwards}@media(prefers-reduced-motion:reduce){.boot-pending body:before{display:none}}

/* Social destinations use logo buttons with accessible names. */
.social-icon{display:inline-flex!important;align-items:center;justify-content:center;flex-shrink:0;width:39px;height:39px;padding:10px!important;border:1px solid currentColor!important;border-radius:7px;line-height:1;color:var(--ivory);transition:background .2s,transform .2s;opacity:.85}.social-icon svg{display:block;width:18px;height:18px;fill:currentColor}.social-icon:hover{opacity:1;background:#9ec7ad18;transform:translateY(-2px)}.about-signoff .social-icon{color:var(--green);border-color:#102f2740!important}.about-signoff>div{align-items:center;gap:12px}.about-signoff{justify-content:flex-start}.blog-hero .social-icon{margin-top:3px}.hero{padding-bottom:45px}.contact-note .social-icon{vertical-align:middle}.achievements-heading h1{margin-bottom:35px}

.project-visual{min-height:350px;background:radial-gradient(ellipse at 30% 10%,#9ec7ad20,transparent 65%),#0b241e88;gap:22px;text-align:center;padding:30px}.project-app-mark{font:40px ui-monospace,Consolas,monospace;color:var(--signal);border:1px solid #9ec7ad66;border-radius:15px;padding:18px}.project-visual strong{font-size:28px;font-weight:500;line-height:1.3}.project-visual>span{font:10px/1.7 ui-monospace,Consolas,monospace;color:var(--gold)}.project-links{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.project-links .button{margin-top:0}.projects-page .achievements-heading{padding-bottom:25px}nav{gap:20px}@media(max-width:1000px){nav{gap:12px}}
