:root {
  --bg: #090c11;
  --bg-2: #0c1016;
  --panel: rgba(15, 21, 29, 0.72);
  --panel-solid: #10161e;
  --line: rgba(142, 162, 188, 0.17);
  --line-strong: rgba(147, 172, 203, 0.32);
  --text: #f2f6fb;
  --muted: #8d9aab;
  --muted-2: #657487;
  --accent: #9fb9d9;
  --accent-2: #6b86a6;
  --cyan: #95d7e8;
  --success: #9bc9b3;
  --mx: 50vw;
  --my: 20vh;
  --shell: min(1340px, calc(100vw - 64px));
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body { margin: 0; min-width: 320px; font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--text); background: var(--bg); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
::selection { background: rgba(155, 190, 224, .25); color: #fff; }
.shell { width: var(--shell); margin: 0 auto; position: relative; }
.spotlight { position: fixed; inset: 0; z-index: 80; pointer-events: none; background: radial-gradient(520px circle at var(--mx) var(--my), rgba(112, 151, 196, .11), rgba(75, 102, 135, .04) 34%, transparent 70%); mix-blend-mode: screen; opacity: .9; }
.noise { position: fixed; inset: 0; pointer-events: none; z-index: 70; opacity: .035; 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='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); }
.ambient { position: fixed; width: 520px; height: 520px; filter: blur(120px); border-radius: 50%; pointer-events: none; z-index: -1; opacity: .09; }
.ambient-a { top: 5%; left: -10%; background: #597ba2; }
.ambient-b { top: 45%; right: -12%; background: #416d83; }
.site-header { position: fixed; top: 0; left: 0; width: 100%; z-index: 60; background: linear-gradient(to bottom, rgba(9,12,17,.92), rgba(9,12,17,.68), transparent); backdrop-filter: blur(12px); }
.site-header::after { content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background: linear-gradient(90deg, transparent, var(--line), transparent); opacity:0; transition: opacity .3s; }
.site-header.scrolled::after { opacity: 1; }
.header-inner { height: 96px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 28px; }
.brand { display: flex; flex-direction: column; gap: 8px; width: max-content; }
.brand-name { font-weight: 760; font-size: 19px; letter-spacing: -.02em; }
.brand-sub { font: 500 10px/1.1 ui-monospace, SFMono-Regular, Menlo, Monaco, monospace; color: var(--muted-2); letter-spacing: .24em; }
.main-nav { display: flex; align-items: center; gap: 32px; }
.nav-link { position: relative; color: var(--muted); font-size: 14px; transition: color .25s; padding: 10px 0; }
.nav-link::after { content:""; position:absolute; left:50%; bottom:2px; width:0; height:1px; background: var(--accent); transition: width .25s, left .25s; }
.nav-link:hover, .nav-link.active { color: #e6edf6; }
.nav-link.active::after { width:100%; left:0; }
.header-actions { justify-self: end; display: flex; gap: 10px; }
.icon-btn { width: 42px; height: 42px; border: 1px solid var(--line); display: grid; place-items: center; color: var(--muted); background: rgba(10,14,19,.42); transition: .25s ease; }
.icon-btn svg { width: 18px; height: 18px; fill: currentColor; }
.icon-btn:hover { color: var(--text); border-color: var(--line-strong); background: rgba(24,32,43,.68); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,.22); }
.menu-toggle { display:none; width:42px; height:42px; background:transparent; border:1px solid var(--line); padding:12px; }
.menu-toggle span { display:block; height:1px; background:var(--muted); margin:5px 0; }
.section { position: relative; padding: 150px 0; border-bottom: 1px solid var(--line); }
.section-alt { background: linear-gradient(180deg, rgba(16,22,30,.22), rgba(8,12,17,.42)); }
.hero { min-height: 100vh; display: flex; flex-direction: column; justify-content: center; padding-top: 150px; overflow:hidden; }
.hero-grid, .contact-grid-bg { position:absolute; inset:0; pointer-events:none; background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size: 58px 58px; mask-image: radial-gradient(circle at 72% 32%, #000 0, transparent 65%); opacity:.26; }
.hero::before { content:""; position:absolute; width:620px; height:620px; border:1px solid rgba(127,155,188,.08); border-radius:50%; right:5%; top:18%; box-shadow: 0 0 0 90px rgba(127,155,188,.015),0 0 0 180px rgba(127,155,188,.012); animation: orbit 12s linear infinite; }
@keyframes orbit { to { transform: rotate(360deg); } }
.hero-inner { display:grid; grid-template-columns: 1.15fr .85fr; align-items:center; gap: 82px; }
.eyebrow, .section-index, .mini-label { font: 600 11px/1 ui-monospace, SFMono-Regular, Menlo, Monaco, monospace; letter-spacing:.18em; color: var(--muted-2); }
.eyebrow { display:flex; align-items:center; gap:10px; margin-bottom:24px; }
.status-dot { width:7px; height:7px; border-radius:50%; background:var(--success); box-shadow:0 0 0 5px rgba(155,201,179,.08), 0 0 18px rgba(155,201,179,.48); }
h1 { margin:0; font-size: clamp(48px, 6vw, 86px); line-height: .98; letter-spacing: -.055em; font-weight: 660; max-width: 940px; }
.gradient-text { color:#d9e6f5; background: linear-gradient(105deg,#f3f8ff 8%, #9eb9d8 66%, #82cddd); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.hero-lede { max-width: 720px; color: var(--muted); font-size: 18px; line-height:1.72; margin:32px 0 0; }
.hero-cta, .contact-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.btn { height:48px; padding:0 19px; display:inline-flex; align-items:center; gap:14px; border:1px solid var(--line); font-size:13px; letter-spacing:.02em; transition: border-color .25s, background .25s, color .25s, transform .2s; will-change: transform; }
.btn span { color: var(--muted); font-size:17px; }
.btn-primary { background:#edf4fb; color:#0a0e13; border-color:#edf4fb; }
.btn-primary span { color:#53667c; }
.btn-primary:hover { background:#fff; box-shadow:0 12px 34px rgba(152,184,219,.12); }
.btn-ghost { color:#c7d2df; background:rgba(15,21,29,.35); }
.btn-ghost:hover { border-color:var(--line-strong); background:rgba(21,29,39,.72); }
.hero-system { position:relative; perspective:1200px; }
.system-card { border:1px solid var(--line); background:linear-gradient(145deg,rgba(16,22,30,.82),rgba(8,12,17,.92)); padding:22px; min-height:470px; position:relative; overflow:hidden; box-shadow:0 45px 100px rgba(0,0,0,.32); }
.system-card::before { content:""; position:absolute; inset:-1px; background: radial-gradient(400px circle at var(--card-x, 50%) var(--card-y, 50%), rgba(145,184,226,.12), transparent 58%); pointer-events:none; }
.system-topline,.system-footer { position:relative; z-index:2; display:flex; justify-content:space-between; align-items:center; font:500 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.16em; color:var(--muted-2); }
.live-pill { color:var(--success); letter-spacing:.08em; }
.system-footer { position:absolute; bottom:18px; left:22px; right:22px; border-top:1px solid var(--line); padding-top:15px; }
.system-diagram { position:absolute; inset:70px 26px 60px; }
.node { position:absolute; z-index:3; min-width:144px; border:1px solid var(--line-strong); background:rgba(11,16,22,.84); padding:14px 15px; box-shadow:0 10px 40px rgba(0,0,0,.24); }
.node strong { display:block; font-size:12px; margin:4px 0 6px; }
.node small { display:block; color:var(--muted-2); font-size:9px; }
.node-kicker { color:var(--accent-2); font:600 8px/1 ui-monospace,monospace; }
.node-user { left:0; top:8%; }
.node-agent { right:0; top:28%; border-color:rgba(143,183,225,.4); box-shadow:0 0 40px rgba(80,116,154,.08); }
.node-tools { left:4%; bottom:8%; }
.node-outcome { right:4%; bottom:0; border-color:rgba(127,192,199,.35); }
.flow-line { position:absolute; height:1px; background:linear-gradient(90deg,transparent,var(--accent-2),transparent); transform-origin:left center; opacity:.6; }
.line-1 { width:210px; left:120px; top:26%; transform:rotate(16deg); }
.line-2 { width:230px; right:80px; top:56%; transform:rotate(133deg); }
.line-3 { width:210px; left:115px; bottom:18%; transform:rotate(-4deg); }
.flow-line::after { content:""; position:absolute; top:-2px; left:0; width:5px; height:5px; border-radius:50%; background:#b7d2ef; box-shadow:0 0 14px #8fb6de; animation:pulseTravel 2.8s ease-in-out infinite; }
@keyframes pulseTravel { 0%{left:0;opacity:0}20%{opacity:1}80%{opacity:1}100%{left:100%;opacity:0} }
.proof-grid { margin-top:72px; display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); }
.proof { min-height:118px; padding:25px 26px; position:relative; overflow:hidden; background:rgba(11,16,22,.44); border-right:1px solid var(--line); }
.proof:last-child { border-right:0; }
.proof-value { display:block; font-size:27px; letter-spacing:-.04em; font-weight:650; }
.proof-label { display:block; margin-top:12px; color:var(--muted-2); font-size:11px; line-height:1.45; text-transform:uppercase; letter-spacing:.07em; }
.scroll-cue { position:absolute; right:28px; bottom:26px; color:var(--muted-2); display:flex; align-items:center; gap:10px; font:500 9px/1 ui-monospace,monospace; letter-spacing:.2em; transform:rotate(90deg); transform-origin:right bottom; }
.scroll-cue i { width:48px; height:1px; background:var(--line-strong); position:relative; overflow:hidden; }
.scroll-cue i::after { content:""; position:absolute; width:18px; height:1px; background:var(--accent); animation:scrollLine 2s infinite; }
@keyframes scrollLine { from{left:-18px}to{left:48px} }
.section-heading { margin-bottom:70px; }
.section-heading h2 { margin:18px 0 0; font-size:clamp(38px,5vw,66px); line-height:1.04; letter-spacing:-.045em; font-weight:570; }
.section-heading h2 em { font-family: Georgia, serif; font-weight:400; color:#a9bfd7; }
.section-heading-row { display:grid; grid-template-columns:1.1fr .65fr; gap:60px; align-items:end; }
.section-heading-row p { color:var(--muted); line-height:1.7; max-width:540px; margin:0 0 4px; }
.about-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:100px; align-items:start; }
.about-copy p { color:var(--muted); font-size:16px; line-height:1.82; margin:0 0 22px; max-width:720px; }
.about-copy .lead-paragraph { color:#cfd9e4; font-size:22px; line-height:1.62; letter-spacing:-.015em; }
.about-copy strong { color:#eef4fa; font-weight:580; }
.about-links { margin-top:44px; display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.about-links a { color:#a9bdd4; font:500 12px/1.5 ui-monospace,monospace; border-bottom:1px solid rgba(169,189,212,.2); padding-bottom:4px; }
.about-links a:hover { color:#fff; border-color:#a9bdd4; }
.about-stack { display:flex; flex-direction:column; border-top:1px solid var(--line); }
.principle { display:grid; grid-template-columns:46px 1fr; gap:18px; border-bottom:1px solid var(--line); padding:25px 4px; position:relative; overflow:hidden; }
.principle>span { color:var(--muted-2); font:600 9px/1 ui-monospace,monospace; }
.principle h3 { margin:0 0 8px; font-size:16px; font-weight:560; }
.principle p { margin:0; color:var(--muted); font-size:13px; line-height:1.6; }
.education-card { margin-top:28px; border:1px solid var(--line); padding:22px; position:relative; background:rgba(12,17,24,.44); }
.education-card strong { display:block; margin:14px 0 7px; }
.education-card p { margin:0; color:var(--muted); font-size:12px; line-height:1.7; }
.education-year { position:absolute; right:20px; top:21px; color:var(--muted-2); font:500 10px ui-monospace,monospace; }
.timeline { position:relative; }
.timeline::before { content:""; position:absolute; left:15px; top:0; bottom:0; width:1px; background:linear-gradient(var(--accent-2),var(--line),transparent); }
.experience-item { display:grid; grid-template-columns:30px 180px 1fr; gap:34px; padding-bottom:88px; }
.experience-item:last-child { padding-bottom:0; }
.timeline-marker { position:relative; }
.timeline-marker span { position:absolute; left:10px; top:7px; width:11px; height:11px; background:var(--bg); border:2px solid #7f9cbc; border-radius:50%; box-shadow:0 0 0 6px rgba(127,156,188,.07); }
.experience-meta { display:flex; flex-direction:column; gap:9px; color:var(--muted-2); font:500 9px/1.3 ui-monospace,monospace; letter-spacing:.13em; padding-top:4px; }
.experience-body { border-top:1px solid var(--line-strong); padding-top:22px; }
.experience-title-row { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; }
.experience-title-row h3 { margin:0; font-size:28px; letter-spacing:-.035em; }
.experience-title-row p { margin:5px 0 0; color:var(--muted-2); font-size:12px; }
.company-chip { min-width:48px; height:32px; border:1px solid var(--line); display:grid; place-items:center; color:var(--muted); font:600 9px ui-monospace,monospace; }
.role-block { margin-top:30px; padding-left:18px; border-left:1px solid var(--line); }
.role-head { display:flex; justify-content:space-between; gap:18px; align-items:baseline; }
.role-head strong { font-size:14px; font-weight:570; }
.role-head span { color:var(--muted-2); font:500 9px ui-monospace,monospace; }
.role-block p { margin:12px 0 0; color:var(--muted); line-height:1.72; font-size:14px; max-width:830px; }
.role-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:28px; }
.role-tags span { border:1px solid var(--line); padding:8px 10px; color:var(--muted-2); font:500 9px ui-monospace,monospace; text-transform:uppercase; letter-spacing:.07em; }
.project-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.project-card { min-height:520px; text-align:left; border:1px solid var(--line); background:linear-gradient(145deg,rgba(14,20,27,.78),rgba(9,13,18,.9)); padding:22px; cursor:pointer; position:relative; overflow:hidden; transition:border-color .25s, background .25s, transform .15s; perspective:900px; }
.project-card::before,.spotlight-card::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(320px circle at var(--card-x,50%) var(--card-y,50%),rgba(125,162,202,.12),transparent 62%); opacity:0; transition:opacity .25s; }
.project-card:hover::before,.spotlight-card:hover::before { opacity:1; }
.project-card:hover { border-color:var(--line-strong); }
.project-top { position:relative; z-index:2; display:flex; justify-content:space-between; color:var(--muted-2); font:600 9px ui-monospace,monospace; letter-spacing:.13em; }
.project-num { color:#9bb5d1; }
.project-visual { height:220px; margin:24px 0; border:1px solid rgba(142,162,188,.11); background:linear-gradient(180deg,rgba(13,19,27,.68),rgba(7,11,15,.4)); position:relative; overflow:hidden; }
.project-visual::before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(132,155,183,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(132,155,183,.06) 1px,transparent 1px); background-size:30px 30px; }
.project-card h3 { position:relative; z-index:2; margin:0; font-size:24px; letter-spacing:-.025em; font-weight:570; }
.project-card>p { position:relative; z-index:2; color:var(--muted); font-size:13px; line-height:1.65; margin:11px 0 22px; max-width:580px; }
.metric-row { position:relative; z-index:2; display:flex; flex-wrap:wrap; gap:8px; }
.metric-row span { border:1px solid var(--line); padding:8px 9px; color:var(--muted-2); font:500 9px ui-monospace,monospace; }
.metric-row strong { color:#c8d8e8; font-weight:650; }
.project-link { position:absolute; right:21px; bottom:21px; z-index:2; font:500 10px ui-monospace,monospace; color:var(--muted); }
.project-link span { display:inline-block; margin-left:7px; transition:transform .2s; }
.project-card:hover .project-link span { transform:translate(3px,-3px); }
.visual-agent .orb { position:absolute; border:1px solid rgba(146,187,224,.28); border-radius:50%; }
.orb-core { width:74px; height:74px; left:50%; top:50%; transform:translate(-50%,-50%); background:radial-gradient(circle,rgba(159,202,231,.24),rgba(60,91,127,.05) 60%,transparent); box-shadow:0 0 60px rgba(93,135,175,.16); animation:breathe 3s ease-in-out infinite; }
.orb-a { width:28px; height:28px; left:16%; top:24%; } .orb-b{width:34px;height:34px;right:17%;top:20%;}.orb-c{width:24px;height:24px;right:19%;bottom:18%;}
.trace { position:absolute; height:1px; background:linear-gradient(90deg,transparent,#7699ba,transparent); transform-origin:left; }
.trace-a{width:160px;left:20%;top:33%;transform:rotate(14deg)}.trace-b{width:150px;left:52%;top:53%;transform:rotate(-28deg)}.trace-c{width:170px;left:27%;top:66%;transform:rotate(-12deg)}
@keyframes breathe{50%{transform:translate(-50%,-50%) scale(1.08);box-shadow:0 0 76px rgba(93,135,175,.24)}}
.visual-mcp svg,.visual-network svg { position:absolute; inset:0; width:100%; height:100%; fill:none; stroke:rgba(131,166,201,.34); stroke-width:1; }
.mcp-center,.mcp-node,.network-hub,.bank,.source,.merge,.result { position:absolute; border:1px solid var(--line-strong); background:#0d131a; font:600 8px ui-monospace,monospace; color:#9eb5cd; display:grid; place-items:center; z-index:2; }
.mcp-center{width:52px;height:52px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;box-shadow:0 0 35px rgba(110,153,193,.15)}
.mcp-node{width:68px;height:28px}.mcp-1{left:9%;top:12%}.mcp-2{right:9%;top:12%}.mcp-3{left:50%;bottom:8%;transform:translateX(-50%);width:90px}
.source{width:72px;height:30px;top:24%}.source-a{left:12%}.source-b{right:12%}.merge{width:82px;height:34px;left:50%;top:48%;transform:translate(-50%,-50%)}.result{width:40px;height:40px;left:50%;bottom:10%;transform:translateX(-50%);border-radius:50%;color:#acd8c1}.validation-line{position:absolute;width:1px;background:rgba(135,172,207,.35);left:50%;}.v1{height:75px;top:28%;transform:rotate(52deg);transform-origin:top}.v2{height:75px;top:28%;transform:rotate(-52deg);transform-origin:top}.v3{height:48px;top:58%}
.network-hub{width:64px;height:64px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%}.bank{width:34px;height:26px}.b1{left:12%;top:15%}.b2{right:12%;top:12%}.b3{right:10%;bottom:10%}.b4{left:10%;bottom:10%}.b5{left:50%;top:4%;transform:translateX(-50%)}
.visual-stream span{position:absolute;left:-15%;width:130%;height:1px;background:linear-gradient(90deg,transparent,rgba(126,170,207,.1),#87a9ca,rgba(126,170,207,.1),transparent);animation:stream 3s linear infinite}.visual-stream span:nth-child(1){top:24%;animation-delay:-.2s}.visual-stream span:nth-child(2){top:40%;animation-delay:-1.1s}.visual-stream span:nth-child(3){top:57%;animation-delay:-1.9s}.visual-stream span:nth-child(4){top:74%;animation-delay:-2.6s}.stream-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid var(--line-strong);background:#0b1016;padding:12px 15px;color:#9bb5d0;font:600 8px ui-monospace,monospace;z-index:2}@keyframes stream{from{transform:translateX(-20%)}to{transform:translateX(20%)}}
.visual-chart{display:flex;align-items:flex-end;gap:15px;padding:30px 58px}.visual-chart .bar{flex:1;max-width:52px;border:1px solid rgba(124,164,201,.28);background:linear-gradient(to top,rgba(99,136,170,.28),rgba(99,136,170,.03));z-index:2}.bar-1{height:35%}.bar-2{height:67%}.bar-3{height:48%}.bar-4{height:82%}.chart-line{position:absolute;left:42px;right:42px;top:48%;height:1px;background:linear-gradient(90deg,transparent,#9cc6d8,transparent);transform:rotate(-8deg);z-index:3}.chart-caption{position:absolute;right:18px;top:15px;color:var(--muted-2);font:600 8px ui-monospace,monospace;letter-spacing:.1em}
.confidentiality { margin:24px 0 0; color:var(--muted-2); font-size:11px; line-height:1.6; max-width:720px; }
.skills-grid { display:grid; grid-template-columns:repeat(2,1fr); border:1px solid var(--line); }
.skill-panel { min-height:290px; padding:30px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); position:relative; overflow:hidden; }
.skill-panel:nth-child(2n) { border-right:0; }.skill-panel:nth-last-child(-n+2){border-bottom:0}
.skill-index { color:var(--muted-2); font:600 9px ui-monospace,monospace; letter-spacing:.12em; }
.skill-panel h3 { margin:40px 0 20px; font-size:24px; font-weight:560; }
.skill-list { display:flex; flex-wrap:wrap; gap:9px; }
.skill-list span { padding:8px 10px; border:1px solid var(--line); color:var(--muted); font-size:11px; }
.contact-section { min-height:680px; display:grid; place-items:center; overflow:hidden; }
.contact-grid-bg { mask-image:radial-gradient(circle at 50% 50%,#000,transparent 72%); opacity:.24; }
.contact-inner { text-align:center; display:flex; flex-direction:column; align-items:center; }
.contact-kicker { color:var(--muted-2); font:600 10px ui-monospace,monospace; letter-spacing:.24em; margin:30px 0 16px; }
.contact-inner h2 { font-size:clamp(42px,5.8vw,78px); line-height:1.02; letter-spacing:-.05em; margin:0; font-weight:580; }
.contact-inner h2 em { font-family:Georgia,serif; font-weight:400; color:#a8c1d8; }
.contact-inner>p:not(.contact-kicker) { max-width:690px; color:var(--muted); line-height:1.75; font-size:16px; margin:26px 0 0; }
.contact-actions { justify-content:center; }
.site-footer { padding:72px 0 64px; background:#080b10; border-top:1px solid var(--line); }
.footer-grid { display:grid; grid-template-columns:1fr auto 1fr; align-items:start; gap:40px; }
.footer-brand { display:flex; flex-direction:column; align-items:flex-start; }
.footer-brand strong { font-size:19px; margin-bottom:10px; }
.footer-brand>span { color:var(--muted-2); font:500 10px ui-monospace,monospace; letter-spacing:.2em; }
.footer-brand p { margin:44px 0 0; color:#536174; font-size:11px; }
.footer-nav { display:flex; gap:30px; padding-top:5px; }
.footer-nav a { color:var(--muted); font-size:13px; }.footer-nav a:hover{color:#fff}
.footer-actions { justify-self:end; display:flex; gap:10px; }
.reveal { opacity:0; transform:translateY(24px); transition:opacity .75s cubic-bezier(.2,.8,.2,1),transform .75s cubic-bezier(.2,.8,.2,1); transition-delay:var(--delay,0ms); }
.reveal.is-visible { opacity:1; transform:none; }
.case-modal { width:min(1020px,calc(100vw - 34px)); max-height:90vh; padding:0; border:1px solid var(--line-strong); background:#0b1016; color:var(--text); box-shadow:0 40px 120px rgba(0,0,0,.66); }
.case-modal::backdrop { background:rgba(3,5,8,.82); backdrop-filter:blur(8px); }
.modal-shell { position:relative; padding:58px; overflow:auto; max-height:90vh; }
.modal-close { position:sticky; float:right; top:0; margin-top:-35px; margin-right:-35px; width:42px;height:42px;border:1px solid var(--line);background:#0c1117;color:var(--muted);font-size:26px;line-height:1;cursor:pointer;z-index:10; }
.modal-close:hover{color:#fff;border-color:var(--line-strong)}
.modal-eyebrow { color:var(--muted-2); font:600 10px ui-monospace,monospace; letter-spacing:.16em; }
.modal-title { margin:15px 0 12px; font-size:clamp(34px,5vw,58px); line-height:1; letter-spacing:-.045em; }
.modal-summary { color:var(--muted); max-width:760px; line-height:1.72; font-size:16px; }
.modal-metrics { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); margin:34px 0 40px; }
.modal-metric { padding:22px; border-right:1px solid var(--line); }.modal-metric:last-child{border-right:0}
.modal-metric strong { display:block;font-size:26px;letter-spacing:-.03em}.modal-metric span{display:block;margin-top:8px;color:var(--muted-2);font-size:10px;text-transform:uppercase;letter-spacing:.07em;line-height:1.4}
.case-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.case-block { border:1px solid var(--line); padding:24px; min-height:160px; }
.case-block h4 { margin:0 0 13px; color:#a9bfd6; font:600 10px ui-monospace,monospace; letter-spacing:.12em; text-transform:uppercase; }
.case-block p,.case-block li{color:var(--muted);font-size:13px;line-height:1.7}.case-block ul{padding-left:18px;margin:0}.case-block p{margin:0}
.case-full { grid-column:1/-1; }
@media (max-width: 1080px){
  :root{--shell:min(100% - 42px,1100px)}
  .header-inner{grid-template-columns:1fr auto}.main-nav{position:absolute;top:78px;left:21px;right:21px;display:none;flex-direction:column;align-items:stretch;background:#0c1117;border:1px solid var(--line);padding:16px}.main-nav.open{display:flex}.menu-toggle{display:block;justify-self:end}.header-actions{display:none}.hero-inner{grid-template-columns:1fr;gap:50px}.hero-system{max-width:720px}.proof-grid{grid-template-columns:repeat(2,1fr)}.proof:nth-child(2){border-right:0}.proof:nth-child(-n+2){border-bottom:1px solid var(--line)}.about-grid{grid-template-columns:1fr;gap:60px}.section-heading-row{grid-template-columns:1fr;gap:26px}.experience-item{grid-template-columns:30px 140px 1fr;gap:22px}.footer-grid{grid-template-columns:1fr auto}.footer-nav{grid-row:2;grid-column:1/-1;justify-content:flex-start;flex-wrap:wrap}.footer-actions{grid-column:2;grid-row:1}
}
@media (max-width: 760px){
  :root{--shell:calc(100vw - 30px)}
  .header-inner{height:78px}.brand-sub{font-size:8px;letter-spacing:.16em}.section{padding:105px 0}.hero{padding-top:115px;min-height:auto}.hero::before{display:none}h1{font-size:clamp(43px,13vw,66px)}.hero-lede{font-size:16px}.system-card{min-height:410px;padding:17px}.node{min-width:115px;padding:11px}.node small{font-size:8px}.flow-line{opacity:.4}.proof-grid{margin-top:42px}.proof{padding:20px;min-height:104px}.proof-value{font-size:23px}.section-heading{margin-bottom:48px}.section-heading h2{font-size:42px}.about-copy .lead-paragraph{font-size:19px}.experience-item{grid-template-columns:24px 1fr;gap:16px}.experience-meta{grid-column:2;flex-direction:row;justify-content:space-between}.experience-body{grid-column:2}.timeline::before{left:11px}.timeline-marker span{left:6px}.role-head{flex-direction:column;gap:7px}.project-grid,.skills-grid{grid-template-columns:1fr}.project-card{min-height:500px}.skill-panel{border-right:0}.skill-panel:nth-last-child(2){border-bottom:1px solid var(--line)}.modal-shell{padding:42px 22px}.modal-close{margin-right:-8px;margin-top:-28px}.modal-metrics{grid-template-columns:1fr}.modal-metric{border-right:0;border-bottom:1px solid var(--line)}.modal-metric:last-child{border-bottom:0}.case-grid{grid-template-columns:1fr}.case-full{grid-column:1}.footer-grid{grid-template-columns:1fr}.footer-actions{grid-column:1;grid-row:2;justify-self:start}.footer-nav{grid-row:3;grid-column:1}.footer-brand p{margin-top:28px}.scroll-cue{display:none}
}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.spotlight{display:none}*,*::before,*::after{animation:none!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
