:root {
  --canvas: #f2f0e9;
  --paper: #f8f7f2;
  --ink: #151715;
  --muted: #65675f;
  --line: #cac8be;
  --blue: #a9c8ff;
  --cyan: #53e0d1;
  --orange: #ff9b5c;
  --violet: #c5b6ff;
  --acid: #d7ef63;
  --display: "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --shadow: 0 24px 70px rgba(24, 25, 20, 0.15);
}
[data-theme="dark"] {
  --canvas:#111311;
  --paper:#181b18;
  --ink:#f4f2e9;
  --muted:#aaaDA6;
  --line:#42463f;
  --shadow:0 24px 70px rgba(0,0,0,.45);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
img,svg,canvas { max-width:100%; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--canvas);
  font-family: var(--display);
  overflow-x: hidden;
  transition:background-color .45s ease,color .45s ease;
}
body.is-loading { overflow: hidden; }
body.game-open { overflow:hidden; }
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
::selection { background: var(--cyan); color: var(--ink); }

.opening-screen {
  position:fixed;inset:0;z-index:999;background:#101210;color:#f8f7f2;overflow:hidden;
  transition:clip-path 1.15s cubic-bezier(.76,0,.24,1),visibility 0s 1.15s;
  clip-path:inset(0 0 0 0);display:flex;flex-direction:column;padding:clamp(22px,4vw,58px);
}
.opening-screen.is-finished { clip-path: inset(0 0 100% 0); visibility: hidden; }
.loader-noise{position:absolute;inset:0;opacity:.15;background-image:radial-gradient(rgba(255,255,255,.5) .7px,transparent .7px);background-size:17px 17px;mask-image:linear-gradient(to bottom,black,transparent 82%)}
.loader-top{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}
.loader-top>span{font:9px var(--mono);letter-spacing:.18em;color:#999d96}
.opening-mark { display:flex;align-items:center;font-size:clamp(28px,3.5vw,48px);font-weight:800;letter-spacing:-.09em; }
.opening-mark i { width: .18em; height: .7em; background: var(--orange); margin:0 0 0 .08em;align-self:center;flex:0 0 auto;animation: blink .7s steps(1) infinite; }
.loader-stage{position:relative;z-index:2;margin:auto;width:min(940px,88vw);display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:clamp(28px,5vw,75px);align-items:center}
.loader-window{height:clamp(300px,48vh,480px);border:1px solid #545851;border-radius:22px;background:rgba(27,30,27,.9);box-shadow:24px 30px 0 #070807;overflow:hidden;animation:loader-enter .8s cubic-bezier(.22,1,.36,1) both}
.loader-window-bar{height:46px;border-bottom:1px solid #454942;display:flex;align-items:center;padding:0 18px;gap:7px}
.loader-window-bar>i{width:8px;height:8px;border-radius:50%;background:#555a53}.loader-window-bar>i:nth-child(1){background:var(--orange)}.loader-window-bar>i:nth-child(2){background:var(--acid)}.loader-window-bar>i:nth-child(3){background:var(--cyan)}
.loader-window-bar span{margin-left:auto;font:8px var(--mono);color:#898d86}
.loader-canvas{position:relative;height:calc(100% - 46px)}
.loader-node{position:absolute;width:92px;height:70px;border:1px solid #0e100e;border-radius:15px;color:#101210;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:8px 9px 0 rgba(0,0,0,.55);z-index:3;animation:node-arrive .7s cubic-bezier(.34,1.56,.64,1) both}
.loader-node b{font-size:18px}.loader-node small{font:6px var(--mono);letter-spacing:.12em;margin-top:4px}
.node-ui{left:8%;top:40%;background:var(--orange);animation-delay:.15s}.node-api{right:8%;top:40%;background:var(--cyan);animation-delay:.42s}.node-data{left:calc(50% - 46px);bottom:8%;background:var(--violet);animation-delay:.7s}
.loader-connections{position:absolute;inset:0;width:100%;height:100%;z-index:1}.loader-connections path{fill:none;stroke:#757a72;stroke-width:1;stroke-dasharray:7 10;stroke-dashoffset:120;animation:loader-draw 1.5s .55s linear forwards}
.loader-center-mark{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%) scale(.5);width:112px;height:112px;border-radius:50%;background:#f8f7f2;color:#101210;display:flex;align-items:center;justify-content:center;font:800 30px var(--mono);letter-spacing:-.12em;z-index:2;animation:center-pop .65s 1s cubic-bezier(.34,1.56,.64,1) forwards}
.loader-cursor{position:absolute;z-index:5;left:22%;top:17%;font-size:40px;filter:drop-shadow(4px 5px 0 #000);animation:cursor-gesture 1.75s .2s cubic-bezier(.22,1,.36,1) forwards}
.loader-cursor span{position:absolute;left:28px;top:32px;padding:5px 8px;border-radius:10px;background:var(--acid);color:#111;font:7px var(--mono)}
.loader-stage>p{font-size:clamp(25px,3vw,43px);line-height:1.02;letter-spacing:-.045em;margin:0}
.loader-bottom{position:relative;z-index:2;display:grid;grid-template-columns:220px 1fr 58px;gap:24px;align-items:end}
.opening-copy{display:flex;flex-direction:column;gap:7px}
.opening-copy span { font: 8px var(--mono); letter-spacing: .18em; color: var(--cyan); }
.opening-copy strong { font-size:13px;font-weight:500; }
.loader-progress{height:4px;background:#333731;border-radius:99px;overflow:hidden;margin-bottom:5px}.loader-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--cyan),var(--acid),var(--orange));animation:loadline 2.15s cubic-bezier(.65,0,.35,1) forwards}
.loading-count{font:28px var(--mono);line-height:1}

.cursor-aura, .cursor-dot { position: fixed; pointer-events: none; z-index: 998; left: 0; top: 0; opacity: 0; will-change: transform; }
.cursor-aura { width: 76px; height: 76px; margin: -38px 0 0 -38px; border: 1px solid rgba(21,23,21,.33); border-radius: 50%; transition: width .25s,height .25s,margin .25s,background .25s,border .25s,opacity .25s; }
.cursor-aura i { position: absolute; inset: 8px; border-radius: inherit; border: 1px dashed rgba(21,23,21,.18); animation: spin 8s linear infinite; }
.cursor-dot { width: 7px; height: 7px; margin: -3.5px 0 0 -3.5px; border-radius: 50%; background: var(--orange); }
.cursor-aura.is-active { width: 112px; height: 112px; margin: -56px 0 0 -56px; background: rgba(83,224,209,.18); border-color: var(--ink); mix-blend-mode: multiply; }
.surprise-toast { position: fixed; z-index: 997; left: 50%; bottom: 28px; transform: translate(-50%,25px); background: var(--ink); color: white; border: 1px solid #555; box-shadow: 8px 8px 0 var(--orange); padding: 12px 16px; font: 9px var(--mono); opacity: 0; pointer-events: none; transition: .35s cubic-bezier(.2,.8,.2,1); }
.surprise-toast.show { transform: translate(-50%,0); opacity: 1; }
.wizard-invite{position:fixed;right:24px;bottom:22px;z-index:90;display:flex;align-items:flex-end;gap:12px;opacity:0;pointer-events:none;transition:opacity .35s}
.wizard-invite.is-visible{opacity:1;pointer-events:auto}
.wizard-character{position:relative;width:94px;height:146px;border:0;background:transparent;cursor:pointer;filter:drop-shadow(8px 10px 5px rgba(0,0,0,.22))}
.wizard-invite.is-visible .wizard-character{animation:wizard-walk-in 1.5s cubic-bezier(.22,1,.36,1) both,wizard-idle 2.8s 1.5s ease-in-out infinite}
.wizard-hair{position:absolute;left:14px;top:5px;width:68px;height:58px;border-radius:48% 55% 38% 45%;background:#30231f;z-index:2;transform:rotate(-3deg)}
.wizard-hair::before,.wizard-hair::after{content:"";position:absolute;background:#30231f;clip-path:polygon(50% 0,100% 100%,0 75%)}.wizard-hair::before{width:34px;height:36px;left:-9px;top:-5px;transform:rotate(-28deg)}.wizard-hair::after{width:38px;height:42px;right:-9px;top:-7px;transform:rotate(31deg)}
.wizard-face{position:absolute;left:19px;top:34px;width:58px;height:56px;border-radius:48% 48% 44% 44%;background:#efbd8c;border:2px solid #161715;z-index:3}
.wizard-face i{position:absolute;top:17px;width:18px;height:15px;border:2px solid #161715;border-radius:50%}.wizard-face i:first-child{left:7px}.wizard-face i:nth-child(2){right:7px}.wizard-face i:first-child::after{content:"";position:absolute;right:-8px;top:5px;width:7px;height:2px;background:#161715}
.wizard-face b{position:absolute;width:13px;height:6px;border-bottom:2px solid #161715;border-radius:50%;left:20px;bottom:9px}
.wizard-scarf{position:absolute;left:16px;top:83px;width:64px;height:17px;border:2px solid #161715;border-radius:9px;background:repeating-linear-gradient(90deg,#8c233d 0 11px,#e1a736 11px 22px);z-index:6}
.wizard-robe{position:absolute;left:15px;top:93px;width:67px;height:43px;background:#202b3c;border:2px solid #161715;clip-path:polygon(14% 0,86% 0,100% 100%,61% 90%,50% 100%,39% 90%,0 100%);z-index:2}.wizard-robe::after{content:"";position:absolute;left:31px;top:0;width:2px;height:38px;background:#111}
.wizard-wand{position:absolute;left:7px;top:78px;width:4px;height:55px;border-radius:3px;background:#68371f;border:1px solid #161715;transform:rotate(-29deg);transform-origin:bottom;z-index:5}.wizard-wand::after{content:"✦";position:absolute;color:var(--acid);font-size:14px;left:-6px;top:-13px;animation:blink 1s steps(1) infinite}
.wizard-feet i{position:absolute;bottom:0;width:25px;height:10px;border-radius:50% 50% 35% 35%;background:#33231f;border:2px solid #161715;z-index:1}.wizard-feet i:first-child{left:18px}.wizard-feet i:last-child{right:14px}
.wizard-bubble{max-width:210px;padding:14px 16px;border:1px solid var(--ink);border-radius:18px 18px 4px 18px;background:var(--paper);color:var(--ink);box-shadow:7px 8px 0 var(--ink);font:700 14px/1.25 var(--display);text-align:left;cursor:pointer;opacity:0;transform:translateY(10px);transition:.45s 1.1s}
.wizard-invite.is-visible .wizard-bubble{opacity:1;transform:none}
.wizard-bubble b{display:block;margin-top:5px;color:var(--orange);font-size:11px}
.word-game{position:fixed;inset:0;z-index:120;visibility:hidden;opacity:0;transition:opacity .35s,visibility 0s .35s}
.word-game.is-open{visibility:visible;opacity:1;transition:opacity .35s}
.word-game-backdrop{position:absolute;inset:0;background:rgba(9,11,9,.72);backdrop-filter:blur(10px)}
.word-game-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-46%) scale(.95);width:min(1050px,92vw);max-height:90vh;overflow:auto;background:var(--paper);color:var(--ink);border:1px solid var(--ink);border-radius:28px;padding:clamp(25px,4vw,55px);display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,5vw,70px);box-shadow:20px 24px 0 var(--orange);transition:transform .55s cubic-bezier(.22,1,.36,1)}
.word-game.is-open .word-game-panel{transform:translate(-50%,-50%) scale(1)}
.word-game-close{position:absolute;right:18px;top:18px;width:42px;height:42px;border:1px solid var(--ink);border-radius:50%;background:var(--paper);color:var(--ink);font-size:24px;cursor:pointer;z-index:2}
.game-copy h2{font-size:clamp(43px,5vw,70px);line-height:.9;letter-spacing:-.06em;margin:25px 0}.game-copy>p{color:var(--muted);font-size:13px;line-height:1.6}
.game-clues{list-style:none;padding:0;margin:30px 0;display:grid;gap:10px}.game-clues li{display:grid;grid-template-columns:30px 1fr 30px;gap:10px;align-items:center;border:1px solid var(--line);padding:12px;border-radius:12px;transition:.3s}.game-clues i{font:8px var(--mono);font-style:normal}.game-clues span{font-size:12px}.game-clues small{color:var(--muted)}.game-clues b{opacity:.25}.game-clues li.is-solved{background:var(--acid);border-color:var(--ink)}.game-clues li.is-solved b{opacity:1}
.game-score{border-top:1px solid var(--line);padding-top:16px;font:9px var(--mono);display:flex;justify-content:space-between}.game-score strong{font-size:15px}
.word-grid{align-self:center;display:grid;grid-template-columns:repeat(10,1fr);gap:5px;touch-action:none;user-select:none}
.word-cell{aspect-ratio:1;border:1px solid var(--line);border-radius:9px;background:var(--canvas);color:var(--ink);display:grid;place-items:center;font:700 clamp(13px,2vw,22px) var(--mono);cursor:crosshair;transition:transform .15s,background .15s}
.word-cell.is-selecting{background:var(--violet);transform:scale(.9)}.word-cell.is-solved{background:var(--acid);border-color:var(--ink);animation:cell-win .5s cubic-bezier(.34,1.56,.64,1)}
.game-congrats{position:fixed;z-index:130;left:50%;top:28px;transform:translate(-50%,-160%);opacity:0;display:flex;align-items:center;gap:14px;width:min(480px,calc(100vw - 32px));padding:16px 20px;border:1px solid var(--ink);border-radius:18px;background:var(--acid);color:#111;box-shadow:10px 12px 0 var(--ink);transition:transform .65s cubic-bezier(.34,1.56,.64,1),opacity .3s}
.game-congrats.is-visible{transform:translate(-50%,0);opacity:1}.game-congrats>span{font-size:34px;animation:spin 2s linear infinite}.game-congrats div{display:flex;flex-direction:column}.game-congrats b{font-size:18px}.game-congrats small{margin-top:3px;font:9px/1.5 var(--mono)}
.mouse-spark { position: fixed; z-index: 996; pointer-events: none; width: 5px; height: 5px; border-radius: 50%; background: var(--orange); animation: spark .8s ease-out forwards; }
.click-ripple { position: fixed; z-index: 995; pointer-events: none; width: 16px; height: 16px; margin: -8px; border: 2px solid var(--orange); border-radius: 50%; animation: ripple .65s ease-out forwards; }

.skip-link {
  position: fixed; top: 12px; left: 12px; z-index: 100;
  padding: 10px 14px; background: var(--ink); color: white;
  transform: translateY(-160%); transition: transform .2s;
}
.skip-link:focus { transform: none; }

.grid-paper {
  background-color: var(--paper);
  background-image: radial-gradient(#bfc0b8 1px, transparent 1px);
  background-size: 22px 22px;
}
[data-theme="dark"] .grid-paper { background-image:radial-gradient(#3d413b 1px,transparent 1px); }

.site-header {
  height: 86px; display: grid; grid-template-columns: 1fr auto 1fr;
  align-items: center; padding: 0 clamp(22px, 4vw, 64px);
  border-bottom: 1px solid var(--line); background: rgba(242,240,233,.9);
  backdrop-filter: blur(14px); position: sticky; top: 0; z-index: 50;
}
[data-theme="dark"] .site-header { background:rgba(17,19,17,.9); }
[data-theme="dark"] .opening-screen,[data-theme="dark"] footer,[data-theme="dark"] .dark-card,[data-theme="dark"] .education-primary { background:#090b09;color:#f8f7f2; }
[data-theme="dark"] .experience { background:#0b0d0b; }
[data-theme="dark"] .header-cta:hover,[data-theme="dark"] .button-dark { background:var(--orange);color:#111; }
[data-theme="dark"] .cursor-aura { border-color:rgba(248,247,242,.35); }
[data-theme="dark"] .cursor-aura i { border-color:rgba(248,247,242,.2); }
[data-theme="dark"] .chat-panel { background:#20231f; }
[data-theme="dark"] .bot-message,[data-theme="dark"] .typing { background:#30342f; }
.brand { display: inline-flex; align-items: center; width: fit-content; font-weight: 800; font-size: 23px; letter-spacing: -1px; }
.brand i { width: 9px; height: 18px; background: var(--orange); display:block;margin:0 0 0 4px;align-self:center;flex:0 0 auto;animation:blink 1.1s steps(1) infinite; }
.brand.party span { animation: brandparty .6s ease; }
nav { display: flex; gap: 38px; font-size: 14px; font-weight: 600; }
nav a, footer a, .text-link { position: relative; }
nav a::after, footer div a::after, .text-link::after {
  content: ""; position: absolute; left: 0; bottom: -5px; width: 100%; height: 1px;
  background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .25s ease;
}
nav a:hover::after, footer div a:hover::after, .text-link:hover::after { transform: scaleX(1); transform-origin: left; }
.header-actions { justify-self:end;display:flex;align-items:center;gap:10px; }
.header-resume { border:1px solid var(--line);border-radius:999px;padding:12px 16px;font-size:12px;font-weight:700;transition:.2s; }
.header-resume:hover { border-color:var(--ink);transform:translateY(-2px); }
.header-cta { justify-self: end; border: 1px solid var(--ink); border-radius: 999px; padding: 12px 18px; font-size: 13px; font-weight: 700; transition: .2s; }
.header-cta:hover { background: var(--ink); color: white; transform: translateY(-2px); }

.hero {
  min-height: calc(100vh - 86px); position: relative; padding: clamp(52px, 7vw, 100px) clamp(22px, 6vw, 92px) 56px;
  overflow: hidden; border-bottom: 1px solid var(--ink);
}
.hero::before {
  content: ""; position: absolute; width: min(48vw, 680px); height: min(48vw, 680px);
  border: 1px solid var(--line); border-radius: 50%; right: -7vw; bottom: -20vw;
}
.hero::after { content:""; position:absolute; width:120px; height:120px; border-radius:50%; background:var(--cyan); filter:blur(70px); left:var(--mouse-x,50%); top:var(--mouse-y,50%); opacity:.28; pointer-events:none; transition:opacity .3s; }
.hero-kicker, .eyebrow {
  font: 500 11px/1.2 var(--mono); letter-spacing: .11em; text-transform: uppercase;
}
.status-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #2bbd68; margin-right: 9px; box-shadow: 0 0 0 5px rgba(43,189,104,.13); }
.hero h1 {
  font-size: clamp(56px, 9.1vw, 148px); line-height: .88; letter-spacing: -.075em;
  max-width: 1260px; margin: clamp(46px, 7vw, 96px) 0 0; font-weight: 700; position: relative; z-index: 2;
}
.headline-device { display: flex; align-items: center; gap: .12em; }
.theme-control { position:relative;display:inline-flex;align-items:center;flex:0 0 auto; }
.theme-toggle { width:.8em;height:.38em;min-width:74px;min-height:36px;padding:0;border:0;border-radius:999px;background:var(--ink);position:relative;cursor:pointer;box-shadow:inset 0 0 0 1px var(--ink);transition:background .4s,box-shadow .4s; }
.theme-toggle span { position:absolute;width:38%;height:100%;right:0;top:0;border-radius:inherit;background:var(--orange);transition:transform .45s cubic-bezier(.22,1,.36,1),background .35s; }
.theme-toggle[aria-checked="true"] { background:#efeee8;box-shadow:inset 0 0 0 1px #efeee8; }
.theme-toggle[aria-checked="true"] span { transform:translateX(-164%);background:var(--violet); }
.theme-note { position:absolute;width:190px;left:calc(100% + 82px);top:50%;color:var(--orange);font:400 20px/1.05 "Bradley Hand","Segoe Print","Comic Sans MS",cursive;letter-spacing:0;transform:translateY(-50%) rotate(-4deg);white-space:nowrap; }
.theme-note b { font:inherit; }
.theme-note svg { position:absolute;width:62px;height:38px;left:-68px;top:1px;overflow:visible; }
.theme-note path { fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round; }
[data-theme="dark"] .theme-note { color:var(--acid); }
.hero-bottom { display: flex; gap: 42px; align-items: flex-end; margin-top: clamp(52px, 7vw, 90px); position: relative; z-index: 4; }
.hero-copy { max-width: 420px; font-size: clamp(16px, 1.45vw, 21px); line-height: 1.55; margin: 0; }
.hero-copy strong { font-weight: 700; }
.hero-actions { display: flex; align-items: center; gap: 25px; }
.button { display: inline-flex; align-items: center; gap: 24px; padding: 16px 20px; border-radius: 4px; font-size: 13px; font-weight: 700; transition: .2s ease; }
.button-dark { background: var(--ink); color: white; }
.button:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(0,0,0,.14); }
.text-link { font-size: 13px; font-weight: 700; }
.hero-system { position: absolute; width: 430px; height: 350px; right: 7vw; bottom: 35px; z-index: 3; }
.system-card {
  position: absolute; right: 35px; bottom: 25px; width: 335px; background: #191b1a; color: white;
  border-radius: 16px; box-shadow: var(--shadow); overflow: hidden; transform: rotate(-3deg);
}
.system-card-top { padding: 13px 16px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #3d403d; font: 10px var(--mono); }
.live-label { color: var(--cyan); }
.terminal { padding: 23px 22px 17px; display: flex; flex-direction: column; gap: 8px; font: 12px/1.3 var(--mono); }
.terminal-comment { color: #8e918d; margin-bottom: 5px; }
.terminal b { color: var(--violet); font-weight: 500; }
.terminal .indent { padding-left: 22px; color: var(--cyan); }
.cursor { width: 6px; height: 13px; background: var(--orange); display: inline-block; margin-left: 3px; vertical-align: -2px; animation: blink 1s steps(1) infinite; }
.system-stats { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid #3d403d; }
.system-stats div { padding: 15px; display: flex; flex-direction: column; border-right: 1px solid #3d403d; }
.system-stats div:last-child { border: 0; }
.system-stats strong { font-size: 20px; }
.system-stats span { font: 8px var(--mono); color: #8e918d; text-transform: uppercase; margin-top: 2px; }
.orbit { position: absolute; border: 1px solid #8c8d87; border-radius: 50%; }
.orbit-one { width: 350px; height: 170px; right: 0; bottom: 30px; transform: rotate(25deg); }
.orbit-two { width: 380px; height: 200px; right: 4px; bottom: 25px; transform: rotate(-18deg); }
.node { position: absolute; width: 56px; height: 56px; border-radius: 15px; display: grid; place-items: center; box-shadow: 0 12px 25px rgba(0,0,0,.15); font: 11px var(--mono); z-index: 4; }
.node-a { background: var(--cyan); top: 30px; left: 35px; animation: float 5s ease-in-out infinite; }
.node-b { background: var(--orange); top: 90px; right: 8px; transform: rotate(9deg); animation: float 5s 1s ease-in-out infinite; }
.node-c { background: var(--violet); left: 20px; bottom: 15px; transform: rotate(-8deg); animation: float 5s .5s ease-in-out infinite; }
.coordinate { position: absolute; font: 9px var(--mono); color: #85877f; }
.coord-a { top: 80px; right: 32px; writing-mode: vertical-rl; }
.coord-b { bottom: 18px; left: 34px; }

.identity-section { padding: clamp(85px, 11vw, 155px) clamp(22px, 6vw, 92px); border-bottom: 1px solid var(--ink); overflow: hidden; }
.identity-shell { max-width: 1440px; margin: 0 auto; display: grid; grid-template-columns: .86fr 1.14fr; gap: clamp(55px,7vw,105px); align-items: center; background:rgba(248,247,242,.94); border:1px solid var(--line); border-radius:38px; padding:clamp(34px,5vw,74px); box-shadow:0 24px 65px rgba(21,23,21,.1); overflow:hidden; }
[data-theme="dark"] .identity-shell { background:rgba(24,27,24,.94);box-shadow:0 24px 65px rgba(0,0,0,.28); }
.identity-copy { position: relative; z-index: 4; }
.identity-copy h2 { font-size: clamp(48px,6vw,87px); line-height: .94; letter-spacing: -.06em; margin: 24px 0 44px; }
.identity-copy h2 em { font-style: normal; color: var(--orange); }
.identity-copy>p { max-width: 590px; font-size: 15px; line-height: 1.72; color: var(--muted); margin: 0 0 19px; }
.identity-connect { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 45px; padding-top: 23px; border-top: 1px solid var(--line); }
.identity-connect>span { margin-right: auto; font: 8px var(--mono); letter-spacing: .14em; color: var(--muted); }
.identity-connect a { min-height:42px; display:inline-flex; align-items:center; gap:8px; padding:5px 11px 5px 5px; border:1px solid var(--ink); border-radius:999px; font-size:14px; background:var(--paper); transition:transform .2s,background .2s,color .2s; }
.identity-connect a:hover { transform:translateY(-3px); background:var(--ink); color:var(--paper); }
.identity-connect a b { font-weight:650; }
.identity-connect a small { font-size:13px; }
.connect-icon { width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--acid);color:var(--ink);font:700 10px var(--mono);font-style:normal;border:1px solid var(--ink); }
.connect-linkedin { background:var(--violet);font-size:13px; }
.identity-stage { min-height: 690px; position: relative; perspective: 1200px; --stage-x: 0px; --stage-y: 0px; isolation:isolate; }
.identity-card {
  position: absolute; width: min(380px,66%); height: 550px; left: 31%; top: 17%;
  transform: translate(-50%,-50%) rotate(2deg) rotateX(var(--profile-rx,0deg)) rotateY(var(--profile-ry,0deg));
  background: var(--orange); border: 1px solid var(--ink); border-radius: 22px; box-shadow: 18px 22px 0 rgba(21,23,21,.9);
  padding: 20px; z-index: 5; transform-style: preserve-3d; transition: transform .22s ease-out, box-shadow .3s;
}
.identity-card:hover { box-shadow: 23px 29px 0 rgba(21,23,21,.9); }
.card-chip { position: absolute; width: 64px; height: 19px; border-radius: 12px; background: #aeb0aa; border: 1px solid var(--ink); left: calc(50% - 32px); top: -10px; box-shadow: inset 0 0 0 4px #d6d7d2; }
.card-brand { position:absolute;right:17px;top:17px;z-index:4;width:52px;height:38px;border:1px solid var(--ink);border-radius:10px;background:var(--paper);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:19px;letter-spacing:-.08em;box-shadow:4px 4px 0 var(--ink); }
.card-brand i { width:6px;height:22px;background:var(--orange);margin-left:3px; }
.photo-placeholder { height:300px;margin-top:8px;background:#d6d5cf;border:1px solid var(--ink);border-radius:14px;overflow:hidden;position:relative;transform:translateZ(22px); }
.photo-placeholder img { width:100%;height:100%;display:block;object-fit:cover;object-position:center 61%;filter:none;image-rendering:auto;backface-visibility:hidden; }
.identity-card-copy { margin-top:20px;transform:translateZ(28px); }
.identity-card-copy small { font: 9px var(--mono); letter-spacing: .12em; font-weight:700; }
.identity-card-copy h3 { font-size: 52px; line-height: .86; letter-spacing: -.07em; margin: 16px 0 12px; }
.identity-card-copy>p { margin: 0; font: 12px var(--mono); font-weight:650; }
.identity-star { position:absolute;left:7%;top:16%;font-size:82px;color:var(--acid);z-index:2;transform:rotate(-12deg);filter:drop-shadow(6px 7px 0 var(--ink)); }
.identity-tag { position:absolute;z-index:9;width:62px;height:62px;border:1px solid var(--ink);border-radius:16px;display:grid;place-items:center;font:8px var(--mono);box-shadow:7px 8px 0 rgba(21,23,21,.75);transition:transform .25s ease-out; }
.tag-code { left:7%;bottom:12%;background:var(--cyan);transform:translate(var(--stage-x-back,0px),var(--stage-y-back,0px)) rotate(-9deg); }
.tag-cloud { right:5%;top:16%;background:var(--violet);transform:translate(var(--stage-x-soft,0px),var(--stage-y-soft,0px)) rotate(8deg); }
.tag-ai { right:1%;top:42%;background:var(--acid);transform:translate(var(--stage-x-back,0px),var(--stage-y-back,0px)) rotate(-4deg); }
.photo-note { position:absolute;right:1%;bottom:1%;font:7px var(--mono);letter-spacing:.12em;color:var(--muted); }

.marquee { border-bottom: 1px solid var(--ink); background: var(--acid); overflow: hidden; padding: 15px 0; font: 500 11px var(--mono); letter-spacing: .08em; }
.marquee-track { width: max-content; display: flex; align-items: center; gap: 28px; animation: marquee 28s linear infinite; }
.marquee i { font-style: normal; }

.section-shell { padding: clamp(80px, 11vw, 160px) clamp(22px, 6vw, 92px); }
.section-heading { display: grid; grid-template-columns: 1.4fr .6fr; gap: 60px; align-items: end; margin-bottom: clamp(60px, 9vw, 125px); }
.section-heading h2 { font-size: clamp(48px, 6.7vw, 98px); line-height: .94; letter-spacing: -.06em; margin: 22px 0 0; }
.section-heading > p { font-size: 16px; line-height: 1.65; color: var(--muted); margin: 0 0 8px; max-width: 390px; }
.eyebrow { display: block; color: var(--muted); }

.work { background: var(--canvas); }
.project {
  min-height: 670px; display: grid; grid-template-columns: .74fr 1.26fr; margin-bottom: 42px;
  border: 1px solid var(--ink); border-radius: 2px; overflow: hidden; background: var(--paper);
}
.interactive-card { --rx: 0deg; --ry: 0deg; --lift: 0px; transform: perspective(1200px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(var(--lift)); transform-style: preserve-3d; transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s; will-change: transform; }
.interactive-card:hover { --lift: -6px; box-shadow: 0 28px 70px rgba(21,23,21,.14); }
.interactive-card .project-copy, .interactive-card .project-visual, .interactive-card .capability-icon { transform: translateZ(18px); }
.project-reverse { grid-template-columns: 1.26fr .74fr; }
.project-reverse .project-copy { order: 2; }
.project-copy { padding: clamp(34px, 5vw, 72px); display: flex; flex-direction: column; position: relative; }
.project-index { position: absolute; right: 26px; top: 22px; font: 12px var(--mono); }
.project-type { font: 10px var(--mono); text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.project h3 { font-size: clamp(38px, 4.1vw, 66px); line-height: .97; letter-spacing: -.055em; margin: auto 0 30px; }
.project-copy p { color: var(--muted); line-height: 1.65; max-width: 500px; }
.tags { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 0; }
.tags li { border: 1px solid var(--line); border-radius: 999px; padding: 8px 11px; font: 9px var(--mono); text-transform: uppercase; }
.project-link { width: fit-content; margin-top: 28px; font: 500 10px var(--mono); letter-spacing: .06em; text-transform: uppercase; border-bottom: 1px solid var(--ink); padding-bottom: 5px; transition: gap .2s, opacity .2s; }
.project-link:hover { opacity: .58; }
.project-visual { position: relative; overflow: hidden; min-height: 560px; border-left: 1px solid var(--ink); }
.project-reverse .project-visual { border-left: 0; border-right: 1px solid var(--ink); }
.project-blue .project-visual { background: var(--blue); }
.project-orange .project-visual { background: var(--orange); }
.project-violet .project-visual { background: var(--violet); }
.prompt-window{position:absolute;width:84%;height:70%;left:8%;top:15%;background:var(--paper);border:1px solid var(--ink);box-shadow:15px 15px 0 rgba(20,22,20,.85);transform:rotate(-2deg)}
.prompt-layout{height:calc(100% - 38px);display:grid;grid-template-columns:105px 1fr}
.prompt-layout aside{border-right:1px solid var(--line);display:flex;flex-direction:column;padding:20px 13px;gap:16px;font:8px var(--mono)}
.prompt-layout aside strong{font-size:12px;margin-bottom:12px}
.prompt-active{background:var(--acid);padding:8px}
.prompt-main{padding:34px;display:flex;flex-direction:column}
.prompt-main h4{font-size:clamp(22px,2.3vw,36px);letter-spacing:-.045em;max-width:320px;margin:22px 0}
.prompt-input{border:1px solid var(--line);min-height:88px;padding:17px;font:10px/1.6 var(--mono);color:var(--muted);position:relative}
.prompt-input i{display:inline-block;width:6px;height:13px;background:var(--orange);margin-left:3px;vertical-align:-3px;animation:blink 1s steps(1) infinite}
.prompt-suggestions{display:flex;gap:7px;margin:12px 0}
.prompt-suggestions span{font:7px var(--mono);border:1px solid var(--line);padding:6px 8px;border-radius:20px}
.prompt-main button{margin-top:auto;border:0;background:var(--ink);color:white;padding:13px 15px;font:9px var(--mono);display:flex;justify-content:space-between}
.map-grid { position: absolute; inset: 0; opacity: .28; background-image: linear-gradient(#46638e 1px,transparent 1px),linear-gradient(90deg,#46638e 1px,transparent 1px); background-size: 52px 52px; transform: rotate(8deg) scale(1.3); }
.map-grid::before, .map-grid::after { content:""; position:absolute; border-radius:50%; filter:blur(4px); }
.map-grid::before { width:240px;height:190px;background:rgba(255,130,90,.72);top:12%;left:18%;box-shadow:200px 160px 0 rgba(215,239,99,.72); }
.map-grid::after { width:170px;height:140px;background:rgba(83,224,209,.72);right:8%;bottom:12%; }
.phone { position:absolute; width:280px;height:530px;background:#111412;color:white;border:8px solid #111412;border-radius:34px;left:50%;top:50%;transform:translate(-50%,-50%) rotate(4deg);box-shadow:0 28px 50px rgba(26,44,61,.28);padding:14px; }
.phone-top{display:flex;justify-content:space-between;font:8px var(--mono);opacity:.8}.phone-title{font-size:24px;font-weight:700;margin:29px 4px 15px}.heat-map{height:285px;border-radius:19px;background:#b9c4c9;position:relative;overflow:hidden}.california-satellite{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity .55s ease,transform 1.1s cubic-bezier(.22,1,.36,1);z-index:0}.heat-map::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,#ff9b5c 0 15%,transparent 30%),radial-gradient(circle at 74% 68%,#d7ef63 0 12%,transparent 28%),radial-gradient(circle at 55% 28%,#53e0d1 0 10%,transparent 24%),linear-gradient(30deg,transparent 48%,rgba(255,255,255,.55) 50%,transparent 52%);filter:blur(4px);z-index:1;transition:opacity .45s}.phone:hover .california-satellite{opacity:.82;transform:scale(1)}.phone:hover .heat-map::before{opacity:.68}.heat-map i{position:absolute;width:5px;height:5px;border-radius:50%;background:white;z-index:2}.heat-map i:nth-child(1){top:20%;left:30%}.heat-map i:nth-child(2){top:60%;left:65%}.heat-map i:nth-child(3){top:40%;left:50%}.forecast-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px}.forecast-row span{background:#252925;border-radius:10px;padding:10px 7px;display:flex;flex-direction:column;font:7px var(--mono);color:#aaa}.forecast-row b{font-size:16px;color:white;margin-top:4px}.weather-chip{position:absolute;right:6%;top:12%;z-index:4;background:var(--paper);padding:14px 17px;border:1px solid var(--ink);box-shadow:7px 7px 0 var(--ink);display:grid}.weather-chip span,.weather-chip small{font:8px var(--mono)}.weather-chip strong{font-size:33px}.project-note{position:absolute;background:var(--ink);color:white;padding:9px 12px;font:8px var(--mono);letter-spacing:.08em;z-index:5}.note-one{left:6%;bottom:15%;transform:rotate(-5deg)}.note-two{right:4%;bottom:8%;transform:rotate(5deg)}
.recipe-window{position:absolute;width:82%;height:72%;left:9%;top:14%;background:var(--paper);border:1px solid var(--ink);box-shadow:15px 15px 0 rgba(20,22,20,.85);transform:rotate(-2deg)}.window-bar{height:38px;border-bottom:1px solid var(--ink);display:flex;align-items:center;padding:0 14px;gap:6px}.window-bar span{width:8px;height:8px;border:1px solid var(--ink);border-radius:50%}.window-bar b{font:9px var(--mono);margin-left:auto}.recipe-content{height:calc(100% - 38px);display:grid;grid-template-columns:80px 1fr}.recipe-content aside{border-right:1px solid var(--line);display:flex;flex-direction:column;padding:18px 12px;gap:15px;font:8px var(--mono)}.recipe-content aside strong{margin-bottom:12px}.active-day{background:var(--acid);padding:7px}.recipe-main{padding:30px;text-align:center}.mini-label{font:8px var(--mono);letter-spacing:.1em}.plate{width:210px;height:210px;border-radius:50%;background:#e9e5db;margin:18px auto;box-shadow:inset 0 0 0 17px white,0 13px 25px rgba(0,0,0,.1);position:relative}.plate i{position:absolute;border-radius:50%;background:#73a65d}.plate i:nth-child(1){width:60px;height:70px;left:40px;top:60px}.plate i:nth-child(2){width:70px;height:50px;right:38px;top:76px;background:#ef7158}.plate i:nth-child(3){width:55px;height:38px;left:75px;bottom:40px;background:#e9b84b}.plate b{position:absolute;width:16px;height:100px;background:#bde06a;transform:rotate(48deg);left:100px;top:55px}.recipe-main h4{font-size:24px;margin:8px 0}.recipe-meta{display:flex;justify-content:center;gap:8px}.recipe-meta span{font:8px var(--mono);border:1px solid var(--line);padding:6px 9px;border-radius:20px}.note-three{left:3%;bottom:9%;transform:rotate(3deg)}.note-four{right:3%;top:7%;transform:rotate(-5deg)}
.chat-panel{position:absolute;width:70%;height:74%;left:15%;top:12%;background:#f7f5ef;border:1px solid var(--ink);box-shadow:14px 14px 0 rgba(21,23,21,.85);transform:rotate(2deg)}.chat-header{height:75px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:14px 18px;gap:12px}.bot-mark{width:40px;height:40px;border-radius:50%;background:var(--ink);color:white;display:grid;place-items:center;font:10px var(--mono)}.chat-header>div:nth-child(2){display:flex;flex-direction:column}.chat-header strong{font-size:13px}.chat-header span{font:8px var(--mono);color:var(--muted);margin-top:3px}.chat-header>i{width:8px;height:8px;border-radius:50%;background:#31b86a;margin-left:auto}.chat-body{padding:30px 25px;display:flex;flex-direction:column;gap:15px}.chat-body p{font-size:12px;line-height:1.5;padding:13px 15px;max-width:76%;margin:0}.bot-message{background:#e4e1d8;border-radius:3px 14px 14px 14px}.user-message{background:var(--ink);color:white;border-radius:14px 3px 14px 14px;align-self:flex-end}.typing{display:flex;gap:4px;background:#e4e1d8;width:46px;padding:11px;border-radius:3px 13px 13px 13px}.typing i{width:5px;height:5px;border-radius:50%;background:#777;animation:typing 1.2s infinite}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}.result-pill{position:absolute;left:25px;right:25px;bottom:23px;background:var(--acid);border-radius:8px;padding:13px 15px;display:flex;justify-content:space-between;font:9px var(--mono)}.signal-ring{position:absolute;width:150px;height:150px;border:1px solid var(--ink);border-radius:50%;right:3%;bottom:5%}.signal-ring i{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--cyan);border:1px solid var(--ink)}.signal-ring i:nth-child(1){left:5px;top:40px}.signal-ring i:nth-child(2){right:15px;top:12px;background:var(--orange)}.signal-ring i:nth-child(3){right:4px;bottom:30px;background:var(--acid)}
.medical-panel{height:78%;top:10%}
.patient-search{padding:20px 22px 12px}
.patient-search>span{font:7px var(--mono);color:var(--muted)}
.patient-search>div{border:1px solid var(--line);padding:12px;margin-top:7px;display:flex;justify-content:space-between;font:8px var(--mono);color:var(--muted)}
.patient-list{padding:0 22px;display:flex;flex-direction:column}
.patient-list>div{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;border-bottom:1px solid var(--line);padding:10px 0}
.patient-list i{width:30px;height:30px;background:#e6e2d9;border-radius:50%;display:grid;place-items:center;font:7px var(--mono);font-style:normal}
.patient-list span{display:flex;flex-direction:column}.patient-list strong{font-size:9px}.patient-list small{font:7px var(--mono);color:var(--muted);margin-top:2px}
.patient-list b{font:6px var(--mono);background:#dceecb;padding:5px 6px;border-radius:12px}
.patient-list>div:nth-child(2) b{background:#f2dfb2}

.capabilities { border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.capability-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--ink); }
.capability-card { min-height: 350px; padding: 25px; background: var(--paper); border-right: 1px solid var(--ink); display: flex; flex-direction: column; transition: transform .25s;overflow:hidden; }
.capability-card:last-child { border-right:1px solid var(--ink); }
.capability-card > span { font: 10px var(--mono); color: var(--muted); }
.capability-icon { margin: auto 0; font-style: normal; font-size: 62px; font-weight: 300; }
.capability-card h3 { font-size: 23px; line-height: 1.05; letter-spacing: -.04em; margin: 0 0 14px; }
.capability-card p { color: var(--muted); font-size: 13px; line-height: 1.6; margin: 0; }
.dark-card { background: var(--ink); color: white; }
.dark-card p, .dark-card > span { color: #aaaca7; }
.signal-card { background: var(--acid); }
.capability-card:hover { transform: translateY(-9px); box-shadow: var(--shadow); z-index: 2; }
.capability-card:hover .capability-icon { animation-duration:2s;animation-timing-function:cubic-bezier(.22,1,.36,1); }
.capability-card:nth-child(1):hover .capability-icon { animation-name:icon-command; }
.capability-card:nth-child(2):hover .capability-icon { animation-name:icon-launch; }
.capability-card:nth-child(3):hover .capability-icon { animation-name:icon-wave; }
.capability-card:nth-child(4):hover .capability-icon { animation-name:icon-orbit; }

.education { background: var(--orange); border-bottom: 1px solid var(--ink); }
.education-grid { display: grid; grid-template-columns: 1.12fr .88fr; border: 1px solid var(--ink); }
.education-card { min-height: 440px; background: var(--paper); padding: clamp(30px,4vw,58px); display: flex; flex-direction: column; position: relative; }
.education-card + .education-card { border-left: 1px solid var(--ink); }
.education-primary { background: var(--ink); color: white; }
.education-year { position: absolute; right: 25px; top: 25px; font: 9px var(--mono); color: var(--muted); }
.education-primary .education-year { color: #9a9d97; }
.degree-label { font: 9px var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.education-primary .degree-label { color: var(--cyan); }
.education-card h3 { font-size: clamp(38px,4.2vw,64px); line-height: .95; letter-spacing: -.055em; margin: auto 0 15px; }
.education-card>p { font-size: 14px; margin: 0 0 34px; color: var(--muted); }
.education-primary>p { color: #b7bab4; }
.school-location { display:flex;align-items:center;gap:10px;flex-wrap:wrap; }
.map-link { display:inline-block;max-width:0;opacity:0;overflow:hidden;white-space:nowrap;color:var(--orange);font:700 10px var(--mono);transform:translateX(-8px);transition:max-width .45s ease,opacity .3s,transform .45s cubic-bezier(.22,1,.36,1); }
.education-card:hover .map-link,.map-link:focus-visible { max-width:120px;opacity:1;transform:none; }
.education-primary .map-link { color:var(--acid); }
.education-meta { border-top: 1px solid var(--line); padding-top: 22px; display: grid; grid-template-columns: 100px 1fr; gap: 24px; align-items: start; }
.education-primary .education-meta { border-color: #454844; }
.education-meta strong { font-size: 18px; }
.education-meta span { font: 9px/1.7 var(--mono); color: var(--muted); }
.education-primary .education-meta span { color: #9a9d97; }
.learning-strip { border: 1px solid var(--ink); border-top: 0; min-height: 120px; background: var(--acid); display: grid; grid-template-columns: 120px 210px 1fr 70px; align-items: center; gap: 25px; padding: 25px 30px; }
.learning-strip>span { font: 8px var(--mono); }
.learning-strip strong { font-size: 28px; letter-spacing: -.04em; }
.learning-strip p { font-size: 12px; line-height: 1.55; margin: 0; max-width: 520px; }
.learning-strip i { width: 58px; height: 58px; background: #c8292b; color: white; border-radius: 14px; display: grid; place-items: center; font: 500 13px var(--mono); font-style: normal; transform: rotate(7deg); box-shadow: 6px 6px 0 var(--ink); }

.experience { background: #191b1a; color: white; }
.experience .eyebrow, .experience .section-heading > p { color: #949892; }
.timeline { border-top: 1px solid #4b4e49; }
.timeline-item { display: grid; grid-template-columns: 180px 80px 1fr; min-height: 190px; border-bottom: 1px solid #4b4e49; padding: 32px 0; }
.timeline-item time { font: 9px var(--mono); color: #949892; padding-top: 8px; }
.timeline-marker { position: relative; height: calc(100% + 64px); margin-top: -32px; }
.timeline-marker::after { content:"";position:absolute;width:1px;height:100%;background:#4b4e49;left:50%;top:0; }
.timeline-marker i { position:absolute;width:14px;height:14px;border-radius:50%;background:var(--cyan);border:3px solid #191b1a;box-shadow:0 0 0 1px var(--cyan);left:calc(50% - 7px);top:39px;z-index:2; }
.timeline-item:nth-child(2) .timeline-marker i{background:var(--orange);box-shadow:0 0 0 1px var(--orange)}.timeline-item:nth-child(3) .timeline-marker i{background:var(--violet);box-shadow:0 0 0 1px var(--violet)}.timeline-item:nth-child(4) .timeline-marker i{background:var(--acid);box-shadow:0 0 0 1px var(--acid)}
.timeline-item h3 { font-size: clamp(28px, 3vw, 43px); letter-spacing: -.04em; margin: 0 0 8px; }
.timeline-item div:last-child > span { font: 10px var(--mono); color: #a7aaa5; text-transform: uppercase; }
.timeline-item p { max-width: 600px; color: #c1c3bf; line-height: 1.6; margin: 18px 0 0; font-size: 14px; }

.more-work { background: var(--orange); }
.compact-heading { grid-template-columns: 1fr; margin-bottom: 70px; }
.experiment-list { border-top: 1px solid var(--ink);position:relative;overflow:hidden; }
.experiment-list::before { content:"";position:absolute;left:-18%;top:0;width:18%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);animation:public-scan 7s ease-in-out infinite;pointer-events:none;z-index:2; }
.experiment { display: grid; grid-template-columns: 180px 1fr 1fr 60px; align-items: center; gap: 25px; min-height: 150px; border-bottom: 1px solid var(--ink); transition: padding .25s, background .25s;position:relative; }
.experiment > span { font: 9px var(--mono); text-transform: uppercase; }
.experiment h3 { font-size: clamp(25px, 3vw, 43px); letter-spacing: -.04em; margin: 0; }
.experiment p { margin: 0; line-height: 1.55; font-size: 13px; }
.experiment > i, .experiment > a { font-style: normal; font-size: 28px; justify-self: end; }
.experiment:hover { padding: 0 20px; background: rgba(255,255,255,.2); }
.experiment:hover h3 { transform: translateX(8px); }
.experiment h3 { transition: transform .25s cubic-bezier(.2,.8,.2,1); }
.experiment > a { animation:public-arrow 2.4s ease-in-out infinite;margin-right:24px; }
.experiment:nth-child(2) > a { animation-delay:.35s; }.experiment:nth-child(3) > a { animation-delay:.7s; }

.contact { min-height: 780px; padding: clamp(90px, 12vw, 170px) clamp(22px, 8vw, 120px); position: relative; overflow: hidden; }
.contact h2 { font-size: clamp(60px, 9vw, 140px); line-height: .86; letter-spacing: -.075em; margin: 50px 0 55px; position: relative; z-index: 2; }
.contact h2 em { font-style: normal; color: var(--orange); }
.scatter-word { display: inline-flex; position: relative; cursor: crosshair; isolation: isolate; min-width: 4.15em; }
.scatter-letter {
  display: inline-block; position: relative; transform: translate3d(0,0,0) rotate(0deg);
  transform-origin: center; will-change: transform, filter, opacity;
  transition:
    transform 1.05s cubic-bezier(.16,.84,.24,1),
    filter .45s ease,
    color .35s ease,
    text-shadow .35s ease;
}
.scatter-word.is-scattered .scatter-letter {
  transform: translate3d(var(--scatter-x),var(--scatter-y),0) rotate(var(--scatter-r));
  filter: drop-shadow(5px 10px 9px rgba(21,23,21,.17));
}
.scatter-word.is-magnetizing .scatter-letter {
  transform: translate3d(var(--magnet-x),var(--magnet-y),0) rotate(var(--magnet-r));
  color: var(--cyan);
  filter: drop-shadow(0 0 13px rgba(83,224,209,.85));
  transition-duration: .75s;
  transition-timing-function: cubic-bezier(.2,.9,.25,1);
}
.scatter-word.is-rebuilding .scatter-letter {
  transform: translate3d(0,0,0) rotate(0deg);
  color: var(--orange);
  filter: none;
  transition-duration: .9s;
  transition-timing-function: cubic-bezier(.34,1.56,.64,1);
}
.scatter-word::after {
  content: "HOVER TO DISASSEMBLE"; position: absolute; left: 4px; bottom: -22px;
  font: 7px var(--mono); letter-spacing: .13em; color: var(--muted);
  opacity: 0; transform: translateY(4px); transition: .25s; white-space: nowrap;
}
.scatter-word:hover::after { opacity: 1; transform: none; }
.scatter-word.is-scattered::after { content: "MAGNET CHARGING…"; opacity: 1; }
.scatter-word.is-magnetizing::after { content: "POINTER MAGNET ACTIVE"; opacity: 1; color: var(--cyan); }
.scatter-word.is-rebuilding::after { content: "WORD RESTORED ✓"; opacity: 1; color: var(--muted); }
.contact > p { max-width: 520px; line-height: 1.65; color: var(--muted); }
.contact-link { display: flex; align-items: center; justify-content: space-between; max-width: 720px; padding: 24px 0; margin-top: 50px; border-bottom: 2px solid var(--ink); font-size: clamp(18px, 2.2vw, 32px); font-weight: 600; position: relative; z-index: 3; }
.contact-link i { font-style: normal; width: 50px; height: 50px; border-radius: 50%; background: var(--ink); color: white; display: grid; place-items: center; font-size: 16px; transition: .25s; }
.contact-link:hover i { transform: rotate(45deg); background: var(--orange); color: var(--ink); }
.contact-orbit { position:absolute;width:420px;height:420px;border-radius:50%;border:1px solid var(--ink);right:-50px;bottom:-50px;display:grid;place-items:center;animation:spin 20s linear infinite; }
.contact-orbit::before{content:"VK";width:190px;height:190px;border-radius:50%;background:var(--acid);display:grid;place-items:center;font-size:66px;font-weight:800;letter-spacing:-.08em;transform:rotate(-12deg);box-shadow:var(--shadow)}.contact-orbit span{position:absolute;top:13px;font:9px var(--mono);letter-spacing:.25em}

footer { background:#0b0d0b;color:white;min-height:96px;padding:25px clamp(22px,6vw,92px);display:flex;align-items:center;justify-content:space-between;gap:28px; }
footer p { margin:0;color:#aaa;font-size:12px; }
footer > div { display:flex;gap:27px;font-size:12px;white-space:nowrap; }

.reveal { opacity: 0; transform: translateY(30px); transition: opacity .75s ease, transform .75s ease; }
.reveal.in-view { opacity: 1; transform: translateY(0); }

@keyframes blink { 50% { opacity: 0; } }
@keyframes float { 0%,100%{translate:0 0}50%{translate:0 -12px} }
@keyframes marquee { to { transform: translateX(-50%); } }
@keyframes typing { 0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)} }
@keyframes icon-command { 0%,100%{transform:translateZ(18px) rotate(0)}25%{transform:translateZ(18px) rotate(-14deg) scale(1.18)}55%{transform:translateZ(18px) rotate(12deg) scale(.92)} }
@keyframes icon-launch { 0%,100%{transform:translateZ(18px) translate(0)}35%{transform:translateZ(18px) translate(24px,-24px) scale(.75);opacity:.25}55%{transform:translateZ(18px) translate(-12px,12px);opacity:1} }
@keyframes icon-wave { 0%,100%{transform:translateZ(18px) scale(1);opacity:1}45%{transform:translateZ(18px) scale(1.16);opacity:.7}70%{transform:translateZ(18px) scale(.94);opacity:1} }
@keyframes icon-orbit { 0%,100%{transform:translateZ(18px) rotate(0) scale(1)}45%{transform:translateZ(18px) rotate(7deg) scale(1.07)}70%{transform:translateZ(18px) rotate(-3deg) scale(1.02)} }
@keyframes public-scan { 0%,18%{left:-18%}70%,100%{left:110%} }
@keyframes public-arrow { 0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(6px,-6px) rotate(8deg)} }
@keyframes loader-enter { from{opacity:0;transform:translateY(35px) scale(.96)}to{opacity:1;transform:none} }
@keyframes node-arrive { from{opacity:0;transform:translateY(35px) scale(.65) rotate(-9deg)}to{opacity:1;transform:none} }
@keyframes loader-draw { to{stroke-dashoffset:0} }
@keyframes center-pop { to{transform:translate(-50%,-50%) scale(1)} }
@keyframes cursor-gesture { 0%{left:22%;top:17%;transform:rotate(-12deg)}32%{left:44%;top:28%;transform:rotate(3deg)}62%{left:68%;top:45%;transform:rotate(8deg)}100%{left:50%;top:52%;transform:rotate(-5deg)} }
@keyframes wizard-walk-in{0%{transform:translateX(220px) rotate(8deg)}25%{transform:translateX(160px) translateY(-8px) rotate(-5deg)}50%{transform:translateX(105px) rotate(5deg)}75%{transform:translateX(48px) translateY(-8px) rotate(-4deg)}100%{transform:none}}
@keyframes wizard-idle{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}}
@keyframes cell-win{50%{transform:scale(1.18) rotate(4deg)}}
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes loadline { 0%{width:0}35%{width:38%}68%{width:72%}100%{width:100%} }
@keyframes spark { to { transform: translate(var(--sx),var(--sy)) scale(0); opacity:0; } }
@keyframes ripple { to { transform:scale(7); opacity:0; } }
@keyframes brandparty { 0%,100%{transform:none}25%{transform:rotate(-14deg) scale(1.2)}60%{transform:rotate(12deg) scale(.9)} }

@media (max-width: 1100px) {
  .identity-shell { grid-template-columns:1fr; }
  .identity-copy { max-width:760px; }
  .identity-stage { display:none; }
}

@media (max-width: 1000px) {
  .site-header { grid-template-columns: auto 1fr auto; }
  nav { gap: 18px; font-size: 12px; }
  .hero-system { opacity: .45; right: -130px; }
  .hero-copy { max-width: 500px; }
  .project, .project-reverse { grid-template-columns: 1fr; }
  .project-reverse .project-copy { order: 0; }
  .project-visual, .project-reverse .project-visual { border: 0; border-top: 1px solid var(--ink); }
  .capability-grid { grid-template-columns: repeat(2, 1fr); }
  .capability-card:nth-child(2) { border-right: 0; }
  .capability-card:nth-child(-n+2) { border-bottom: 1px solid var(--ink); }
  .experiment { grid-template-columns: 130px 1fr 1fr 40px; }
  .contact-orbit { opacity: .35; right: -180px; }
  .identity-shell { grid-template-columns: 1fr; }
  .identity-copy { max-width: 760px; }
  .identity-stage { min-height: 650px; }
  .identity-card { left:50%;top:50%;width:min(380px,64%);height:min(550px,calc(100% - 70px)); }
  .theme-note { left: calc(100% + 55px); font-size: 17px; }
  .theme-note svg { width: 44px; left: -48px; }
}

@media (max-width: 900px) {
  nav { display: none; }
  .site-header { grid-template-columns: 1fr auto; }
  .header-actions { grid-column: 2; }
  .wizard-invite, .word-game { display: none !important; }
}

@media (max-width: 720px) {
  .wizard-invite{right:12px;bottom:12px}.wizard-bubble{max-width:165px;font-size:12px}.wizard-character{width:72px;transform-origin:bottom right}
  .word-game-panel{grid-template-columns:1fr;padding:24px;gap:25px}.game-copy h2{font-size:44px}.game-copy>p{display:none}.game-clues{margin:18px 0}.word-cell{border-radius:6px}
  .opening-screen{padding:20px}
  .loader-stage{width:100%;grid-template-columns:1fr;gap:22px}
  .loader-window{height:340px;box-shadow:12px 15px 0 #070807}
  .loader-stage>p{font-size:25px}
  .loader-bottom{grid-template-columns:1fr 45px;gap:15px}
  .opening-copy{display:none}
  .loader-progress{grid-column:1}
  .loading-count{grid-column:2;font-size:20px}
  .loader-node{width:72px;height:58px}
  .node-data{left:calc(50% - 36px)}
  .site-header { height: 70px; grid-template-columns: 1fr auto; padding: 0 20px; }
  nav { display: none; }
  .header-actions { gap: 6px; }
  .header-resume, .header-cta { padding: 9px 11px; font-size: 10px; }
  .hero { min-height: auto; padding: 48px 20px 60px; }
  .hero h1 { font-size: clamp(48px, 15vw, 74px); margin-top: 48px; line-height: .92; }
  .headline-device { align-items: flex-end; flex-wrap: wrap; }
  .theme-toggle { min-width:66px;min-height:32px; }
  .theme-control { margin-top: 14px; margin-bottom: 42px; }
  .theme-note { width:155px;left:0;top:calc(100% + 22px);font-size:15px;transform:rotate(-3deg); }
  .theme-note svg { display:none; }
  .hero-bottom { display: block; margin-top: 46px; }
  .hero-actions { align-items: flex-start; flex-direction: column; margin-top: 28px; gap: 18px; }
  .hero-system { position: relative; right: auto; bottom: auto; width: 100%; height: 310px; opacity: 1; margin-top: 28px; }
  .system-card { width: calc(100% - 34px); right: 17px; }
  .node-a { left: 0; }.node-b{right:0}.node-c{left:0}
  .coord-a { display: none; }
  .identity-section { padding: 80px 20px; }
  .identity-copy h2 { font-size: 48px; }
  .identity-connect>span { width: 100%; margin-right: 0; }
  .identity-stage { min-height: 610px; margin-top: 20px; }
  .identity-card { width:min(360px,76%);height:min(500px,calc(100% - 80px));left:50%;top:50%;padding:15px;box-shadow:15px 19px 0 rgba(21,23,21,.9); }
  .photo-placeholder { height:250px; }
  .identity-card-copy h3 { font-size: 42px; }
  .identity-tag { width: 48px; height: 48px; border-radius: 12px; }
  .section-shell { padding: 80px 20px; }
  .section-heading { grid-template-columns: 1fr; gap: 25px; margin-bottom: 60px; }
  .section-heading h2 { font-size: 48px; }
  .section-heading > p { max-width: 100%; }
  .project { min-height: auto; margin-bottom: 24px; }
  .project-copy { min-height: 460px; padding: 30px 25px; }
  .project h3 { font-size: 43px; }
  .project-visual { min-height: 460px; }
  .phone { height: 420px; width: 225px; }
  .heat-map { height: 205px; }
  .weather-chip { right: 1%; }
  .recipe-window { width: 92%; left: 4%; height: 78%; top: 11%; }
  .recipe-content { grid-template-columns: 62px 1fr; }
  .recipe-main { padding: 22px 12px; }
  .plate { width: 170px; height: 170px; }
  .chat-panel { width: 88%; left: 6%; }
  .prompt-window { width: 92%; left: 4%; height: 76%; top: 12%; }
  .prompt-layout { grid-template-columns: 76px 1fr; }
  .prompt-main { padding: 23px 16px; }
  .prompt-main h4 { font-size: 23px; }
  .capability-grid { grid-template-columns: 1fr; }
  .capability-card, .capability-card:nth-child(2), .capability-card:last-child { min-height: 280px; border: 0; border-bottom: 1px solid var(--ink); }
  .capability-card:last-child { border-bottom:1px solid var(--ink); }
  .timeline-item { grid-template-columns: 1fr; padding: 30px 0; }
  .timeline-marker { display: none; }
  .timeline-item time { margin-bottom: 16px; }
  .experiment { grid-template-columns: 1fr 40px; gap: 10px; padding: 30px 0; }
  .experiment > span, .experiment p { grid-column: 1; }
  .experiment h3 { grid-column: 1; }
  .education-grid { grid-template-columns: 1fr; }
  .education-card { min-height: 390px; }
  .education-card + .education-card { border-left: 0; border-top: 1px solid var(--ink); }
  .learning-strip { grid-template-columns: 1fr 58px; gap: 12px; padding: 24px; }
  .learning-strip>span, .learning-strip strong, .learning-strip p { grid-column: 1; }
  .learning-strip i { grid-column: 2; grid-row: 1 / 4; }
  .experiment > i, .experiment > a { grid-column: 2; grid-row: 1 / 4; }
  .experiment > a { margin-right:10px; }
  .contact { min-height: 680px; padding: 90px 20px; }
  .contact h2 { font-size: 58px; line-height: .91; }
  .contact-link span { overflow-wrap: anywhere; }
  .contact-link i { flex: 0 0 45px; margin-left: 12px; }
  .contact-orbit { width: 280px; height: 280px; opacity: .2; }
  footer { min-height:120px;padding:22px 20px;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px; }
  footer > div { flex-wrap:wrap;gap:14px 22px; }
}

@media (max-width: 480px) {
  .site-header { padding:0 14px; }
  .brand { font-size:20px; }
  .brand i { width:7px;height:15px; }
  .header-resume,.header-cta { padding:8px 9px;font-size:9px; }
  .hero h1 { font-size:clamp(43px,14.5vw,64px); }
  .hero-kicker,.eyebrow { font-size:9px; }
  .identity-section { padding:60px 12px; }
  .identity-shell { padding:25px 16px;border-radius:24px; }
  .identity-stage { min-height:540px; }
  .identity-card { width:min(330px,82%);height:min(455px,calc(100% - 65px));padding:12px; }
  .photo-placeholder { height:225px; }
  .identity-card-copy h3 { font-size:38px; }
  .identity-connect { gap:8px; }
  .identity-connect a { font-size:12px; }
  .section-shell { padding:68px 16px; }
  .section-heading h2 { font-size:43px; }
  .project-copy { padding:27px 20px; }
  .project h3 { font-size:39px; }
  .project-visual { min-height:420px; }
  .phone { width:210px; }
  .learning-strip { padding:20px; }
  .contact h2 { font-size:49px; }
  footer>div { font-size:11px; }
}

@media (max-height: 620px) {
  .opening-screen { padding:16px 22px; }
  .loader-stage { grid-template-columns:1fr 210px;gap:25px; }
  .loader-window { height:240px;min-height:0; }
  .loader-stage>p { font-size:25px; }
  .loader-node { width:66px;height:48px; }
  .node-data { left:calc(50% - 33px); }
  .wizard-invite,.word-game { display:none!important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
  .opening-screen { display: none; }
  body.is-loading { overflow: auto; }
  .cursor-aura, .cursor-dot { display: none; }
  .scatter-word { cursor: default; }
  .scatter-letter { transform: none !important; filter: none !important; transition: none !important; }
  .scatter-word::after { display: none; }
  .identity-card { transform:translate(-50%,-50%) rotate(2deg) !important; }
  .identity-tag { transform:none !important; }
}

@media (hover: none), (pointer: coarse) {
  .cursor-aura, .cursor-dot { display: none; }
  .interactive-card:not(.identity-card), .interactive-card:not(.identity-card):hover { transform:none;box-shadow:none; }
  .identity-card,.identity-card:hover { transform:translate(-50%,-50%) rotate(2deg); }
}
