html,body{color:#1f1f1f;margin:0;padding:0;background:#f6f4ef!important}:root{--bg0:#05070c;--bg1:#0b1020;--gold:#b79a63;--violet:#5082d21f;--candle:#dcaa5f1f;--candle-strong:#dcaa5f33;--text:#e8eef5f0;--muted:#e8eef59e;--card:#161e32d1;--card-strong:#18223ceb;--stroke:#b79a634d;--stroke-soft:#ffffff1a;--shadow:0 28px 96px #000000c7;--shadow-soft:0 16px 48px #0000009e;--overlay:#03050cd6;--frame-outer:#b79a63a6;--frame-inner:#f5f8fceb}.page{min-height:100vh;color:var(--text);background:  radial-gradient(900px 600px at 18% 18%,var(--candle),transparent 62%),radial-gradient(520px 380px at 80% 20%,#dcaa5f1a,transparent 60%),radial-gradient(1200px 760px at 30% 12%,#5082d22e,transparent 60%),radial-gradient(900px 650px at 82% 74%,var(--violet),transparent 64%),linear-gradient(180deg,var(--bg0),var(--bg1));position:relative;overflow-x:hidden}.page:before{content:"";pointer-events:none;z-index:0;opacity:.12;background:repeating-linear-gradient(0deg,#ffffff09 0 1px,#0000 2px 7px),repeating-linear-gradient(90deg,#00000038 0 1px,#0000 2px 9px);position:fixed;inset:0}.bg-layer{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.topbar{z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--stroke-soft);color:var(--text);background:linear-gradient(#0a0e1aeb,#0a0e1ab8);justify-content:space-between;align-items:center;padding:14px 18px;display:flex;position:sticky;top:0}.brand{color:var(--gold);letter-spacing:3px;font-size:20px}.lang{align-items:center;gap:10px;display:flex}.lang-label{color:var(--muted);font-size:12px}.lang-select{border:1px solid var(--stroke);color:var(--text);box-shadow:var(--shadow-soft);background:#0a0e1ac7;border-radius:12px;outline:none;padding:8px 10px}.sidenav{z-index:6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-soft);background:#12182ec7;border:1px solid #ffffff1a;border-radius:16px;flex-direction:column;gap:10px;padding:10px;display:flex;position:fixed;top:50%;right:14px;transform:translateY(-50%)}.sidenav-link{color:var(--muted);border-radius:12px;padding:6px 10px;font-size:12px;text-decoration:none;transition:all .12s}.sidenav-link:hover{color:var(--text);background:#5082d22e}.content{z-index:2;max-width:980px;margin:0 auto;padding:24px 18px 80px;position:relative}.section{border-bottom:1px solid #ffffff12;padding:64px 0}.hero{padding-top:74px}.hero-center{text-align:center;background:var(--card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #b79a633d;border-radius:22px;padding:54px 16px;position:relative;box-shadow:0 30px 100px #000000d1,inset 0 1px #ffffff0f}.hero-center:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #5082d21a,inset 0 0 28px #b79a630d}.hero-name{letter-spacing:2px;color:var(--text);margin:0;font-size:40px}.hero-sub{color:var(--muted);margin:10px 0 14px}.hero-hint{color:var(--muted);margin-top:16px;font-size:12px}.hero-actions{justify-content:center;gap:10px;margin-top:10px;display:flex}.primary{color:var(--text);cursor:pointer;box-shadow:var(--shadow-soft);background:#5082d229;border:1px solid #b79a6347;border-radius:14px;padding:10px 14px;transition:all .12s}.primary:hover{background:#5082d238;transform:translateY(-1px)}.section-header{margin-bottom:18px}.section-title{margin:0;font-size:24px}.section-desc{color:var(--muted);max-width:760px;margin:10px 0 0}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}@media (max-width:720px){.grid{grid-template-columns:1fr}.sidenav{display:none}}.mini-card{background:var(--card);cursor:pointer;text-align:left;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #b79a6338;border-radius:18px;padding:16px;transition:all .14s;position:relative;box-shadow:0 22px 70px #000000b8,inset 0 1px #ffffff0f}.mini-card:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #5082d21a,inset 0 0 28px #b79a630a}.mini-card:hover{border-color:#5082d24d;transform:translateY(-3px);box-shadow:0 28px 90px #000c,inset 0 0 0 1px #5082d21a}.mini-card-title{letter-spacing:1px;margin-bottom:6px;font-weight:700;color:var(--text)!important}.mini-card-brief{color:var(--muted);font-size:13px}.mini-card-cta{color:var(--gold);opacity:.95;margin-top:10px}.table{background:var(--card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #b79a6338;border-radius:18px;width:100%;position:relative;overflow:hidden;box-shadow:0 24px 80px #000000c2,inset 0 1px #ffffff0f}.table:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #5082d21a,inset 0 0 24px #b79a630a}.row{border-bottom:1px solid #ffffff12;grid-template-columns:1.2fr 1.3fr 1fr .6fr;gap:10px;padding:14px;display:grid}.row:last-child{border-bottom:none}.row.head{color:#e8eef5c2;background:#5082d224;font-size:12px}#experience .row{grid-template-columns:1fr 1.2fr 1.4fr}.modal-backdrop{background:var(--overlay);z-index:50;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-shell{background:var(--card-strong);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);width:min(760px,96vw);color:var(--text);border:1px solid #b79a633d;border-radius:22px;padding:18px 18px 20px;position:relative;box-shadow:0 32px 110px #000000db,inset 0 1px #ffffff0f}.modal-shell:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #5082d21a,inset 0 0 28px #b79a630d}.modal-close{width:36px;height:36px;color:var(--text);cursor:pointer;background:#0a0e1ac7;border:1px solid #b79a632e;border-radius:14px;position:absolute;top:12px;left:14px}.modal-title{color:var(--gold);margin:6px 44px 12px;font-size:18px}.modal-content{padding:2px 6px 6px}.modal-text{color:var(--text);margin:10px 0}.muted{color:var(--muted)}.image-card{background:#10162cd6;border:1px solid #b79a6338;border-radius:18px;position:relative;overflow:hidden;box-shadow:0 22px 70px #000000bd,inset 0 1px #ffffff0f}.image-card:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #5082d21a}.image-card img{width:100%;height:auto;display:block}.contact-row{flex-wrap:wrap;gap:10px;display:flex}.contact-btn{color:var(--text);box-shadow:var(--shadow-soft);background:#12182ecc;border:1px solid #b79a6338;border-radius:14px;padding:10px 14px;text-decoration:none;transition:all .14s}.contact-btn:hover{background:#5082d22e;transform:translateY(-1px)}.footer-note{color:var(--muted);margin-top:18px;font-size:12px}.float-frame{top:var(--y);width:var(--size);height:var(--size);cursor:pointer;pointer-events:auto;animation:driftLeft var(--duration)linear infinite;animation-delay:var(--delay);will-change:transform;opacity:.95;filter:drop-shadow(0 14px 34px #000c);background:0 0;border:0;padding:0;position:absolute;left:0}.float-frame:before{content:"";background-image:var(--frameUrl);pointer-events:none;z-index:3;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;position:absolute;inset:0}.float-frame:after{content:"";pointer-events:none;z-index:0;opacity:0;filter:blur(18px);background:radial-gradient(circle,#5082d28c,#5082d24d,#b79a631f,#5082d21a,#0000 72%);border-radius:22px;transition:opacity .24s;position:absolute;inset:-14%}.float-frame img{object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;z-index:2;border-radius:10px;width:72%;height:72%;transition:transform .16s;position:absolute;inset:16%;transform:scale(1);box-shadow:0 10px 24px #00000094}.float-frame[data-lane=top]:hover,.float-frame[data-lane=mid]:hover,.float-frame[data-lane=bottom]:hover{filter:drop-shadow(0 26px 60px #000000e6);z-index:10;transition:transform .22s;animation-play-state:paused;transform:translateY(-8px)}.float-frame:hover img{transform:scale(1.03)}.float-frame:hover:after{opacity:1}@keyframes driftRight{0%{transform:translateX(calc(-1*(var(--size,300px) + var(--extra,120px))))rotate(var(--rotate,0deg))}to{transform:translateX(calc(100vw + var(--extra,120px)))rotate(var(--rotate,0deg))}}@keyframes driftLeft{0%{transform:translateX(calc(100vw + var(--extra,120px)))rotate(var(--rotate,0deg))}to{transform:translateX(calc(-1*(var(--size,300px) + var(--extra,120px))))rotate(var(--rotate,0deg))}}.float-frame[data-lane=top],.float-frame[data-lane=bottom]{animation:driftRight var(--duration,8s)linear infinite}.float-frame[data-lane=mid]{animation:driftLeft var(--duration,8s)linear infinite}
