:root{--paper:#f2eee6;--ink:#111411;--green:#174c39;--orange:#e65a27;--line:#bcb7ac}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,sans-serif}
.scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:30}.scroll-progress span{display:block;width:0;height:100%;background:var(--orange)}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.13;z-index:9;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.14'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration:none}
.topbar{height:72px;padding:0 3vw;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;border-bottom:1px solid var(--line);position:sticky;top:0;background:#f2eee6ee;backdrop-filter:blur(10px);z-index:5}
.brand{font-weight:800;letter-spacing:.045em!important;padding:0 8px;white-space:nowrap}
.disciplina{text-align:center;font:12px 'DM Mono',monospace}
.disciplina i{display:inline-block;width:3px;height:3px;border-radius:50%;background:var(--ink);margin:0 10px;vertical-align:middle}
nav{display:flex;justify-content:flex-end;gap:clamp(10px,1.15vw,22px);font:10px 'DM Mono',monospace;text-transform:uppercase}
nav a:hover{color:var(--orange)}
.hero{min-height:calc(100vh - 72px);display:grid;grid-template-columns:1.15fr .52fr .82fr .42fr;border-bottom:1px solid var(--line);padding:4vw 3vw 2.4vw}
.hero-copy{padding:4vw 5vw 4vw 2vw;display:flex;flex-direction:column;justify-content:center}
.label{font:600 10px 'DM Mono',monospace;letter-spacing:.14em}
.hero h1{font-size:clamp(48px,5.5vw,94px);line-height:.92;letter-spacing:-.035em;word-spacing:.07em;margin:26px 0;font-weight:700}
.hero h1 span,.section-head h2 span,.experience h2 span,footer h2 span{color:var(--green)}
.intro{max-width:580px;font:14px/1.7 'DM Mono',monospace}
.professional-summary{max-width:680px;margin:14px 0 0;padding-left:14px;border-left:3px solid var(--orange);font:600 15px/1.55 Manrope,sans-serif}
.actions{display:flex;gap:12px;margin-top:32px}
.btn{border:1px solid var(--ink);padding:13px 16px;font:10px 'DM Mono',monospace;text-transform:uppercase}
.btn.primary,.btn:hover{background:var(--ink);color:var(--paper)}
.profile-portrait{position:relative;align-self:center;margin:0 2vw 0 0}.profile-portrait:before{content:"";position:absolute;inset:-12px 12px 12px -12px;border:1px solid var(--orange);z-index:-1;transition:transform .45s ease}.profile-portrait:hover:before{transform:translate(7px,-7px)}
.profile-portrait>div{aspect-ratio:4/5;overflow:hidden;background:#d8d0c3}.profile-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 42%;filter:saturate(.88) contrast(1.02);transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .4s ease}.profile-portrait:hover img{transform:scale(1.035);filter:saturate(1) contrast(1.02)}
.profile-portrait figcaption{display:flex;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid var(--ink);font:8px 'DM Mono',monospace;letter-spacing:.08em}.profile-portrait figcaption small{color:#6d675e;text-align:right}
.method{border-left:1px solid var(--line);padding:1vw 2.5vw;align-self:center}
.method ol{list-style:none;padding:0;margin:24px 0}
.method li{display:grid;grid-template-columns:42px 1fr;gap:8px 10px;min-height:77px;position:relative}
.method li:not(:last-child):after{content:"↓";position:absolute;left:15px;bottom:3px}
.method li b{border:1px solid var(--ink);width:38px;height:38px;display:grid;place-items:center;font:16px 'DM Mono',monospace}
.method li strong{border:1px solid var(--ink);padding:10px;text-transform:uppercase;font:10px/1.35 'DM Mono',monospace}
.method li small{grid-column:2;font:9px 'DM Mono',monospace;margin-top:-4px}
.note{text-align:center;color:var(--orange);font:italic 10px 'DM Mono',monospace}
.areas{border-left:1px solid var(--line);display:flex;flex-direction:column}
.areas a{flex:1;padding:1.5vw;display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid var(--line);transition:.2s}
.areas a:last-child{border:0}
.areas a:hover{background:var(--green);color:var(--paper)}
.areas em{font:32px 'DM Mono',monospace;color:var(--green);font-style:normal}
.areas a:hover em{color:var(--paper)}
.areas h2{font-size:15px;text-transform:uppercase}
.areas p{font:9px/1.6 'DM Mono',monospace}
.areas span{margin-top:auto}
.section{padding:8vw 5vw;border-bottom:1px solid var(--line)}
.section-head{display:flex;justify-content:space-between;gap:50px;margin-bottom:5vw}
.section-head .label{padding-top:14px}
.section-head h2,.experience h2{font-size:clamp(38px,4.6vw,74px);letter-spacing:-.055em;line-height:.98;margin:0}
.impact-strip{display:block;overflow:hidden;border-bottom:1px solid var(--line)}
.impact-track{display:flex;width:max-content;will-change:transform;animation:impact-marquee 34s linear infinite}
.impact-strip:hover .impact-track{animation-play-state:paused}
.impact-strip article{width:calc(100vw / 6);min-width:230px;min-height:145px;padding:28px 22px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}
.impact-strip strong{font-size:clamp(30px,3vw,52px);letter-spacing:-.05em;color:var(--green)}
.impact-strip span{font:9px/1.5 'DM Mono',monospace;text-transform:uppercase}
@keyframes impact-marquee{to{transform:translateX(-50%)}}
.process-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--line)}
.process-flow li{position:relative;min-height:330px;padding:18px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:10px;overflow:hidden}
.process-flow li:last-child{border-right:0}.process-flow b{color:var(--orange);font:10px 'DM Mono',monospace}.process-flow strong{font-size:18px}.process-flow small{font:9px/1.6 'DM Mono',monospace;color:#666}
.process-art{width:100%;max-width:170px;aspect-ratio:1/1;margin:0 auto 4px;background-image:url('process-illustrations.png');background-repeat:no-repeat;background-size:300% 200%;transition:transform .3s ease}
.process-flow li:hover .process-art{transform:scale(1.035)}
.art-need{background-position:0 0}.art-analysis{background-position:50% 0}.art-architecture{background-position:100% 0}.art-development{background-position:0 100%}.art-validation{background-position:50% 100%}.art-impact{background-position:100% 100%}
.featured-projects{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:55px}
.featured-projects article{min-height:380px;border:1px solid var(--ink);padding:28px;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s,background .25s}
.featured-projects article:hover{transform:translateY(-6px);box-shadow:0 22px 48px #11141118;background:#f8f5ee}
.featured-projects article>p:first-child{color:var(--orange);font:10px 'DM Mono',monospace;letter-spacing:.08em}.featured-projects h3{font-size:clamp(25px,2.3vw,38px);line-height:1.05;margin:24px 0 12px}.featured-projects article>p:nth-of-type(2){font:10px/1.65 'DM Mono',monospace}.featured-projects a{margin-top:auto;border-top:1px solid var(--ink);padding-top:16px;font:10px 'DM Mono',monospace;text-transform:uppercase}
.architecture{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:26px 0}.architecture span{border:1px solid var(--line);padding:7px;font:8px 'DM Mono',monospace}.architecture i{font-style:normal;color:var(--orange)}
.all-projects-label{margin:0 0 16px}
.project-carousel-controls{display:flex;align-items:center;justify-content:space-between;margin:0 0 18px;font:9px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.08em}.project-carousel-controls p{margin:0;color:#6e685f}.project-carousel-controls div{display:flex;gap:8px}.project-carousel-controls button{width:46px;height:46px;border:1px solid var(--ink);background:transparent;font-size:20px;cursor:pointer;transition:background .2s,color .2s,transform .2s}.project-carousel-controls button:hover{background:var(--ink);color:var(--paper);transform:scale(1.04)}
.project-carousel{display:flex;gap:16px;margin-right:-5vw;padding:2px 5vw 28px 0;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;cursor:grab;scrollbar-width:thin;scrollbar-color:var(--orange) #d7d1c6}.project-carousel:active{cursor:grabbing}.project-carousel::-webkit-scrollbar{height:6px}.project-carousel::-webkit-scrollbar-track{background:#d7d1c6}.project-carousel::-webkit-scrollbar-thumb{background:var(--orange)}
.project-card{--card-bg:#e9e0d2;--card-ink:#171614;--card-accent:#e65a27;position:relative;flex:0 0 clamp(360px,39vw,620px);min-height:530px;padding:34px;border:1px solid color-mix(in srgb,var(--card-accent) 48%,#111);background:var(--card-bg);color:var(--card-ink);scroll-snap-align:start;display:flex;flex-direction:column;overflow:hidden;isolation:isolate;transition:filter .3s ease}
.project-card:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-110px;top:-120px;background:var(--card-accent);opacity:.16;z-index:-1;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.project-card:hover:before{transform:scale(1.45) translate(-18px,18px)}
.project-card>p:first-child{margin:0;color:var(--card-accent);font:600 9px 'DM Mono',monospace;letter-spacing:.09em}.project-card h3{max-width:85%;margin:32px 0 16px;font-size:clamp(30px,3vw,48px);line-height:1.02;letter-spacing:-.045em}.project-card>p:nth-of-type(2){max-width:520px;margin:0;font:10px/1.7 'DM Mono',monospace}
.project-card .architecture{margin:30px 0 22px}.project-card .architecture span{border-color:color-mix(in srgb,var(--card-ink) 28%,transparent);background:#fff3}.project-card .architecture i{color:var(--card-accent)}
.card-result{margin-top:auto;padding:18px 0;border-top:1px solid color-mix(in srgb,var(--card-ink) 35%,transparent)}.card-result small{display:block;margin-bottom:7px;color:var(--card-accent);font:600 8px 'DM Mono',monospace;letter-spacing:.08em}.card-result strong{font:650 14px/1.45 Manrope,sans-serif}
.project-card>a{padding-top:16px;border-top:1px solid var(--card-ink);font:600 9px 'DM Mono',monospace;text-transform:uppercase}.project-card>a:hover{color:var(--card-accent)}
.project-python{--card-bg:#ead8c4;--card-accent:#c64f25}.project-resource{--card-bg:#d8d0c2;--card-accent:#39342f}.project-support{--card-bg:#cbd5d3;--card-accent:#355b67}.project-catalog{--card-bg:#ddced2;--card-accent:#765062}.project-smx{--card-bg:#dfd1b7;--card-accent:#9a6a2e}.project-iem{--card-bg:#d3d5cf;--card-accent:#425047}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
.filters{display:flex;gap:7px;border-bottom:1px solid var(--ink);padding-bottom:18px;overflow:auto}
.filters button{white-space:nowrap;border:1px solid var(--line);background:none;padding:9px 12px;font:9px 'DM Mono',monospace;text-transform:uppercase;cursor:pointer}
.filters button.active,.filters button:hover{background:var(--green);color:var(--paper);border-color:var(--green)}
.project{transition:opacity .18s ease,background .2s ease}
.project{display:grid;grid-template-columns:65px 1.1fr 1.3fr 1fr;gap:28px;align-items:center;padding:32px 0;border-bottom:1px solid var(--line)}
.project>b{font:26px 'DM Mono',monospace;color:var(--green)}
.project h3{font-size:21px;margin:6px 0}
.project small{font:8px 'DM Mono',monospace;color:var(--orange);letter-spacing:.12em}
.project>p{font:10px/1.65 'DM Mono',monospace}
.project[hidden]{display:none}
.private-repo{border-style:dashed;color:#6f6b64}
.github-projects{display:flex;justify-content:space-between;align-items:center;margin-top:34px;padding:18px 20px;border:1px solid var(--ink);font:500 10px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.06em}
.github-projects:hover{background:var(--ink);color:var(--paper)}
.credential-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.credential{border:1px solid var(--line);padding:28px;min-height:220px;display:grid;grid-template-columns:90px 1fr;gap:28px;align-items:center;background:#f8f5ee55}
.credential.featured{grid-column:1/-1}
.badge-frame{height:210px;background:#fff;overflow:hidden;display:flex;align-items:center}
.badge-frame img{width:100%;height:100%;object-fit:cover;object-position:left center}
.credential h3{font-size:27px;margin:9px 0}
.credential p{font:10px/1.6 'DM Mono',monospace}
.credential .number{color:var(--orange);letter-spacing:.1em}
.credential-index{font:500 36px 'DM Mono',monospace;color:var(--green);align-self:start;padding-top:4px}
.degree .credential-index{color:#ff8a61}
.coursera{grid-template-columns:90px 1fr 1fr}
.credential a,.private-note{display:inline-block;margin-top:18px;border-bottom:1px solid;font:10px 'DM Mono',monospace;padding-bottom:4px}
.credential-mark{width:130px;height:130px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font:38px 'DM Mono',monospace;color:var(--green)}
.credential-mark span{font-size:10px;margin-left:-30px;margin-top:47px}
.private-note{color:#777}
.coursera{display:block}
.verify-list{display:grid;grid-template-columns:repeat(2,1fr);gap:5px 20px;margin-top:22px}
.verify-list a{margin:0;padding:9px 0}
.experience{display:grid;grid-template-columns:.65fr 1.6fr;gap:6vw}
.experience h2{margin-top:26px}
.timeline article{display:grid;grid-template-columns:145px minmax(210px,.75fr) 1.65fr;gap:28px;padding:38px 0;border-bottom:1px solid var(--line)}
.timeline small,.timeline b{font:9px 'DM Mono',monospace;color:var(--orange)}
.timeline h3{font-size:17px}
.timeline p{font:10px/1.6 'DM Mono',monospace}
.when{display:flex;flex-direction:column;align-items:flex-start;gap:11px}
.contract-type{font:8px/1.4 'DM Mono',monospace;color:#666;text-transform:uppercase;letter-spacing:.08em}
.role-details p{margin-top:0}
.role-details ul{margin:14px 0 20px;padding-left:17px;font:10px/1.65 'DM Mono',monospace}
.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.metric-grid span{border:1px solid var(--line);padding:12px;font:8px/1.4 'DM Mono',monospace;text-transform:uppercase}
.metric-grid strong{display:block;margin-bottom:5px;color:var(--green);font:700 20px/1 Manrope,sans-serif;text-transform:none}
footer{background:var(--ink);color:var(--paper);padding:7vw 5vw 2vw}
.assistant-toggle{position:fixed;right:24px;bottom:24px;z-index:12;border:1px solid var(--ink);background:var(--green);color:var(--paper);padding:13px 17px;display:flex;align-items:center;gap:9px;font:500 10px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;box-shadow:0 12px 30px #11141126}
.assistant-toggle:hover{background:var(--ink)}
.assistant-panel{position:fixed;right:24px;bottom:78px;z-index:12;width:min(390px,calc(100vw - 32px));max-height:min(650px,calc(100vh - 110px));overflow:auto;border:1px solid var(--ink);background:var(--paper);box-shadow:0 24px 70px #11141133}
.assistant-panel[hidden]{display:none}
.assistant-header{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;padding:18px;background:var(--green);color:var(--paper)}
.assistant-header small{font:8px 'DM Mono',monospace;letter-spacing:.12em}.assistant-header h2{margin:5px 0 0;font-size:18px}.assistant-close{border:0;background:none;color:inherit;font-size:26px;cursor:pointer}
.assistant-conversation{display:flex;flex-direction:column;gap:10px;padding:18px 18px 8px}
.assistant-message{max-width:90%;padding:12px 14px;font:10px/1.6 'DM Mono',monospace;border:1px solid var(--line)}
.assistant-message.bot{align-self:flex-start;background:#f8f5ee}.assistant-message.user{align-self:flex-end;background:var(--ink);color:var(--paper);border-color:var(--ink)}
.assistant-message a{border-bottom:1px solid;color:var(--green)}
.assistant-questions{display:grid;gap:7px;padding:10px 18px}
.assistant-questions button{border:1px solid var(--line);background:transparent;text-align:left;padding:10px 12px;font:9px/1.4 'DM Mono',monospace;cursor:pointer}
.assistant-questions button:hover{border-color:var(--green);color:var(--green)}
.assistant-questions button:disabled{background:#dedbd4;color:#8b8881;border-color:#cbc7bf;cursor:not-allowed;text-decoration:line-through;text-decoration-thickness:1px}
.assistant-note{margin:0;padding:8px 18px 18px;color:#777;font:8px/1.5 'DM Mono',monospace}
footer>div:first-child{display:flex;justify-content:space-between;gap:40px}
footer h2{font-size:clamp(36px,4.5vw,66px);letter-spacing:-.055em;line-height:1;margin:0}
.links{display:grid;grid-template-columns:repeat(4,1fr);margin:6vw 0 4vw;border-top:1px solid #555}
.links a{border-bottom:1px solid #555;padding:20px 2px;font:10px 'DM Mono',monospace}
.links a:hover{color:var(--orange)}
.foot{display:flex;justify-content:space-between;font:8px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.12em}
.degree{min-height:220px;background:var(--green);color:var(--paper)}
.degree .number{color:#ff8a61}
.degree h3{font-size:clamp(30px,3vw,48px);line-height:1.05;letter-spacing:-.035em}
.degree-mark{width:130px;height:130px;border:1px solid var(--paper);border-radius:50%;display:grid;place-items:center;font:38px 'DM Mono',monospace;color:var(--paper)}
.credentials{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--paper) 0%,#ded6ca 13%,#bdb2a2 50%,#e2dbd0 88%,var(--paper) 100%)}
.credentials:before{content:"";position:absolute;inset:7% -10% auto;height:1px;background:linear-gradient(90deg,transparent,#11141155,transparent)}
.credentials:after{content:"";position:absolute;left:-8%;right:-8%;bottom:6%;height:180px;background:radial-gradient(ellipse at center,#11141117,transparent 68%);pointer-events:none}
.credentials .section-head,.credentials .credential-grid{position:relative;z-index:1}.credentials .section-head h2 span{color:#3b342d}
.credentials .credential{position:relative;overflow:hidden;border-color:#8d8477;background:#e8dfd2;color:#171614;box-shadow:inset 0 0 0 0 #e65a27;opacity:1;clip-path:none;transform:translateX(-18px);transition:transform .75s cubic-bezier(.2,.75,.25,1),box-shadow .35s ease,border-color .35s ease}
.credentials .credential.in-view{transform:translateX(0)}
.credentials .credential:nth-child(2){background:#d4c8b8;transition-delay:.08s}.credentials .credential:nth-child(3){background:#c5b9a8;transition-delay:.16s}.credentials .credential:nth-child(4){background:#e1d6c7;transition-delay:.24s}
.credentials .credential.degree{background:#1d1c1a;color:#f2eee6;border-color:#1d1c1a}
.credentials .credential:before{content:"";position:absolute;inset:0 auto 0 0;width:0;background:#e65a2715;transition:width .45s ease;pointer-events:none}.credentials .credential:hover:before{width:100%}.credentials .credential:hover{border-color:#24211e;box-shadow:inset 6px 0 0 var(--orange)}
.credentials .credential>*{position:relative;z-index:1}.credentials .credential-index{color:#302c27;transition:transform .4s ease,color .4s ease}.credentials .credential:hover .credential-index{transform:translateX(8px);color:var(--orange)}.credentials .degree .credential-index{color:#ef7950}.credentials .degree .number{color:#ef7950}.credentials .degree h3{color:#f2eee6}
.credentials .credential a{transition:color .2s ease,border-color .2s ease}.credentials .credential a:hover{color:var(--orange);border-color:var(--orange)}
@media(max-width:1000px){.hero{grid-template-columns:1fr 1fr}
.profile-portrait{width:min(320px,80%);justify-self:center;margin:4vw auto}.method{border-left:0;border-top:1px solid var(--line)}
.impact-strip article{width:33.333vw}
.process-flow{grid-template-columns:repeat(3,1fr)}.process-flow li{min-height:390px}.process-flow li:nth-child(3){border-right:0}.process-flow li:nth-child(-n+3){border-bottom:1px solid var(--line)}
.featured-projects{grid-template-columns:1fr}
.areas{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);flex-direction:row}
.project{grid-template-columns:50px 1fr 1fr}
.project>p:last-child{grid-column:2/4}
.experience{grid-template-columns:1fr}
.timeline article{grid-template-columns:130px 1fr}.role-details{grid-column:2}
.credential-grid{grid-template-columns:1fr}
.credential.featured{grid-column:auto}
}
@media(max-width:700px){.topbar{grid-template-columns:1fr auto;height:62px}
.brand{letter-spacing:.035em;padding:0 4px}
.disciplina{display:none}
nav a:not(:last-child){display:none}
.hero{display:block;padding:13vw 5vw 0}
.hero-copy{padding:0 0 14vw}
.profile-portrait{width:min(280px,78vw);margin:0 auto 16vw}.profile-portrait figcaption{font-size:7px}
.hero h1{font-size:15vw}
.actions{flex-direction:column}
.method{border-left:0;border-top:1px solid var(--line);padding:12vw 0}
.areas{margin:0 -5vw;overflow:auto}
.areas a{min-width:220px;padding:25px}
.section{padding:19vw 5vw}
.section-head{display:block}
.section-head h2{margin-top:24px;font-size:11vw}
.project-carousel{margin-right:-5vw;padding-right:5vw}.project-card{flex-basis:86vw;min-height:510px;padding:26px}.project-card h3{font-size:34px}.project-carousel-controls p{max-width:190px;line-height:1.5}
.impact-strip article{width:68vw;min-width:220px;min-height:120px;padding:20px}.impact-track{animation-duration:28s}.process-flow{grid-template-columns:1fr}.process-flow li{min-height:230px;border-right:0;border-bottom:1px solid var(--line)!important;display:grid;grid-template-columns:32px 120px 1fr;grid-template-rows:auto auto;align-items:center}.process-flow li:last-child{border-bottom:0!important}.process-art{grid-row:1/3;grid-column:2;width:120px}.process-flow li strong,.process-flow li small{grid-column:3}.process-flow li b{grid-column:1;grid-row:1/3}
.project{grid-template-columns:42px 1fr;gap:12px}
.project>p{grid-column:2!important}
.credential{display:block;padding:20px}
.credential-index{margin-bottom:18px}.coursera{display:block}
.badge-frame{margin-bottom:20px}
.credential-mark{margin-bottom:22px}
.verify-list{grid-template-columns:1fr}
.experience{display:block}
.timeline article{grid-template-columns:1fr;gap:4px}
.role-details{grid-column:auto;margin-top:15px}.metric-grid{grid-template-columns:1fr 1fr}
.assistant-toggle{right:16px;bottom:16px;max-width:calc(100vw - 32px)}.assistant-panel{right:16px;bottom:70px;max-height:calc(100vh - 94px)}
footer>div:first-child{display:block}
footer h2{margin-top:24px}
.links{grid-template-columns:1fr}
.foot{gap:20px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.featured-projects article{transition:none}.impact-strip{overflow-x:auto}.impact-track{animation:none}.credentials .credential{opacity:1;clip-path:none;transform:none;transition:none}.credentials .credential:hover .credential-index{transform:none}}
