.cv-font-sans{font-family:var(--font-dm-sans),"DM Sans",sans-serif}.cv-font-serif{font-family:var(--font-dm-serif),"DM Serif Display",serif}.cv-font-mono{font-family:var(--font-jetbrains),"JetBrains Mono",monospace}.cv-hero-link{color:var(--cv-text-muted);font-size:.8rem;text-decoration:none;transition:color .3s}.cv-hero-link:hover{color:var(--cv-accent)}.cv-hero-link:focus-visible{outline:2px solid var(--cv-accent);outline-offset:4px}.cv-decision-panel{border:1px solid var(--cv-border);background:var(--cv-surface);text-align:left;border-radius:8px;margin-top:2.5rem;padding:1.5rem}.cv-decision-panel-header{border-bottom:1px solid var(--cv-border);justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.25rem;padding-bottom:1.25rem;display:flex}.cv-decision-kicker{color:var(--cv-accent);letter-spacing:.18em;text-transform:uppercase;margin-bottom:.35rem;font-size:.65rem}.cv-decision-title{color:var(--cv-text);font-size:clamp(1.8rem,4vw,2.55rem);font-weight:400;line-height:1.08}.cv-decision-cta{background:var(--cv-accent);color:#fff8eb;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:.78rem 1rem;font-size:.78rem;font-weight:700;text-decoration:none;transition:transform .3s,box-shadow .3s;display:inline-flex}.cv-decision-cta:hover{box-shadow:0 8px 24px var(--cv-accent-glow);transform:translateY(-1px)}.cv-decision-cta:focus-visible{outline:2px solid var(--cv-accent);outline-offset:4px}.cv-decision-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.cv-decision-claim{border:1px solid var(--cv-border);background:var(--cv-bg);border-radius:6px;gap:.7rem;padding:.9rem;display:flex}.cv-decision-claim span{background:var(--cv-accent);border-radius:999px;flex:none;width:.4rem;height:.4rem;margin-top:.5rem}.cv-decision-claim p{color:var(--cv-text-muted);font-size:.82rem;line-height:1.55}.cv-page{--cv-accent:#a94f1a;--cv-accent-glow:#a94f1a24;--cv-green:#1a444e;--cv-green-light:#4f7880;--cv-blue:#315f73;--cv-yellow:#9c7533;--cv-bg:#fff8eb;--cv-surface:#eaddc4;--cv-text:#102a2d;--cv-text-muted:#696255;--cv-border:#102a2d2e;transition:background-color .3s,color .3s}.dark .cv-page{--cv-accent:#f0782b;--cv-accent-glow:#f0782b29;--cv-green:#4f7880;--cv-green-light:#7fa7ad;--cv-blue:#6e9aad;--cv-yellow:#d0aa63;--cv-bg:#08121c;--cv-surface:#102334;--cv-text:#efe4d0;--cv-text-muted:#c8bfa8;--cv-border:#efe4d029}.tl-line{width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.tl-line-bg{background:var(--cv-border);position:absolute;inset:0}.tl-line-progress{background:linear-gradient(to bottom,var(--cv-accent),var(--cv-accent)65%,var(--cv-green)80%,var(--cv-blue));height:0%;transition:height 50ms linear;position:absolute;top:0;left:0;right:0}.tl-entry{opacity:0;align-items:flex-start;padding:1.5rem 0;transition:opacity .6s,transform .6s;display:flex;position:relative;transform:translateY(30px)}.tl-entry.visible{opacity:1;transform:translateY(0)}.tl-entry:nth-child(odd){flex-direction:row}.tl-entry:nth-child(2n){flex-direction:row-reverse}.tl-entry:nth-child(odd) .tl-card{text-align:left}.tl-entry:nth-child(2n) .tl-card{text-align:right}.tl-entry:nth-child(2n) .tl-bullets{text-align:left}.tl-card{background:var(--cv-surface);border:1px solid var(--cv-border);cursor:pointer;border-radius:8px;width:calc(50% - 46px);padding:1.25rem 1.5rem;transition:border-color .3s,box-shadow .3s,transform .3s,background-color .3s,color .3s}.tl-card:hover{border-color:var(--cv-accent);box-shadow:0 8px 30px var(--cv-accent-glow);transform:translateY(-2px)}.tl-card:focus-visible{outline:2px solid var(--cv-accent);outline-offset:4px}.tl-card.lab-card:hover{border-color:var(--cv-green);box-shadow:0 8px 30px #5b8a7226}.tl-card.edu-card:hover{border-color:var(--cv-blue);box-shadow:0 8px 30px #4a90d926}.tl-spacer{width:calc(50% - 46px)}.tl-node{z-index:2;background:var(--cv-surface);border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:transform .3s,box-shadow .3s;display:flex;position:absolute;top:2rem;left:50%;overflow:hidden;transform:translate(-50%)}.tl-node.has-logo{background:#fff;padding:6px}.tl-node-logo{object-fit:contain;border-radius:50%;width:100%;height:100%}.tl-node.accent{border:3px solid var(--cv-accent)}.tl-node.accent .tl-node-label{color:var(--cv-accent)}.tl-node.green{border:3px solid var(--cv-green)}.tl-node.green .tl-node-label{color:var(--cv-green-light)}.tl-node.blue{border:3px solid var(--cv-blue)}.tl-node.blue .tl-node-label{color:var(--cv-blue)}.tl-entry:hover .tl-node{transform:translate(-50%)scale(1.2)}.tl-entry:hover .tl-node.accent{box-shadow:0 0 20px #ee770766}.tl-entry:hover .tl-node.green{box-shadow:0 0 20px #5b8a7266}.tl-entry:hover .tl-node.blue{box-shadow:0 0 20px #4a90d966}.tl-node-label{letter-spacing:.02em;font-size:.65rem;font-weight:700}.tl-dates{color:var(--cv-accent);margin-bottom:.25rem;font-size:.7rem}.tl-card.lab-card .tl-dates{color:var(--cv-green-light)}.tl-card.edu-card .tl-dates{color:var(--cv-blue)}.tl-role{margin-bottom:.15rem;font-size:1.15rem;font-weight:400;line-height:1.3}.tl-company{color:var(--cv-text-muted);margin-bottom:.1rem;font-size:.85rem}.tl-location{color:var(--cv-text-muted);opacity:.5;font-size:.72rem}.tl-impact{border-top:1px solid var(--cv-border);color:var(--cv-text);margin-top:.85rem;padding-top:.85rem;font-size:.84rem;line-height:1.55}.tl-bullets{max-height:0;margin-top:0;transition:max-height .5s cubic-bezier(.22,1,.36,1),margin-top .3s;overflow:hidden}.tl-card.expanded .tl-bullets{max-height:800px;margin-top:1rem}.tl-bullets-inner{border-top:1px solid var(--cv-border);padding-top:.75rem}.tl-bullet{color:var(--cv-text-muted);text-align:left;margin-bottom:.5rem;padding-left:1rem;font-size:.82rem;line-height:1.6;position:relative}.tl-bullet:before{content:"";background:var(--cv-accent);opacity:.6;border-radius:50%;width:4px;height:4px;position:absolute;top:.55rem;left:0}.tl-card.lab-card .tl-bullet:before{background:var(--cv-green)}.tl-card.edu-card .tl-bullet:before{background:var(--cv-blue)}.tl-expand-hint{color:var(--cv-text-muted);opacity:.8;text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:.4rem;margin-top:.75rem;font-size:.7rem;transition:color .3s,opacity .3s;display:inline-flex}.tl-card:hover .tl-expand-hint,.tl-card:focus-visible .tl-expand-hint{color:var(--cv-accent);opacity:1}.cv-bridge{text-align:center;max-width:900px;margin:2rem auto 0;padding:3rem 2rem;position:relative}.cv-bridge:before{content:"";background:linear-gradient(to bottom,var(--cv-border),transparent);width:1px;height:3rem;position:absolute;top:0;left:50%;transform:translate(-50%)}.element-grid{grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:8px;display:grid}.cv-element{background:var(--cv-surface);border:1px solid var(--cv-border);cursor:pointer;appearance:none;color:inherit;font:inherit;text-align:left;border-radius:8px;width:100%;min-height:105px;padding:.85rem .65rem .65rem;transition:all .4s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden}.cv-element:before{content:"";opacity:.5;height:3px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.cv-element[data-domain=science]:before{background:var(--cv-green)}.cv-element[data-domain=commercial]:before{background:var(--cv-accent)}.cv-element[data-domain=technology]:before{background:var(--cv-blue)}.cv-element[data-domain=leadership]:before{background:var(--cv-yellow)}.cv-element:hover{transform:translateY(-3px);box-shadow:0 6px 25px #0000001a}.dark .cv-element:hover{box-shadow:0 6px 25px #0000004d}.cv-element:hover:before{opacity:1}.cv-element[data-domain=science]:hover{border-color:var(--cv-green)}.cv-element[data-domain=commercial]:hover{border-color:var(--cv-accent)}.cv-element[data-domain=technology]:hover{border-color:var(--cv-blue)}.cv-element[data-domain=leadership]:hover{border-color:var(--cv-yellow)}.cv-element.dimmed{opacity:.12;pointer-events:none;transform:scale(.95)}.el-modal{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;opacity:0;pointer-events:none;background:#000f1ed9;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;inset:0}.el-modal.active{opacity:1;pointer-events:all}.modal-card{background:var(--cv-surface);border:1px solid var(--cv-border);border-radius:8px;width:90%;max-width:480px;max-height:min(80vh,620px);padding:2rem;transition:transform .4s cubic-bezier(.22,1,.36,1);position:relative;overflow-y:auto;transform:scale(.9)translateY(20px)}.el-modal.active .modal-card{transform:scale(1)translateY(0)}.cv-filter-btn{border:1px solid var(--cv-border);color:var(--cv-text-muted);cursor:pointer;text-transform:uppercase;letter-spacing:.06em;background:0 0;border-radius:20px;padding:.4rem 1rem;font-size:.75rem;transition:all .3s}.cv-filter-btn:hover{border-color:var(--cv-text-muted);color:var(--cv-text)}.cv-filter-btn:focus-visible,.cv-element:focus-visible{outline:2px solid var(--cv-accent);outline-offset:4px}.cv-filter-btn.active{border-color:var(--cv-accent);color:var(--cv-accent);background:var(--cv-accent-glow)}.cv-filter-btn.active[data-domain=science]{border-color:var(--cv-green);color:var(--cv-green-light);background:#5b8a7226}.cv-filter-btn.active[data-domain=commercial]{border-color:var(--cv-accent);color:var(--cv-accent);background:var(--cv-accent-glow)}.cv-filter-btn.active[data-domain=technology]{border-color:var(--cv-blue);color:var(--cv-blue);background:#4a90d926}.cv-filter-btn.active[data-domain=leadership]{border-color:var(--cv-yellow);color:var(--cv-yellow);background:#d4a84326}.cv-element-reveal{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(15px)}.cv-element-reveal.revealed{opacity:1;transform:translateY(0)}@media (max-width:768px){.cv-hero-title{font-size:2rem!important}.cv-decision-panel-header{flex-direction:column;align-items:flex-start}.cv-decision-grid{grid-template-columns:1fr}.tl-line{left:24px}.tl-entry,.tl-entry:nth-child(odd),.tl-entry:nth-child(2n){flex-direction:row;padding-left:56px}.tl-entry:nth-child(2n) .tl-card{text-align:left}.tl-card{width:100%}.tl-spacer{display:none}.tl-node{left:24px}.element-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.modal-card{max-height:82vh;padding:1.5rem}}@media (prefers-reduced-motion:reduce){.tl-entry,.cv-element-reveal{opacity:1;transition:none;transform:none}.tl-bullets,.tl-line-progress,.modal-card,.cv-element,.tl-card,.tl-node{transition:none}}
