:root {
  --bg: #090909;
  --surface: #101010;
  --surface-2: #151515;
  --line: rgba(255,255,255,.13);
  --muted: #969696;
  --text: #f4f2ed;
  --accent: #d6ff43;
  --accent-2: #92f8dc;
  --radius: 26px;
  --pad: clamp(20px, 4vw, 64px);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
main { position:relative; z-index:1; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: Inter, system-ui, sans-serif;
  overflow-x: hidden;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
::selection { background: var(--accent); color: #000; }
.noise { position: fixed; inset: 0; opacity: .035; pointer-events: none; z-index: 1000; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E"); }
.cursor-glow { width: 460px; height: 460px; position: fixed; border-radius: 50%; pointer-events: none; z-index: -1; background: radial-gradient(circle, rgba(214,255,67,.07), transparent 68%); transform: translate(-50%, -50%); transition: opacity .3s; }
.scroll-visual { position:fixed; inset:0; overflow:hidden; pointer-events:none; z-index:0; }
.spatial-graph { position:absolute; inset:0; width:100%; height:100%; opacity:.9; }
.spatial-graph__veil { position:absolute; inset:0; background:radial-gradient(ellipse 48% 46% at 31% 37%,rgba(9,9,9,.88) 0%,rgba(9,9,9,.5) 48%,transparent 78%); }
.spatial-graph__hud { position:absolute; right:clamp(20px,4vw,64px); bottom:28px; display:flex; align-items:center; gap:18px; color:#66706c; font:500 8px 'DM Mono',monospace; letter-spacing:.13em; text-transform:uppercase; }
.spatial-graph__hud span:first-child { color:rgba(214,255,67,.78); }
.spatial-graph__hud span + span { padding-left:18px; border-left:1px solid rgba(255,255,255,.1); }
@media(max-width:760px){
  .spatial-graph { opacity:.72; }
  .spatial-graph__veil { background:linear-gradient(to bottom,rgba(9,9,9,.7) 0%,rgba(9,9,9,.4) 38%,transparent 68%); }
  .spatial-graph__hud { display:none; }
}
.section { padding: 120px var(--pad); max-width: 1280px; margin: 0 auto; }
.intro { position: fixed; inset: 0; background:radial-gradient(circle at 50% 42%,rgba(214,255,67,.055),transparent 27%),#050505; z-index: 9999; display: grid; place-items: center; cursor: pointer; overflow: hidden; transition:transform .42s cubic-bezier(.77,0,.18,1),opacity .32s ease; }
.intro.is-hidden { transform: translateY(-105%); opacity: .25; pointer-events: none; }
.intro__grid { position: absolute; inset: -15%; background-image: linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px); background-size: 70px 70px; transform: perspective(700px) rotateX(58deg) translateY(20%); transform-origin: center bottom; }
.intro__grid:after { content:""; position:absolute; inset:0; background:radial-gradient(circle at center,transparent 0 18%,rgba(5,5,5,.28) 53%,rgba(5,5,5,.9) 78%); }
.intro__scan { position:absolute; z-index:1; left:0; right:0; top:18%; height:1px; background:linear-gradient(90deg,transparent,rgba(214,255,67,.12) 18%,rgba(214,255,67,.68) 50%,rgba(214,255,67,.12) 82%,transparent); box-shadow:0 0 22px rgba(214,255,67,.18); animation:introScan 1.05s cubic-bezier(.45,0,.55,1) .12s both; }
.intro__network { position:absolute; z-index:1; inset:4% 0 7%; width:100%; height:89%; overflow:visible; }
.intro__edges path { fill:none; stroke:rgba(146,162,157,.32); stroke-width:1; vector-effect:non-scaling-stroke; opacity:0; stroke-dasharray:1800; stroke-dashoffset:1800; animation:introEdgeIn .52s cubic-bezier(.45,0,.25,1) .22s both; }
.intro__edges path:nth-child(2){animation-delay:.34s}.intro__edges path:nth-child(3){animation-delay:.46s}.intro__edges path:nth-child(4){animation-delay:.58s}.intro__edges path:nth-child(5){animation-delay:.7s}
.intro__edges .intro__edge--signal { stroke:rgba(214,255,67,.5); stroke-dasharray:4 11; stroke-dashoffset:60; animation:introSignalIn .3s ease .72s both,introSignalFlow .48s linear 1.02s 1; }
.intro__nodes circle { fill:#929d99; opacity:0; transform-box:fill-box; transform-origin:center; animation:introNodeIn .18s cubic-bezier(.16,1,.3,1) var(--node-delay,.04s) both,introNodePulse .42s ease-in-out calc(var(--node-delay,.04s) + .28s) 2; }
.intro__nodes .intro__node--accent { fill:var(--accent); filter:drop-shadow(0 0 7px rgba(214,255,67,.8)); }
.intro__nodes .intro__node--core { fill:var(--accent); filter:drop-shadow(0 0 12px rgba(214,255,67,.9)); }
.intro__status { position:absolute; z-index:3; top:32px; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:9px; color:#77807d; font:500 8px 'DM Mono',monospace; letter-spacing:.14em; white-space:nowrap; }
.intro__status i { width:5px; height:5px; border-radius:50%; background:var(--accent); box-shadow:0 0 12px var(--accent); animation:introStatus 1.1s ease infinite alternate; }
.intro__monogram { position:relative; font-size: clamp(7rem, 22vw, 22rem); font-weight: 900; letter-spacing: -.075em; line-height: .8; z-index: 3; text-shadow:0 24px 80px rgba(0,0,0,.8); animation:introMonogramIn .38s cubic-bezier(.16,1,.3,1) .48s both,introPulse .42s ease .9s 1 alternate; }
.intro__copy { position: absolute; left: var(--pad); right: var(--pad); bottom: 32px; display: flex; justify-content: space-between; font-family: 'DM Mono', monospace; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: #777; animation:introCopyIn .25s ease .72s both; }
@keyframes introMonogramIn { from{opacity:0;transform:translateY(12px) scale(.94)}to{opacity:1;transform:none} }
@keyframes introPulse { to { opacity:.62; transform: scale(.985); } }
@keyframes introCopyIn { from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none} }
@keyframes introScan { 0%{top:16%;opacity:0}12%,88%{opacity:1}100%{top:82%;opacity:0} }
@keyframes introEdgeIn { to{opacity:1;stroke-dashoffset:0} }
@keyframes introSignalIn { from{opacity:0}to{opacity:.62} }
@keyframes introSignalFlow { from{opacity:.36;stroke-dashoffset:60}to{opacity:.75;stroke-dashoffset:0} }
@keyframes introNodeIn { from{opacity:0;transform:scale(0)}to{opacity:.72;transform:scale(1)} }
@keyframes introNodePulse { 50%{opacity:1;transform:scale(1.45)} }
@keyframes introStatus { to{opacity:.28} }
.topbar { position: fixed; top: 24px; left: 50%; right: auto; z-index: 500; height: auto; padding: 6px; display: flex; align-items: center; justify-content: center; transform: translateX(-50%); border: 1px solid rgba(255,255,255,.08); border-radius: 999px; background: rgba(18,18,18,.72); backdrop-filter: blur(18px); box-shadow: 0 18px 45px rgba(0,0,0,.28); transition: .3s ease; }
.topbar.scrolled { background: rgba(18,18,18,.9); border-color: rgba(255,255,255,.13); }
.brand { display: flex; align-items: center; gap: 12px; font-size: 13px; font-weight: 700; text-transform: uppercase; }
.brand__mark { width: 38px; height: 38px; display:grid; place-items:center; border:1px solid var(--text); border-radius:50%; letter-spacing:-.08em; }
.brand__text { opacity:.8; }
.topbar .brand { display:none; }
.nav { position:relative; display:flex; gap:2px; font-family:'DM Mono', monospace; font-size:10px; text-transform:uppercase; color:#777; }
.nav-indicator { position:absolute; top:0; left:0; width:0; height:100%; border-radius:999px; background:rgba(255,255,255,.12); box-shadow:inset 0 1px 0 rgba(255,255,255,.06); opacity:0; pointer-events:none; transform:translateX(0); transition:width .36s cubic-bezier(.2,.8,.2,1),transform .56s cubic-bezier(.16,1,.3,1),opacity .2s ease; }
.nav-indicator.is-visible { opacity:1; }
.nav a { position:relative; z-index:1; padding:11px 15px; border-radius:999px; white-space:nowrap; transition:color .2s; }
.nav a:hover { color:#d8d8d8; }
.nav a.active { color:var(--text); }
.menu-toggle { display:none; width:42px; height:42px; border:1px solid var(--line); border-radius:50%; background:transparent; color:var(--text); }
.menu-toggle span { width:15px; height:1px; background:currentColor; display:block; margin:5px auto; }
.hero { padding-top: 160px; min-height: 100vh; }
.tool-marquee { position:relative; width:100%; margin:0 0 52px; overflow:hidden; border:1px solid rgba(255,255,255,.14); border-radius:999px; background:rgba(12,12,12,.56); box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 18px 50px rgba(0,0,0,.16); backdrop-filter:blur(12px); -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); }
.tool-marquee:before { content:""; position:absolute; z-index:2; inset:0; pointer-events:none; background:linear-gradient(90deg,rgba(9,9,9,.9),transparent 7% 93%,rgba(9,9,9,.9)); }
.tool-marquee__track { display:flex; width:max-content; animation:toolMarquee 68s linear infinite; will-change:transform; }
.tool-marquee:hover .tool-marquee__track { animation-play-state:paused; }
.tool-marquee__group { display:flex; flex:none; align-items:center; min-width:max-content; padding:0 14px; }
.tool-marquee__group span { display:flex; align-items:center; gap:28px; min-height:46px; padding-left:28px; color:#d1d1cc; font:500 10px 'DM Mono',monospace; letter-spacing:.15em; text-transform:uppercase; white-space:nowrap; }
.tool-marquee__group span:after { content:"+"; color:var(--accent); font-size:12px; line-height:1; text-shadow:0 0 12px rgba(214,255,67,.55); }
@keyframes toolMarquee { to{transform:translateX(-50%)} }
.hero__eyebrow { display:flex; gap:13px; align-items:center; color:#969696; font-family:'DM Mono', monospace; font-size:11px; text-transform:uppercase; }
.dot { width:5px; height:5px; border-radius:50%; background:var(--accent); box-shadow:0 0 16px var(--accent); }
.hero__title-wrap { margin:32px 0 30px; text-align:center; }
.hero__kicker { margin:0 0 8px; font:500 11px 'DM Mono', monospace; letter-spacing:.16em; color:var(--accent); }
.hero__title { margin:0; font-size:clamp(5rem, 15vw, 14rem); line-height:.72; letter-spacing:-.085em; font-weight:900; display:flex; flex-direction:column; align-items:center; }
.hero__title span:last-child { color: transparent; -webkit-text-stroke: 1.5px rgba(244,242,237,.85); }
.hero__title--positioning { font-size:clamp(3.4rem,9.2vw,9rem); line-height:.8; letter-spacing:-.08em; }
.hero__positioning { max-width:650px; margin:34px auto 0; color:#a4a4a4; font-size:clamp(1rem,1.7vw,1.35rem); line-height:1.55; letter-spacing:-.02em; text-align:center; }
.hero-grid { display:grid; grid-template-columns: 1fr 1.2fr 1fr; grid-template-rows:auto auto; gap:14px; }
.identity-card, .portrait-card, .location-card { min-height:330px; border:1px solid var(--line); border-radius:var(--radius); background:linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.015)); position:relative; overflow:hidden; }
.identity-card { padding:30px; display:flex; flex-direction:column; justify-content:space-between; }
.identity-card p { max-width:420px; margin:70px 0 0; color:#d7d7d2; font-size:clamp(1.25rem,2vw,1.85rem); line-height:1.18; letter-spacing:-.03em; }
.card-label, .section-index { font:500 10px 'DM Mono', monospace; letter-spacing:.13em; color:#8d8d8d; }
.chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:30px; }
.chips span, .project-tags span { border:1px solid var(--line); border-radius:999px; padding:7px 10px; font:400 10px 'DM Mono', monospace; color:#a8a8a8; }
.identity-card blockquote { margin:20px 0 0; font-size:14px; color:var(--accent); }
.portrait-card { grid-row: span 2; min-height:674px; display:grid; place-items:center; background:radial-gradient(circle at 50% 30%,rgba(214,255,67,.1),transparent 30%),#0e0e0e; }
.portrait-card__lines { position:absolute; inset:0; background:repeating-linear-gradient(90deg, transparent 0 54px, rgba(255,255,255,.035) 55px), repeating-linear-gradient(0deg, transparent 0 54px, rgba(255,255,255,.035) 55px); mask-image:linear-gradient(to bottom, transparent, #000 20%, #000 80%, transparent); }
.portrait-card__caption { position:absolute; bottom:24px; font:400 9px 'DM Mono', monospace; letter-spacing:.1em; color:#5d5d5d; text-transform:uppercase; }
.portrait-gallery-card { padding:12px 12px 52px; }
.photo-gallery { position:relative; z-index:2; width:100%; height:100%; }
.photo-gallery__item { position:relative; width:100%; height:100%; overflow:hidden; padding:0; border:1px solid rgba(255,255,255,.13); background:#0b0d0c; color:var(--text); cursor:zoom-in; isolation:isolate; transition:border-color .25s ease,filter .25s ease,box-shadow .25s ease; }
.photo-gallery__item:before { content:""; position:absolute; z-index:5; inset:0; pointer-events:none; opacity:.28; background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px); background-size:32px 32px; -webkit-mask-image:linear-gradient(145deg,#000,transparent 76%); mask-image:linear-gradient(145deg,#000,transparent 76%); }
.photo-gallery__item:after { content:"+"; position:absolute; z-index:9; right:16px; top:12px; color:var(--accent); font:300 20px 'DM Mono',monospace; opacity:.72; }
.photo-gallery__slide { --slide-glow:rgba(214,255,67,.18); position:absolute; z-index:1; inset:0; display:block; overflow:hidden; opacity:0; background:radial-gradient(circle at 68% 28%,var(--slide-glow),transparent 37%),linear-gradient(145deg,#171916,#0b0d0d); transform:scale(1.045); transition:opacity .7s ease,transform 3s cubic-bezier(.2,.7,.2,1); pointer-events:none; }
.photo-gallery__slide:nth-child(2) { --slide-glow:rgba(146,248,220,.17); background:radial-gradient(circle at 28% 68%,var(--slide-glow),transparent 39%),linear-gradient(145deg,#101817,#0b0d0d); }
.photo-gallery__slide:nth-child(3) { --slide-glow:rgba(244,242,237,.13); background:radial-gradient(circle at 76% 76%,var(--slide-glow),transparent 36%),linear-gradient(145deg,#181714,#0c0d0c); }
.photo-gallery__slide:nth-child(4) { --slide-glow:rgba(146,248,220,.14); background:radial-gradient(circle at 72% 58%,var(--slide-glow),transparent 38%),linear-gradient(145deg,#0f1716,#0a0c0c); }
.photo-gallery__slide.is-active { z-index:2; opacity:1; transform:scale(1); }
.photo-gallery__slide img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.78) contrast(1.06); transform:scale(1.06); }
.photo-gallery__slide:nth-child(1) img { object-position:50% center; }
.photo-gallery__slide:nth-child(2) img { object-position:50% center; }
.photo-gallery__slide:nth-child(3) img { object-position:68% center; }
.photo-gallery__slide:nth-child(4) img { object-position:52% center; }
.photo-gallery__slide.is-active img { animation:galleryPhotoDrift 3s cubic-bezier(.2,.65,.25,1) both; }
.photo-gallery__placeholder { position:absolute; inset:0; display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; gap:7px; padding:24px; }
.photo-gallery__slide.has-photo .photo-gallery__placeholder { opacity:0; }
.photo-gallery__placeholder:before { content:""; position:absolute; left:24px; right:24px; bottom:70px; height:1px; background:linear-gradient(90deg,var(--slide-glow),transparent); opacity:.42; }
.photo-gallery__placeholder b { color:#d9d9d3; font:500 12px 'DM Mono',monospace; letter-spacing:.1em; }
.photo-gallery__placeholder small { color:#626862; font:500 7px 'DM Mono',monospace; letter-spacing:.15em; }
.photo-gallery__status { position:absolute; z-index:8; left:16px; top:15px; color:#747b75; font:500 7px 'DM Mono',monospace; letter-spacing:.14em; }
.photo-gallery__status:before { content:""; display:inline-block; width:5px; height:5px; margin-right:8px; border-radius:50%; background:var(--accent); box-shadow:0 0 10px rgba(214,255,67,.65); animation:galleryStatusPulse 1.8s ease-in-out infinite; }
.photo-gallery__counter { position:absolute; z-index:8; right:17px; bottom:20px; display:flex; align-items:baseline; gap:6px; color:#626a64; font:500 8px 'DM Mono',monospace; letter-spacing:.1em; }
.photo-gallery__counter b { color:var(--text); font-size:17px; font-weight:500; }.photo-gallery__counter i{font-style:normal}.photo-gallery__counter small{font-size:8px}
.photo-gallery__progress { position:absolute; z-index:8; left:16px; right:16px; bottom:12px; height:1px; overflow:hidden; background:rgba(255,255,255,.1); }
.photo-gallery__progress i { display:block; width:100%; height:100%; background:linear-gradient(90deg,var(--accent),var(--accent-2)); transform-origin:left; animation:galleryProgress 3s linear infinite; }
.photo-gallery__item:hover,.photo-gallery__item:focus-visible { border-color:rgba(214,255,67,.7); filter:brightness(1.08); outline:none; box-shadow:0 0 34px rgba(214,255,67,.055); }
.photo-gallery__item:focus-visible { box-shadow:inset 0 0 0 2px #0b0b0b,0 0 0 2px var(--accent); }
.photo-gallery__item.is-paused .photo-gallery__progress i,.photo-gallery__item.is-paused .photo-gallery__status:before,body.photo-lightbox-open .photo-gallery__progress i { animation-play-state:paused; }
@keyframes galleryPhotoDrift { from{transform:scale(1.08) translate3d(-1.2%,.6%,0)}to{transform:scale(1.015) translate3d(0,0,0)} }
@keyframes galleryProgress { from{transform:scaleX(0)}to{transform:scaleX(1)} }
@keyframes galleryStatusPulse { 50%{opacity:.28;transform:scale(.72)} }

.photo-lightbox { width:100vw; max-width:none; height:100dvh; max-height:none; margin:0; padding:clamp(18px,4vw,52px); border:0; background:rgba(5,6,5,.94); color:var(--text); overflow:hidden; }
.photo-lightbox[open] { display:grid; grid-template-columns:52px minmax(0,1fr) 52px; align-items:center; gap:clamp(10px,2vw,28px); }
.photo-lightbox::backdrop { background:rgba(0,0,0,.82); backdrop-filter:blur(12px); }
.photo-lightbox__figure { width:min(980px,100%); min-width:0; margin:auto; }
.photo-lightbox__stage { position:relative; width:100%; height:min(78dvh,760px); overflow:hidden; border:1px solid rgba(255,255,255,.16); border-radius:24px; background:radial-gradient(circle at 52% 42%,rgba(214,255,67,.15),transparent 30%),#0b0c0b; }
.photo-lightbox__stage:after { content:""; position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:44px 44px; mask-image:radial-gradient(circle at center,#000,transparent 82%); }
.photo-lightbox__image { position:relative; z-index:2; width:100%; height:100%; object-fit:contain; background:#080808; }
.photo-lightbox__placeholder { position:absolute; z-index:1; inset:0; display:grid; place-items:center; }
.photo-lightbox [hidden] { display:none!important; }
.photo-lightbox__placeholder span { font-size:clamp(6rem,20vw,14rem); font-weight:900; letter-spacing:-.11em; }
.photo-lightbox__placeholder b { position:absolute; right:24px; top:22px; color:var(--accent); font:500 10px 'DM Mono',monospace; letter-spacing:.12em; }
.photo-lightbox figcaption { padding-top:14px; color:#858b85; font:500 9px 'DM Mono',monospace; letter-spacing:.14em; text-align:center; }
.photo-lightbox button { display:grid; place-items:center; border:1px solid rgba(255,255,255,.2); border-radius:50%; background:rgba(15,15,15,.78); color:var(--text); cursor:pointer; transition:border-color .2s ease,color .2s ease,background .2s ease; }
.photo-lightbox button:hover,.photo-lightbox button:focus-visible { border-color:var(--accent); color:var(--accent); outline:none; }
.photo-lightbox__close { position:absolute; z-index:5; top:22px; right:22px; width:44px; height:44px; font-size:24px; }
.photo-lightbox__nav { width:52px; height:52px; font-size:20px; }
body.photo-lightbox-open { overflow:hidden; }
@media(max-width:760px){
  .portrait-gallery-card{padding:9px 9px 43px}
  .photo-gallery__placeholder{padding:18px}
  .photo-gallery__placeholder:before{left:18px;right:18px;bottom:62px}
  .photo-gallery__status{left:12px;top:12px}
  .photo-gallery__counter{right:13px;bottom:18px}
  .photo-gallery__progress{left:12px;right:12px;bottom:10px}
  .photo-lightbox{padding:70px 14px 18px}
  .photo-lightbox[open]{grid-template-columns:42px minmax(0,1fr) 42px;gap:7px}
  .photo-lightbox__stage{height:70dvh;border-radius:18px}
  .photo-lightbox__nav{width:42px;height:42px}
  .photo-lightbox__close{top:14px;right:14px}
}
@media(prefers-reduced-motion:reduce){
  .photo-gallery__item,.photo-gallery__slide,.photo-gallery__slide img,.photo-lightbox button{transition:none;animation:none}
  .photo-gallery__progress i,.photo-gallery__status:before{animation:none}
}
.location-card { padding:28px; display:flex; justify-content:space-between; flex-direction:column; }
.location-pair { display:contents; }
.location-card__grid { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size:28px 28px; mask-image:radial-gradient(circle at 58% 42%, black, transparent 68%); }
.location-card > .card-label,.location-card__copy { position:relative; z-index:3; }
.location-card__map { position:absolute; z-index:1; inset:44px 10px 68px; opacity:.48; }
.location-card__map svg { display:block; width:100%; height:100%; overflow:visible; }
.location-card__map path,.location-card__map ellipse { fill:none; stroke:rgba(146,162,157,.4); stroke-width:1; vector-effect:non-scaling-stroke; }
.location-card__map circle { fill:#87928d; filter:drop-shadow(0 0 4px rgba(146,162,157,.55)); }
.location-card__map .map-coast { stroke:rgba(214,255,67,.48); stroke-width:1.3; }
.location-card__map .map-route { stroke:var(--accent-2); stroke-dasharray:3 8; animation:locationRoute 7s linear infinite; }
.location-card h3 { position:relative; margin:0 0 8px; font-size:1.7rem; }
.location-card p { position:relative; margin:0; color:#7d7d7d; font:400 11px 'DM Mono', monospace; }
.location-card__pulse { position:absolute; z-index:2; width:18px; height:18px; right:24%; top:38%; border-radius:50%; border:1px solid var(--accent); background:#0d0d0d; animation:pulse 1.8s infinite; }
.location-card__pulse:after { content:""; position:absolute; inset:5px; background:var(--accent); border-radius:50%; }
.location-card__pulse--potential { right:19%; top:43%; border-color:var(--accent-2); }
.location-card__pulse--potential:after { background:var(--accent-2); }
.location-card--potential { background:radial-gradient(circle at 75% 32%,rgba(146,248,220,.07),transparent 34%),linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.012)); }
@keyframes locationRoute { to{stroke-dashoffset:-44} }
@keyframes pulse { 50% { box-shadow:0 0 0 20px rgba(214,255,67,0); } 0%,100% { box-shadow:0 0 0 0 rgba(214,255,67,.18); } }
@media(max-width:1050px){
  .location-pair{display:grid;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .location-pair .location-card{grid-column:auto;min-width:0}
}
@media(max-width:760px){
  .location-pair{grid-template-columns:1fr}
  .location-card__map{inset:42px 8px 70px}
}
@media(prefers-reduced-motion:reduce){
  .location-card__map .map-route,.location-card__pulse{animation:none}
}
.measurement-model { margin-top:18px; padding:clamp(24px,4vw,48px); border:1px solid var(--line); border-radius:var(--radius); background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.012)); }
.measurement-model__header { display:flex; flex-direction:column; align-items:center; gap:18px; padding-bottom:26px; border-bottom:1px solid var(--line); text-align:center; }
.measurement-model__header strong { max-width:650px; margin-inline:auto; font-size:clamp(1.5rem,2.8vw,2.7rem); line-height:1.02; letter-spacing:-.05em; }
.measurement-model__sources { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding:14px 0; }
.measurement-source { min-height:170px; padding:24px; border:1px solid var(--line); background:#0d0d0d; }
.measurement-source__index { color:var(--accent); font:500 10px 'DM Mono',monospace; letter-spacing:.1em; }
.measurement-source h3 { margin:42px 0 10px; font-size:clamp(1.7rem,3vw,3rem); letter-spacing:-.055em; }
.measurement-source p { max-width:420px; margin:0; color:#8d8d8d; line-height:1.6; }
.measurement-source__tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:20px; }
.measurement-source__tags span { padding:6px 9px; border:1px solid rgba(214,255,67,.22); border-radius:999px; color:#b9c58d; font:500 9px 'DM Mono',monospace; letter-spacing:.08em; text-transform:uppercase; }
.measurement-model__chain { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding-top:20px; color:#cfcfc9; font:500 10px 'DM Mono',monospace; letter-spacing:.1em; text-transform:uppercase; }
.measurement-model__chain i { color:var(--accent); font-style:normal; font-size:16px; }
.home-about { display:grid; grid-template-columns:.65fr 1fr 1fr; gap:28px; padding:36px 0 0; border-top:1px solid var(--line); margin-top:42px; }
.home-about p { max-width:420px; margin:0; color:#929292; line-height:1.7; }
.section-heading { display:block; margin:0 auto 54px; text-align:center; }
.section-heading > p { max-width:620px; margin:18px auto 0; }
.section-heading h2 { margin:10px 0 0; font-size:clamp(3rem, 7vw, 7rem); letter-spacing:-.07em; line-height:.88; }
.section-heading > p { color:#8f8f8f; line-height:1.7; }
.projects-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.project-card { border:1px solid var(--line); border-radius:var(--radius); padding:14px; background:#0d0d0d; transition:transform .4s cubic-bezier(.2,.8,.2,1), border-color .3s; }
.project-card:hover { transform:translateY(-8px); border-color:rgba(214,255,67,.48); }
.project-card--wide { grid-column:span 2; }
.project-visual { height:360px; border-radius:calc(var(--radius) - 8px); background:#151515; position:relative; overflow:hidden; }
.projects-grid .project-visual { height:auto; aspect-ratio:4 / 5; }
.project-card--wide .project-visual { height:460px; }
.project-meta { display:flex; justify-content:space-between; margin:18px 5px 10px; font:400 10px 'DM Mono', monospace; color:#7f7f7f; text-transform:uppercase; }
.project-card h3 { margin:0 5px; font-size:clamp(2rem,4vw,4.7rem); letter-spacing:-.055em; }
.project-card p { max-width:680px; margin:14px 5px 20px; color:#969696; line-height:1.6; }
.project-tags { display:flex; flex-wrap:wrap; gap:6px; margin:0 5px 6px; }
.visual-visppy { background:radial-gradient(circle at 65% 40%, rgba(146,248,220,.2), transparent 30%), linear-gradient(135deg,#0b1212,#151515); }
.vision-frame { position:absolute; inset:10% 7%; border:1px solid rgba(146,248,220,.38); border-radius:20px; }
.vision-frame:before,.vision-frame:after { content:""; position:absolute; background:rgba(146,248,220,.35); }
.vision-frame:before { left:50%; top:0; width:1px; height:100%; }.vision-frame:after { top:50%; left:0; width:100%; height:1px; }
.vision-node { position:absolute; width:18px; height:18px; border-radius:50%; background:var(--accent-2); box-shadow:0 0 24px rgba(146,248,220,.7); }.n1{left:22%;top:63%}.n2{left:54%;top:28%}.n3{right:20%;bottom:24%}
.vision-path { position:absolute; width:47%; height:31%; left:23%; top:30%; border:2px dashed rgba(214,255,67,.6); border-color:rgba(214,255,67,.6) transparent transparent rgba(214,255,67,.6); border-radius:50%; transform:rotate(-8deg); }
.visual-mandacaru { background:linear-gradient(140deg,#16140c,#121212); }.doc-stack{position:absolute;width:43%;height:64%;left:29%;top:18%;border:1px solid rgba(214,255,67,.35);border-radius:14px;background:#171711}.d1{transform:rotate(-8deg) translate(-32px,8px);opacity:.4}.d2{transform:rotate(7deg) translate(28px,0);opacity:.65}.d3:before{content:"";position:absolute;left:12%;right:12%;top:15%;height:1px;background:#63633d;box-shadow:0 25px #3f3f2c,0 50px #3f3f2c,0 75px #3f3f2c,0 100px #3f3f2c}.search-beam{position:absolute;left:8%;right:8%;top:57%;height:1px;background:var(--accent);box-shadow:0 0 25px var(--accent);animation:scan 2.8s ease-in-out infinite alternate}@keyframes scan{to{top:29%}}
.visual-churn { background:linear-gradient(180deg,#141414,#0c0c0c); }.chart-bars{position:absolute;left:8%;right:8%;bottom:15%;height:68%;display:flex;gap:3%;align-items:end}.chart-bars i{flex:1;border:1px solid #353535;border-bottom:0;border-radius:8px 8px 0 0;background:linear-gradient(#252525,#121212)}.chart-bars i:nth-child(1){height:35%}.chart-bars i:nth-child(2){height:53%}.chart-bars i:nth-child(3){height:46%}.chart-bars i:nth-child(4){height:68%}.chart-bars i:nth-child(5){height:62%}.chart-bars i:nth-child(6){height:88%}.visual-churn svg{position:absolute;inset:0;width:100%;height:100%;}.visual-churn path{fill:none;stroke:var(--accent);stroke-width:2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 7px rgba(214,255,67,.6))}
.visual-marketing{background:radial-gradient(circle at center,rgba(214,255,67,.12),transparent 50%),#111}.funnel{position:absolute;inset:15% 24%;display:flex;flex-direction:column;gap:8px;justify-content:center}.funnel i{height:40px;border:1px solid rgba(214,255,67,.25);background:rgba(214,255,67,.04);margin:auto}.funnel i:nth-child(1){width:100%}.funnel i:nth-child(2){width:75%}.funnel i:nth-child(3){width:52%}.funnel i:nth-child(4){width:28%;background:var(--accent)}.metric{position:absolute;border:1px solid var(--line);border-radius:99px;padding:8px 10px;font:500 9px 'DM Mono',monospace}.m1{left:8%;top:18%}.m2{right:8%;top:33%}.m3{left:12%;bottom:16%}
.visual-ecommerce{background:#101010}.matrix{position:absolute;inset:10%;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:38px 38px;border:1px solid var(--line)}.basket-dot{position:absolute;width:11px;height:11px;border-radius:50%;background:var(--accent);box-shadow:0 0 18px rgba(214,255,67,.5)}.b1{left:25%;top:30%}.b2{left:47%;top:64%}.b3{right:22%;top:43%}.b4{right:36%;bottom:22%}
.visual-eduqy { display:grid; place-items:center; background:radial-gradient(circle at 50% 48%,rgba(146,248,220,.15),transparent 34%),linear-gradient(145deg,#0d1716,#111212); }
.visual-eduqy svg { position:absolute; inset:0; width:100%; height:100%; }
.visual-eduqy path { fill:none; stroke:rgba(146,248,220,.28); stroke-width:1.2; stroke-dasharray:4 8; vector-effect:non-scaling-stroke; }
.eduqy-core { position:relative; z-index:2; width:96px; aspect-ratio:1; display:grid; place-items:center; border:1px solid rgba(146,248,220,.55); border-radius:50%; color:#dffef5; font:600 36px 'DM Mono',monospace; box-shadow:0 0 52px rgba(146,248,220,.08); }
.eduqy-node,.abade-signal { position:absolute; width:10px; height:10px; border-radius:50%; background:var(--accent-2); box-shadow:0 0 18px rgba(146,248,220,.6); }
.eduqy-node--one { left:19%; bottom:23%; }.eduqy-node--two { right:20%; top:22%; }.eduqy-node--three { right:14%; bottom:30%; }
.visual-abade { display:grid; place-items:center; background:radial-gradient(circle at 50% 48%,rgba(214,255,67,.13),transparent 34%),#10110f; }
.abade-grid { position:absolute; inset:8%; border:1px solid rgba(214,255,67,.18); background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px); background-size:34px 34px; }
.abade-mark { position:relative; z-index:2; font-size:clamp(3rem,7vw,6.5rem); font-weight:900; letter-spacing:-.1em; }
.abade-signal { width:8px; height:8px; background:var(--accent); box-shadow:0 0 18px rgba(214,255,67,.65); }
.abade-signal--one { left:20%; top:22%; }.abade-signal--two { right:18%; top:36%; }.abade-signal--three { right:30%; bottom:20%; }
.visual-echo{display:grid;place-items:center;background:radial-gradient(circle at center,rgba(146,248,220,.15),transparent 37%),#0f1010}.network-ring{position:absolute;border:1px solid rgba(146,248,220,.25);border-radius:50%;animation:spin 14s linear infinite}.network-ring:before,.network-ring:after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:var(--accent-2);top:50%;left:-5px}.r1{width:260px;height:260px}.r2{width:390px;height:390px;animation-direction:reverse;animation-duration:20s}.r2:before{left:auto;right:-5px}.network-core{width:120px;height:120px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--accent-2);font:600 18px 'DM Mono',monospace;letter-spacing:.15em}@keyframes spin{to{transform:rotate(360deg)}}
.skills-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.skill-block { min-height:370px; padding:26px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; flex-direction:column; }
.skill-num { font:500 10px 'DM Mono',monospace; color:var(--accent); }
.skill-block h3 { margin:70px 0 28px; font-size:1.65rem; letter-spacing:-.04em; }
.skill-list { display:flex; flex-direction:column; gap:11px; color:#8c8c8c; font:400 12px 'DM Mono', monospace; }
.service-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.service-row { display:grid; grid-template-columns:1fr 28px; gap:18px; align-items:start; min-height:210px; padding:28px; border:1px solid var(--line); border-radius:var(--radius); background:rgba(17,17,17,.62); transition:.25s; }
.service-row:hover { transform:translateY(-5px); border-color:rgba(214,255,67,.48); color:var(--accent); }
.service-row > span { font:400 10px 'DM Mono', monospace; color:#777; }.service-row h3{margin:0;font-size:clamp(1.5rem,3vw,3rem);letter-spacing:-.045em}.service-row p{margin:0;color:#898989;line-height:1.6}.service-row b{font-size:23px;font-weight:400}
.availability-shell { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr); border:1px solid var(--line); border-radius:32px; overflow:hidden; background:linear-gradient(135deg,#171717,#0d0d0d); }
.availability-copy { min-width:0; padding:clamp(35px,6vw,84px); display:flex; flex-direction:column; align-items:center; text-align:center; }
.availability-copy h2 { max-width:100%; font-size:clamp(3rem,7vw,7rem); line-height:.88; letter-spacing:-.07em; margin:10px 0 18px; white-space:nowrap; }
html:lang(pt-BR) .availability-copy h2,
html:lang(es) .availability-copy h2 { font-size:clamp(2.75rem,4.6vw,4.4rem); }
.availability-copy p { color:#9a9a9a; line-height:1.7; max-width:520px; margin:0 0 36px; }
.button { display:flex; align-items:center; justify-content:space-between; gap:30px; min-width:220px; border:1px solid var(--line); border-radius:999px; padding:16px 18px; font:500 11px 'DM Mono', monospace; text-transform:uppercase; transition:.25s; }
.button:hover { border-color:var(--accent); transform:translateY(-2px); }.button--light{background:#f2efe8;color:#111;border-color:#f2efe8}.button--accent{background:var(--accent);color:#070707;border-color:var(--accent)}
.calendar { min-width:0; border-left:1px solid var(--line); padding:clamp(28px,4vw,56px); }
.calendar__header { display:grid; grid-template-columns:40px 1fr 40px; align-items:center; gap:10px; margin-bottom:30px; }
.calendar__header strong{text-align:center;font-size:1.3rem}.calendar__header button{height:40px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--text);cursor:pointer}.calendar__week,.calendar__days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar__week span{text-align:center;color:#696969;font:400 8px 'DM Mono',monospace;padding:8px 0}.calendar__days button,.calendar__days span{aspect-ratio:1;display:grid;place-items:center;border-radius:50%;font:400 11px 'DM Mono',monospace}.calendar__days button{border:1px solid rgba(255,255,255,.08);background:#111;color:#aaa;cursor:pointer;transition:.2s}.calendar__days button:hover{border-color:var(--accent);color:var(--accent)}.calendar__days button.today{background:var(--accent);color:#000;border-color:var(--accent)}.calendar__days button.weekend{opacity:.48}.calendar__days span{color:#3a3a3a}
.timeline { --date-column:150px; --timeline-gap:24px; max-width:1080px; margin:0 auto; }
.timeline-item { position:relative; display:grid; grid-template-columns:var(--date-column) 20px minmax(0,1fr); gap:var(--timeline-gap); align-items:start; min-width:0; padding:0 0 54px; }
.timeline-item:last-child { padding-bottom:0; }
.timeline-item::after { content:""; position:absolute; left:calc(var(--date-column) + var(--timeline-gap) + 9px); top:18px; bottom:-2px; width:1px; background:linear-gradient(var(--accent),rgba(146,248,220,.22)); }
.timeline-item:last-child::after { display:none; }
.timeline-marker { position:relative; z-index:1; width:19px; height:19px; margin-top:1px; border:1px solid var(--accent); border-radius:50%; background:#111; box-shadow:0 0 0 6px #111,0 0 24px rgba(214,255,67,.18); }
.timeline-marker::after { content:""; position:absolute; inset:5px; border-radius:50%; background:var(--accent); }
.timeline-year { padding-top:3px; color:#969696; font:500 10px 'DM Mono',monospace; letter-spacing:.1em; line-height:1.7; text-align:right; }
.timeline-content { min-width:0; padding:clamp(24px,3.5vw,42px); border:1px solid var(--line); border-radius:var(--radius); background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012)); transition:transform .3s ease,border-color .3s ease,background .3s ease; }
.timeline-content:hover { transform:translateX(5px); border-color:rgba(214,255,67,.42); background:linear-gradient(145deg,rgba(214,255,67,.07),rgba(255,255,255,.012)); }
.timeline-content h3 { font-size:clamp(1.7rem,3vw,3.2rem); line-height:.98; letter-spacing:-.05em; margin:0 0 7px; }
.timeline-org{color:var(--accent)!important;margin:0 0 18px!important;font:400 11px 'DM Mono',monospace!important}
.timeline-content p{max-width:800px;color:#8e8e8e;line-height:1.7;margin:0}
.timeline-org a { color:inherit; }
.timeline-company { color:#d7d7d2!important; margin:0 0 12px!important; }
.experience-ticker { margin:0 0 28px; }
.experience-roles { margin-top:20px; }
.role-progression { display:grid; gap:0; margin:24px 0 0; border:1px solid var(--line); border-radius:16px; overflow:hidden; }
.role-progression div { display:grid; grid-template-columns:130px 1fr; gap:18px; padding:13px 16px; border-bottom:1px solid var(--line); }
.role-progression div:last-child { border-bottom:0; }
.role-progression time { color:var(--accent); font:500 9px 'DM Mono',monospace; letter-spacing:.08em; }
.role-progression span { color:#d7d7d2; font-size:.88rem; }
.experience-highlights { display:grid; gap:0; margin:24px 0 0; padding:0; list-style:none; border-top:1px solid var(--line); }
.experience-highlights li { display:grid; grid-template-columns:minmax(150px,.42fr) 1fr; gap:24px; padding:16px 0; border-bottom:1px solid var(--line); }
.experience-highlights strong { color:#deded8; font-size:.92rem; letter-spacing:-.02em; }
.experience-highlights span { color:#8e8e8e; font-size:.9rem; line-height:1.55; }
.experience-company { display:flex; align-items:center; gap:14px; margin:0 0 22px; }
.experience-logo { position:relative; width:54px; height:54px; flex:0 0 54px; display:grid; place-items:center; overflow:hidden; border:1px solid var(--line); border-radius:14px; }
.experience-logo--blocks { background:#f4f2ed; }
.experience-logo--atacama { background:#111; color:#f4f2ed; }
.experience-logo--bg9 { background:#f4f2ed; }
.experience-logo--visppy { background:#f4f2ed; }
.experience-logo--abade { background:#050505; }
.experience-logo--visppy img { inset:5px; width:calc(100% - 10px); height:calc(100% - 10px); }
.experience-logo--abade img { inset:4px; width:calc(100% - 8px); height:calc(100% - 8px); }
.experience-logo__fallback { font:700 16px 'DM Mono',monospace; letter-spacing:-.08em; }
.experience-logo img { position:absolute; inset:8px; width:calc(100% - 16px); height:calc(100% - 16px); object-fit:contain; }
.experience-company__meta { display:flex; flex-direction:column; gap:6px; }
.experience-company__label { color:#777; font:500 9px 'DM Mono',monospace; letter-spacing:.1em; }
.experience-company__name { color:var(--text); font-size:1.15rem; letter-spacing:-.035em; }
.contact { padding-bottom:32px; }
.contact-shell {
  min-height:clamp(440px,42vw,500px);
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
  align-items:center;
  gap:clamp(44px,6vw,88px);
  padding:clamp(40px,5vw,72px);
  border-radius:32px;
  background:var(--text);
  color:#0a0a0a;
}
.contact .section-index { color:#6f6f6f; }
.contact-copy { text-align:left; }
.contact-copy h2 {
  margin:12px 0 22px;
  font-size:clamp(3rem,6vw,5.8rem);
  line-height:.88;
  letter-spacing:-.07em;
}
.contact-copy p { max-width:570px; margin:0; color:#505050; line-height:1.65; }
.contact-actions {
  width:min(100%,380px);
  display:flex;
  flex-direction:column;
  justify-self:end;
  align-items:stretch;
  gap:11px;
}
.contact-actions .button { min-height:48px; border-color:rgba(0,0,0,.2); }
footer { display:flex; justify-content:space-between; padding-top:24px; color:#717171; font:400 10px 'DM Mono', monospace; text-transform:uppercase; }
.reveal { opacity:0; transform:translateY(22px); transition:opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1); }.reveal.visible{opacity:1;transform:none}
@media(max-width:1050px){.topbar{top:0;left:0;right:0;transform:none;width:auto;height:74px;padding:0 var(--pad);border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;justify-content:space-between}.topbar.scrolled{background:rgba(9,9,9,.86);border-bottom:1px solid var(--line)}.topbar .brand{display:flex}.nav{display:none}.menu-toggle{display:block}.nav.is-open{display:flex;position:fixed;inset:74px 0 0;background:#090909;flex-direction:column;padding:40px var(--pad);gap:0;font-size:18px}.nav.is-open .nav-indicator{display:none}.nav.is-open a{padding:18px 0;border-bottom:1px solid var(--line);border-radius:0}.nav.is-open a.active{background:rgba(255,255,255,.1)}.hero-grid{grid-template-columns:1fr 1fr}.portrait-card{grid-row:span 1;min-height:420px}.location-card{grid-column:span 2}.projects-grid,.service-list{grid-template-columns:1fr 1fr}.skills-grid{grid-template-columns:1fr 1fr}.availability-shell{grid-template-columns:1fr}.calendar{border-left:0;border-top:1px solid var(--line)} }
@media(max-width:760px){.section{padding-top:90px;padding-bottom:90px}.hero{padding-top:104px}.tool-marquee{margin-bottom:32px}.tool-marquee__group span{min-height:42px;padding-left:22px;gap:22px;font-size:9px}.hero__title span:last-child{margin-left:0}.hero-grid,.projects-grid,.section-heading,.contact-shell,.service-list{grid-template-columns:1fr}.project-card--wide{grid-column:auto}.project-visual,.project-card--wide .project-visual{height:330px}.location-card{grid-column:auto}.section-heading{gap:20px}.skills-grid{grid-template-columns:1fr}.skill-block{min-height:290px}.service-row{grid-template-columns:1fr 26px;min-height:180px}.service-row p{grid-column:1/-1}.timeline{--timeline-gap:14px}.timeline-item{grid-template-columns:20px minmax(0,1fr);gap:10px 14px;padding:0 0 38px}.timeline-item::after{left:9px;top:18px;bottom:-2px}.timeline-year{grid-column:2;grid-row:1;padding:1px 0 0;text-align:left}.timeline-marker{grid-column:1;grid-row:1;margin-top:0}.timeline-content{grid-column:2;grid-row:2;padding:22px}.experience-highlights li{grid-template-columns:1fr;gap:6px}.contact-shell{gap:40px;min-height:unset;padding:38px 26px}.contact-actions{width:100%;justify-self:stretch}footer{flex-direction:column;gap:8px}.intro__copy{flex-direction:column;gap:7px}.intro__network{inset:9% -32%;width:164%;height:80%}.intro__status{top:24px}.brand__text{display:none}}
@media(max-width:760px){.hero__title--positioning{font-size:clamp(2.8rem,12vw,5.4rem)}.hero__positioning{margin-top:26px}.measurement-model__header{align-items:center;flex-direction:column;gap:18px;text-align:center}.measurement-model__sources{grid-template-columns:1fr}.measurement-model__chain{gap:7px;font-size:9px}.home-about{grid-template-columns:1fr;gap:16px;padding-top:28px;margin-top:32px}}
@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}.intro{display:none}.reveal{opacity:1;transform:none}.tool-marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.tool-marquee:before,.tool-marquee__group[aria-hidden="true"]{display:none}}

/* Academic work: a quieter evidence layer inside the existing portfolio system. */
.academic-intro { display:grid; grid-template-columns:1.2fr .8fr; gap:18px; margin-bottom:16px; }
.academic-intro__copy, .academic-stats, .evidence-lab { border:1px solid var(--line); background:#0d0d0d; }
.academic-intro__copy { padding:clamp(26px,4vw,54px); }
.academic-intro__copy h3 { max-width:680px; margin:30px 0 14px; font-size:clamp(2.2rem,4vw,4.6rem); line-height:.93; letter-spacing:-.06em; }
.academic-intro__copy p { max-width:620px; margin:0; color:#929292; line-height:1.7; }
.academic-stats { display:grid; grid-template-columns:repeat(3,1fr); align-items:end; gap:12px; padding:24px; background:linear-gradient(135deg,#151515,#0b0b0b); }
.academic-stats div { display:flex; flex-direction:column; gap:9px; min-width:0; }
.academic-stats strong { color:var(--accent); font-size:clamp(1.7rem,3vw,3.5rem); letter-spacing:-.07em; }
.academic-stats span { color:#777; font:400 9px 'DM Mono',monospace; line-height:1.35; text-transform:uppercase; }
.academic-projects { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.academic-project { min-width:0; border:1px solid var(--line); background:#0d0d0d; overflow:hidden; }
.academic-project__visual { height:250px; position:relative; overflow:hidden; border-bottom:1px solid var(--line); }
.academic-project__code { position:absolute; left:18px; bottom:16px; color:rgba(244,242,237,.62); font:500 10px 'DM Mono',monospace; letter-spacing:.12em; }
.academic-project__body { padding:20px 20px 22px; }
.academic-project__body .project-meta { margin:0 0 18px; min-height:28px; line-height:1.4; }
.academic-project__body h3 { margin:0 0 12px; font-size:clamp(2rem,3vw,3.5rem); letter-spacing:-.06em; }
.academic-project__body p { min-height:140px; margin:0 0 20px; color:#929292; line-height:1.62; }
.academic-project__body .project-tags { margin:0 0 22px; }
.text-link { display:inline-flex; align-items:center; gap:18px; color:var(--accent); font:500 10px 'DM Mono',monospace; letter-spacing:.08em; text-transform:uppercase; }
.text-link span { font-size:16px; transition:transform .2s ease; }
.text-link:hover span { transform:translate(3px,-3px); }
.academic-project--echo .academic-project__visual { background:radial-gradient(circle at 73% 38%,rgba(214,255,67,.2),transparent 27%),linear-gradient(135deg,#101510,#0b0d0d); }
.echo-signal { position:absolute; inset:22% 12%; display:flex; align-items:center; gap:8px; }
.echo-signal i { flex:1; height:34%; border:1px solid rgba(214,255,67,.28); border-bottom-color:var(--accent); background:linear-gradient(to top,rgba(214,255,67,.24),transparent); transform:skewY(-12deg); }
.echo-signal i:nth-child(2){height:61%}.echo-signal i:nth-child(3){height:47%}.echo-signal i:nth-child(4){height:82%}.echo-signal i:nth-child(5){height:70%}
.academic-project--carbon .academic-project__visual { background:radial-gradient(circle at 50% 44%,rgba(146,248,220,.12),transparent 34%),linear-gradient(135deg,#0b1516,#0c1013); }
.academic-project--carbon .academic-project__visual:before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(146,248,220,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(146,248,220,.12) 1px,transparent 1px); background-size:32px 32px; opacity:.38; }
.academic-project--carbon .academic-project__visual:after { content:""; position:absolute; inset:0; background:repeating-linear-gradient(0deg,transparent 0 7px,rgba(214,255,67,.035) 8px 9px); opacity:.5; }
.dna-helix { position:absolute; width:190px; height:220px; left:50%; top:50%; transform:translate(-50%,-50%) rotate(-7deg); filter:drop-shadow(0 0 16px rgba(146,248,220,.2)); animation:dnaDrift 6s ease-in-out infinite; z-index:1; }
.dna-helix:before, .dna-helix:after { content:""; position:absolute; top:5px; bottom:5px; width:68px; border:2px solid; border-radius:50%; opacity:.78; }
.dna-helix:before { left:22px; border-color:#92f8dc transparent #d6ff43 #92f8dc; transform:rotate(20deg); }
.dna-helix:after { right:22px; border-color:#d6ff43 #92f8dc rgba(244,242,237,.7) transparent; transform:rotate(20deg); }
.dna-rung { position:absolute; left:50%; width:160px; height:18px; display:flex; align-items:center; transform:translateX(-50%) rotate(var(--dna-angle)); z-index:1; }
.dna-rung i { width:15px; height:15px; flex:0 0 15px; border:2px solid #0b1516; border-radius:2px; background:var(--dna-left); box-shadow:0 0 12px var(--dna-left); transform:rotate(45deg); }
.dna-rung i:last-child { background:var(--dna-right); box-shadow:0 0 12px var(--dna-right); }
.dna-rung b { flex:1; height:2px; background:linear-gradient(90deg,var(--dna-left),rgba(244,242,237,.8),var(--dna-right)); opacity:.8; }
.dna-rung--1 { top:4px; --dna-angle:-23deg; --dna-left:#92f8dc; --dna-right:#d6ff43; }
.dna-rung--2 { top:29px; --dna-angle:-14deg; --dna-left:#d6ff43; --dna-right:#92f8dc; }
.dna-rung--3 { top:54px; --dna-angle:-5deg; --dna-left:#f4f2ed; --dna-right:#92f8dc; }
.dna-rung--4 { top:79px; --dna-angle:5deg; --dna-left:#92f8dc; --dna-right:#d6ff43; }
.dna-rung--5 { top:104px; --dna-angle:14deg; --dna-left:#d6ff43; --dna-right:#f4f2ed; }
.dna-rung--6 { top:129px; --dna-angle:23deg; --dna-left:#92f8dc; --dna-right:#d6ff43; }
.dna-rung--7 { top:154px; --dna-angle:32deg; --dna-left:#d6ff43; --dna-right:#92f8dc; }
.dna-rung--8 { top:179px; --dna-angle:41deg; --dna-left:#f4f2ed; --dna-right:#d6ff43; }
.dna-rung--9 { top:204px; --dna-angle:50deg; --dna-left:#92f8dc; --dna-right:#d6ff43; }
@keyframes dnaDrift { 50% { transform:translate(-50%,-50%) rotate(7deg) scale(1.025); } }
.academic-project--mandacaru .academic-project__visual { background:linear-gradient(145deg,#19170d,#11120f); }
.document-flow { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:10px; }
.document-flow i { display:grid; place-items:center; width:60px; height:74px; border:1px solid rgba(214,255,67,.36); color:#c8d878; font:500 10px 'DM Mono',monospace; font-style:normal; background:rgba(214,255,67,.04); }
.document-flow b { width:25px; height:1px; background:var(--accent); position:relative; }.document-flow b:after { content:""; position:absolute; right:0; top:-3px; border-left:5px solid var(--accent); border-top:3px solid transparent; border-bottom:3px solid transparent; }
.evidence-lab { margin-top:16px; padding:clamp(22px,4vw,42px); background:linear-gradient(135deg,#151515,#0b0b0b); }
.evidence-lab__header { display:flex; justify-content:space-between; gap:28px; align-items:end; padding-bottom:26px; border-bottom:1px solid var(--line); }
.evidence-lab__header h3 { margin:12px 0 0; font-size:clamp(2rem,4vw,4rem); letter-spacing:-.06em; }
.evidence-tabs { display:flex; flex-wrap:wrap; gap:6px; }
.evidence-tab { border:1px solid var(--line); background:transparent; color:#838383; padding:10px 12px; cursor:pointer; font:500 10px 'DM Mono',monospace; letter-spacing:.08em; }
.evidence-tab:hover, .evidence-tab:focus-visible { color:var(--text); border-color:var(--accent); outline:none; }
.evidence-tab.is-active { background:var(--accent); color:#080808; border-color:var(--accent); }
.evidence-lab__content { display:grid; grid-template-columns:1.25fr .75fr; gap:38px; padding-top:30px; }
.evidence-chart { min-height:250px; display:flex; flex-direction:column; justify-content:end; gap:12px; }
.evidence-chart__title { margin:0 0 4px; color:#d8d8d3; font:500 11px 'DM Mono',monospace; letter-spacing:.08em; text-transform:uppercase; }
.evidence-chart__bars { min-height:180px; display:flex; align-items:end; gap:clamp(8px,2vw,24px); border-bottom:1px solid #404040; padding:0 4px; }
.evidence-bar-wrap { flex:1; min-width:0; height:180px; display:flex; flex-direction:column; justify-content:end; align-items:center; gap:8px; }
.evidence-bar { width:min(58px,70%); min-height:4px; height:var(--bar-height); border:1px solid var(--accent); background:linear-gradient(to top,rgba(214,255,67,.55),rgba(214,255,67,.08)); position:relative; transition:height .5s cubic-bezier(.2,.8,.2,1),background .2s; }
.evidence-bar-wrap:hover .evidence-bar, .evidence-bar-wrap:focus-within .evidence-bar { background:var(--accent); box-shadow:0 0 24px rgba(214,255,67,.2); }
.evidence-bar__value { color:var(--accent); font:500 10px 'DM Mono',monospace; }
.evidence-bar__label { width:100%; color:#7f7f7f; font:400 9px 'DM Mono',monospace; text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.evidence-note { align-self:stretch; border-left:1px solid var(--line); padding:20px 0 20px 28px; color:#959595; line-height:1.7; }
.evidence-note strong { display:block; margin-bottom:12px; color:var(--text); font-size:1.15rem; letter-spacing:-.02em; }
.evidence-note span { display:block; margin-top:16px; color:#6f6f6f; font:400 10px 'DM Mono',monospace; line-height:1.55; }
.evidence-flow { display:flex; align-items:center; gap:7px; min-height:180px; border-bottom:1px solid #404040; }
.evidence-flow__step { flex:1; min-height:72px; display:grid; place-items:center; padding:10px 5px; border:1px solid rgba(214,255,67,.42); color:#c8d878; font:500 9px 'DM Mono',monospace; text-align:center; }
.evidence-flow__arrow { color:var(--accent); text-align:center; font-size:16px; }
@media(max-width:1050px){.academic-intro{grid-template-columns:1fr}.academic-projects{grid-template-columns:1fr 1fr}.academic-project:last-child{grid-column:span 2}.evidence-lab__content{grid-template-columns:1fr}.evidence-note{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}}
@media(max-width:760px){.academic-projects{grid-template-columns:1fr}.academic-project:last-child{grid-column:auto}.academic-stats{grid-template-columns:1fr 1fr}.academic-stats div:last-child{grid-column:span 2}.evidence-lab__header{align-items:flex-start;flex-direction:column}.evidence-tabs{width:100%}.evidence-tab{flex:1}.evidence-chart__bars{gap:5px}.evidence-bar__label{font-size:8px}.evidence-flow{gap:3px}.evidence-flow__step{font-size:8px}.academic-project__body p{min-height:0}}
@media(max-width:760px){.evidence-flow__step{min-height:62px}.evidence-flow__arrow{font-size:11px}}
@media(prefers-reduced-motion:reduce){.evidence-bar{transition:none}}

/* Education as a radial graph: six learning nodes orbit one central degree. */
.experience-shell { padding:0; border:0; background:transparent; }
.education-shell { position:relative; isolation:isolate; overflow:hidden; padding:clamp(28px,4vw,52px); border:1px solid var(--line); border-radius:32px; background:radial-gradient(circle at 50% 58%,rgba(214,255,67,.055),transparent 31%),rgba(8,9,8,.92); box-shadow:inset 0 1px 0 rgba(255,255,255,.025); }
.education-shell:before { content:""; position:absolute; z-index:-1; inset:0; opacity:.2; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:46px 46px; mask-image:radial-gradient(circle at 50% 58%,#000,transparent 80%); }
.education-learning__header { position:relative; z-index:7; max-width:620px; margin:0 auto 26px; text-align:center; }
.education-entry__index { color:var(--accent); font:500 9px 'DM Mono',monospace; letter-spacing:.13em; }
.education-learning__header h3 { margin:13px 0 8px; font-size:clamp(1.9rem,3vw,2.9rem); letter-spacing:-.055em; }
.education-learning__header p { max-width:580px; margin:0 auto; color:#858a84; font-size:.88rem; line-height:1.6; }
.education-map { position:relative; min-height:700px; }
.education-map:before,.education-map:after { content:""; position:absolute; z-index:0; left:50%; top:50%; border:1px solid rgba(214,255,67,.08); border-radius:50%; pointer-events:none; transform:translate(-50%,-50%); }
.education-map:before { width:82%; height:76%; }.education-map:after { width:62%; height:58%; border-color:rgba(146,248,220,.055); }
.education-map__connections { position:absolute; z-index:1; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
.education-map__connections path { fill:none; stroke:rgba(214,255,67,.78); stroke-width:1.25; vector-effect:non-scaling-stroke; stroke-linecap:round; stroke-dasharray:6 7; filter:drop-shadow(0 0 4px rgba(214,255,67,.32)); animation:educationGraphFlow 7s linear infinite; }
.education-map__connections path:nth-child(even) { stroke:rgba(146,248,220,.72); filter:drop-shadow(0 0 4px rgba(146,248,220,.28)); animation-direction:reverse; }
.education-entry { position:absolute; z-index:6; left:50%; top:50%; width:min(430px,42%); min-height:350px; display:flex; flex-direction:column; justify-content:center; align-items:center; overflow:hidden; padding:clamp(30px,3.5vw,48px); border:1px solid rgba(214,255,67,.46); border-radius:30px; background:radial-gradient(circle at 50% 34%,rgba(214,255,67,.15),transparent 35%),linear-gradient(150deg,rgba(29,31,25,.995),rgba(11,12,11,.995) 64%); box-shadow:0 38px 100px rgba(0,0,0,.76),0 0 0 9px rgba(9,9,9,.72),0 0 68px rgba(214,255,67,.1),inset 0 1px 0 rgba(255,255,255,.09); text-align:center; transform:translate(-50%,-50%) translateZ(0); }
.education-entry:before { content:""; position:absolute; left:18%; right:18%; top:0; height:1px; background:linear-gradient(90deg,transparent,var(--accent),transparent); box-shadow:0 0 15px rgba(214,255,67,.6); }
.education-entry:after { content:""; position:absolute; inset:10px; border:1px solid rgba(255,255,255,.045); border-radius:22px; pointer-events:none; }
.education-entry__status { position:absolute; left:24px; top:22px; display:flex; align-items:center; gap:8px; color:#7d867f; font:500 7px 'DM Mono',monospace; letter-spacing:.13em; }
.education-entry__status i { width:5px; height:5px; border-radius:50%; background:var(--accent); box-shadow:0 0 12px var(--accent); animation:educationNodePulse 1.8s ease-in-out infinite; }
.education-entry h3 { position:relative; z-index:2; max-width:8ch; margin:24px auto 16px; font-size:clamp(2.5rem,4vw,4.65rem); letter-spacing:-.07em; line-height:.88; text-wrap:balance; text-shadow:0 12px 34px #000; }
.education-entry p { position:relative; z-index:2; max-width:390px; margin:0 auto; color:#9b9d97; font-size:.84rem; line-height:1.6; }
.education-entry__completion { position:relative; z-index:2; display:inline-flex; align-items:center; justify-content:center; min-height:25px; margin:12px auto -7px; padding:6px 10px; border:1px solid rgba(214,255,67,.32); border-radius:999px; background:rgba(214,255,67,.07); color:var(--accent); font:500 7px 'DM Mono',monospace; letter-spacing:.13em; text-transform:uppercase; }
.education-entry__signal { position:absolute; bottom:20px; color:#60665f; font:500 7px 'DM Mono',monospace; letter-spacing:.14em; }
.education-entry__orbit { position:absolute; left:50%; top:50%; width:360px; height:360px; border:1px solid rgba(214,255,67,.075); border-radius:50%; transform:translate(-50%,-50%); animation:educationOrbit 22s linear infinite; }
.education-entry__orbit:before,.education-entry__orbit:after { content:""; position:absolute; border:1px solid rgba(146,248,220,.06); border-radius:50%; }
.education-entry__orbit:before { inset:38px; }.education-entry__orbit:after { inset:88px; }
.education-entry__orbit i { position:absolute; width:5px; height:5px; border-radius:50%; background:var(--accent); box-shadow:0 0 10px rgba(214,255,67,.7); }
.education-entry__orbit i:nth-child(1) { left:19px; top:92px; }.education-entry__orbit i:nth-child(2) { right:67px; top:25px; background:var(--accent-2); }.education-entry__orbit i:nth-child(3) { right:10px; bottom:116px; }
.education-learning__grid { display:contents; }
.education-learning__slot { --node-color:var(--accent); position:absolute; z-index:3; width:24%; min-height:118px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:21px 22px; border:1px solid rgba(255,255,255,.135); border-radius:18px; background:linear-gradient(145deg,rgba(255,255,255,.047),rgba(255,255,255,.012)); box-shadow:0 17px 42px rgba(0,0,0,.25); text-align:left; }
.education-learning__slot--01 { left:0; top:18%; transform:translateY(-50%); }
.education-learning__slot--02 { left:50%; top:0; transform:translateX(-50%); }
.education-learning__slot--03 { right:0; top:18%; transform:translateY(-50%); }
.education-learning__slot--04 { right:0; bottom:18%; transform:translateY(50%); }
.education-learning__slot--05 { left:50%; bottom:0; transform:translateX(-50%); }
.education-learning__slot--06 { left:0; bottom:18%; transform:translateY(50%); }
.education-learning__slot:nth-child(3n+2),.education-learning__slot:nth-child(3n) { --node-color:var(--accent-2); }
.education-learning__slot:before { content:""; position:absolute; top:0; width:52px; height:1px; background:var(--node-color); box-shadow:0 0 12px var(--node-color); opacity:.75; }
.education-learning__slot--01:before,.education-learning__slot--06:before { right:18px; }.education-learning__slot--02:before,.education-learning__slot--05:before { left:50%; transform:translateX(-50%); }.education-learning__slot--03:before,.education-learning__slot--04:before { left:18px; }
.education-learning__slot span { color:#717971; font:500 7px 'DM Mono',monospace; letter-spacing:.13em; }
.education-learning__slot strong { margin:11px 0 6px; color:#d9dad4; font-size:clamp(.9rem,1.2vw,1.05rem); letter-spacing:-.025em; }
.education-learning__slot p { max-width:25ch; margin:0; color:#777d77; font-size:.75rem; line-height:1.42; }
.education-learning__node { position:absolute; z-index:4; width:13px; height:13px; border:1px solid var(--node-color); border-radius:50%; background:#090a09; box-shadow:0 0 0 5px rgba(9,10,9,.92),0 0 18px color-mix(in srgb,var(--node-color) 38%,transparent); }
.education-learning__node:after { content:""; position:absolute; inset:3px; border-radius:50%; background:var(--node-color); animation:educationNodePulse 2.2s ease-in-out infinite; }
.education-learning__slot--01 .education-learning__node,.education-learning__slot--06 .education-learning__node { right:-7px; top:50%; transform:translateY(-50%); }
.education-learning__slot--03 .education-learning__node,.education-learning__slot--04 .education-learning__node { left:-7px; top:50%; transform:translateY(-50%); }
.education-learning__slot--02 .education-learning__node { left:50%; bottom:-7px; transform:translateX(-50%); }
.education-learning__slot--05 .education-learning__node { left:50%; top:-7px; transform:translateX(-50%); }
.education-learning__slot.is-card-active strong { color:var(--accent); }
.education-learning__slot.is-card-active .education-learning__node { box-shadow:0 0 0 5px rgba(9,10,9,.92),0 0 26px var(--node-color); }
@keyframes educationGraphFlow { to{stroke-dashoffset:-10} }
@keyframes educationNodePulse { 50%{opacity:.35;transform:scale(.68)} }
@keyframes educationOrbit { to{transform:translate(-50%,-50%) rotate(360deg)} }
@media(max-width:900px){
  .education-shell{padding:28px 24px}.education-map{min-height:680px}.education-learning__header{margin-bottom:24px}
  .education-entry{width:min(390px,50%);min-height:330px;padding:38px 32px}.education-entry h3{font-size:clamp(2.5rem,5.7vw,4rem)}
  .education-learning__slot{width:27%;min-height:112px;padding:18px}.education-learning__slot p{font-size:.7rem}
}
@media(max-width:680px){
  .education-shell{padding:24px 18px}.education-learning__header{margin-bottom:34px}.education-learning__header p{font-size:.8rem}
  .education-map{min-height:0}.education-map:before,.education-map:after,.education-map__connections{display:none}
  .education-entry{position:relative;left:auto;top:auto;width:100%;min-height:280px;margin:0;transform:none;padding:42px 24px 36px}
  .education-entry h3{font-size:clamp(2.6rem,13vw,3.8rem);margin:20px auto 13px}.education-entry p{max-width:33ch;font-size:.76rem}.education-entry__status{left:18px;top:17px}.education-entry__signal{right:18px;bottom:14px}
  .education-learning__grid{position:relative;display:flex;flex-direction:column;gap:18px;margin-top:50px}
  .education-learning__grid:before{content:"";position:absolute;left:18px;top:-50px;bottom:55px;width:1px;background:linear-gradient(var(--accent),rgba(146,248,220,.45),rgba(255,255,255,.1))}
  .education-learning__grid:after{content:"";position:absolute;left:18px;top:-50px;width:calc(50% - 18px);height:50px;border-top:1px solid rgba(214,255,67,.42);border-right:1px solid rgba(214,255,67,.42);border-radius:0 16px 0 0}
  .education-learning__slot{position:relative;inset:auto!important;width:calc(100% - 44px);min-height:108px;margin-left:44px;transform:none!important;padding:18px 20px}
  .education-learning__slot:after{content:"";position:absolute;left:-26px;top:50%;width:26px;height:1px;background:rgba(214,255,67,.4)}
  .education-learning__slot .education-learning__node{left:-33px!important;right:auto!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important}
}
@media(max-width:760px){.role-progression div{grid-template-columns:1fr;gap:5px}}
@media(prefers-reduced-motion:reduce){.dna-helix,.education-map__connections path,.education-entry__orbit,.education-entry__status i,.education-learning__node:after{animation:none}}

/* Career graph: three connected tracks built from the existing experience data. */
.experience-shell { position:relative; isolation:isolate; overflow:hidden; padding:clamp(24px,4vw,52px); border:1px solid var(--line); border-radius:32px; background:radial-gradient(circle at 50% 0,rgba(214,255,67,.045),transparent 23%),rgba(8,9,8,.97); box-shadow:inset 0 1px 0 rgba(255,255,255,.025); }
.experience-shell:before { content:""; position:absolute; z-index:-1; inset:0; opacity:.13; background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size:48px 48px; mask-image:linear-gradient(to bottom,#000,transparent 72%); }
.career-graph__origin { position:relative; z-index:4; width:max-content; max-width:100%; margin:0 auto 36px; display:flex; align-items:center; gap:16px; padding:14px 20px; border:1px solid rgba(214,255,67,.28); border-radius:999px; background:#0b0b0b; box-shadow:0 0 42px rgba(214,255,67,.055); }
.career-graph__origin:after { content:""; position:absolute; top:100%; left:50%; width:1px; height:57px; background:linear-gradient(var(--accent),rgba(214,255,67,.18)); }
.career-graph__origin > div { display:flex; flex-direction:column; gap:5px; }
.career-graph__origin span { color:#7d867f; font:500 8px 'DM Mono',monospace; letter-spacing:.12em; }
.career-graph__origin strong { color:#e1e1db; font-size:clamp(.82rem,1.4vw,1rem); letter-spacing:-.02em; }
.career-graph__core { position:relative; width:29px; height:29px; flex:0 0 29px; border:1px solid var(--accent); border-radius:50%; box-shadow:0 0 20px rgba(214,255,67,.15); }
.career-graph__core:before,.career-graph__core:after { content:""; position:absolute; border-radius:50%; }
.career-graph__core:before { inset:7px; background:var(--accent); box-shadow:0 0 13px rgba(214,255,67,.7); }
.career-graph__core:after { inset:-7px; border:1px solid rgba(214,255,67,.16); animation:careerCorePulse 1.8s ease-out infinite; }
.career-graph { position:relative; max-width:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px 32px; align-items:stretch; padding-top:64px; }
.career-graph:before { content:""; position:absolute; z-index:3; top:20px; left:calc(16.667% - 11px); right:calc(16.667% - 11px); height:1px; background:linear-gradient(90deg,var(--accent),rgba(146,248,220,.7),rgba(244,242,237,.52)); background-size:200% 100%; animation:careerGraphFlow 3.4s linear infinite; }
.career-track-panel { position:relative; z-index:0; grid-row:1 / 6; min-width:0; overflow:hidden; border:1px solid rgba(255,255,255,.095); border-radius:25px; background:linear-gradient(155deg,rgba(255,255,255,.027),rgba(255,255,255,.008)); }
.career-track-panel:before { content:""; position:absolute; top:0; left:50%; width:9px; height:9px; border:1px solid var(--panel-color); border-radius:50%; background:#090a09; transform:translateX(-50%); box-shadow:0 0 14px var(--panel-color); }
.career-track-panel:after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(135deg,var(--panel-glow),transparent 22%); }
.career-track-panel > span { position:absolute; right:18px; top:14px; color:rgba(255,255,255,.035); font:700 clamp(3.5rem,6vw,6.5rem) 'DM Mono',monospace; line-height:1; }
.career-track-panel--growth { grid-column:1; --panel-color:var(--accent); --panel-glow:rgba(214,255,67,.04); }
.career-track-panel--physical { grid-column:2; --panel-color:var(--accent-2); --panel-glow:rgba(146,248,220,.04); }
.career-track-panel--research { grid-column:3; --panel-color:#d8d5ca; --panel-glow:rgba(244,242,237,.035); }
.career-branch { --track-color:var(--accent); position:relative; z-index:2; min-width:0; min-height:170px; display:grid; grid-template-columns:20px minmax(0,1fr); gap:12px; margin:0 18px; padding:28px 0 24px; }
.career-branch:before { content:""; position:absolute; left:50%; top:-44px; width:1px; height:44px; background:linear-gradient(rgba(255,255,255,.12),var(--track-color)); }
.career-branch:after { content:""; position:absolute; z-index:-1; left:9px; top:37px; bottom:-19px; width:1px; background:linear-gradient(var(--track-color),rgba(255,255,255,.08)); background-size:100% 200%; animation:careerGraphFlow 3.8s linear infinite; }
.career-branch--growth { grid-column:1; grid-row:1; --track-color:var(--accent); }
.career-branch--physical { grid-column:2; grid-row:1; --track-color:var(--accent-2); }
.career-branch--research { grid-column:3; grid-row:1; --track-color:#d8d5ca; }
.career-branch__node { position:relative; z-index:2; width:19px; height:19px; border:1px solid var(--track-color); border-radius:50%; background:#0b0b0b; box-shadow:0 0 0 6px #0b0b0b; }
.career-branch__node:after { content:""; position:absolute; inset:5px; border-radius:50%; background:var(--track-color); animation:careerNodePulse 1.9s ease-in-out infinite; }
.career-branch > div { min-width:0; padding:0 0 22px; border-bottom:1px solid rgba(255,255,255,.1); }
.career-branch > div > span { color:var(--track-color); font:500 8px 'DM Mono',monospace; letter-spacing:.12em; }
.career-branch h3 { margin:13px 0 9px; font-size:clamp(1.45rem,2.25vw,2.2rem); line-height:.94; letter-spacing:-.052em; text-wrap:balance; }
.career-branch p { max-width:320px; margin:0; color:#787878; font-size:.82rem; line-height:1.55; }
.career-node { --track-color:var(--accent); z-index:2; display:grid; grid-template-columns:20px minmax(0,1fr); grid-template-rows:auto 1fr; gap:8px 12px; align-items:start; min-width:0; margin:0 18px; padding:0; }
.career-node--growth { grid-column:1; --track-color:var(--accent); }
.career-node--physical { grid-column:2; --track-color:var(--accent-2); }
.career-node--research { grid-column:3; --track-color:#d8d5ca; }
.career-node--g1,.career-node--p1,.career-node--r1 { grid-row:2; }
.career-node--g2,.career-node--p2,.career-node--r2 { grid-row:3; }
.career-node--g3 { grid-row:4; }
.career-node--g4 { grid-row:5; }
.career-node:after { display:block; z-index:-1; left:9px; top:9px; bottom:-19px; width:1px; background:linear-gradient(var(--track-color),rgba(255,255,255,.075)); background-size:100% 200%; animation:careerGraphFlow 4.2s linear infinite; }
.career-node--g4:after,.career-node--p2:after,.career-node--r2:after { display:none; }
.career-node .timeline-year { grid-column:2; grid-row:1; padding:2px 0 0; color:var(--track-color); text-align:left; font-size:8px; }
.career-node .timeline-marker { grid-column:1; grid-row:1; width:19px; height:19px; margin:0; border-color:var(--track-color); background:#0b0b0b; box-shadow:0 0 0 6px #0b0b0b,0 0 22px rgba(214,255,67,.09); }
.career-node .timeline-marker:after { background:var(--track-color); animation:careerNodePulse 2.2s ease-in-out infinite; }
.career-node .timeline-content { position:relative; grid-column:2; grid-row:2; min-width:0; padding:clamp(19px,1.8vw,26px); border-radius:18px; overflow:hidden; background:rgba(15,16,15,.96); }
.career-node .timeline-content:before { content:""; position:absolute; top:0; left:24px; width:58px; height:1px; background:var(--track-color); box-shadow:0 0 12px var(--track-color); }
.career-node .timeline-content:hover { transform:translateY(-4px); border-color:var(--track-color); }
.career-node .timeline-content h3 { margin:0 0 9px; font-size:clamp(1.35rem,1.8vw,1.85rem); }
.career-node .experience-company { margin-bottom:18px; }
.career-node .experience-logo { width:46px; height:46px; flex-basis:46px; border-radius:12px; }
.career-node .experience-company__name { font-size:1rem; }
.career-node .experience-highlights { margin-top:20px; }
.career-node .experience-highlights li { grid-template-columns:1fr; gap:5px; padding:13px 0; }
.career-node .experience-highlights strong,.career-node .experience-highlights span { font-size:.82rem; }
.career-node .role-progression { margin-top:20px; }
.career-node .role-progression div { grid-template-columns:1fr; gap:5px; }
.career-node .experience-roles { margin-top:18px; }
.career-node--empty .timeline-marker { border-style:dashed; opacity:.72; }
.career-node--empty .timeline-marker:after { background:transparent; border:1px solid var(--track-color); }
.career-node--empty .timeline-content { min-height:230px; display:flex; flex-direction:column; justify-content:flex-end; border-style:dashed; background:linear-gradient(145deg,rgba(255,255,255,.018),rgba(255,255,255,.005)); }
.career-node__code { position:absolute; left:20px; top:20px; color:var(--track-color); font:500 8px 'DM Mono',monospace; letter-spacing:.12em; }
.career-node__plus { position:absolute; top:42px; right:22px; color:var(--track-color); font:300 52px 'DM Mono',monospace; opacity:.4; }
.career-node--empty h3 { max-width:270px; }
.career-node--empty p { max-width:290px; font-size:.82rem; }
@keyframes careerCorePulse { 0%{opacity:.7;transform:scale(.72)}100%{opacity:0;transform:scale(1.3)} }
@keyframes careerNodePulse { 50%{opacity:.35;transform:scale(.7)} }
@keyframes careerGraphFlow { to{background-position:0 200%} }
@media(max-width:1050px){
  .experience-shell{padding:28px 24px}
  .career-graph__origin{margin:0 0 58px}
  .career-graph__origin:after{left:28px;height:91px}
  .career-graph{grid-template-columns:minmax(0,1fr);gap:18px;padding:0 0 0 19px}
  .career-graph:before{display:none}
  .career-track-panel{display:none}
  .career-branch,.career-node{grid-column:1!important}
  .career-branch--growth{grid-row:1}.career-node--g1{grid-row:2}.career-node--g2{grid-row:3}.career-node--g3{grid-row:4}.career-node--g4{grid-row:5}
  .career-branch--physical{grid-row:6}.career-node--p1{grid-row:7}.career-node--p2{grid-row:8}
  .career-branch--research{grid-row:9}.career-node--r1{grid-row:10}.career-node--r2{grid-row:11}
  .career-node--g4:after,.career-node--p2:after{display:block}.career-node--r2:after{display:none}
  .career-branch{min-height:138px;margin:0;padding:24px 20px;border:1px solid rgba(255,255,255,.1);border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.035),rgba(255,255,255,.01))}
  .career-branch:before{display:none}
  .career-branch:after{top:33px;bottom:-19px}
  .career-node{margin:0}
  .career-branch p{max-width:520px}
}
@media(max-width:760px){
  .experience-shell{padding:22px 16px;border-radius:24px}
  .career-graph__origin{width:100%;align-items:flex-start;border-radius:20px;padding:14px}
  .career-graph{gap:14px}
  .career-branch{gap:9px;min-height:112px;padding-right:0}
  .career-node{gap:7px 9px}
  .career-node .timeline-content{padding:20px 17px;border-radius:17px}
  .career-node .timeline-content:before{left:17px}
  .career-node .experience-company{align-items:flex-start;gap:10px}
  .career-node .experience-highlights li{grid-template-columns:1fr;gap:5px}
  .career-node--empty .timeline-content{min-height:205px}
}

/* Responsive horizontal career lanes: square nodes, one clear connector per track. */
.experience-shell { --career-node-size:clamp(252px,22vw,284px); overflow:hidden; }
.career-track-panel { display:none; }
.career-graph__origin { width:var(--career-node-size); margin:0 0 24px; border-radius:22px; }
.career-graph__origin:after { left:50%; height:25px; }
.career-graph { width:100%; display:grid; grid-template-columns:repeat(5,var(--career-node-size)); grid-template-rows:repeat(3,var(--career-node-size)); gap:22px 24px; align-items:stretch; padding:0 0 12px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x proximity; scrollbar-width:thin; scrollbar-color:rgba(214,255,67,.35) rgba(255,255,255,.05); overscroll-behavior-inline:contain; }
.career-graph::-webkit-scrollbar { height:7px; }
.career-graph::-webkit-scrollbar-track { background:rgba(255,255,255,.045); border-radius:99px; }
.career-graph::-webkit-scrollbar-thumb { background:rgba(214,255,67,.32); border-radius:99px; }
.career-graph:before { display:block; z-index:0; top:0; bottom:12px; left:calc(var(--career-node-size) / 2); right:auto; width:1px; height:auto; background:linear-gradient(var(--accent),rgba(146,248,220,.58),rgba(244,242,237,.38)); animation:none; }
.career-branch { position:sticky; left:0; z-index:5; width:var(--career-node-size); height:var(--career-node-size); min-height:0; aspect-ratio:1; display:flex; flex-direction:column; gap:0; margin:0; padding:24px; border:1px solid rgba(255,255,255,.12); border-radius:22px; background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(11,12,11,.985) 48%); box-shadow:0 12px 28px rgba(0,0,0,.24); scroll-snap-align:start; }
.career-branch--growth { grid-column:1; grid-row:1; }
.career-branch--physical { grid-column:1; grid-row:2; }
.career-branch--research { grid-column:1; grid-row:3; }
.career-branch:before { display:block; left:50%; top:auto; bottom:-23px; width:1px; height:23px; background:linear-gradient(var(--track-color),rgba(255,255,255,.14)); }
.career-branch--research:before { display:none; }
.career-branch:after { display:block; z-index:0; left:auto; right:-25px; top:50%; bottom:auto; width:25px; height:1px; background:linear-gradient(90deg,var(--track-color),rgba(255,255,255,.14)); animation:none; }
.career-branch__node { flex:0 0 19px; }
.career-branch > div { display:flex; flex:1; flex-direction:column; justify-content:flex-end; min-width:0; margin:0; padding:18px 0 0; border:0; }
.career-branch h3 { margin:11px 0 10px; font-size:clamp(1.65rem,2.4vw,2.35rem); }
.career-branch p { font-size:.78rem; }
.career-node { position:relative; z-index:2; width:var(--career-node-size); height:var(--career-node-size); min-width:0; aspect-ratio:1; display:block; margin:0; padding:0; scroll-snap-align:start; }
.career-node--g1 { grid-column:2; grid-row:1; }.career-node--g2 { grid-column:3; grid-row:1; }.career-node--g3 { grid-column:4; grid-row:1; }.career-node--g4 { grid-column:5; grid-row:1; }
.career-node--p1 { grid-column:2; grid-row:2; }.career-node--p2 { grid-column:3; grid-row:2; }
.career-node--r1 { grid-column:2; grid-row:3; }.career-node--r2 { grid-column:3; grid-row:3; }
.career-node:after,.career-node--g4:after,.career-node--p2:after,.career-node--r2:after { display:block; z-index:0; left:-25px; right:auto; top:50%; bottom:auto; width:25px; height:1px; background:linear-gradient(90deg,rgba(255,255,255,.14),var(--track-color)); animation:none; }
.career-graph .career-node--r2:after { display:block; }
.career-node .timeline-year { position:absolute; z-index:4; left:19px; top:17px; padding:0; font-size:7px; line-height:1.4; }
.career-node .timeline-year br { display:none; }
.career-node .timeline-marker { position:absolute; z-index:4; left:-10px; top:50%; margin:0; transform:translateY(-50%); }
.career-node .timeline-content { display:flex; flex-direction:column; width:100%; height:100%; min-height:0; padding:43px 19px 18px; border-radius:22px; overflow:auto; overscroll-behavior:contain; background:rgba(15,16,15,.98); scrollbar-width:thin; }
.career-node .timeline-content:hover { transform:none; }
.career-node .timeline-content:before { left:19px; }
.career-node .experience-company { gap:10px; margin-bottom:13px; }
.career-node .experience-logo { width:40px; height:40px; flex-basis:40px; border-radius:10px; }
.career-node .experience-company__label { font-size:7px; }
.career-node .experience-company__name { font-size:.9rem; }
.career-node .timeline-content h3 { margin:0 0 8px; font-size:clamp(1.25rem,1.7vw,1.65rem); line-height:.96; }
.career-node .timeline-org { margin-bottom:8px!important; font-size:9px!important; }
.career-node .experience-roles { margin-top:12px; }
.career-node .project-tags span { padding:5px 7px; font-size:8px; }
.career-node__details { margin-top:auto; padding-top:11px; border-top:1px solid rgba(255,255,255,.1); }
.career-node__details summary { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#9da39d; font:500 8px 'DM Mono',monospace; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; list-style:none; }
.career-node__details summary::-webkit-details-marker { display:none; }
.career-node__details summary span { color:var(--track-color); font-size:18px; transition:transform .2s ease; }
.career-node__details[open] summary span { transform:rotate(45deg); }
.career-node__details .timeline-company { margin-top:13px!important; font-size:.8rem!important; }
.career-node__details .role-progression { margin-top:12px; }
.career-node__details .experience-highlights { margin-top:12px; }
.career-node__details .experience-highlights li { padding:10px 0; }
.career-node--empty .timeline-content { min-height:0; justify-content:flex-end; padding-top:70px; }
.career-node--empty h3 { font-size:1.45rem; }
.career-node--empty p { font-size:.76rem; line-height:1.55; }
.career-node__code { left:18px; top:46px; }
.career-node__plus { top:55px; }
@media(max-width:1050px){
  .experience-shell{--career-node-size:clamp(248px,38vw,280px)}
  .career-branch,.career-node{grid-column:auto!important}
  .career-branch--growth{grid-column:1!important;grid-row:1}.career-node--g1{grid-column:2!important;grid-row:1}.career-node--g2{grid-column:3!important;grid-row:1}.career-node--g3{grid-column:4!important;grid-row:1}.career-node--g4{grid-column:5!important;grid-row:1}
  .career-branch--physical{grid-column:1!important;grid-row:2}.career-node--p1{grid-column:2!important;grid-row:2}.career-node--p2{grid-column:3!important;grid-row:2}
  .career-branch--research{grid-column:1!important;grid-row:3}.career-node--r1{grid-column:2!important;grid-row:3}.career-node--r2{grid-column:3!important;grid-row:3}
}
@media(max-width:760px){
  .experience-shell{--career-node-size:clamp(238px,78vw,278px);padding:20px 14px}
  .career-graph__origin{width:var(--career-node-size);margin-bottom:20px}
  .career-graph{gap:16px 18px;padding-bottom:10px;scroll-snap-type:x mandatory}
  .career-graph:before{bottom:10px}
  .career-branch{padding:20px;border-radius:19px}
  .career-branch:before{bottom:-17px;height:17px}
  .career-branch:after{right:-19px;width:19px}
  .career-node:after,.career-node--g4:after,.career-node--p2:after,.career-node--r2:after{left:-19px;width:19px}
  .career-node .timeline-content{border-radius:19px}
}

/* Umbrella navigation: one horizontal section bar controls one horizontal node lane. */
.career-graph__origin { width:min(360px,100%); margin:0 auto 42px; }
.career-graph__origin:after { left:50%; height:74px; }
.career-track-tabs { position:relative; z-index:4; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0 0 34px; border:1px solid rgba(255,255,255,.12); border-radius:24px; background:rgba(11,12,11,.97); overflow:visible; }
.career-track-tabs:before { display:none; }
.career-track-tabs:after { content:""; position:absolute; z-index:0; left:25%; right:25%; top:31px; height:1px; background:linear-gradient(90deg,rgba(214,255,67,.4),rgba(146,248,220,.36),rgba(244,242,237,.28)); }
.career-track-tabs .career-branch { --track-color:var(--accent); position:relative; left:auto; z-index:1; grid-row:1!important; width:auto; height:156px; min-height:0; aspect-ratio:auto; display:grid; grid-template-columns:20px minmax(0,1fr); gap:13px; margin:0; padding:22px; border:0; border-right:1px solid rgba(255,255,255,.1); border-radius:0; background:transparent; box-shadow:none; color:var(--text); text-align:left; cursor:pointer; appearance:none; transition:background .25s ease,color .25s ease; }
.career-track-tabs .career-branch--growth { grid-column:1!important; }
.career-track-tabs .career-branch--physical { grid-column:2!important; }
.career-track-tabs .career-branch--research { grid-column:3!important; }
.career-track-tabs .career-branch:first-child { border-radius:23px 0 0 23px; }
.career-track-tabs .career-branch:last-child { border-right:0; border-radius:0 23px 23px 0; }
.career-track-tabs .career-branch--physical { --track-color:var(--accent-2); }
.career-track-tabs .career-branch--research { --track-color:#d8d5ca; }
.career-track-tabs .career-branch:before { display:none; }
.career-track-tabs .career-branch:after { display:none; }
.career-track-tabs .career-branch.is-active { background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.012)); }
.career-track-tabs .career-branch.is-active:after { content:""; display:block; position:absolute; left:50%; right:auto; top:100%; bottom:auto; width:1px; height:35px; background:linear-gradient(var(--track-color),rgba(255,255,255,.08)); }
.career-track-tabs .career-branch:hover { background:rgba(255,255,255,.03); }
.career-track-tabs .career-branch:focus-visible { outline:2px solid var(--track-color); outline-offset:-3px; }
.career-track-tabs .career-branch__node { align-self:start; margin-top:0; border-color:var(--track-color); box-shadow:0 0 0 5px #0b0c0b; }
.career-track-tabs .career-branch__node:after { background:var(--track-color); }
.career-branch__copy { display:flex; min-width:0; flex-direction:column; align-items:flex-start; }
.career-branch__copy > span { color:var(--track-color); font:500 8px 'DM Mono',monospace; letter-spacing:.11em; }
.career-branch__copy strong { margin:13px 0 8px; font-size:clamp(1.15rem,2vw,1.75rem); line-height:.94; letter-spacing:-.045em; text-wrap:balance; }
.career-branch__copy small { max-width:270px; color:#777; font-size:.73rem; line-height:1.45; }
.career-graph { width:100%; height:calc(var(--career-node-size) + 12px); min-height:0; display:flex; align-items:flex-start; gap:24px; padding:0 0 12px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x proximity; }
.career-graph:before { display:none; }
.career-graph .career-node { flex:0 0 var(--career-node-size); grid-column:auto!important; grid-row:auto!important; }
.career-graph .career-node[hidden] { display:none!important; }
.career-node--g1:after,.career-node--p1:after,.career-node--r1:after { display:none!important; }
@media(max-width:760px){
  .career-graph__origin{width:min(330px,100%);margin-bottom:34px}
  .career-graph__origin:after{height:35px}
  .career-track-tabs{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:28px;border-radius:20px;overflow:hidden}
  .career-track-tabs:before{height:35px}
  .career-track-tabs:after{display:none}
  .career-track-tabs .career-branch{height:112px;grid-template-columns:1fr;padding:14px 10px}
  .career-track-tabs .career-branch:first-child{border-radius:19px 0 0 19px}
  .career-track-tabs .career-branch:last-child{border-radius:0 19px 19px 0}
  .career-track-tabs .career-branch.is-active:after{display:none}
  .career-track-tabs .career-branch__node{width:14px;height:14px;box-shadow:0 0 0 4px #0b0c0b}
  .career-track-tabs .career-branch__node:after{inset:4px}
  .career-branch__copy>span,.career-branch__copy small{display:none}
  .career-branch__copy strong{margin:9px 0 0;font-size:clamp(.72rem,3.5vw,1.05rem);line-height:1.02}
  .career-graph{height:calc(var(--career-node-size) + 10px);gap:18px;padding-bottom:10px;scroll-snap-type:x mandatory}
}

/* Alignment pass: keep editorial headings and card rows on one visual rhythm. */
.section-heading h2,
.project-card h3,
.academic-project__body h3,
.skill-block h3,
.service-row h3 { text-wrap:balance; }
.section-heading h2 { max-width:1000px; margin-left:auto; margin-right:auto; }

.projects-grid { align-items:stretch; }
.project-card { display:flex; flex-direction:column; height:100%; }
.project-card h3 { min-height:1.84em; line-height:.92; font-size:clamp(1.85rem,3.3vw,4.1rem); }
.project-card p { min-height:5.1em; }
.project-card .project-tags { margin-top:auto; }

.academic-projects { align-items:stretch; }
.academic-project { display:flex; flex-direction:column; height:100%; }
.academic-project__body { display:flex; flex:1; flex-direction:column; }
.academic-project__body .project-meta { align-items:flex-start; gap:10px; }
.academic-project__body .project-meta span:first-child { min-width:0; }
.academic-project__body .project-meta span:last-child { flex:0 0 auto; text-align:right; }
.academic-project__body h3 { min-height:1.15em; line-height:.95; }
.academic-project__body .project-tags { margin-top:auto; }

.skill-block h3 { min-height:3em; }
.skill-list { margin-top:auto; }

.service-row { grid-template-rows:auto auto 1fr; align-items:start; }
.service-row > span { grid-column:1 / -1; grid-row:1; }
.service-row h3 { grid-column:1; grid-row:2; max-width:18ch; }
.service-row p { grid-column:1 / -1; grid-row:3; align-self:start; }
.service-row b { grid-column:2; grid-row:2; justify-self:end; align-self:start; }

@media(max-width:760px){
  .section-heading h2 { max-width:100%; }
  .project-card h3 { min-height:0; font-size:clamp(2rem,9vw,3.8rem); }
  .project-card p { min-height:0; }
  .academic-project__body h3 { min-height:0; }
  .skill-block h3 { min-height:0; }
  .service-row h3 { max-width:calc(100% - 42px); }
}

/* Project cards: compact the visual-to-copy ratio so the work reads as a portfolio grid. */
.project-card { padding:11px; border-radius:22px; }
.projects-grid .project-visual,
.project-card--wide .project-visual { height:auto; aspect-ratio:4 / 3; }
.project-card h3 { min-height:0; font-size:clamp(1.7rem,2.5vw,3rem); line-height:.94; letter-spacing:-.05em; }
.project-card p { margin-top:11px; margin-bottom:16px; line-height:1.5; }
.project-meta { margin-top:14px; margin-bottom:8px; }

@media(max-width:1050px){
  .project-card h3 { font-size:clamp(1.75rem,3.2vw,2.8rem); }
}
@media(max-width:760px){
  .project-card { padding:10px; }
  .projects-grid .project-visual,
  .project-card--wide .project-visual { aspect-ratio:16 / 10; }
  .project-card h3 { min-height:0; font-size:clamp(1.95rem,9vw,3.5rem); }
}

/* Project typography: size the headline from the card, not from the full viewport. */
.projects-grid .project-card { container-type:inline-size; }
.projects-grid .project-card h3 {
  min-height:0;
  font-size:clamp(1.7rem,11cqw,2.5rem);
  line-height:.98;
  letter-spacing:-.045em;
  text-wrap:normal;
}
@media(max-width:760px){
  .projects-grid .project-card h3 { font-size:clamp(1.85rem,11cqw,2.65rem); }
}

/* Three featured projects and four balanced service cards on desktop. */
@media(min-width:1051px){
  .projects-grid { max-width:1120px; margin-inline:auto; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
  .service-list { max-width:1120px; margin-inline:auto; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
  .projects-grid .project-card { min-width:0; }
  .projects-grid .project-card h3 {
    font-size:clamp(1.35rem,10.5cqw,2.15rem);
    line-height:1;
  }
  .projects-grid .project-card p { font-size:clamp(.78rem,5cqw,.95rem); line-height:1.5; }
  .projects-grid .project-meta { font-size:9px; }
  .service-row {
    container-type:inline-size;
    min-height:248px;
    padding:22px;
    grid-template-columns:minmax(0,1fr) 22px;
    gap:14px;
  }
  .service-row h3 {
    max-width:none;
    min-height:2.2em;
    font-size:clamp(1.1rem,9.5cqw,1.45rem);
    line-height:1.02;
    letter-spacing:-.04em;
  }
  .service-row p { font-size:clamp(.76rem,4.8cqw,.88rem); line-height:1.5; }
  .service-row b { font-size:20px; }
}
@media(min-width:761px) and (max-width:1050px){
  .projects-grid .project-card:last-child{grid-column:1/-1}
}

/* Click feedback shared by the visual card system. */
.color-card {
  cursor:pointer;
  -webkit-tap-highlight-color:rgba(214,255,67,.12);
  transition:background .3s ease,border-color .3s ease,box-shadow .3s ease,color .3s ease,transform .3s ease;
}
.color-card.is-card-active {
  border-color:rgba(214,255,67,.72);
  background:radial-gradient(circle at 86% 12%,rgba(214,255,67,.18),transparent 38%),linear-gradient(145deg,rgba(214,255,67,.11),rgba(146,248,220,.035) 56%,rgba(13,13,13,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 0 1px rgba(214,255,67,.08),0 18px 46px rgba(0,0,0,.3),0 0 32px rgba(214,255,67,.055);
}
.color-card.is-card-active h3,
.color-card.is-card-active .skill-num,
.color-card.is-card-active .project-meta,
.color-card.is-card-active .card-label,
.color-card.is-card-active .measurement-source__index {
  color:var(--accent);
}
.color-card.is-card-active p,
.color-card.is-card-active .skill-list {
  color:#c2c4bc;
}
.color-card.is-card-active :is(.chips span,.project-tags span,.measurement-source__tags span) {
  border-color:rgba(214,255,67,.46);
  color:#d8e7a7;
  background:rgba(214,255,67,.055);
}
.portrait-card.color-card.is-card-active {
  background:radial-gradient(circle at 50% 30%,rgba(214,255,67,.3),transparent 34%),linear-gradient(145deg,rgba(214,255,67,.1),#0e110b 68%);
}
.color-card:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:4px;
}
@media(prefers-reduced-motion:reduce){
  .color-card{transition:none}
}

/* Professional experience: restrained tabs and expandable, auto-height cards. */
#background .experience-shell {
  --career-node-size:auto;
  width:min(1120px,100%);
  margin-inline:auto;
  padding:0;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
#background .experience-shell:before { display:none; }
#background .career-track-tabs {
  position:relative;
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  margin:0 0 32px;
  overflow:hidden;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.13);
  border-radius:0;
  background:transparent;
}
#background .career-track-tabs:before,
#background .career-track-tabs:after { display:none; }
#background .career-track-tabs .career-branch {
  position:relative;
  left:auto;
  grid-row:1!important;
  width:auto;
  height:auto;
  min-height:78px;
  aspect-ratio:auto;
  display:flex;
  align-items:center;
  margin:0;
  padding:18px 20px;
  overflow:hidden;
  border:0;
  border-right:1px solid rgba(255,255,255,.08);
  border-radius:0;
  background:transparent;
  box-shadow:none;
  text-align:left;
}
#background .career-track-tabs .career-branch--growth { grid-column:1!important; }
#background .career-track-tabs .career-branch--physical { grid-column:2!important; border-right:0; }
#background .career-track-tabs .career-branch--research { grid-column:3!important; border-right:0; }
#background .career-track-tabs .career-branch:before { display:none; }
#background .career-track-tabs .career-branch:after {
  content:"";
  position:absolute;
  left:20px;
  right:20px;
  top:auto;
  bottom:0;
  width:auto;
  height:2px;
  background:var(--track-color);
  opacity:0;
  transform:scaleX(.35);
  transform-origin:left;
  transition:opacity .22s ease,transform .28s ease;
}
#background .career-track-tabs .career-branch:hover { background:rgba(255,255,255,.018); }
#background .career-track-tabs .career-branch.is-active { background:rgba(255,255,255,.026); }
#background .career-track-tabs .career-branch.is-active:after { display:block; opacity:1; transform:scaleX(1); }
#background .career-track-tabs .career-branch:first-child,
#background .career-track-tabs .career-branch:last-child { border-radius:0; }
#background .career-branch__copy {
  width:100%;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
#background .career-branch__copy strong {
  margin:0;
  color:#deded8;
  font-size:clamp(.98rem,1.5vw,1.22rem);
  line-height:1.06;
  letter-spacing:-.035em;
  text-wrap:balance;
}
#background .career-branch__copy small {
  display:block;
  flex:0 0 auto;
  color:#676d68;
  font:500 8px 'DM Mono',monospace;
  letter-spacing:.09em;
  text-transform:uppercase;
}
#background .career-track-tabs .career-branch.is-active strong,
#background .career-track-tabs .career-branch.is-active small { color:var(--track-color); }

#background .career-graph {
  width:100%;
  height:auto;
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:start;
  gap:18px;
  padding:0;
  overflow:visible;
  scroll-snap-type:none;
}
#background .career-graph:before { display:none; }
#background .career-graph .career-node {
  position:relative;
  grid-column:auto!important;
  grid-row:auto!important;
  width:auto;
  height:auto;
  min-width:0;
  aspect-ratio:auto;
  display:block;
  margin:0;
  padding:0;
  scroll-snap-align:none;
}
#background .career-graph .career-node[hidden] { display:none!important; }
#background .career-node:after,
#background .career-node .timeline-marker { display:none!important; }
#background .career-node .timeline-year {
  position:static;
  display:block;
  margin:0 0 9px;
  padding:0 2px;
  color:#7d847e;
  font-size:8px;
  line-height:1.4;
  text-align:left;
}
#background .career-node .timeline-year br { display:none; }
#background .career-node .timeline-content {
  position:relative;
  width:100%;
  height:auto;
  min-height:248px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 0fr;
  grid-template-areas:
    "company details"
    "title details"
    "org details"
    "summary details"
    "tags details";
  grid-template-rows:auto auto auto 1fr auto;
  column-gap:0;
  padding:28px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.11);
  border-radius:20px;
  background:rgba(14,15,14,.88);
  box-shadow:none;
  cursor:pointer;
  transition:grid-template-columns .48s cubic-bezier(.22,.75,.2,1),
    column-gap .48s cubic-bezier(.22,.75,.2,1),
    border-color .24s ease,background .24s ease;
}
#background .career-node .timeline-content:before { display:none; }
#background .career-node .timeline-content:hover {
  transform:none;
  border-color:rgba(214,255,67,.35);
  background:rgba(17,18,16,.94);
}
#background .career-node .timeline-content.is-card-active {
  border-color:rgba(214,255,67,.48);
  background:linear-gradient(145deg,rgba(214,255,67,.06),rgba(14,15,14,.94) 55%);
  box-shadow:none;
}
#background .career-node .timeline-content.is-expanded {
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);
  column-gap:clamp(34px,5vw,72px);
  border-color:color-mix(in srgb,var(--track-color) 48%,transparent);
  background:linear-gradient(112deg,rgba(255,255,255,.025),rgba(14,15,14,.94) 46%,rgba(255,255,255,.018));
}
#background .career-node .experience-company {
  grid-area:company;
  align-self:start;
  gap:12px;
  margin-bottom:22px;
}
#background .career-node .experience-logo {
  width:40px;
  height:40px;
  flex-basis:40px;
  border-radius:10px;
}
#background .career-node .experience-company__label { display:none; }
#background .career-node .experience-company__name { color:#bfc2bc; font-size:.9rem; }
#background .career-node .timeline-content h3 {
  grid-area:title;
  align-self:start;
  max-width:18ch;
  margin:0 0 9px;
  color:#ecece6;
  font-size:clamp(1.45rem,2.3vw,2rem);
  line-height:.96;
  letter-spacing:-.05em;
}
#background .career-node .timeline-org {
  grid-area:org;
  align-self:start;
  margin:0 0 18px!important;
  font-size:9px!important;
}
#background .career-node .experience-summary {
  grid-area:summary;
  align-self:start;
  max-width:48ch;
  margin:0 0 28px;
  color:#9a9f98;
  font-size:.88rem;
  line-height:1.58;
}
#background .career-node .experience-roles {
  grid-area:tags;
  align-self:end;
  margin:0 0 34px;
}
#background .career-node .experience-roles span:nth-child(n+4) { display:none; }
#background .career-node .project-tags span { padding:6px 8px; color:#949a94; font-size:8px; }
#background .career-node__details {
  grid-area:details;
  min-width:0;
  margin:0;
  padding:0;
  border:0;
}
#background .career-node__details summary {
  min-height:28px;
  color:#979d97;
  font-size:8px;
  letter-spacing:.11em;
}
#background .career-node__details summary span { color:var(--track-color); font-size:17px; }
#background .career-node__details:not([open]) { overflow:visible; }
#background .career-node__details:not([open]) summary {
  position:absolute;
  left:28px;
  right:28px;
  bottom:24px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.09);
}
#background .career-node__details[open] {
  align-self:stretch;
  padding-left:clamp(26px,3vw,48px);
  overflow:hidden;
  border-left:1px solid rgba(255,255,255,.1);
}
#background .career-node__details[open] summary {
  margin-bottom:10px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(255,255,255,.09);
}
#background .career-node__details[open] > :not(summary) {
  animation:careerDetailReveal .42s .08s both cubic-bezier(.22,.75,.2,1);
}
#background .career-node__details .timeline-company { margin-top:14px!important; }
#background .career-node__details .experience-highlights:before {
  content:attr(data-label);
  display:block;
  margin:12px 0 4px;
  color:var(--track-color);
  font:500 8px 'DM Mono',monospace;
  letter-spacing:.12em;
  text-transform:uppercase;
}
#background .career-node__details .experience-highlights li { padding:12px 0; }
#background .career-node__details .experience-highlights span { line-height:1.55; }
#background .career-node__code,
#background .career-node__plus { display:none; }
#background .career-node--empty .timeline-content {
  min-height:230px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:26px;
  border-style:dashed;
  background:rgba(255,255,255,.012);
}
#background .career-node--empty .timeline-content h3 { max-width:16ch; margin-bottom:12px; }
#background .career-node--empty .timeline-content p { max-width:42ch; color:#777d77; }

@keyframes careerDetailReveal {
  from { opacity:0; transform:translateX(18px); }
  to { opacity:1; transform:translateX(0); }
}

@media(max-width:860px){
  #background .career-node .timeline-content,
  #background .career-node .timeline-content.is-expanded {
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:
      "company"
      "title"
      "org"
      "summary"
      "tags"
      "details";
    grid-template-rows:auto;
    column-gap:0;
  }
  #background .career-node .experience-roles { margin-bottom:18px; }
  #background .career-node__details:not([open]) summary {
    position:static;
    padding-top:14px;
    border-top:1px solid rgba(255,255,255,.09);
  }
  #background .career-node__details[open] {
    margin-top:2px;
    padding:18px 0 0;
    border-top:1px solid rgba(255,255,255,.1);
    border-left:0;
  }
  #background .career-node__details[open] summary {
    padding-bottom:12px;
  }
}

/* Expanded experience cards expose the complete keyword set. */
#background .career-node .timeline-content.is-expanded .experience-roles {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
#background .career-node .timeline-content.is-expanded .experience-roles span:nth-child(n+4) {
  display:inline-flex;
}

/* Denser expanded experience layout: balanced columns and less dead space. */
@media(min-width:861px){
  #background .career-node .timeline-content.is-expanded {
    grid-template-columns:minmax(250px,.76fr) minmax(0,1.24fr);
    grid-template-rows:auto auto auto auto 1fr;
    column-gap:clamp(28px,3.4vw,46px);
    padding:clamp(22px,2.6vw,32px);
  }
  #background .career-node .timeline-content.is-expanded .experience-company {
    margin-bottom:16px;
  }
  #background .career-node .timeline-content.is-expanded h3 {
    max-width:22ch;
    margin-bottom:8px;
    font-size:clamp(1.35rem,2vw,1.85rem);
  }
  #background .career-node .timeline-content.is-expanded .timeline-org {
    margin-bottom:14px!important;
  }
  #background .career-node .timeline-content.is-expanded .experience-summary {
    max-width:42ch;
    margin-bottom:0;
    font-size:.84rem;
    line-height:1.52;
  }
  #background .career-node .timeline-content.is-expanded .experience-roles {
    align-self:start;
    margin:16px 0 0;
  }
  #background .career-node .timeline-content.is-expanded .career-node__details[open] {
    padding-left:clamp(24px,2.8vw,38px);
  }
  #background .career-node .timeline-content.is-expanded .career-node__details[open] summary {
    min-height:42px;
    margin-bottom:8px;
    padding-bottom:10px;
  }
  #background .career-node .timeline-content.is-expanded .career-node__details .timeline-company {
    margin:10px 0 8px!important;
    font-size:.78rem!important;
    line-height:1.5;
  }
  #background .career-node .timeline-content.is-expanded .role-progression {
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin-top:12px;
  }
  #background .career-node .timeline-content.is-expanded .role-progression div {
    display:flex;
    min-width:0;
    flex-direction:column;
    gap:6px;
    padding:11px 12px;
    border-right:1px solid var(--line);
    border-bottom:0;
  }
  #background .career-node .timeline-content.is-expanded .role-progression div:last-child {
    border-right:0;
  }
  #background .career-node .timeline-content.is-expanded .role-progression span {
    font-size:.76rem;
    line-height:1.35;
  }
  #background .career-node .timeline-content.is-expanded .experience-highlights {
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:20px;
    margin-top:12px;
    border-top:0;
  }
  #background .career-node .timeline-content.is-expanded .experience-highlights:before {
    grid-column:1 / -1;
    margin:0;
    padding:10px 0 8px;
    border-top:1px solid var(--line);
  }
  #background .career-node .timeline-content.is-expanded .experience-highlights li {
    grid-template-columns:1fr;
    align-content:start;
    gap:5px;
    min-width:0;
    padding:10px 0;
  }
  #background .career-node .timeline-content.is-expanded .experience-highlights li:nth-child(odd) {
    padding-right:10px;
  }
  #background .career-node .timeline-content.is-expanded .experience-highlights li:nth-child(even) {
    padding-left:10px;
  }
  #background .career-node .timeline-content.is-expanded .experience-highlights strong,
  #background .career-node .timeline-content.is-expanded .experience-highlights span {
    font-size:.77rem;
  }
  #background .career-node .timeline-content.is-expanded .experience-highlights span {
    line-height:1.45;
  }
}

@media(max-width:860px){
  #background .career-node .timeline-content.is-expanded {
    padding:20px;
  }
  #background .career-node .timeline-content.is-expanded .experience-company {
    margin-bottom:16px;
  }
  #background .career-node .timeline-content.is-expanded .experience-summary {
    margin-bottom:16px;
  }
  #background .career-node .timeline-content.is-expanded .experience-roles {
    margin-bottom:14px;
  }
  #background .career-node .timeline-content.is-expanded .career-node__details[open] {
    margin-top:0;
    padding-top:14px;
  }
}

@media(max-width:760px){
  #background .career-track-tabs{margin-bottom:22px}
  #background .career-track-tabs .career-branch{min-height:82px;padding:12px 9px}
  #background .career-track-tabs .career-branch:after{left:9px;right:9px}
  #background .career-branch__copy{align-items:flex-start;flex-direction:column;justify-content:center;gap:5px}
  #background .career-branch__copy strong{font-size:clamp(.72rem,3.3vw,.94rem)}
  #background .career-branch__copy small{font-size:6px}
  #background .career-graph{grid-template-columns:1fr;gap:18px}
  #background .career-node .timeline-content{min-height:0;padding:22px;border-radius:17px}
  #background .career-node .experience-summary{font-size:.84rem;line-height:1.55}
  #background .career-node--empty .timeline-content{min-height:210px}
}

@media(prefers-reduced-motion:reduce){
  #background .career-node .timeline-content{transition:border-color .2s ease,background .2s ease}
  #background .career-node__details[open] > :not(summary){animation:none}
}

/* Experience cards use the available canvas while closed, then return to the
   compact scale above when the horizontal details panel is opened. */
#background .career-node:not(.career-node--empty) .timeline-content {
  transition:grid-template-columns .48s cubic-bezier(.22,.75,.2,1),
    column-gap .48s cubic-bezier(.22,.75,.2,1),padding .38s ease,
    min-height .38s ease,border-color .24s ease,background .24s ease;
}
#background .career-node:not(.career-node--empty) :is(.experience-company,.experience-logo,.experience-company__name,h3,.timeline-org,.experience-summary,.experience-roles,.project-tags span) {
  transition:font-size .34s ease,width .34s ease,height .34s ease,
    flex-basis .34s ease,margin .34s ease,padding .34s ease,gap .34s ease;
}
#background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) {
  min-height:clamp(320px,31vw,370px);
  padding:clamp(34px,4.3vw,50px);
}
#background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .experience-company {
  gap:clamp(14px,1.7vw,20px);
  margin-bottom:clamp(24px,2.8vw,34px);
}
#background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .experience-logo {
  width:clamp(50px,5vw,60px);
  height:clamp(50px,5vw,60px);
  flex-basis:clamp(50px,5vw,60px);
  border-radius:clamp(12px,1.5vw,15px);
}
#background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .experience-company__name {
  font-size:clamp(1rem,1.55vw,1.22rem);
}
#background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) h3 {
  max-width:24ch;
  margin-bottom:12px;
  font-size:clamp(2rem,3.65vw,3.2rem);
  line-height:.94;
}
#background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .timeline-org {
  margin-bottom:clamp(20px,2.4vw,27px)!important;
  font-size:clamp(9px,.9vw,11px)!important;
}
#background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .experience-summary {
  max-width:68ch;
  margin-bottom:clamp(30px,3.5vw,42px);
  color:#a8ada6;
  font-size:clamp(.98rem,1.45vw,1.13rem);
  line-height:1.62;
}
#background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .experience-roles {
  margin-bottom:clamp(42px,4.5vw,52px);
}
#background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .project-tags span {
  padding:7px 10px;
  font-size:clamp(8px,.78vw,10px);
}
#background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .career-node__details:not([open]) summary {
  left:clamp(34px,4.3vw,50px);
  right:clamp(34px,4.3vw,50px);
  bottom:clamp(27px,3vw,34px);
  min-height:30px;
  font-size:clamp(8px,.76vw,10px);
}

@media(max-width:860px){
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) {
    min-height:clamp(310px,54vw,360px);
    padding:clamp(28px,5vw,38px);
  }
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) h3 {
    max-width:22ch;
    font-size:clamp(1.85rem,5.5vw,2.55rem);
  }
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .experience-summary {
    font-size:clamp(.93rem,2vw,1.04rem);
  }
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .career-node__details:not([open]) summary {
    position:absolute;
    left:clamp(28px,5vw,38px);
    right:clamp(28px,5vw,38px);
    bottom:26px;
  }
}

@media(max-width:560px){
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) {
    min-height:clamp(320px,98vw,390px);
    padding:26px 24px;
  }
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .experience-company {
    gap:12px;
    margin-bottom:24px;
  }
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .experience-logo {
    width:48px;
    height:48px;
    flex-basis:48px;
    border-radius:12px;
  }
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) h3 {
    max-width:18ch;
    font-size:clamp(1.72rem,8.5vw,2.2rem);
  }
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .experience-summary {
    margin-bottom:28px;
    font-size:.92rem;
    line-height:1.58;
  }
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .experience-roles {
    margin-bottom:44px;
  }
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .career-node__details:not([open]) summary {
    left:24px;
    right:24px;
    bottom:20px;
  }
}

@media(prefers-reduced-motion:reduce){
  #background .career-node:not(.career-node--empty) .timeline-content,
  #background .career-node:not(.career-node--empty) :is(.experience-company,.experience-logo,.experience-company__name,h3,.timeline-org,.experience-summary,.experience-roles,.project-tags span) {
    transition:none;
  }
}

/* Academic work: one portfolio system, with evidence revealed only on demand. */
#academic .academic-intro {
  width:min(1120px,100%);
  min-height:258px;
  display:grid;
  grid-template-columns:minmax(0,1.28fr) minmax(360px,.72fr);
  gap:0;
  margin:0 auto 16px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:22px;
  background:linear-gradient(132deg,rgba(255,255,255,.045),rgba(12,13,12,.92) 52%,rgba(214,255,67,.025));
}
#academic .academic-intro__copy,
#academic .academic-stats {
  border:0;
  background:transparent;
}
#academic .academic-intro__copy {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(28px,4vw,48px);
}
#academic .academic-intro__copy h3 {
  max-width:690px;
  margin:20px 0 13px;
  font-size:clamp(2rem,3.7vw,3.9rem);
  line-height:.94;
}
#academic .academic-intro__copy p {
  max-width:680px;
  font-size:.92rem;
  line-height:1.62;
}
#academic .academic-stats {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:center;
  gap:0;
  padding:30px 24px;
  border-left:1px solid rgba(255,255,255,.1);
}
#academic .academic-stats div {
  min-width:0;
  gap:8px;
  padding:8px 12px;
  border-left:1px solid rgba(255,255,255,.08);
}
#academic .academic-stats div:first-child { border-left:0; }
#academic .academic-stats strong {
  color:var(--accent);
  font-size:clamp(1.55rem,2.7vw,2.65rem);
  line-height:1;
  white-space:nowrap;
}
#academic .academic-stats span {
  max-width:13ch;
  color:#7f847f;
  font-size:7px;
  line-height:1.45;
}

#academic .academic-projects {
  width:min(1120px,100%);
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  gap:14px;
  margin-inline:auto;
}
#academic .academic-project {
  --academic-accent:var(--accent);
  min-width:0;
  height:100%;
  padding:11px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:22px;
  background:rgba(13,14,13,.9);
  transition:border-color .3s ease,background .3s ease,box-shadow .3s ease;
}
#academic .academic-project--carbon { --academic-accent:var(--accent-2); }
#academic .academic-project--mandacaru { --academic-accent:#a9bd68; }
#academic .academic-project:hover,
#academic .academic-project.is-evidence-active {
  border-color:color-mix(in srgb,var(--academic-accent) 58%,transparent);
  background:linear-gradient(145deg,color-mix(in srgb,var(--academic-accent) 5%,transparent),rgba(13,14,13,.96) 52%);
}
#academic .academic-project.is-evidence-active {
  box-shadow:0 0 0 1px color-mix(in srgb,var(--academic-accent) 12%,transparent),0 18px 42px rgba(0,0,0,.24);
}
#academic .academic-project__visual {
  height:auto;
  aspect-ratio:4 / 3;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.075);
  border-radius:14px;
  opacity:.82;
  transition:opacity .3s ease;
}
#academic .academic-project:hover .academic-project__visual,
#academic .academic-project.is-evidence-active .academic-project__visual { opacity:1; }
#academic .academic-project__body {
  min-height:330px;
  padding:17px 8px 9px;
}
#academic .academic-project__body .project-meta {
  min-height:0;
  margin:0 0 12px;
  font-size:8px;
}
#academic .academic-project__body h3 {
  min-height:0;
  margin:0 0 11px;
  font-size:clamp(1.75rem,2.7vw,2.55rem);
  line-height:.96;
}
#academic .academic-project__body p {
  display:-webkit-box;
  min-height:4.65em;
  margin:0 0 18px;
  overflow:hidden;
  color:#929792;
  font-size:.84rem;
  line-height:1.55;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
#academic .academic-project__body .project-tags {
  margin:auto 0 20px;
}
#academic .academic-project__body .project-tags span:nth-child(n+4) { display:none; }
#academic .academic-evidence-trigger {
  width:100%;
  justify-content:space-between;
  margin:0;
  padding:13px 0 2px;
  border:0;
  border-top:1px solid rgba(255,255,255,.09);
  background:transparent;
  color:var(--academic-accent);
  cursor:pointer;
  text-align:left;
}
#academic .academic-evidence-trigger:focus-visible {
  outline:2px solid var(--academic-accent);
  outline-offset:4px;
}
#academic .academic-evidence-trigger span { transform-origin:center; }
#academic .academic-project.is-evidence-active .academic-evidence-trigger span { transform:rotate(90deg); }

/* Each research visual keeps one quieter project accent. */
#academic .academic-project--echo .academic-project__visual {
  background:radial-gradient(circle at 73% 38%,rgba(214,255,67,.13),transparent 29%),linear-gradient(135deg,#101410,#0b0d0c);
}
#academic .academic-project--echo .echo-signal i {
  border-color:rgba(214,255,67,.2);
  border-bottom-color:rgba(214,255,67,.72);
  background:linear-gradient(to top,rgba(214,255,67,.16),transparent);
}
#academic .academic-project--carbon .academic-project__visual {
  background:radial-gradient(circle at 50% 44%,rgba(146,248,220,.08),transparent 36%),linear-gradient(135deg,#0b1415,#0c1012);
}
#academic .academic-project--carbon .dna-helix {
  filter:drop-shadow(0 0 10px rgba(146,248,220,.13));
}
#academic .academic-project--carbon .dna-helix:before,
#academic .academic-project--carbon .dna-helix:after {
  border-color:rgba(146,248,220,.8) transparent rgba(146,248,220,.48) rgba(146,248,220,.7);
}
#academic .academic-project--carbon .dna-rung {
  --dna-left:#92f8dc;
  --dna-right:#d4fff3;
}
#academic .academic-project--carbon .dna-rung i { box-shadow:0 0 7px rgba(146,248,220,.42); }
#academic .academic-project--carbon .dna-rung i:last-child { box-shadow:0 0 7px rgba(212,255,243,.35); }
#academic .academic-project--mandacaru .academic-project__visual {
  background:radial-gradient(circle at 58% 48%,rgba(169,189,104,.07),transparent 36%),linear-gradient(145deg,#15150f,#10110f);
}
#academic .academic-project--mandacaru .document-flow i {
  border-color:rgba(169,189,104,.32);
  color:#bacb83;
  background:rgba(169,189,104,.025);
}
#academic .academic-project--mandacaru .document-flow b { background:#a9bd68; }
#academic .academic-project--mandacaru .document-flow b:after { border-left-color:#a9bd68; }

#academic .evidence-lab {
  --evidence-accent:var(--accent);
  width:min(1120px,100%);
  margin:16px auto 0;
  padding:clamp(22px,4vw,38px);
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--evidence-accent) 28%,var(--line));
  border-radius:22px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--evidence-accent) 3%,#111),#0b0c0b 68%);
  opacity:0;
  transform:translateY(-10px);
  transition:opacity .3s ease,transform .4s cubic-bezier(.22,.75,.2,1);
}
#academic .evidence-lab[data-project="carbon"] { --evidence-accent:var(--accent-2); }
#academic .evidence-lab[data-project="mandacaru"] { --evidence-accent:#a9bd68; }
#academic .evidence-lab.is-open { opacity:1; transform:none; }
#academic .evidence-lab[hidden] { display:none; }
#academic .evidence-lab__header {
  align-items:center;
  padding-bottom:20px;
}
#academic .evidence-lab__header h3 {
  margin-top:10px;
  font-size:clamp(1.8rem,3vw,3rem);
}
#academic .evidence-lab .card-label b { color:var(--evidence-accent); font-weight:500; }
#academic .evidence-lab__actions { display:flex; align-items:center; gap:18px; }
#academic .evidence-lab__actions .text-link { color:var(--evidence-accent); white-space:nowrap; }
#academic .evidence-lab__close {
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:transparent;
  color:#a0a5a0;
  cursor:pointer;
  font:500 8px 'DM Mono',monospace;
  letter-spacing:.1em;
  text-transform:uppercase;
}
#academic .evidence-lab__close:hover,
#academic .evidence-lab__close:focus-visible { border-color:var(--evidence-accent); color:var(--text); outline:none; }
#academic .evidence-lab__close span { color:var(--evidence-accent); font-size:17px; line-height:1; }
#academic .evidence-bar,
#academic .evidence-flow__step { border-color:color-mix(in srgb,var(--evidence-accent) 48%,transparent); }
#academic .evidence-bar { background:linear-gradient(to top,color-mix(in srgb,var(--evidence-accent) 48%,transparent),color-mix(in srgb,var(--evidence-accent) 7%,transparent)); }
#academic .evidence-bar__value,
#academic .evidence-flow__step,
#academic .evidence-flow__arrow { color:var(--evidence-accent); }

@media(max-width:1050px){
  #academic .academic-intro { grid-template-columns:1fr; }
  #academic .academic-stats { border-top:1px solid rgba(255,255,255,.1); border-left:0; }
  #academic .academic-projects { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #academic .academic-project:last-child { grid-column:1 / -1; }
  #academic .academic-project:last-child .academic-project__visual { aspect-ratio:16 / 7; }
  #academic .academic-project:last-child .academic-project__body { min-height:280px; }
}

@media(max-width:760px){
  #academic .academic-intro { min-height:0; border-radius:18px; }
  #academic .academic-intro__copy { padding:26px 22px 24px; }
  #academic .academic-intro__copy h3 { font-size:clamp(1.9rem,10vw,3rem); }
  #academic .academic-stats { grid-template-columns:repeat(3,minmax(0,1fr)); padding:18px 10px; }
  #academic .academic-stats div { padding:5px 9px; }
  #academic .academic-stats div:last-child { grid-column:auto; }
  #academic .academic-stats strong { font-size:clamp(1.25rem,6vw,1.7rem); }
  #academic .academic-stats span { font-size:6px; }
  #academic .academic-projects { grid-template-columns:1fr; }
  #academic .academic-project,
  #academic .academic-project:last-child { grid-column:auto; padding:10px; border-radius:18px; }
  #academic .academic-project__visual,
  #academic .academic-project:last-child .academic-project__visual { aspect-ratio:16 / 10; border-radius:12px; }
  #academic .academic-project__body,
  #academic .academic-project:last-child .academic-project__body { min-height:0; padding:17px 7px 8px; }
  #academic .academic-project__body p { min-height:0; }
  #academic .evidence-lab { border-radius:18px; }
  #academic .evidence-lab__header { align-items:flex-start; }
  #academic .evidence-lab__actions { width:100%; justify-content:space-between; }
}

@media(prefers-reduced-motion:reduce){
  #academic .academic-project,
  #academic .academic-project__visual,
  #academic .evidence-lab { transition:none; }
}

/* Scientific-method particle array between the research thesis and its artifacts. */
#academic .research-reactor {
  position:relative;
  isolation:isolate;
  width:min(1120px,100%);
  height:132px;
  margin:-18px auto 28px;
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.09);
  border-bottom:1px solid rgba(255,255,255,.09);
  background:
    radial-gradient(circle at 50% 50%,rgba(146,248,220,.07),transparent 22%),
    linear-gradient(90deg,transparent,rgba(214,255,67,.018) 35%,rgba(146,248,220,.025) 50%,rgba(214,255,67,.018) 65%,transparent);
  pointer-events:none;
}
#academic .research-reactor:before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  opacity:.32;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:22px 22px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
}
#academic .research-reactor:after {
  content:"";
  position:absolute;
  z-index:5;
  top:0;
  bottom:0;
  left:-180px;
  width:180px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(214,255,67,.055),rgba(146,248,220,.1),transparent);
  transform:skewX(-16deg);
  animation:researchScan 8s linear infinite;
}
#academic .research-reactor__hud {
  position:absolute;
  z-index:6;
  top:10px;
  left:14px;
  right:14px;
  display:flex;
  justify-content:space-between;
  gap:16px;
  color:#59615c;
  font:500 7px 'DM Mono',monospace;
  letter-spacing:.13em;
}
#academic .research-reactor__hud span { display:flex; align-items:center; gap:8px; }
#academic .research-reactor__hud i { width:5px; height:5px; border-radius:50%; background:var(--accent); box-shadow:0 0 11px var(--accent); animation:researchNucleus 1.5s ease-in-out infinite; }
#academic .research-reactor__hud b { color:#46504b; font-weight:500; }
#academic .research-reactor__trace { position:absolute; z-index:1; inset:0; width:100%; height:100%; overflow:visible; }
#academic .research-reactor__trace path { fill:none; vector-effect:non-scaling-stroke; }
#academic .research-reactor__axis { stroke:rgba(244,242,237,.18); stroke-width:1; }
#academic .research-reactor__wave { stroke:rgba(146,248,220,.48); stroke-width:1; stroke-dasharray:5 9; animation:researchWave 4.8s linear infinite; }
#academic .research-reactor__echo { stroke:rgba(214,255,67,.16); stroke-width:1; stroke-dasharray:2 13; animation:researchWave 7s linear infinite reverse; }
#academic .research-reactor__particle {
  position:absolute;
  z-index:4;
  left:6.4%;
  top:50%;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 5px var(--accent),0 0 17px rgba(214,255,67,.82),-12px 0 16px rgba(214,255,67,.25),-25px 0 22px rgba(146,248,220,.12);
  transform:translate(-50%,-50%);
  animation:researchParticle 6.8s linear infinite;
}
#academic .research-reactor__particle i { position:absolute; inset:-6px; border:1px solid rgba(214,255,67,.32); border-radius:50%; animation:researchParticleHalo .8s ease-out infinite; }
#academic .research-reactor__stage { position:absolute; z-index:3; top:50%; width:132px; height:1px; transform:translate(-50%,-50%); }
#academic .research-reactor__stage > span { position:absolute; left:50%; top:30px; color:#747d77; font:500 7px 'DM Mono',monospace; letter-spacing:.13em; white-space:nowrap; transform:translateX(-50%); }
#academic .research-reactor__stage--hypothesis { left:16.667%; }
#academic .research-reactor__stage--evidence { left:50%; }
#academic .research-reactor__stage--artifact { left:83.333%; }
#academic .research-reactor__station { position:absolute; left:50%; top:50%; width:22px; height:22px; border:1px solid rgba(214,255,67,.48); border-radius:50%; background:#0a0b0a; box-shadow:0 0 0 6px rgba(9,10,9,.72); transform:translate(-50%,-50%); }
#academic .research-reactor__stage--artifact .research-reactor__station { border-color:rgba(146,248,220,.52); }
#academic .research-reactor__station:before { content:""; position:absolute; inset:7px; border-radius:50%; background:var(--accent); box-shadow:0 0 10px rgba(214,255,67,.7); }
#academic .research-reactor__stage--artifact .research-reactor__station:before { background:var(--accent-2); box-shadow:0 0 10px rgba(146,248,220,.7); }
#academic .research-reactor__station:after { content:""; position:absolute; inset:-7px; border:1px solid rgba(214,255,67,.16); border-radius:50%; animation:researchStation 2.2s ease-out infinite; }
#academic .research-reactor__stage--artifact .research-reactor__station:after { border-color:rgba(146,248,220,.17); animation-delay:-1.1s; }
#academic .research-reactor__atom { position:absolute; left:50%; top:50%; width:46px; height:46px; filter:drop-shadow(0 0 10px rgba(146,248,220,.18)); transform:translate(-50%,-50%); }
#academic .research-reactor__atom i { position:absolute; left:1px; top:15px; width:44px; height:16px; border:1px solid rgba(146,248,220,.46); border-radius:50%; }
#academic .research-reactor__atom i:after { content:""; position:absolute; left:-3px; top:50%; width:5px; height:5px; border-radius:50%; background:var(--accent-2); box-shadow:0 0 8px var(--accent-2); transform:translateY(-50%); }
#academic .research-reactor__atom i:nth-child(1) { animation:researchOrbitOne 4s linear infinite; }
#academic .research-reactor__atom i:nth-child(2) { animation:researchOrbitTwo 5.3s linear infinite reverse; }
#academic .research-reactor__atom i:nth-child(3) { animation:researchOrbitThree 6.2s linear infinite; }
#academic .research-reactor__atom b { position:absolute; left:calc(50% - 4.5px); top:calc(50% - 4.5px); width:9px; height:9px; border-radius:50%; background:var(--accent); box-shadow:0 0 13px rgba(214,255,67,.82); animation:researchNucleus 1.7s ease-in-out infinite; }
@keyframes researchParticle { 0%{left:6.4%;opacity:0}4%,96%{opacity:1}50%{background:var(--accent-2);box-shadow:0 0 5px var(--accent-2),0 0 20px rgba(146,248,220,.9),-12px 0 18px rgba(146,248,220,.28),-25px 0 22px rgba(214,255,67,.12)}100%{left:93.6%;opacity:0} }
@keyframes researchParticleHalo { from{opacity:.8;transform:scale(.55)}to{opacity:0;transform:scale(1.35)} }
@keyframes researchWave { to{stroke-dashoffset:-56} }
@keyframes researchScan { 0%,12%{left:-180px;opacity:0}20%,82%{opacity:1}90%,100%{left:calc(100% + 180px);opacity:0} }
@keyframes researchStation { from{opacity:.7;transform:scale(.7)}to{opacity:0;transform:scale(1.32)} }
@keyframes researchNucleus { 50%{opacity:.45;transform:scale(.72)} }
@keyframes researchOrbitOne { from{transform:rotate(0)}to{transform:rotate(360deg)} }
@keyframes researchOrbitTwo { from{transform:rotate(60deg)}to{transform:rotate(420deg)} }
@keyframes researchOrbitThree { from{transform:rotate(120deg)}to{transform:rotate(480deg)} }
@media(max-width:760px){
  #academic .research-reactor { height:112px; margin:-12px auto 22px; }
  #academic .research-reactor__hud b { display:none; }
  #academic .research-reactor__stage > span { font-size:6px; letter-spacing:.08em; }
  #academic .research-reactor__atom { transform:translate(-50%,-50%) scale(.86); }
  #academic .research-reactor__trace { height:112px; }
}
@media(max-width:460px){
  #academic .research-reactor__stage > span { max-width:75px; overflow:hidden; text-overflow:ellipsis; }
  #academic .research-reactor__hud { font-size:6px; }
}
@media(prefers-reduced-motion:reduce){
  #academic .research-reactor:after { display:none; }
  #academic .research-reactor :is(.research-reactor__wave,.research-reactor__echo,.research-reactor__particle,.research-reactor__particle i,.research-reactor__atom i,.research-reactor__atom b,.research-reactor__hud i),
  #academic .research-reactor__station:after { animation:none; }
  #academic .research-reactor__particle { left:50%; opacity:.62; }
}

/* Each academic project now carries its own scientific animation language. */
#academic .academic-project__code { z-index:7; }

/* ECHO-UFS — sequential sampling and a moving statistical readout. */
#academic .academic-project--echo .echo-signal { isolation:isolate; }
#academic .academic-project--echo .echo-signal:before {
  content:"";
  position:absolute;
  z-index:-1;
  left:-4%;
  right:-4%;
  bottom:20%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(214,255,67,.25),transparent);
}
#academic .academic-project--echo .echo-signal i {
  transform-origin:center bottom;
  animation:echoSample 4.8s cubic-bezier(.45,0,.2,1) infinite;
}
#academic .academic-project--echo .echo-signal i:nth-child(1) { animation-delay:0s; }
#academic .academic-project--echo .echo-signal i:nth-child(2) { animation-delay:-3.84s; }
#academic .academic-project--echo .echo-signal i:nth-child(3) { animation-delay:-2.88s; }
#academic .academic-project--echo .echo-signal i:nth-child(4) { animation-delay:-1.92s; }
#academic .academic-project--echo .echo-signal i:nth-child(5) { animation-delay:-.96s; }
#academic .echo-study-scan {
  position:absolute;
  z-index:5;
  left:11%;
  top:13%;
  bottom:17%;
  width:1px;
  background:linear-gradient(transparent,rgba(214,255,67,.92) 32% 68%,transparent);
  box-shadow:0 0 14px rgba(214,255,67,.48);
  animation:echoReadout 5.2s cubic-bezier(.55,0,.35,1) infinite;
}
#academic .echo-study-scan:before {
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:7px;
  height:7px;
  border:1px solid var(--accent);
  border-radius:50%;
  background:#101410;
  box-shadow:0 0 12px rgba(214,255,67,.7);
  transform:translate(-50%,-50%);
}
#academic .echo-study-scan:after {
  content:"SAMPLE";
  position:absolute;
  left:7px;
  top:calc(50% - 4px);
  color:rgba(214,255,67,.58);
  font:500 6px 'DM Mono',monospace;
  letter-spacing:.12em;
}

/* Carbon — a sequencing read-head activates DNA bases from top to bottom. */
#academic .academic-project--carbon .dna-rung {
  transform-origin:center;
  animation:carbonBaseRead 4.5s ease-in-out infinite;
}
#academic .academic-project--carbon .dna-rung:nth-child(1) { animation-delay:-4.5s; }
#academic .academic-project--carbon .dna-rung:nth-child(2) { animation-delay:-4s; }
#academic .academic-project--carbon .dna-rung:nth-child(3) { animation-delay:-3.5s; }
#academic .academic-project--carbon .dna-rung:nth-child(4) { animation-delay:-3s; }
#academic .academic-project--carbon .dna-rung:nth-child(5) { animation-delay:-2.5s; }
#academic .academic-project--carbon .dna-rung:nth-child(6) { animation-delay:-2s; }
#academic .academic-project--carbon .dna-rung:nth-child(7) { animation-delay:-1.5s; }
#academic .academic-project--carbon .dna-rung:nth-child(8) { animation-delay:-1s; }
#academic .academic-project--carbon .dna-rung:nth-child(9) { animation-delay:-.5s; }
#academic .carbon-readhead {
  position:absolute;
  z-index:4;
  left:7%;
  right:7%;
  top:9%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(146,248,220,.9) 24% 76%,transparent);
  box-shadow:0 0 12px rgba(146,248,220,.48),0 7px 22px rgba(146,248,220,.08);
  animation:carbonReadhead 4.5s cubic-bezier(.45,0,.4,1) infinite;
}
#academic .carbon-readhead:after {
  content:"SEQ / READ";
  position:absolute;
  right:0;
  top:6px;
  color:rgba(146,248,220,.54);
  font:500 6px 'DM Mono',monospace;
  letter-spacing:.13em;
}

/* Mandacaru — packets advance through the document-processing pipeline. */
#academic .academic-project--mandacaru .document-flow:before {
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  top:50%;
  height:54%;
  background:radial-gradient(ellipse at center,rgba(169,189,104,.06),transparent 68%);
  transform:translateY(-50%);
  animation:documentField 4.8s ease-in-out infinite;
}
#academic .academic-project--mandacaru .document-flow i {
  position:relative;
  z-index:2;
  animation:documentStage 4.8s ease-in-out infinite;
}
#academic .academic-project--mandacaru .document-flow i:nth-of-type(1) { animation-delay:0s; }
#academic .academic-project--mandacaru .document-flow i:nth-of-type(2) { animation-delay:1.6s; }
#academic .academic-project--mandacaru .document-flow i:nth-of-type(3) { animation-delay:3.2s; }
#academic .academic-project--mandacaru .document-flow b { z-index:3; overflow:visible; }
#academic .academic-project--mandacaru .document-flow b:before {
  content:"";
  position:absolute;
  z-index:2;
  left:0;
  top:-2px;
  width:5px;
  height:5px;
  border-radius:1px;
  background:#d6ff43;
  box-shadow:0 0 9px rgba(214,255,67,.8);
  opacity:0;
  animation:documentPacket 3.2s linear infinite;
}
#academic .academic-project--mandacaru .document-flow b:nth-of-type(1):before { animation-delay:.65s; }
#academic .academic-project--mandacaru .document-flow b:nth-of-type(2):before { animation-delay:2.25s; }

#academic .academic-project--echo:hover .echo-signal i,
#academic .academic-project--echo.is-evidence-active .echo-signal i { animation-duration:2.8s; }
#academic .academic-project--echo:hover .echo-study-scan,
#academic .academic-project--echo.is-evidence-active .echo-study-scan { animation-duration:3.2s; }
#academic .academic-project--carbon:hover :is(.dna-rung,.carbon-readhead),
#academic .academic-project--carbon.is-evidence-active :is(.dna-rung,.carbon-readhead) { animation-duration:2.9s; }
#academic .academic-project--mandacaru:hover .document-flow i,
#academic .academic-project--mandacaru:hover .document-flow b:before,
#academic .academic-project--mandacaru.is-evidence-active .document-flow i,
#academic .academic-project--mandacaru.is-evidence-active .document-flow b:before { animation-duration:2.8s; }

@keyframes echoSample {
  0%,100% { opacity:.38; transform:skewY(-12deg) scaleY(.78); }
  22%,44% { opacity:1; transform:skewY(-12deg) scaleY(1.06); border-color:rgba(214,255,67,.66); background:linear-gradient(to top,rgba(214,255,67,.3),transparent); }
  68% { opacity:.58; transform:skewY(-12deg) scaleY(.9); }
}
@keyframes echoReadout { 0%{left:11%;opacity:0}9%,91%{opacity:1}100%{left:89%;opacity:0} }
@keyframes carbonBaseRead {
  0%,100% { opacity:.28; transform:translateX(-50%) rotate(var(--dna-angle)) scaleX(.82); }
  14%,34% { opacity:1; filter:brightness(1.45); transform:translateX(-50%) rotate(var(--dna-angle)) scaleX(1.06); }
  62% { opacity:.58; transform:translateX(-50%) rotate(var(--dna-angle)) scaleX(.94); }
}
@keyframes carbonReadhead { 0%{top:9%;opacity:0}8%,90%{opacity:1}100%{top:88%;opacity:0} }
@keyframes documentStage {
  0%,100% { border-color:rgba(169,189,104,.25); color:#8d9968; background:rgba(169,189,104,.015); transform:translateY(0); }
  12%,34% { border-color:rgba(214,255,67,.72); color:#d6ff43; background:rgba(214,255,67,.09); box-shadow:0 0 24px rgba(169,189,104,.12); transform:translateY(-3px); }
  52% { transform:translateY(0); }
}
@keyframes documentPacket { 0%{left:0;opacity:0}12%,78%{opacity:1}100%{left:calc(100% - 4px);opacity:0} }
@keyframes documentField { 50%{opacity:.45;transform:translateY(-50%) scaleX(1.08)} }

@media(prefers-reduced-motion:reduce){
  #academic :is(.echo-signal i,.echo-study-scan,.dna-rung,.carbon-readhead,.document-flow i),
  #academic .document-flow:before,
  #academic .document-flow b:before { animation:none!important; }
  #academic .echo-study-scan { left:50%; opacity:.5; }
  #academic .carbon-readhead { top:50%; opacity:.45; }
}

/* Client brands: original-color logo loop above the section heading. */
#background .section-heading { margin-bottom:30px; }
#background .client-marquee {
  position:relative;
  width:min(1120px,100%);
  min-height:88px;
  margin:0 auto 48px;
  overflow:hidden;
  border:1px solid #fff;
  border-radius:999px;
  background:#fff;
  box-shadow:0 18px 50px rgba(0,0,0,.2),inset 0 1px 0 #fff;
  color:#0a0a0a;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
}
#background .client-marquee__track {
  width:max-content;
  min-height:88px;
  display:flex;
  align-items:center;
  will-change:transform;
  animation:clientBrandMarquee 34s linear infinite;
}
#background .client-marquee:hover .client-marquee__track { animation-play-state:paused; }
#background .client-marquee__group {
  min-width:max-content;
  min-height:88px;
  display:flex;
  flex:none;
  align-items:center;
  gap:clamp(40px,6vw,78px);
  padding:0 clamp(28px,4vw,52px);
}
#background .client-brand {
  min-width:138px;
  min-height:54px;
  display:grid;
  place-items:center;
  color:#111;
  font:700 1rem 'DM Mono',monospace;
  letter-spacing:.04em;
  white-space:nowrap;
}
#background .client-brand img {
  display:block;
  width:auto;
  max-width:176px;
  height:auto;
  max-height:42px;
  object-fit:contain;
}
#background .client-brand--sebrae img,
#background .client-brand--institution img { max-height:54px; }
#background .client-brand--compact img { max-height:56px; }
#background .client-brand--wide img { max-width:190px; }
#background .client-brand--dcomp img { max-height:62px; }
#background .client-brand--brasilidade img { max-height:70px; border-radius:50%; }
#background .client-brand--inverse {
  min-width:96px;
  min-height:58px;
  padding:7px 24px;
  border-radius:16px;
  background:#101010;
}
#background .client-brand--inverse img { max-height:44px; }
#background .client-brand--visppy img {
  max-width:184px;
  max-height:58px;
}
#background .client-brand--echo img {
  max-width:190px;
  max-height:64px;
  border-radius:8px;
}
#background .client-brand--echo-unm {
  min-width:194px;
  min-height:56px;
  padding:7px 14px;
  border-radius:12px;
  background:#0b0f14;
}
#background .client-brand--echo-unm img { max-width:190px; max-height:42px; }
#background .client-brand--abade { min-width:78px; padding:6px 16px; }
#background .client-brand--abade img { max-height:50px; }
#background .client-marquee--empty .client-marquee__track { width:100%; animation:none; }
#background .client-marquee--empty .client-marquee__group { width:100%; min-width:100%; }
@keyframes clientBrandMarquee { to { transform:translateX(-50%); } }

@media(max-width:760px){
  #background .client-marquee,
  #background .client-marquee__track,
  #background .client-marquee__group { min-height:68px; }
  #background .section-heading { margin-bottom:24px; }
  #background .client-marquee { margin:0 auto 38px; }
  #background .client-marquee__group { gap:42px; padding-inline:26px; }
  #background .client-brand { min-width:108px; }
  #background .client-brand img { max-width:132px; max-height:34px; }
  #background .client-brand--sebrae img,
  #background .client-brand--institution img { max-height:42px; }
  #background .client-brand--compact img { max-height:44px; }
  #background .client-brand--dcomp img { max-height:48px; }
  #background .client-brand--brasilidade img { max-height:52px; }
  #background .client-brand--inverse { min-width:78px; min-height:48px; padding:5px 18px; }
  #background .client-brand--inverse img { max-height:36px; }
  #background .client-brand--visppy img { max-width:142px; max-height:44px; border-radius:11px; }
  #background .client-brand--echo img { max-width:146px; max-height:54px; border-radius:6px; }
  #background .client-brand--echo-unm { min-width:154px; min-height:48px; padding:6px 11px; border-radius:10px; }
  #background .client-brand--echo-unm img { max-width:150px; max-height:34px; }
  #background .client-brand--abade { min-width:66px; padding:4px 12px; }
  #background .client-brand--abade img { max-height:38px; }
}

@media(prefers-reduced-motion:reduce){
  #background .client-marquee { overflow-x:auto; -webkit-mask-image:none; mask-image:none; }
  #background .client-marquee__track { animation:none; }
  #background .client-marquee__group[aria-hidden="true"] { display:none; }
}

/* Selected work: one connected field for applied projects and academic research. */
.work-system {
  --work-width:1120px;
  position:relative;
  isolation:isolate;
}
#academic { scroll-margin-top:96px; }
.work-system:before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:clamp(120px,15vw,220px) 0 4%;
  pointer-events:none;
  opacity:.38;
  background:
    radial-gradient(circle at 50% 32%,rgba(214,255,67,.07),transparent 24%),
    radial-gradient(circle at 50% 72%,rgba(146,248,220,.055),transparent 26%),
    linear-gradient(90deg,transparent,rgba(255,255,255,.025) 50%,transparent);
  -webkit-mask-image:linear-gradient(transparent,#000 8%,#000 90%,transparent);
  mask-image:linear-gradient(transparent,#000 8%,#000 90%,transparent);
}
.work-system__heading { margin-bottom:32px; }
.work-system__heading h2 { font-size:clamp(3.2rem,7.8vw,7.8rem); }
.work-system__heading > p { max-width:720px; }

.work-spectrum {
  position:relative;
  width:min(var(--work-width),100%);
  min-height:190px;
  display:grid;
  grid-template-columns:minmax(280px,.85fr) minmax(420px,1.15fr) auto;
  align-items:center;
  gap:clamp(28px,4vw,62px);
  margin:0 auto 72px;
  padding:clamp(28px,4vw,46px);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  border-radius:28px;
  background:
    linear-gradient(115deg,rgba(214,255,67,.055),transparent 28%),
    radial-gradient(circle at 68% 50%,rgba(146,248,220,.045),transparent 30%),
    rgba(10,11,10,.94);
  box-shadow:inset 0 1px rgba(255,255,255,.035),0 24px 70px rgba(0,0,0,.24);
}
.work-spectrum:before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.36;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:38px 38px;
  -webkit-mask-image:linear-gradient(90deg,#000,transparent 74%);
  mask-image:linear-gradient(90deg,#000,transparent 74%);
}
.work-spectrum__intro { position:relative; z-index:2; }
.work-spectrum__intro strong {
  display:block;
  max-width:430px;
  margin:17px 0 9px;
  color:#ebece5;
  font-size:clamp(1.55rem,2.7vw,2.65rem);
  font-weight:600;
  line-height:.98;
  letter-spacing:-.052em;
  text-wrap:balance;
  transition:color .3s ease;
}
.work-spectrum__intro p {
  max-width:470px;
  margin:0;
  color:#7f847f;
  font-size:.85rem;
  line-height:1.6;
}
.work-spectrum__process {
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  min-height:90px;
  align-items:center;
}
.work-spectrum__line {
  position:absolute;
  left:16.667%;
  right:16.667%;
  top:36px;
  height:1px;
  background:linear-gradient(90deg,var(--accent),var(--accent-2),var(--accent));
  background-size:200% 100%;
  box-shadow:0 0 14px rgba(146,248,220,.13);
  animation:workSignalFlow 3.2s linear infinite;
}
.work-spectrum__process div {
  position:relative;
  z-index:2;
  display:grid;
  justify-items:center;
  gap:6px;
}
.work-spectrum__process i {
  position:relative;
  width:17px;
  height:17px;
  margin:28px 0 4px;
  border:1px solid rgba(214,255,67,.62);
  border-radius:50%;
  background:#0b0d0c;
  box-shadow:0 0 0 6px rgba(10,11,10,.92),0 0 18px rgba(214,255,67,.14);
}
.work-spectrum__process div:nth-of-type(2) i { border-color:rgba(146,248,220,.68); }
.work-spectrum__process i:before,
.work-spectrum__process i:after { content:""; position:absolute; border-radius:50%; }
.work-spectrum__process i:before { inset:5px; background:var(--accent); box-shadow:0 0 9px var(--accent); }
.work-spectrum__process div:nth-of-type(2) i:before { background:var(--accent-2); box-shadow:0 0 9px var(--accent-2); }
.work-spectrum__process i:after { inset:-7px; border:1px solid rgba(214,255,67,.18); animation:workNodePulse 2.2s ease-out infinite; }
.work-spectrum__process div:nth-of-type(2) i:after { animation-delay:-.7s; border-color:rgba(146,248,220,.2); }
.work-spectrum__process div:nth-of-type(3) i:after { animation-delay:-1.4s; }
.work-spectrum__process small,
.work-spectrum__process b {
  font:500 7px 'DM Mono',monospace;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.work-spectrum__process small { color:#4f5651; }
.work-spectrum__process b { color:#a4aaa4; font-size:8px; }
.work-spectrum__status {
  position:relative;
  z-index:2;
  align-self:start;
  display:flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
  color:#626963;
  font:500 7px 'DM Mono',monospace;
  letter-spacing:.12em;
}
.work-spectrum__status i { width:5px; height:5px; border-radius:50%; background:var(--accent); box-shadow:0 0 10px var(--accent); animation:workStatus 1.6s ease-in-out infinite; }

.work-lane { width:min(var(--work-width),100%); margin-inline:auto; }
.work-lane__heading {
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(340px,.72fr);
  align-items:end;
  gap:36px;
  margin:0 0 24px;
  padding:24px 0 0;
  border-top:1px solid rgba(255,255,255,.13);
}
.work-lane__heading > div > span {
  display:block;
  margin-bottom:10px;
  color:var(--accent);
  font:500 8px 'DM Mono',monospace;
  letter-spacing:.15em;
}
.work-lane__heading h3 {
  margin:0;
  font-size:clamp(2rem,4.2vw,4.4rem);
  line-height:.94;
  letter-spacing:-.06em;
}
.work-lane__heading > p {
  max-width:510px;
  justify-self:end;
  margin:0;
  color:#858985;
  font-size:.9rem;
  line-height:1.65;
}
.work-lane__heading--research { border-top-color:rgba(146,248,220,.2); }
.work-lane__heading--research > div > span { color:var(--accent-2); }
.work-lane__heading--research h3 {
  font-family:'Inter',sans-serif;
  font-size:clamp(2.5rem,5.1vw,5.3rem);
  font-weight:400;
  letter-spacing:-.055em;
}
.work-lane--research .academic-project__body h3 {
  font-family:'Inter',sans-serif;
  font-weight:400;
  letter-spacing:-.035em;
}

.work-correlations {
  position:relative;
  z-index:4;
  width:min(var(--work-width),100%);
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:34px auto 36px;
}
.work-correlations:before {
  content:"SHARED METHODS / SELECT A RELATION";
  position:absolute;
  left:50%;
  top:50%;
  z-index:0;
  color:rgba(255,255,255,.035);
  font:700 clamp(1.4rem,3vw,2.9rem) 'DM Mono',monospace;
  letter-spacing:.11em;
  white-space:nowrap;
  transform:translate(-50%,-50%);
}
.work-correlation {
  --pair-accent:var(--accent);
  position:relative;
  z-index:2;
  min-width:0;
  min-height:138px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  padding:24px 25px;
  overflow:visible;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:rgba(10,11,10,.96);
  color:inherit;
  cursor:pointer;
  text-align:left;
  transition:border-color .3s ease,background .3s ease,box-shadow .3s ease,opacity .3s ease;
}
.work-correlation[data-work-pair="learning"] { --pair-accent:var(--accent-2); }
.work-correlation[data-work-pair="structure"] { --pair-accent:#b9cd7a; }
.work-correlation small {
  position:relative;
  z-index:3;
  margin-bottom:12px;
  color:var(--pair-accent);
  font:500 7px 'DM Mono',monospace;
  letter-spacing:.15em;
}
.work-correlation strong {
  position:relative;
  z-index:3;
  display:block;
  max-width:26ch;
  color:#d9dcd5;
  font-size:clamp(.95rem,1.4vw,1.2rem);
  line-height:1.12;
  letter-spacing:-.025em;
}
.work-correlation > span:last-child {
  position:relative;
  z-index:3;
  display:block;
  margin-top:8px;
  color:#919792;
  font:400 8px 'DM Mono',monospace;
  line-height:1.4;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.work-correlation__beam {
  position:absolute!important;
  z-index:-1!important;
  left:50%;
  top:-35px;
  bottom:-37px;
  width:1px;
  margin:0!important;
  overflow:hidden;
  background:repeating-linear-gradient(to bottom,color-mix(in srgb,var(--pair-accent) 42%,transparent) 0 3px,transparent 3px 8px);
}
.work-correlation__beam i {
  position:absolute;
  left:-2px;
  top:-7px;
  width:5px;
  height:7px;
  border-radius:999px;
  background:var(--pair-accent);
  box-shadow:0 0 12px var(--pair-accent);
  animation:workPairPacket 3s ease-in-out infinite;
}
.work-correlation:nth-child(2) .work-correlation__beam i { animation-delay:-1s; }
.work-correlation:nth-child(3) .work-correlation__beam i { animation-delay:-2s; }
.work-correlation:hover,
.work-correlation:focus-visible,
.work-correlation.is-correlated {
  border-color:color-mix(in srgb,var(--pair-accent) 58%,transparent);
  outline:none;
  background:linear-gradient(145deg,color-mix(in srgb,var(--pair-accent) 8%,#0a0b0a),rgba(10,11,10,.98));
  box-shadow:0 0 0 1px color-mix(in srgb,var(--pair-accent) 7%,transparent),0 16px 36px rgba(0,0,0,.24);
}
.work-correlation:focus-visible { outline:2px solid var(--pair-accent); outline-offset:4px; }

.work-system [data-work-pair] { transition:opacity .3s ease,filter .3s ease,border-color .3s ease,box-shadow .3s ease,background .3s ease; }
.work-system.has-active-pair [data-work-pair]:not(.is-correlated) { opacity:.38; filter:saturate(.55); }
.work-system [data-work-pair].is-correlated { opacity:1; filter:none; }
.work-system .project-card.is-correlated {
  border-color:rgba(214,255,67,.62);
  box-shadow:0 0 0 1px rgba(214,255,67,.07),0 20px 48px rgba(0,0,0,.3),0 0 30px rgba(214,255,67,.055);
}
.work-system .academic-project.is-correlated {
  border-color:color-mix(in srgb,var(--academic-accent) 62%,transparent)!important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--academic-accent) 8%,transparent),0 20px 48px rgba(0,0,0,.28);
}
.work-system.has-active-pair .work-spectrum__intro strong { color:var(--accent); }

/* Applied-side motion mirrors the scientific readouts below it. */
.work-system .visual-visppy .vision-path { animation:workVisionPath 4.8s ease-in-out infinite; }
.work-system .visual-visppy .vision-node { animation:workSignalNode 3.3s ease-in-out infinite; }
.work-system .visual-visppy .n2 { animation-delay:-1.1s; }
.work-system .visual-visppy .n3 { animation-delay:-2.2s; }
.work-system .visual-eduqy path { animation:workPathDash 6s linear infinite; }
.work-system .visual-eduqy path:nth-child(2) { animation-direction:reverse; animation-duration:7.5s; }
.work-system .eduqy-core { animation:workCoreBreathe 3.4s ease-in-out infinite; }
.work-system .eduqy-node { animation:workSignalNode 3s ease-in-out infinite; }
.work-system .eduqy-node--two { animation-delay:-1s; }
.work-system .eduqy-node--three { animation-delay:-2s; }
.work-system .visual-abade:after {
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  top:8%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(214,255,67,.75),transparent);
  box-shadow:0 0 12px rgba(214,255,67,.3);
  animation:workGridScan 4.6s cubic-bezier(.45,0,.35,1) infinite;
}
.work-system .abade-signal { animation:workSignalNode 3.6s ease-in-out infinite; }
.work-system .abade-signal--two { animation-delay:-1.2s; }
.work-system .abade-signal--three { animation-delay:-2.4s; }

@keyframes workSignalFlow { to { background-position:-200% 0; } }
@keyframes workNodePulse { 0% { opacity:.8; transform:scale(.65); } 100% { opacity:0; transform:scale(1.35); } }
@keyframes workStatus { 50% { opacity:.35; transform:scale(.72); } }
@keyframes workPairPacket { 0% { top:-7px; opacity:0; } 12%,82% { opacity:1; } 100% { top:100%; opacity:0; } }
@keyframes workVisionPath { 50% { opacity:.42; transform:rotate(-8deg) scale(.96); } }
@keyframes workSignalNode { 50% { opacity:.35; transform:scale(.68); filter:brightness(.7); } }
@keyframes workPathDash { to { stroke-dashoffset:-72; } }
@keyframes workCoreBreathe { 50% { border-color:rgba(146,248,220,.9); box-shadow:0 0 0 9px rgba(146,248,220,.035),0 0 62px rgba(146,248,220,.16); } }
@keyframes workGridScan { 0% { top:8%; opacity:0; } 10%,88% { opacity:1; } 100% { top:92%; opacity:0; } }

@media(max-width:1050px){
  .work-system { scroll-margin-top:86px; }
  .work-spectrum { grid-template-columns:1fr 1fr; }
  .work-spectrum__status { position:absolute; right:22px; top:20px; }
  .work-lane__heading { grid-template-columns:1fr minmax(300px,.72fr); }
  .work-correlations { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .work-correlation:last-child { grid-column:1 / -1; }
  .work-correlation:last-child .work-correlation__beam { left:50%; }
}

@media(max-width:760px){
  .work-system__heading { margin-bottom:24px; }
  .work-spectrum {
    min-height:0;
    grid-template-columns:1fr;
    gap:24px;
    margin-bottom:52px;
    padding:25px 21px 23px;
    border-radius:21px;
  }
  .work-spectrum__status { position:static; grid-row:1; justify-self:end; }
  .work-spectrum__intro { grid-row:2; }
  .work-spectrum__process { grid-row:3; min-height:82px; }
  .work-spectrum__intro strong { font-size:clamp(1.65rem,8vw,2.4rem); }
  .work-lane__heading { grid-template-columns:1fr; gap:12px; padding-top:20px; }
  .work-lane__heading h3 { font-size:clamp(2rem,10vw,3.5rem); }
  .work-lane__heading--research h3 { font-size:clamp(2.7rem,12vw,4.25rem); }
  .work-lane__heading > p { justify-self:start; font-size:.84rem; }
  .work-correlations { grid-template-columns:1fr; gap:10px; margin:28px auto 32px; }
  .work-correlations:before { display:none; }
  .work-correlation,
  .work-correlation:last-child { grid-column:auto; min-height:116px; padding:21px 22px 21px 56px; }
  .work-correlation__beam {
    left:24px;
    top:-11px;
    bottom:-11px;
  }
  .work-correlation:last-child .work-correlation__beam { left:24px; }
  .work-correlation strong { font-size:1rem; }
  .work-system.has-active-pair [data-work-pair]:not(.is-correlated) { opacity:.5; }
}

@media(prefers-reduced-motion:reduce){
  .work-spectrum__line,
  .work-spectrum__process i:after,
  .work-spectrum__status i,
  .work-correlation__beam i,
  .work-system .visual-visppy :is(.vision-path,.vision-node),
  .work-system .visual-eduqy :is(path,.eduqy-core,.eduqy-node),
  .work-system .visual-abade:after,
  .work-system .abade-signal { animation:none; }
  .work-correlation__beam i { top:50%; opacity:.62; }
  .work-system [data-work-pair],
  .work-spectrum__intro strong { transition:none; }
}

/* Technical skills: compact, retractable capability index. */
#skills { scroll-margin-top:96px; }
#skills .section-heading { margin-bottom:42px; }
#skills .skills-grid {
  width:min(1120px,100%);
  display:block;
  margin-inline:auto;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.14);
  interpolate-size:allow-keywords;
}
#skills .skill-block {
  --skill-accent:var(--accent);
  min-height:0;
  padding:0;
  overflow:hidden;
  border:0;
  border-top:1px solid rgba(255,255,255,.14);
  background:rgba(10,11,10,.34);
  transition:background .35s ease,border-color .35s ease,box-shadow .35s ease;
}
#skills .skill-block:nth-child(2),
#skills .skill-block:nth-child(5) { --skill-accent:var(--accent-2); }
#skills .skill-block:nth-child(3),
#skills .skill-block:nth-child(6) { --skill-accent:#b9cd7a; }
#skills .skill-block[open] {
  border-top-color:color-mix(in srgb,var(--skill-accent) 55%,transparent);
  background:
    radial-gradient(circle at 9% 20%,color-mix(in srgb,var(--skill-accent) 8%,transparent),transparent 27%),
    linear-gradient(105deg,rgba(255,255,255,.025),rgba(10,11,10,.72));
  box-shadow:inset 3px 0 0 color-mix(in srgb,var(--skill-accent) 70%,transparent);
}
#skills .skill-block::details-content {
  block-size:0;
  overflow-y:clip;
  opacity:0;
  transition:block-size .45s cubic-bezier(.22,.75,.2,1),opacity .3s ease,content-visibility .45s allow-discrete;
}
#skills .skill-block[open]::details-content { block-size:auto; opacity:1; }
#skills .skill-block__summary {
  min-height:112px;
  display:grid;
  grid-template-columns:42px minmax(280px,1.15fr) minmax(220px,.7fr) auto 44px;
  align-items:center;
  gap:clamp(16px,2.5vw,34px);
  padding:20px 22px;
  cursor:pointer;
  list-style:none;
  -webkit-tap-highlight-color:transparent;
}
#skills .skill-block__summary::-webkit-details-marker { display:none; }
#skills .skill-block__summary::marker { content:""; }
#skills .skill-block__summary:hover { background:rgba(255,255,255,.018); }
#skills .skill-block__summary:focus-visible {
  position:relative;
  z-index:2;
  outline:2px solid var(--skill-accent);
  outline-offset:-3px;
}
#skills .skill-num {
  align-self:start;
  padding-top:5px;
  color:var(--skill-accent);
  font-size:9px;
  letter-spacing:.14em;
}
#skills .skill-block__title { min-width:0; }
#skills .skill-block__title small {
  display:block;
  margin-bottom:8px;
  color:#6f7670;
  font:500 7px 'DM Mono',monospace;
  letter-spacing:.13em;
}
#skills .skill-block h3 {
  min-height:0;
  margin:0;
  color:#e9eae5;
  font-size:clamp(1.35rem,2.3vw,2.25rem);
  line-height:1;
  letter-spacing:-.045em;
  transition:color .3s ease;
}
#skills .skill-block[open] h3 { color:var(--skill-accent); }
#skills .skill-block__preview,
#skills .skill-block__count {
  color:#858b86;
  font:400 9px 'DM Mono',monospace;
  line-height:1.5;
}
#skills .skill-block__preview { text-transform:uppercase; letter-spacing:.06em; }
#skills .skill-block__count { white-space:nowrap; color:#676d68; text-transform:uppercase; letter-spacing:.1em; }
#skills .skill-block__toggle {
  position:relative;
  width:36px;
  height:36px;
  justify-self:end;
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
  transition:border-color .3s ease,background .3s ease,transform .4s cubic-bezier(.22,.75,.2,1);
}
#skills .skill-block__toggle:before,
#skills .skill-block__toggle:after {
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:12px;
  height:1px;
  background:#a1a6a1;
  transform:translate(-50%,-50%);
  transition:transform .35s ease,background .3s ease;
}
#skills .skill-block__toggle:after { transform:translate(-50%,-50%) rotate(90deg); }
#skills .skill-block[open] .skill-block__toggle {
  border-color:color-mix(in srgb,var(--skill-accent) 62%,transparent);
  background:color-mix(in srgb,var(--skill-accent) 8%,transparent);
  transform:rotate(180deg);
}
#skills .skill-block[open] .skill-block__toggle:before { background:var(--skill-accent); }
#skills .skill-block[open] .skill-block__toggle:after { background:var(--skill-accent); transform:translate(-50%,-50%) rotate(90deg) scaleX(0); }
#skills .skill-block__content { padding:0 22px 26px 98px; }
#skills .skill-list {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:0;
  color:#aeb4ae;
}
#skills .skill-list span {
  position:relative;
  min-height:52px;
  display:flex;
  align-items:center;
  padding:13px 15px 13px 30px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
  background:rgba(255,255,255,.018);
  font-size:10px;
  line-height:1.35;
}
#skills .skill-list span:before {
  content:"";
  position:absolute;
  left:14px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--skill-accent);
  box-shadow:0 0 9px color-mix(in srgb,var(--skill-accent) 70%,transparent);
}
#skills .skill-block[open] .skill-list span { animation:skillCapabilityIn .42s cubic-bezier(.22,.75,.2,1) both; }
#skills .skill-block[open] .skill-list span:nth-child(2) { animation-delay:.035s; }
#skills .skill-block[open] .skill-list span:nth-child(3) { animation-delay:.07s; }
#skills .skill-block[open] .skill-list span:nth-child(4) { animation-delay:.105s; }
#skills .skill-block[open] .skill-list span:nth-child(5) { animation-delay:.14s; }
#skills .skill-block[open] .skill-list span:nth-child(6) { animation-delay:.175s; }
@keyframes skillCapabilityIn { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }

@media(max-width:900px){
  #skills .skill-block__summary { grid-template-columns:36px minmax(0,1fr) auto 42px; }
  #skills .skill-block__preview { display:none; }
  #skills .skill-block__content { padding-left:80px; }
  #skills .skill-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media(max-width:600px){
  #skills { scroll-margin-top:86px; }
  #skills .section-heading { margin-bottom:30px; }
  #skills .skill-block__summary {
    min-height:104px;
    grid-template-columns:27px minmax(0,1fr) 38px;
    grid-template-rows:auto auto;
    gap:7px 12px;
    padding:17px 14px;
  }
  #skills .skill-num { grid-column:1; grid-row:1 / 3; }
  #skills .skill-block__title { grid-column:2; grid-row:1; }
  #skills .skill-block__title small { margin-bottom:6px; font-size:6px; }
  #skills .skill-block h3 { font-size:clamp(1.2rem,6.6vw,1.65rem); }
  #skills .skill-block__count { grid-column:2; grid-row:2; font-size:7px; }
  #skills .skill-block__toggle { grid-column:3; grid-row:1 / 3; width:34px; height:34px; }
  #skills .skill-block__content { padding:0 14px 19px 53px; }
  #skills .skill-list { grid-template-columns:1fr 1fr; gap:6px; }
  #skills .skill-list span { min-height:46px; padding:11px 10px 11px 25px; font-size:9px; }
  #skills .skill-list span:before { left:11px; }
}

@media(max-width:350px){
  #skills .skill-list { grid-template-columns:1fr; }
}

@media(prefers-reduced-motion:reduce){
  #skills .skill-block,
  #skills .skill-block::details-content,
  #skills .skill-block h3,
  #skills .skill-block__toggle,
  #skills .skill-block__toggle:before,
  #skills .skill-block__toggle:after { transition:none; }
  #skills .skill-block[open] .skill-list span { animation:none; }
}

/* Services: room for the offer, promise and practical scope. */
#services .service-list {
  width:min(1120px,100%);
  max-width:1120px;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-inline:auto;
}
#services .service-row {
  container-type:inline-size;
  min-height:380px;
  grid-template-columns:minmax(0,1fr) 32px;
  grid-template-rows:repeat(4,auto);
  align-items:start;
  align-content:space-between;
  gap:clamp(18px,2vw,24px) 20px;
  padding:clamp(24px,3vw,34px);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(255,255,255,.032),rgba(13,14,13,.78));
}
#services .service-row > span {
  grid-column:1 / -1;
  grid-row:1;
  color:var(--accent);
  letter-spacing:.14em;
}
#services .service-row h3 {
  grid-column:1;
  grid-row:2;
  max-width:18ch;
  min-height:0;
  margin:0;
  font-size:clamp(1.65rem,7.8cqw,2.7rem);
  line-height:1.08;
  letter-spacing:-.048em;
}
#services .service-row > strong {
  grid-column:1 / -1;
  grid-row:3;
  max-width:34ch;
  color:#d9dcd5;
  font-size:clamp(.98rem,3.6cqw,1.2rem);
  font-weight:600;
  line-height:1.45;
  letter-spacing:-.02em;
}
#services .service-row p {
  grid-column:1 / -1;
  grid-row:4;
  align-self:start;
  max-width:58ch;
  margin:0;
  color:#929792;
  font-size:clamp(.82rem,2.8cqw,.95rem);
  line-height:1.72;
}
#services .service-row b {
  grid-column:2;
  grid-row:2;
  justify-self:end;
  align-self:start;
  color:#737973;
  font-size:22px;
}
#services .service-row:hover > strong,
#services .service-row.is-card-active > strong { color:#e9f8b6; }

@media(max-width:760px){
  #services .service-list { grid-template-columns:1fr; }
  #services .service-row { min-height:340px; gap:20px; padding:26px 22px; }
  #services .service-row h3 { max-width:calc(100% - 18px); font-size:clamp(1.8rem,9.5cqw,2.5rem); line-height:1.1; }
  #services .service-row > strong { font-size:1rem; line-height:1.48; }
  #services .service-row p { font-size:.86rem; line-height:1.72; }
}

@media(min-width:761px) and (max-width:900px){
  #services .service-list { grid-template-columns:1fr; }
  #services .service-row { min-height:340px; }
}

/* Two focused applied projects; academic artifacts remain a three-case set. */
.work-lane--projects .projects-grid {
  max-width:1120px;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.work-lane--projects .project-card:last-child { grid-column:auto; }
.work-system .work-correlations { grid-template-columns:repeat(2,minmax(0,1fr)); }
.work-system .work-correlation:last-child { grid-column:auto; }

@media(max-width:760px){
  .work-lane--projects .projects-grid,
  .work-system .work-correlations { grid-template-columns:1fr; }
}

/* Work narrative: two applied outputs converge into three academic artifacts. */
.work-lane--projects .project-card .project-tags { margin-top:0; }
.project-research-link {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:4px 5px 14px;
  margin-top:auto;
  padding:13px 14px;
  border:1px solid rgba(146,248,220,.14);
  border-radius:12px;
  background:rgba(146,248,220,.025);
}
.project-research-link small {
  flex:0 0 auto;
  color:#68746f;
  font:500 7px 'DM Mono',monospace;
  letter-spacing:.12em;
}
.project-research-link strong {
  min-width:0;
  color:#a9c9bf;
  font:500 8px 'DM Mono',monospace;
  line-height:1.4;
  letter-spacing:.06em;
  text-align:right;
  text-transform:uppercase;
}
.project-card.is-correlated .project-research-link {
  border-color:rgba(146,248,220,.42);
  background:rgba(146,248,220,.055);
}

.work-lane--research .work-lane__heading { margin-top:0; }

@media(max-width:760px){
  .project-research-link { align-items:flex-start; flex-direction:column; gap:7px; }
  .project-research-link strong { text-align:left; }
}

/* Interactive project-to-impact correlations. */
.work-lane--projects > .work-lane__heading { display:none!important; }
.work-lane--projects .projects-grid.project-impact-grid {
  width:100%;
  max-width:1120px;
  grid-template-columns:minmax(0,1fr);
  gap:20px;
}
.project-impact-row {
  --impact-accent:var(--accent);
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,1fr) clamp(82px,9vw,112px) minmax(0,1fr);
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.13);
  border-radius:24px;
  background:rgba(10,11,10,.94);
  transition:border-color .3s ease,box-shadow .3s ease,background .3s ease;
}
.project-impact-row[data-work-pair="learning"] { --impact-accent:var(--accent-2); }
.project-impact-row.is-active {
  border-color:color-mix(in srgb,var(--impact-accent) 54%,transparent);
  background:linear-gradient(110deg,rgba(255,255,255,.025),rgba(10,11,10,.97) 47%,color-mix(in srgb,var(--impact-accent) 7%,#0a0b0a));
  box-shadow:0 22px 60px rgba(0,0,0,.28),0 0 34px color-mix(in srgb,var(--impact-accent) 7%,transparent);
}
.project-impact__project,
.project-impact__impact { min-width:0; padding:clamp(20px,2.5vw,30px); }
.project-impact__project {
  display:grid;
  grid-template-columns:minmax(150px,.72fr) minmax(0,1fr);
  align-items:stretch;
  gap:clamp(18px,2vw,26px);
  background:linear-gradient(135deg,rgba(255,255,255,.025),transparent 64%);
}
.project-impact__project .project-visual {
  width:100%;
  height:auto;
  min-height:250px;
  aspect-ratio:4 / 5;
  border-radius:17px;
}
.project-impact__project-copy { display:flex; min-width:0; flex-direction:column; justify-content:center; }
.project-impact__project .project-meta { gap:12px; margin:0 0 14px; font-size:7px; line-height:1.45; }
.project-impact__project .project-meta span:last-child { color:var(--impact-accent); text-align:right; }
.project-impact__project h3 {
  margin:0;
  color:#f0f0ea;
  font-size:clamp(2rem,3.2vw,3.55rem);
  line-height:.92;
  letter-spacing:-.06em;
}
.project-impact__project p {
  margin:14px 0 20px;
  color:#929792;
  font-size:.83rem;
  line-height:1.58;
}
.project-impact__project .project-tags { margin:0; }

.project-impact__connector {
  position:relative;
  z-index:3;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:18px 8px;
  border:0;
  border-right:1px solid rgba(255,255,255,.08);
  border-left:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.012);
  color:var(--impact-accent);
  cursor:pointer;
  appearance:none;
  transition:background .25s ease,color .25s ease;
}
.project-impact__connector:before {
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:50%;
  z-index:-1;
  height:1px;
  background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--impact-accent) 52%,transparent) 0 5px,transparent 5px 10px);
  opacity:.48;
}
.project-impact__connector small {
  color:#69716b;
  font:500 6px 'DM Mono',monospace;
  line-height:1.45;
  letter-spacing:.12em;
  text-align:center;
}
.project-impact__connector > span {
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--impact-accent) 58%,transparent);
  border-radius:50%;
  background:#0b0d0c;
  font:400 27px 'DM Mono',monospace;
  line-height:1;
  box-shadow:0 0 0 7px rgba(10,11,10,.9),0 0 22px color-mix(in srgb,var(--impact-accent) 10%,transparent);
}
.project-impact__connector:hover,
.project-impact__connector:focus-visible { background:color-mix(in srgb,var(--impact-accent) 5%,transparent); outline:none; }
.project-impact__connector:focus-visible { box-shadow:inset 0 0 0 2px var(--impact-accent); }
.project-impact-row.is-active .project-impact__connector { background:color-mix(in srgb,var(--impact-accent) 6%,transparent); }
.project-impact-row.is-active .project-impact__connector:before {
  opacity:1;
  background:linear-gradient(90deg,transparent,var(--impact-accent),transparent);
  background-size:200% 100%;
  animation:projectImpactBeam 1.4s linear infinite;
}
.project-impact-row.is-active .project-impact__connector > span {
  border-color:var(--impact-accent);
  box-shadow:0 0 0 7px rgba(10,11,10,.9),0 0 30px color-mix(in srgb,var(--impact-accent) 28%,transparent);
  animation:projectImpactArrow .82s cubic-bezier(.4,0,.2,1) infinite;
}

.project-impact__impact {
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  opacity:1;
  transform:none;
  filter:none;
  background:linear-gradient(110deg,color-mix(in srgb,var(--impact-accent) 5%,transparent),transparent 64%);
  transition:opacity .38s ease,transform .38s ease,filter .38s ease,background .38s ease;
}
.project-impact__impact:before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.28;
  background:radial-gradient(circle at 8% 50%,color-mix(in srgb,var(--impact-accent) 12%,transparent),transparent 52%);
  transition:opacity .38s ease;
}
.project-impact-row.is-active .project-impact__impact { opacity:1; transform:none; filter:none; }
.project-impact-row.is-active .project-impact__impact:before { opacity:1; }
.work-system.has-active-pair .project-impact-row[data-work-pair]:not(.is-correlated) {
  opacity:1;
  filter:none;
}
.project-impact__eyebrow {
  margin-bottom:16px;
  color:var(--impact-accent);
  font:500 7px 'DM Mono',monospace;
  letter-spacing:.15em;
}
.project-impact__impact h4 {
  max-width:17ch;
  margin:0;
  color:#e9ebe5;
  font-size:clamp(1.75rem,3vw,3.15rem);
  line-height:.96;
  letter-spacing:-.055em;
  text-wrap:balance;
}
.project-impact__impact p {
  max-width:48ch;
  margin:17px 0 22px;
  color:#969c97;
  font-size:.88rem;
  line-height:1.65;
}
.project-impact__outcomes { display:flex; flex-wrap:wrap; gap:7px; }
.project-impact__outcomes span {
  padding:7px 9px;
  border:1px solid color-mix(in srgb,var(--impact-accent) 22%,transparent);
  border-radius:999px;
  color:#9ca9a1;
  font:400 7px 'DM Mono',monospace;
  letter-spacing:.06em;
  text-transform:uppercase;
}

@keyframes projectImpactArrow {
  0%,100% { transform:translateX(-6px); opacity:.55; }
  50% { transform:translateX(7px); opacity:1; }
}
@keyframes projectImpactBeam { to { background-position:-200% 0; } }

@media(max-width:980px){
  .project-impact-row { grid-template-columns:minmax(0,1fr) 76px minmax(0,.9fr); }
  .project-impact__project { grid-template-columns:1fr; }
  .project-impact__project .project-visual { min-height:0; aspect-ratio:16 / 9; }
}

@media(max-width:760px){
  .project-impact-row { grid-template-columns:minmax(0,1fr); }
  .project-impact__project,
  .project-impact__impact { padding:20px; }
  .project-impact__connector {
    min-height:76px;
    flex-direction:row;
    border-right:0;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.08);
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .project-impact__connector:before { left:12%; right:12%; }
  .project-impact__connector > span { width:42px; height:42px; transform:rotate(90deg); font-size:24px; }
  .project-impact__impact { transform:translateY(-8px); }
  .project-impact-row.is-active .project-impact__connector > span { animation:projectImpactArrowDown .82s cubic-bezier(.4,0,.2,1) infinite; }
  .project-impact__impact h4 { font-size:clamp(1.75rem,8.5vw,2.75rem); }
}

@keyframes projectImpactArrowDown {
  0%,100% { transform:rotate(90deg) translateX(-5px); opacity:.55; }
  50% { transform:rotate(90deg) translateX(6px); opacity:1; }
}

@media(prefers-reduced-motion:reduce){
  .project-impact-row.is-active .project-impact__connector:before,
  .project-impact-row.is-active .project-impact__connector > span { animation:none; }
}

/* Real project artifacts and direct repository access. */
.project-repo-media {
  position:absolute;
  inset:0;
  z-index:8;
  display:block;
  overflow:hidden;
  color:#f4f2ed;
  background:#f2f0eb;
  cursor:pointer;
}
.project-repo-media img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  filter:saturate(.78) contrast(.98) brightness(.9);
  transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .35s ease;
}
.project-repo-media:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 52%,rgba(4,5,4,.78));
  pointer-events:none;
}
.project-repo-media > span {
  position:absolute;
  right:14px;
  bottom:13px;
  z-index:2;
  padding:7px 9px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(7,8,7,.72);
  color:#f2f2ed;
  font:500 7px 'DM Mono',monospace;
  letter-spacing:.1em;
  backdrop-filter:blur(8px);
}
.project-repo-media:hover img,
.project-repo-media:focus-visible img { transform:scale(1.035); filter:saturate(1) contrast(1) brightness(1); }
.project-repo-media:focus-visible { outline:2px solid var(--impact-accent,var(--accent)); outline-offset:-3px; }
.project-repo-media--logo img { object-fit:contain; padding:clamp(22px,4vw,46px); }
.project-repo-media--visppy { background:#f1eee8; }
.project-repo-media--visppy img { padding:clamp(24px,4vw,48px); filter:saturate(.94) contrast(1.02) brightness(.98); }
.project-repo-media--echo { background:#fff; }
.project-repo-media--echo img { padding:clamp(30px,5vw,64px); filter:none; }
.project-repo-media--carbon { background:#0b0f14; }
.project-repo-media--carbon img { padding:clamp(10px,1.8vw,24px); filter:none; }
.project-repo-media--led img { object-position:center; filter:saturate(.92) contrast(1.02) brightness(.86); }
.project-repo-media--mandacaru { background:#fff; }
.project-repo-media--mandacaru img { padding:clamp(12px,2vw,26px); filter:none; }
.project-repo-media--unpublished { cursor:default; }
.project-repo-media--unpublished img { object-position:left center; }
.project-repo-media--unpublished > span { color:#aeb4af; }

.project-github-cta {
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-top:18px;
  padding:10px 0 2px;
  border-bottom:1px solid color-mix(in srgb,var(--impact-accent,var(--accent)) 42%,transparent);
  color:var(--impact-accent,var(--accent));
  font:500 8px 'DM Mono',monospace;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.project-github-cta span { font-size:13px; transition:transform .2s ease; }
.project-github-cta:hover span,
.project-github-cta:focus-visible span { transform:translate(3px,-3px); }
.project-github-cta:focus-visible { outline:1px solid currentColor; outline-offset:5px; }
.project-github-cta--disabled {
  border-bottom-style:dashed;
  color:#686e69;
  cursor:default;
}
.project-source-links {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:0 16px;
}

#academic .academic-impact-row .academic-evidence-trigger { margin-top:16px; }

/* Research artifacts use the same left-to-right impact interaction. */
#academic .academic-projects.academic-impact-grid {
  width:min(1120px,100%);
  grid-template-columns:minmax(0,1fr);
  gap:20px;
  margin-top:28px;
}
#academic .academic-project.project-impact-row {
  width:100%;
  height:auto;
  grid-column:auto!important;
  padding:0;
  border-radius:24px;
}
#academic .academic-project--echo { --impact-accent:var(--accent); }
#academic .academic-project--carbon { --impact-accent:var(--accent-2); }
#academic .academic-project--mandacaru { --impact-accent:#a9bd68; }
#academic .academic-impact-row.is-active {
  border-color:color-mix(in srgb,var(--impact-accent) 58%,transparent);
  background:linear-gradient(110deg,rgba(255,255,255,.025),rgba(10,11,10,.97) 47%,color-mix(in srgb,var(--impact-accent) 7%,#0a0b0a));
  box-shadow:0 22px 60px rgba(0,0,0,.28),0 0 34px color-mix(in srgb,var(--impact-accent) 7%,transparent);
}
.academic-impact__project {
  min-width:0;
  display:grid;
  grid-template-columns:minmax(150px,.72fr) minmax(0,1fr);
  align-items:stretch;
  gap:clamp(18px,2vw,26px);
  padding:clamp(20px,2.5vw,30px);
  background:linear-gradient(135deg,rgba(255,255,255,.025),transparent 64%);
}
#academic .academic-impact-row .academic-project__visual,
#academic .academic-impact-row:last-child .academic-project__visual {
  width:100%;
  height:auto;
  min-height:250px;
  aspect-ratio:4 / 5;
  border-radius:17px;
  opacity:.9;
}
#academic .academic-impact-row:hover .academic-project__visual,
#academic .academic-impact-row.is-active .academic-project__visual { opacity:1; }
#academic .academic-impact-row .academic-project__body,
#academic .academic-impact-row:last-child .academic-project__body {
  min-width:0;
  min-height:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:0;
}
#academic .academic-impact-row .academic-project__body .project-meta {
  gap:12px;
  margin:0 0 14px;
  font-size:7px;
  line-height:1.45;
}
#academic .academic-impact-row .academic-project__body .project-meta span:last-child { color:var(--impact-accent); }
#academic .academic-impact-row .academic-project__body h3 {
  margin:0;
  color:#f0f0ea;
  font-family:'Inter',system-ui,sans-serif;
  font-size:clamp(2rem,3.2vw,3.55rem);
  font-weight:700;
  line-height:.92;
  letter-spacing:-.06em;
}
#academic .academic-impact-row .academic-project__body p {
  display:block;
  min-height:0;
  margin:14px 0 20px;
  overflow:visible;
  color:#929792;
  font-size:.83rem;
  line-height:1.58;
  -webkit-line-clamp:unset;
}
#academic .academic-impact-row .academic-project__body .project-tags {
  margin:0 0 18px;
}
#academic .academic-impact-row .academic-evidence-trigger { margin-top:auto; }

@media(max-width:980px){
  .academic-impact__project { grid-template-columns:1fr; }
  #academic .academic-impact-row .academic-project__visual,
  #academic .academic-impact-row:last-child .academic-project__visual { min-height:0; aspect-ratio:16 / 9; }
}

@media(max-width:760px){
  #academic .academic-project.project-impact-row,
  #academic .academic-project.project-impact-row:last-child { padding:0; border-radius:20px; }
  .academic-impact__project { padding:20px; }
  #academic .academic-impact-row .academic-project__body,
  #academic .academic-impact-row:last-child .academic-project__body { padding:0; }
}

/* Large, adjacent affordance for opening experience details. */
#background .career-node__details summary {
  min-height:48px;
  justify-content:flex-start;
  gap:13px;
  font-size:clamp(9px,.82vw,11px);
}
#background .career-node__details summary span {
  width:44px;
  height:44px;
  flex:0 0 44px;
  display:grid;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--track-color) 62%,transparent);
  border-radius:50%;
  background:color-mix(in srgb,var(--track-color) 9%,#0b0c0b);
  color:var(--track-color);
  font:400 30px/1 'Inter',system-ui,sans-serif;
  box-shadow:0 0 22px color-mix(in srgb,var(--track-color) 16%,transparent);
  transform-origin:center;
  transition:transform .25s ease,background .25s ease,box-shadow .25s ease;
}
#background .career-node__details summary:hover span {
  background:color-mix(in srgb,var(--track-color) 17%,#0b0c0b);
  box-shadow:0 0 30px color-mix(in srgb,var(--track-color) 28%,transparent);
}

/* Closed experience cards become compact, single-line accordion rows. */
#background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) {
  min-height:88px;
  padding:16px 18px;
  display:grid;
  grid-template-columns:minmax(155px,.32fr) minmax(0,1fr) 48px;
  grid-template-areas:"company title details";
  grid-template-rows:1fr;
  align-items:center;
  column-gap:clamp(16px,2.4vw,34px);
  overflow:hidden;
}
#background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .experience-company {
  align-self:center;
  min-width:0;
  gap:12px;
  margin:0;
}
#background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .experience-logo {
  width:44px;
  height:44px;
  flex-basis:44px;
  border-radius:11px;
}
#background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .experience-company__meta {
  min-width:0;
}
#background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .experience-company__name {
  display:block;
  overflow:hidden;
  font-size:.94rem;
  white-space:nowrap;
  text-overflow:ellipsis;
}
#background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) h3 {
  align-self:center;
  max-width:none;
  min-width:0;
  margin:0;
  overflow:hidden;
  font-size:clamp(1.15rem,2.15vw,1.8rem);
  line-height:1;
  white-space:nowrap;
  text-overflow:ellipsis;
}
#background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) :is(.timeline-org,.experience-summary,.experience-roles) {
  display:none;
}
#background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .career-node__details {
  align-self:center;
  justify-self:end;
  width:44px;
  margin:0;
  padding:0;
}
#background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .career-node__details:not([open]) summary {
  position:static;
  inset:auto;
  width:44px;
  min-height:44px;
  justify-content:flex-end;
  gap:0;
  padding:0;
  overflow:visible;
  border:0;
  color:transparent;
  font-size:0;
  line-height:0;
}
#background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .career-node__details summary span {
  margin:0;
}

@media(max-width:680px){
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) {
    min-height:70px;
    grid-template-columns:36px minmax(0,1fr) 40px;
    column-gap:10px;
    padding:12px 13px;
  }
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .experience-company {
    width:36px;
  }
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .experience-logo {
    width:36px;
    height:36px;
    flex-basis:36px;
    border-radius:9px;
  }
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .experience-company__meta {
    display:none;
  }
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) h3 {
    font-size:clamp(.78rem,3.45vw,.96rem);
    letter-spacing:-.035em;
  }
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .career-node__details,
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .career-node__details:not([open]) summary {
    width:40px;
    min-height:40px;
  }
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .career-node__details summary span {
    width:40px;
    height:40px;
    flex-basis:40px;
    font-size:26px;
  }
}

/* Final experience-row composition: role keywords remain visible when closed. */
#background .career-track-tabs {
  grid-template-columns:minmax(0,1fr)!important;
}
#background .career-track-tabs .career-branch--growth {
  grid-column:1!important;
  border-right:0;
}
#background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) {
  grid-template-columns:minmax(150px,.22fr) minmax(280px,.4fr) minmax(0,.38fr) 48px;
  grid-template-areas:"company title tags details";
}
#background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) h3 {
  max-width:none;
  overflow:hidden;
  font-size:clamp(1.05rem,1.8vw,1.55rem);
  white-space:nowrap;
  text-overflow:ellipsis;
}
#background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .experience-roles {
  display:flex;
  grid-area:tags;
  align-self:center;
  min-width:0;
  margin:0;
  flex-wrap:nowrap;
  gap:5px;
  overflow:hidden;
}
#background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .experience-roles span,
#background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .experience-roles span:nth-child(n+4) {
  display:inline-flex;
  min-width:0;
  flex:0 1 auto;
  padding:5px 7px;
  overflow:hidden;
  font-size:7px;
  white-space:nowrap;
  text-overflow:ellipsis;
}

@media(max-width:1000px){
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) {
    grid-template-columns:minmax(130px,.21fr) minmax(225px,.38fr) minmax(0,.41fr) 48px;
    column-gap:14px;
  }
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .experience-roles span:nth-child(n+4) {
    display:none;
  }
}

@media(max-width:820px){
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) {
    grid-template-columns:minmax(115px,.21fr) minmax(205px,.43fr) minmax(0,.36fr) 44px;
    column-gap:10px;
  }
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .experience-roles span:nth-child(n+3) {
    display:none;
  }
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) h3 {
    font-size:clamp(.86rem,2.2vw,1.05rem);
  }
}

@media(max-width:680px){
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) {
    min-height:84px;
    grid-template-columns:36px minmax(0,1fr) 40px;
    grid-template-areas:
      "company title details"
      "company tags details";
    grid-template-rows:auto auto;
    row-gap:7px;
    column-gap:10px;
    padding:11px 13px;
  }
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .experience-roles {
    align-self:start;
  }
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) h3 {
    overflow:visible;
    font-size:clamp(.8rem,3.5vw,1rem);
    line-height:1.08;
    white-space:normal;
    text-overflow:clip;
  }
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .experience-roles span {
    padding:4px 6px;
    font-size:6px;
  }
}

/* R&D cards: fluid hierarchy, aspect-aware media and earlier responsive reflow. */
#projects .work-lane--projects .projects-grid.project-impact-grid,
#projects #academic .academic-projects.academic-impact-grid {
  width:min(1280px,100%);
  max-width:1280px;
  gap:clamp(22px,2.4vw,32px);
}

#projects .project-impact-row {
  grid-template-columns:minmax(0,1.15fr) clamp(72px,7vw,92px) minmax(320px,.85fr);
  min-height:clamp(410px,34vw,470px);
  border-radius:clamp(20px,2vw,28px);
}

#projects .project-impact-row::after {
  content:"";
  position:absolute;
  top:0;
  left:clamp(22px,3vw,40px);
  z-index:12;
  width:clamp(88px,14%,176px);
  height:2px;
  background:linear-gradient(90deg,var(--impact-accent),transparent);
  opacity:.72;
  pointer-events:none;
}

#projects .project-impact__project,
#projects .academic-impact__project {
  grid-template-columns:minmax(clamp(210px,22vw,270px),.88fr) minmax(0,1.12fr);
  gap:clamp(24px,2.6vw,36px);
  padding:clamp(26px,3vw,40px);
}

#projects .project-impact__project .project-visual,
#projects #academic .academic-impact-row .academic-project__visual,
#projects #academic .academic-impact-row:last-child .academic-project__visual {
  width:100%;
  height:100%;
  min-height:330px;
  aspect-ratio:auto;
  border-radius:clamp(16px,1.6vw,22px);
}

#projects .project-impact__project h3,
#projects #academic .academic-impact-row .academic-project__body h3 {
  font-size:clamp(2.35rem,3.6vw,4.15rem);
  line-height:.9;
}

#projects .project-impact__project p,
#projects #academic .academic-impact-row .academic-project__body p {
  margin:clamp(16px,1.6vw,22px) 0 clamp(20px,2vw,28px);
  color:#a1a6a1;
  font-size:clamp(.9rem,1.05vw,1rem);
  line-height:1.62;
}

#projects .project-impact__project .project-meta,
#projects #academic .academic-impact-row .academic-project__body .project-meta {
  margin-bottom:clamp(16px,1.7vw,22px);
  font-size:clamp(7px,.72vw,9px);
}

#projects .project-tags { gap:8px; }
#projects .project-tags span {
  padding:7px 10px;
  font-size:clamp(7px,.68vw,9px);
}
#projects #academic .academic-impact-row .academic-project__body .project-tags span:nth-child(n+4) {
  display:inline-flex;
}

#projects .project-impact__impact { padding:clamp(28px,3.2vw,44px); }
#projects .project-impact__eyebrow { margin-bottom:clamp(16px,1.7vw,22px); font-size:clamp(7px,.7vw,9px); }
#projects .project-impact__impact h4 {
  max-width:16ch;
  font-size:clamp(2rem,3.45vw,3.65rem);
  line-height:.94;
}
#projects .project-impact__impact p {
  margin:clamp(18px,1.8vw,25px) 0 clamp(22px,2vw,30px);
  font-size:clamp(.92rem,1.05vw,1rem);
  line-height:1.68;
}
#projects .project-impact__outcomes { gap:8px; }
#projects .project-impact__outcomes span { padding:8px 10px; font-size:clamp(7px,.66vw,9px); }

/* Each lockup keeps its own clear-space ratio instead of sharing one generic inset. */
#projects .project-repo-media--logo { --project-logo-pad:clamp(12px,1.5vw,22px); }
#projects .project-repo-media--logo img { padding:var(--project-logo-pad); }
#projects .project-repo-media--visppy { --project-logo-pad:clamp(10px,1.25vw,18px); }
#projects .project-repo-media--echo { --project-logo-pad:clamp(16px,1.9vw,28px); }
#projects .project-repo-media--carbon { --project-logo-pad:clamp(2px,.55vw,8px); }
#projects .project-repo-media--mandacaru { --project-logo-pad:clamp(6px,.85vw,12px); }

@media(max-width:1020px){
  #projects .project-impact-row {
    grid-template-columns:minmax(0,1fr);
    min-height:0;
  }
  #projects .project-impact__project,
  #projects .academic-impact__project {
    grid-template-columns:minmax(250px,.44fr) minmax(0,.56fr);
  }
  #projects .project-impact__project .project-visual,
  #projects #academic .academic-impact-row .academic-project__visual,
  #projects #academic .academic-impact-row:last-child .academic-project__visual {
    min-height:320px;
  }
  #projects .project-impact__connector {
    min-height:72px;
    flex-direction:row;
    border-right:0;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.08);
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  #projects .project-impact__connector:before { left:10%; right:10%; }
  #projects .project-impact__connector small { font-size:7px; }
  #projects .project-impact__connector > span {
    width:44px;
    height:44px;
    transform:rotate(90deg);
    font-size:25px;
  }
  #projects .project-impact-row.is-active .project-impact__connector > span {
    animation:projectImpactArrowDown .82s cubic-bezier(.4,0,.2,1) infinite;
  }
  #projects .project-impact__impact {
    min-height:clamp(280px,36vw,360px);
    transform:none;
  }
}

@media(max-width:720px){
  #projects .project-impact-row,
  #projects #academic .academic-project.project-impact-row,
  #projects #academic .academic-project.project-impact-row:last-child { border-radius:18px; }
  #projects .project-impact__project,
  #projects .academic-impact__project {
    grid-template-columns:minmax(0,1fr);
    gap:22px;
    padding:clamp(16px,5vw,24px);
  }
  #projects .project-impact__project .project-visual,
  #projects #academic .academic-impact-row .academic-project__visual,
  #projects #academic .academic-impact-row:last-child .academic-project__visual {
    height:auto;
    min-height:clamp(220px,58vw,320px);
    aspect-ratio:16 / 10;
  }
  #projects .project-impact__project h3,
  #projects #academic .academic-impact-row .academic-project__body h3 {
    font-size:clamp(2.25rem,12vw,3.55rem);
  }
  #projects .project-impact__impact {
    min-height:0;
    padding:clamp(24px,6vw,34px);
  }
  #projects .project-impact__impact h4 { font-size:clamp(2rem,10vw,3rem); }
  #projects .project-impact__connector { min-height:66px; }
  #projects .project-impact-row::after { left:20px; }
}

/* R&D presentation: focused identities and a clearer information hierarchy. */
#projects .project-impact-row {
  min-height:500px;
  grid-template-columns:minmax(0,1.22fr) clamp(76px,6.7vw,90px) minmax(330px,.78fr);
  background:
    linear-gradient(90deg,rgba(255,255,255,.018),transparent 54%),
    rgba(10,11,10,.96);
}

#projects .project-impact__project,
#projects .academic-impact__project {
  grid-template-columns:minmax(230px,.82fr) minmax(260px,1.18fr);
  align-items:stretch;
  gap:clamp(26px,2.8vw,40px);
  padding:clamp(28px,3.1vw,42px);
}

/* The identity panel behaves like a gallery mount, keeping every lockup centered. */
#projects .project-impact__project .project-visual,
#projects #academic .academic-impact-row .academic-project__visual,
#projects #academic .academic-impact-row:last-child .academic-project__visual {
  position:relative;
  isolation:isolate;
  min-height:390px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  box-shadow:0 22px 42px rgba(0,0,0,.22);
}

#projects .project-impact__project .project-visual::after,
#projects #academic .academic-impact-row .academic-project__visual::after {
  content:"";
  position:absolute;
  inset:10px;
  z-index:9;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  pointer-events:none;
}

#projects .project-repo-media--logo {
  display:grid;
  place-items:center;
}

#projects .project-repo-media--logo::before {
  content:"PROJECT IDENTITY";
  position:absolute;
  top:20px;
  left:22px;
  z-index:3;
  color:rgba(27,29,27,.46);
  font:500 6px 'DM Mono',monospace;
  letter-spacing:.15em;
}

#projects .project-repo-media--logo img {
  width:calc(100% - 34px);
  height:auto;
  max-height:72%;
  padding:0;
  object-fit:contain;
  object-position:center;
}

#projects .project-repo-media--logo::after {
  background:linear-gradient(180deg,transparent 66%,rgba(4,5,4,.34));
}

#projects .project-repo-media--visppy {
  background:
    radial-gradient(circle at 50% 42%,#fff 0,#f4f1eb 54%,#dedbd5 100%);
}
#projects .project-repo-media--visppy img { width:calc(100% - 26px); }

#projects .project-repo-media--echo {
  background:radial-gradient(circle at 50% 42%,#fff 0,#f3f3f0 58%,#dcded9 100%);
}
#projects .project-repo-media--echo img { width:calc(100% - 48px); }

#projects .project-repo-media--carbon {
  background:radial-gradient(circle at 50% 42%,#111820 0,#0b0f14 68%,#06080b 100%);
}
#projects .project-repo-media--carbon::before { color:rgba(244,242,237,.4); }
#projects .project-repo-media--carbon img { width:calc(100% - 30px); }

#projects .project-repo-media--mandacaru {
  background:radial-gradient(circle at 50% 42%,#fff 0,#f4f5f1 60%,#dfe4db 100%);
}
#projects .project-repo-media--mandacaru img {
  width:calc(100% - 40px);
  max-height:78%;
}

#projects .project-repo-media--led img {
  object-position:center center;
  filter:saturate(.95) contrast(1.03) brightness(.9);
}

#projects .project-impact__project-copy,
#projects #academic .academic-impact-row .academic-project__body {
  justify-content:flex-start;
  padding-block:4px;
}

#projects .project-impact__project .project-meta,
#projects #academic .academic-impact-row .academic-project__body .project-meta {
  align-items:center;
  margin:0 0 clamp(22px,2vw,28px);
  padding-bottom:13px;
  border-bottom:1px solid rgba(255,255,255,.09);
}

#projects .project-impact__project .project-meta span:last-child,
#projects #academic .academic-impact-row .academic-project__body .project-meta span:last-child {
  padding:6px 8px;
  border:1px solid color-mix(in srgb,var(--impact-accent) 28%,transparent);
  border-radius:999px;
  background:color-mix(in srgb,var(--impact-accent) 4%,transparent);
  white-space:nowrap;
}

#projects .project-impact__project h3,
#projects #academic .academic-impact-row .academic-project__body h3 {
  max-width:12ch;
  font-size:clamp(2.55rem,3.7vw,4.3rem);
}

#projects .project-impact__project p,
#projects #academic .academic-impact-row .academic-project__body p {
  max-width:38ch;
  margin:clamp(18px,1.8vw,24px) 0 clamp(22px,2.1vw,30px);
}

#projects .project-tags { margin:0; }

#projects .project-source-links {
  width:100%;
  align-items:flex-end;
  gap:8px 18px;
  margin-top:auto;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.09);
}

#projects .project-source-links .project-github-cta { margin-top:0; }

#projects #academic .academic-impact-row .project-github-cta {
  margin-top:auto;
}

#projects .project-impact__impact {
  border-left:1px solid rgba(255,255,255,.025);
}

#projects .project-impact__impact h4 {
  max-width:14ch;
  font-size:clamp(2.15rem,3.6vw,3.8rem);
}

@media(max-width:1120px){
  #projects .project-impact-row {
    grid-template-columns:minmax(0,1fr);
    min-height:0;
  }
  #projects .project-impact__project,
  #projects .academic-impact__project {
    grid-template-columns:minmax(250px,.42fr) minmax(0,.58fr);
  }
  #projects .project-impact__project .project-visual,
  #projects #academic .academic-impact-row .academic-project__visual,
  #projects #academic .academic-impact-row:last-child .academic-project__visual {
    min-height:340px;
  }
  #projects .project-impact__connector {
    min-height:72px;
    flex-direction:row;
    border-right:0;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.08);
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  #projects .project-impact__connector:before { left:10%; right:10%; }
  #projects .project-impact__connector > span { transform:rotate(90deg); }
  #projects .project-impact-row.is-active .project-impact__connector > span {
    animation:projectImpactArrowDown .82s cubic-bezier(.4,0,.2,1) infinite;
  }
  #projects .project-impact__impact { min-height:300px; }
}

@media(max-width:720px){
  #projects .project-impact__project,
  #projects .academic-impact__project {
    grid-template-columns:minmax(0,1fr);
    gap:24px;
  }
  #projects .project-impact__project .project-visual,
  #projects #academic .academic-impact-row .academic-project__visual,
  #projects #academic .academic-impact-row:last-child .academic-project__visual {
    min-height:clamp(260px,78vw,360px);
    aspect-ratio:4 / 3;
  }
  #projects .project-impact__project-copy,
  #projects #academic .academic-impact-row .academic-project__body { padding-block:0; }
  #projects .project-impact__project .project-meta,
  #projects #academic .academic-impact-row .academic-project__body .project-meta {
    align-items:flex-start;
    gap:10px;
    margin-bottom:20px;
  }
  #projects .project-impact__project .project-meta span:last-child,
  #projects #academic .academic-impact-row .academic-project__body .project-meta span:last-child {
    max-width:62%;
    white-space:normal;
  }
  #projects .project-impact__project h3,
  #projects #academic .academic-impact-row .academic-project__body h3 {
    font-size:clamp(2.4rem,12vw,3.6rem);
  }
  #projects .project-source-links { margin-top:24px; }
}

/* R&D case studies — evidence first, with restrained technical framing. */
#projects {
  --rd-width:1120px;
  padding-top:clamp(96px,10vw,128px);
  padding-bottom:clamp(104px,11vw,144px);
  scroll-margin-top:78px;
}

#projects.work-system::before {
  inset:180px 0 2%;
  opacity:.2;
  background:
    radial-gradient(circle at 18% 22%,rgba(214,255,67,.055),transparent 22%),
    radial-gradient(circle at 82% 66%,rgba(146,248,220,.04),transparent 24%);
}

.rd-section-heading {
  width:min(var(--rd-width),100%);
  display:grid;
  grid-template-columns:minmax(0,1fr);
  justify-items:center;
  gap:24px;
  margin:0 auto clamp(56px,6vw,80px);
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.16);
  text-align:center;
}

.rd-section-heading > .section-index {
  width:100%;
  padding-top:0;
  color:#929792;
  font-size:10px;
  text-align:center;
}

.rd-section-heading__copy {
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.rd-section-heading__copy h2 {
  display:flex;
  flex-direction:column;
  align-items:center;
  margin:0 auto;
  max-width:900px;
  color:#eeeee9;
  font-size:clamp(4.6rem,7.25vw,6.5rem);
  font-weight:700;
  line-height:.84;
  letter-spacing:-.075em;
  text-align:center;
  text-wrap:balance;
}

.rd-section-heading__copy p {
  max-width:600px;
  margin:32px auto 0;
  color:#aaafaa;
  font-size:clamp(1.06rem,1.3vw,1.18rem);
  line-height:1.62;
  letter-spacing:-.015em;
  text-align:center;
  text-wrap:balance;
}

.rd-case-studies {
  width:min(var(--rd-width),100%);
  display:grid;
  gap:32px;
  margin-inline:auto;
}

.rd-case-study {
  --rd-accent:var(--accent);
  position:relative;
  isolation:isolate;
  min-height:590px;
  display:grid;
  grid-template-columns:minmax(0,40%) minmax(0,60%);
  grid-template-rows:auto minmax(0,1fr);
  gap:18px clamp(28px,3.5vw,48px);
  padding:22px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.15);
  border-radius:28px;
  background:rgba(11,12,11,.96);
  box-shadow:inset 0 1px rgba(255,255,255,.025),0 24px 64px rgba(0,0,0,.18);
  transition:border-color .28s ease,box-shadow .28s ease,background-color .28s ease;
}

.rd-case-study::before {
  content:"";
  position:absolute;
  top:0;
  left:24px;
  width:112px;
  height:2px;
  background:linear-gradient(90deg,var(--rd-accent),transparent);
  opacity:.68;
}

.rd-case-study--eduqy,
.rd-case-study--carbon { --rd-accent:var(--accent-2); }
.rd-case-study--mandacaru { --rd-accent:#a9bd68; }

.rd-case-study:hover,
.rd-case-study:focus-within,
.rd-case-study.is-evidence-active {
  border-color:color-mix(in srgb,var(--rd-accent) 42%,transparent);
  box-shadow:inset 0 1px rgba(255,255,255,.035),0 26px 72px rgba(0,0,0,.25),0 0 28px color-mix(in srgb,var(--rd-accent) 5%,transparent);
}

.rd-case-study__meta {
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:34px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(255,255,255,.1);
  color:#959a95;
  font:500 11px 'DM Mono',monospace;
  line-height:1.4;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.rd-case-study__meta > :last-child {
  color:#b8bdb8;
  text-align:right;
}

.rd-case-study__meta a:hover { color:#ecece7; }
.rd-case-study__meta a:focus-visible {
  outline:2px solid var(--rd-accent);
  outline-offset:4px;
}

.rd-case-study__media {
  position:relative;
  isolation:isolate;
  min-width:0;
  min-height:460px;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  background:#111311;
}

.rd-case-study__media::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(3,4,3,.04) 50%,rgba(3,4,3,.72) 100%);
}

.rd-case-study__media > img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  filter:saturate(.86) contrast(1.03) brightness(.87);
  transition:transform .45s cubic-bezier(.2,.75,.2,1),filter .3s ease;
}

.rd-case-study:hover .rd-case-study__media > img {
  transform:scale(1.018);
  filter:saturate(.95) contrast(1.04) brightness(.92);
}

.rd-case-study--visppy .rd-case-study__media > img { object-position:52% center; }
.rd-case-study--eduqy .rd-case-study__media > img { object-position:54% center; }
.rd-case-study--echo .rd-case-study__media,
.rd-case-study--carbon .rd-case-study__media { background:#f2f2ef; }
.rd-case-study--echo .rd-case-study__media > img,
.rd-case-study--carbon .rd-case-study__media > img {
  object-fit:contain;
  filter:saturate(.78) contrast(1.02) brightness(.86);
}
.rd-case-study--mandacaru .rd-case-study__media > img { object-position:50% center; }

.rd-case-study__media figcaption {
  position:absolute;
  z-index:3;
  right:18px;
  bottom:17px;
  left:18px;
  color:#e0e2dc;
  font:500 10px 'DM Mono',monospace;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.rd-case-study__content {
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:6px clamp(8px,1.3vw,18px) 4px 0;
}

.rd-case-study__identity h3 {
  margin:0;
  color:#f1f1ec;
  font-size:clamp(2.2rem,3vw,2.625rem);
  font-weight:700;
  line-height:.94;
  letter-spacing:-.055em;
}

.rd-case-study__identity p {
  margin:9px 0 0;
  color:#989e99;
  font:500 12px 'DM Mono',monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.rd-case-study__content h4 {
  max-width:15ch;
  margin:clamp(20px,2vw,26px) 0 0;
  color:#ecece7;
  font-size:clamp(3rem,4vw,3.5rem);
  font-weight:650;
  line-height:.94;
  letter-spacing:-.062em;
  text-wrap:balance;
}

.rd-case-study__description {
  max-width:52ch;
  margin:16px 0 0;
  color:#b1b6b1;
  font-size:clamp(1rem,1.16vw,1.06rem);
  line-height:1.62;
}

.rd-case-study__actions {
  width:100%;
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.1);
}

.rd-action {
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:0 16px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:transparent;
  color:#b8bdb8;
  cursor:pointer;
  font:500 11px 'DM Mono',monospace;
  letter-spacing:.06em;
  text-transform:uppercase;
  transition:border-color .22s ease,color .22s ease,background-color .22s ease;
}

.rd-action--primary {
  border-color:color-mix(in srgb,var(--rd-accent) 38%,transparent);
  color:var(--rd-accent);
  background:color-mix(in srgb,var(--rd-accent) 4%,transparent);
}

.rd-action span { transition:transform .22s ease; }
.rd-action:hover { border-color:#6f756f; color:#f1f1ec; }
.rd-action--primary:hover {
  border-color:var(--rd-accent);
  color:#0b0c0b;
  background:var(--rd-accent);
}
.rd-action:hover span { transform:translateX(3px); }
.rd-action:focus-visible {
  outline:2px solid var(--rd-accent);
  outline-offset:3px;
}

.rd-evidence-surface {
  width:min(var(--rd-width),100%);
  margin-inline:auto;
}

#projects #academic .evidence-lab {
  width:100%;
  margin-top:24px;
}

/* The floating navigation remains compact, but labels and targets are easier to read. */
@media(min-width:1051px){
  .topbar { min-height:56px; padding:5px; }
  .nav { color:#929292; font-size:11px; }
  .nav a {
    min-height:44px;
    display:flex;
    align-items:center;
    padding:0 14px;
  }
}

@media(max-width:1100px){
  .rd-case-study {
    grid-template-columns:minmax(0,38%) minmax(0,62%);
    min-height:580px;
    gap:18px 30px;
    padding:22px;
  }
  .rd-case-study__media { min-height:470px; }
  .rd-case-study__content h4 { font-size:clamp(2.75rem,5vw,3.45rem); }
  .rd-case-study__description { font-size:1rem; }
}

@media(max-width:900px){
  .rd-section-heading {
    gap:22px;
  }
  .rd-section-heading > .section-index { padding-top:0; }
  .rd-section-heading__copy h2 { font-size:clamp(4rem,11vw,5.8rem); }
  .rd-case-study {
    grid-template-columns:minmax(0,37%) minmax(0,63%);
    gap:18px 24px;
    padding:20px;
  }
  .rd-case-study__media { min-height:450px; }
  .rd-case-study__identity h3 { font-size:clamp(2rem,4.5vw,2.45rem); }
  .rd-case-study__content h4 { margin-top:22px; font-size:clamp(2.45rem,5.8vw,3rem); }
  .rd-case-study__description { margin-top:16px; font-size:.96rem; }
  .rd-case-study__actions { margin-top:20px; }
}

@media(max-width:720px){
  #projects {
    padding-top:88px;
    padding-bottom:104px;
  }
  .rd-section-heading { margin-bottom:44px; padding-top:17px; }
  .rd-section-heading__copy h2 { font-size:clamp(3.5rem,17vw,5.1rem); }
  .rd-section-heading__copy p { margin-top:24px; font-size:1rem; }
  .rd-case-studies { gap:22px; }
  .rd-case-study {
    min-height:0;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto auto auto;
    gap:20px;
    padding:17px;
    border-radius:20px;
  }
  .rd-case-study::before { left:18px; width:82px; }
  .rd-case-study__meta {
    grid-column:auto;
    align-items:flex-start;
    min-height:0;
    gap:12px;
    padding-bottom:13px;
    font-size:9px;
  }
  .rd-case-study__meta > :last-child { max-width:48%; }
  .rd-case-study__media {
    min-height:0;
    aspect-ratio:16 / 10;
    border-radius:15px;
  }
  .rd-case-study__media figcaption { right:14px; bottom:13px; left:14px; font-size:8px; }
  .rd-case-study__content { padding:4px 2px 2px; }
  .rd-case-study__identity h3 { font-size:clamp(2.2rem,11vw,3rem); }
  .rd-case-study__identity p { font-size:10px; }
  .rd-case-study__content h4 {
    max-width:15ch;
    margin-top:24px;
    font-size:clamp(2.25rem,10.8vw,2.8rem);
    line-height:.96;
  }
  .rd-case-study__description { margin-top:17px; font-size:1rem; line-height:1.58; }
  .rd-case-study__actions { flex-wrap:wrap; margin-top:22px; }
  .rd-action { min-height:48px; flex:1 1 auto; font-size:9px; }
}

@media(prefers-reduced-motion:reduce){
  .rd-case-study,
  .rd-case-study__media > img,
  .rd-action,
  .rd-action span { transition:none; }
  .rd-case-study:hover .rd-case-study__media > img { transform:none; }
}

/* Closed native details must not let their internal grids widen the mobile page. */
#background .career-node__details:not([open]) > :not(summary) { display:none!important; }

/* Minimal project identity panels: one centered mark, no secondary imagery. */
#projects .rd-case-study__media--logo {
  display:grid;
  place-items:center;
  background:#efede7;
}

#projects .rd-case-study__media--logo::after {
  background:linear-gradient(180deg,transparent 76%,rgba(6,7,6,.2));
}

#projects .rd-case-study__media--logo > img {
  width:100%;
  height:100%;
  padding:clamp(34px,4.2vw,62px);
  object-fit:contain;
  object-position:center;
  filter:none;
}

#projects .rd-case-study--visppy .rd-case-study__media--logo > img {
  padding:clamp(24px,3.2vw,46px);
}

#projects .rd-case-study--echo .rd-case-study__media--logo > img {
  padding:clamp(42px,5vw,72px);
}

#projects .rd-case-study--echo .rd-case-study__media--logo,
#projects .rd-case-study--mandacaru .rd-case-study__media--logo {
  background:#fff;
}

#projects .rd-case-study--carbon .rd-case-study__media--logo {
  background:#0b0f14;
}

#projects .rd-case-study--carbon .rd-case-study__media--logo > img {
  padding:clamp(24px,3.4vw,48px);
}

#projects .rd-case-study--mandacaru .rd-case-study__media--logo > img {
  padding:clamp(30px,4vw,56px);
}

#projects .rd-case-study--eduqy .rd-case-study__media--logo {
  background:
    radial-gradient(circle at 50% 44%,rgba(146,248,220,.08),transparent 34%),
    #0d1110;
}

.rd-case-study__wordmark {
  color:#f0f1ec;
  font-size:clamp(4rem,8vw,7rem);
  font-weight:700;
  line-height:1;
  letter-spacing:-.075em;
}

#projects .rd-case-study__media--logo figcaption { color:#363936; }
#projects .rd-case-study--carbon .rd-case-study__media--logo figcaption,
#projects .rd-case-study--eduqy .rd-case-study__media--logo figcaption { color:#d9ded9; }

#projects .rd-case-study:hover .rd-case-study__media--logo > img {
  transform:scale(1.01);
  filter:none;
}

@media(max-width:720px){
  #projects .rd-case-study__media--logo > img { padding:clamp(26px,9vw,44px); }
  #projects .rd-case-study--visppy .rd-case-study__media--logo > img { padding:clamp(18px,7vw,32px); }
  #projects .rd-case-study--echo .rd-case-study__media--logo > img { padding:clamp(34px,11vw,54px); }
  .rd-case-study__wordmark { font-size:clamp(3.4rem,18vw,5rem); }
}

/* Metrics and technology rows were removed; let the remaining narrative set the height. */
#projects .rd-case-study { min-height:0; }
#projects .rd-case-study__actions { margin-top:auto; }

@media(max-width:720px){
  #projects .rd-case-study__actions { margin-top:24px; }
}

/* Mobile hardening: prevent title overflow and keep navigation and calendar touch-friendly. */
@media(max-width:1050px) and (min-width:761px){
  html:lang(pt-BR) .availability-copy h2,
  html:lang(es) .availability-copy h2 {
    font-size:clamp(3.6rem,8vw,5.5rem);
  }
}
@media(max-width:760px){
  .hero__title {
    font-size:clamp(3.6rem,18vw,5rem);
    line-height:.76;
  }
  .calendar {
    padding:28px 0 34px;
  }
  .calendar__header {
    grid-template-columns:44px minmax(0,1fr) 44px;
    margin:0 16px 24px;
  }
  .calendar__header button {
    width:44px;
    height:44px;
  }
  .calendar__week,
  .calendar__days {
    gap:0;
  }
  .calendar__days button,
  .calendar__days span {
    width:calc(100% - 2px);
    max-width:44px;
    justify-self:center;
  }
  html:lang(pt-BR) .availability-copy h2,
  html:lang(es) .availability-copy h2 {
    font-size:clamp(1.8rem,9vw,3.3rem);
    letter-spacing:-.055em;
  }
  html:lang(pt-BR) #skills .section-heading {
    container-type:inline-size;
  }
  html:lang(pt-BR) #skills .section-heading h2 {
    font-size:clamp(2.15rem,11.5cqi,3rem);
    letter-spacing:-.055em;
  }
  html:lang(pt-BR) .contact-copy h2 {
    font-size:clamp(2.35rem,12vw,3.1rem);
    letter-spacing:-.055em;
  }
  html:lang(es) .contact-copy h2 {
    font-size:clamp(1.9rem,9vw,2.7rem);
    letter-spacing:-.045em;
  }
  #services .service-row h3 {
    font-size:clamp(1.35rem,7vw,1.5rem);
    overflow-wrap:break-word;
  }
}

@media(max-width:1050px){
  .nav.is-open {
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding-bottom:max(40px,env(safe-area-inset-bottom));
    -webkit-overflow-scrolling:touch;
  }
}

@media(max-width:720px){
  .rd-section-heading__copy {
    container-type:inline-size;
  }
  .rd-section-heading__copy h2 {
    font-size:clamp(3rem,14.8vw,4.6rem);
    letter-spacing:-.07em;
  }
  html:lang(pt-BR) .rd-section-heading__copy h2 {
    font-size:clamp(2.15rem,12cqi,3.8rem);
    letter-spacing:-.055em;
  }
}

@media(max-width:340px){
  #availability {
    padding-inline:6px;
  }
}

/* Compact locale controls extend the existing floating navigation without changing it. */
.language-switcher {
  display:flex;
  align-items:center;
  gap:2px;
  padding:0 6px;
  border-left:1px solid var(--line);
  font:500 9px 'DM Mono',monospace;
  letter-spacing:.08em;
}
.language-switcher a {
  display:grid;
  min-width:30px;
  min-height:32px;
  place-items:center;
  border-radius:999px;
  color:#747474;
  text-decoration:none;
  transition:color .2s ease,background .2s ease;
}
.language-switcher a:hover,
.language-switcher a:focus-visible { color:var(--text); outline:none; }
.language-switcher a.is-active {
  color:#0a0a0a;
  background:var(--accent);
}
@media(max-width:1050px){
  .language-switcher { margin-left:auto; border-left:0; }
  .language-switcher a { min-width:44px; min-height:44px; }
  .menu-toggle { width:44px; height:44px; }
}
@media(max-width:430px){
  .brand__text { display:none; }
  .language-switcher { padding:0; }
  .language-switcher a { min-width:44px; }
}

/* Content audit: centered analytical cards with equal information density. */
.measurement-model__sources { gap:14px; }
.measurement-source {
  min-height:360px;
  display:grid;
  grid-template-rows:auto minmax(2.1em,auto) minmax(4.8em,auto) auto auto;
  align-content:center;
  justify-items:center;
  gap:14px;
  padding:clamp(28px,3.5vw,44px);
  text-align:center;
}
.measurement-source__index { margin:0; }
.measurement-source h3 {
  min-height:2.1em;
  display:grid;
  place-items:center;
  max-width:14ch;
  margin:12px 0 0;
  line-height:.98;
}
.measurement-source > p:not(.measurement-source__outcome) {
  max-width:46ch;
  margin:0 auto;
  text-wrap:balance;
}
.measurement-source__tags {
  min-height:30px;
  justify-content:center;
  align-items:center;
  gap:8px;
  margin:0;
}
.measurement-source__tags span {
  display:inline-flex;
  min-height:28px;
  align-items:center;
  padding:6px 10px;
  border-color:rgba(214,255,67,.3);
  background:rgba(214,255,67,.035);
  line-height:1.15;
  letter-spacing:.065em;
  white-space:nowrap;
}
.measurement-source__outcome {
  width:min(100%,460px);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:7px;
  margin:2px auto 0!important;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.1);
  text-align:center;
}
.measurement-source__outcome strong {
  color:var(--accent);
  font:500 8px 'DM Mono',monospace;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.measurement-source__outcome span {
  max-width:40ch;
  color:#a5aaa3;
  font-size:.82rem;
  line-height:1.5;
  text-wrap:balance;
}
.measurement-model__chain { justify-content:center; text-align:center; }

/* Content audit: pills remain legible and never crop their labels. */
#background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) {
  min-height:104px;
  grid-template-columns:minmax(150px,.22fr) minmax(240px,.38fr) minmax(280px,.4fr) 48px;
}
#background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .experience-roles {
  flex-wrap:wrap;
  align-content:center;
  gap:6px;
  overflow:visible;
}
#background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .experience-roles span,
#background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .experience-roles span:nth-child(n+4) {
  min-width:max-content;
  flex:0 0 auto;
  padding:6px 9px;
  overflow:visible;
  border-color:rgba(214,255,67,.22);
  background:rgba(214,255,67,.025);
  color:#b8beb5;
  font-size:8px;
  line-height:1;
  letter-spacing:.055em;
  text-overflow:clip;
}
#background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .experience-roles span:nth-child(n+4) {
  display:none;
}
#background .career-node .timeline-content.is-expanded .experience-roles {
  gap:7px;
  overflow:visible;
}
#background .career-node .timeline-content.is-expanded .experience-roles span,
#background .career-node .timeline-content.is-expanded .experience-roles span:nth-child(n+4) {
  display:inline-flex;
  min-height:27px;
  align-items:center;
  padding:6px 9px;
  border-color:color-mix(in srgb,var(--track-color) 32%,transparent);
  background:color-mix(in srgb,var(--track-color) 5%,transparent);
  color:#b8beb5;
  font-size:8px;
  line-height:1.15;
  letter-spacing:.055em;
  white-space:nowrap;
}
@media(min-width:861px){
  #background .career-node .timeline-content.is-expanded .experience-highlights li {
    min-height:112px;
    justify-content:start;
  }
}
@media(max-width:1000px) and (min-width:681px){
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) {
    grid-template-columns:minmax(130px,.22fr) minmax(220px,.43fr) minmax(0,.35fr) 48px;
  }
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .experience-roles span:nth-child(n+3) {
    display:none;
  }
}
@media(max-width:680px){
  .measurement-source {
    min-height:0;
    grid-template-rows:auto;
    gap:13px;
    padding:28px 20px;
  }
  .measurement-source h3 { min-height:0; margin-top:10px; }
  .measurement-source__tags { min-height:0; }
  .measurement-source__tags span { white-space:normal; }
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) {
    min-height:94px;
    grid-template-columns:36px minmax(0,1fr) 40px;
  }
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .experience-roles span,
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .experience-roles span:nth-child(n+4) {
    padding:5px 7px;
    font-size:6px;
  }
  #background .career-node:not(.career-node--empty) .timeline-content:not(.is-expanded) .experience-roles span:nth-child(n+3) {
    display:none;
  }
}
