:root{--blue:#397cf7;--ink:#14233d;--muted:#71809a;--line:#e6eaf1;--card:rgba(255,255,255,.86);--shadow:0 24px 55px rgba(49,69,105,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:linear-gradient(145deg,#f9fbff 0%,#eef4fb 57%,#fafafa 100%);color:var(--ink);font-family:"DM Sans","Noto Sans SC",sans-serif}.orb{position:fixed;border-radius:50%;filter:blur(2px);pointer-events:none;z-index:-1}.orb-one{width:430px;height:430px;right:-180px;top:75px;background:radial-gradient(circle,#b9ddff 0,rgba(210,233,255,.25) 45%,transparent 70%)}.orb-two{width:370px;height:370px;left:20%;bottom:-230px;background:radial-gradient(circle,#e6defe,transparent 70%)}button{font:inherit;border:0;cursor:pointer;color:inherit}.system-bar{height:58px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.64);border-bottom:1px solid rgba(214,221,232,.7);backdrop-filter:blur(22px);position:fixed;inset:0 0 auto;z-index:20}.brand{font-size:12px;font-weight:700;letter-spacing:1.3px;text-decoration:none;color:var(--ink)}.brand span{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--blue);margin-right:9px}.system-bar nav{display:flex;align-items:center;gap:14px}.system-bar nav button{background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px 9px;color:#5d6b82;font-size:12px}.system-bar time{font-size:12px;font-variant-numeric:tabular-nums;color:#53627b}.desktop-nav{position:fixed;left:27px;top:118px;z-index:10;display:grid;gap:19px}.desktop-item{width:72px;background:transparent;display:grid;justify-items:center;gap:5px;font-size:11px;color:#596881}.desktop-item i{font-style:normal;font-size:25px;width:53px;height:53px;display:grid;place-items:center;border-radius:17px;background:rgba(255,255,255,.75);border:1px solid rgba(224,230,240,.95);box-shadow:0 12px 26px rgba(52,70,100,.09);color:var(--blue);transition:.25s}.desktop-item:hover i,.desktop-item.active i{transform:translateY(-3px);background:#fff;box-shadow:0 16px 26px rgba(57,124,247,.2)}main{max-width:1260px;margin:0 auto;padding:105px 105px 150px}.page{display:none}.page.active{display:block;animation:pagein .45s ease}@keyframes pagein{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.window{overflow:hidden;background:var(--card);border:1px solid rgba(222,228,238,.9);border-radius:26px;box-shadow:var(--shadow);backdrop-filter:blur(18px)}.window-bar{height:55px;padding:0 20px;display:flex;align-items:center;justify-content:center;background:linear-gradient(105deg,#2a3443,#1c3444);color:#9faec3;position:relative}.window-bar em{font-size:12px;font-style:normal;letter-spacing:2px}.traffic{position:absolute;left:20px;display:flex;gap:8px}.traffic b{width:12px;height:12px;border-radius:50%;background:#ff605c}.traffic b:nth-child(2){background:#ffbd44}.traffic b:nth-child(3){background:#00ca4e}.hero{min-height:565px;position:relative}.hero-content{width:58%;padding:88px 60px}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--blue);font-weight:700}.hero h1{font-size:clamp(40px,5vw,69px);line-height:1.12;letter-spacing:-3px;margin:20px 0 22px}.hero h1 strong{font-weight:700;color:var(--blue)}.intro{max-width:475px;color:#5f6f88;font-size:16px;line-height:1.8}.tags{display:flex;flex-wrap:wrap;gap:9px;margin:26px 0}.tags span{font-size:12px;background:#edf4ff;color:#397cf7;border:1px solid #d8e7ff;padding:7px 12px;border-radius:30px}.hero-actions{display:flex;gap:12px}.primary,.secondary{border-radius:14px;padding:13px 18px;font-weight:600;font-size:14px}.primary{background:var(--blue);color:#fff;box-shadow:0 9px 20px rgba(57,124,247,.25)}.primary b{font-size:20px;margin-left:10px}.secondary{background:white;border:1px solid var(--line)}.hero-art{position:absolute;right:30px;bottom:30px;width:39%;height:74%;border-radius:24px;background:linear-gradient(140deg,#dbeeff,#edf0ff);overflow:hidden}.portrait{position:absolute;inset:12% 14% 0;background:linear-gradient(145deg,#87aaf5,#5f6ac4 50%,#d9d8fb);border-radius:40% 40% 0 0;display:grid;place-items:center;color:rgba(255,255,255,.75);font-size:44px;font-weight:800}.float-card{position:absolute;left:-25px;bottom:36px;width:210px;border-radius:18px;padding:16px;background:rgba(255,255,255,.82);backdrop-filter:blur(14px);box-shadow:0 18px 34px rgba(39,58,113,.2)}.float-card small{font-size:9px;letter-spacing:1px;color:#72809b;display:block}.float-card strong{font-size:14px;margin-top:5px;display:block}.float-card i{position:absolute;right:14px;bottom:14px;font-style:normal;color:var(--blue)}.feature-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.feature-row article{background:rgba(255,255,255,.7);border:1px solid var(--line);border-radius:20px;padding:22px 24px;box-shadow:0 12px 25px rgba(53,72,103,.05)}.feature-row small,.project-meta small{display:block;color:#8290a5;font-size:10px;letter-spacing:1px}.feature-row strong{display:block;font-size:19px;margin:7px 0 14px}.feature-row button{background:none;color:var(--blue);font-size:13px}.page-body{padding:28px 30px 38px}.filter{border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:27px}.filter button{padding:10px 23px;border-radius:22px;background:#f1f5fb;color:#5c6b82;font-size:13px}.filter .selected{background:var(--blue);color:white;box-shadow:0 10px 20px rgba(57,124,247,.22)}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project-card{height:270px;border-radius:23px;overflow:hidden;position:relative;text-align:left;color:#fff;background:var(--gradient);box-shadow:0 14px 28px rgba(36,48,78,.12);transition:.25s}.project-card:hover{transform:translateY(-6px);box-shadow:0 22px 35px rgba(36,48,78,.18)}.project-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 20%,rgba(12,21,40,.78))}.project-card .mockup{position:absolute;width:66%;height:58%;right:7%;top:13%;border:5px solid rgba(255,255,255,.83);border-radius:10px;background:repeating-linear-gradient(0deg,rgba(255,255,255,.35),rgba(255,255,255,.35) 5px,transparent 6px,transparent 15px);transform:rotate(-4deg)}.project-card .card-copy{position:absolute;z-index:1;left:21px;right:18px;bottom:19px}.project-card small{font-size:10px;letter-spacing:1px;opacity:.72}.project-card strong{display:block;font-size:22px;line-height:1.18;margin-top:5px}.project-card b{position:absolute;z-index:1;right:18px;bottom:20px;width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.86);color:var(--ink);font-size:20px}.detail-page{max-width:1100px;margin:auto}.back{background:none;color:#6e7d94;font-size:14px;margin:0 0 17px}.project-cover{height:450px;border-radius:30px;padding:55px;position:relative;overflow:hidden;color:#fff;background:linear-gradient(135deg,#142e7c,#397cf7 54%,#aee8ff)}.project-cover:after{content:"";position:absolute;width:57%;height:76%;right:6%;bottom:0;border:1px solid rgba(255,255,255,.62);border-bottom:0;border-radius:18px 18px 0 0;background:rgba(255,255,255,.2);box-shadow:inset 0 0 0 15px rgba(255,255,255,.08)}.project-cover div{position:absolute;z-index:1;bottom:48px}.project-cover p{font-size:12px;letter-spacing:1.5px}.project-cover h2{font-size:43px;line-height:1.18;margin:14px 0;letter-spacing:-2px}.project-cover span{font-size:13px;opacity:.75}.cover-badge{position:absolute;top:30px;right:30px;font-size:10px!important;letter-spacing:1px;border:1px solid rgba(255,255,255,.55);padding:7px 10px;border-radius:99px}.project-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:20px 0 60px}.project-meta article,.numbered article,.video-placeholder{background:#fff;border:1px solid var(--line);border-radius:18px;padding:21px}.project-meta strong{display:block;font-size:15px;margin-top:9px}.case-section{margin:48px 0}.section-title{font-size:24px;font-weight:700;position:relative;padding-left:15px}.section-title:before{content:"";position:absolute;left:0;top:5px;width:5px;height:24px;border-radius:8px;background:var(--blue)}.body-copy{font-size:16px;line-height:1.9;color:#60708a;max-width:850px}.numbered{display:grid;gap:15px}.numbered article{display:flex;gap:19px}.numbered b{color:var(--blue);background:#edf4ff;width:37px;height:37px;border-radius:50%;display:grid;place-items:center;font-size:13px}.numbered h3{margin:0 0 7px}.numbered p{margin:0;line-height:1.75;color:#64748b}.showcase{display:grid;grid-template-columns:1fr 1fr;gap:20px}.showcase div{height:285px;border-radius:22px;display:grid;place-items:center;color:#6f7e95;border:1px solid #dce6f8;background:linear-gradient(135deg,#e9f3ff,#fefefe)}.showcase div+div{background:linear-gradient(135deg,#fff,#e9e6ff)}.video-placeholder{margin-top:20px;height:230px;display:grid;place-items:center;background:#182235;color:#fff;border:0;font-size:16px}.company-head{display:flex;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:7px 0 28px}.company-logo{width:67px;height:67px;border-radius:19px;background:linear-gradient(135deg,#397cf7,#8cc6ff);display:grid;place-items:center;color:white;font-weight:700}.company-head h2{margin:0;font-size:27px}.company-head h2 small{font-size:15px;color:#7d8ca3;font-weight:500}.company-head p{margin:5px 0 0;color:var(--blue)}.company-head time{margin-left:auto;color:#78869a;font-size:14px}.experience-list{display:grid;gap:18px;margin-top:29px}.experience-list article{padding:28px;display:flex;gap:20px;background:#fff;border:1px solid var(--line);border-radius:20px}.experience-list i{flex:none;width:45px;height:45px;border-radius:14px;background:#eaf2ff;color:var(--blue);font-style:normal;font-size:25px;display:grid;place-items:center}.experience-list h3{color:var(--blue);margin:3px 0 12px}.experience-list p{margin:0;line-height:1.9;color:#5e6e86}.about-wrap{max-width:1000px;margin:auto}.about-hero{display:grid;grid-template-columns:200px 1fr;gap:35px;align-items:start;padding:15px 0 55px}.about-avatar{height:200px;border-radius:36px;background:linear-gradient(145deg,#d4e7ff,#7b91d9);display:grid;place-items:center;font-size:38px;font-weight:700;color:white;box-shadow:var(--shadow)}.about-hero h1{font-size:43px;margin:0;letter-spacing:-2px}.about-hero h1 span{font-size:27px;color:#6e7b91;letter-spacing:0}.role{color:var(--blue);letter-spacing:2px;font-size:13px;font-weight:700}.bio{color:#5d6c84;line-height:1.85;font-size:16px;max-width:660px}.contact{display:flex;gap:20px;color:#7b91ad;font-size:13px}.about-section{margin:43px 0}.about-section h2{font-size:26px;margin-bottom:24px}.about-section h2:before{content:"";display:inline-block;width:10px;height:10px;background:var(--blue);border-radius:50%;margin-right:12px}.education{display:grid;gap:16px}.education article,.skills article{background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:22px;padding:25px 30px;display:flex;align-items:center;gap:20px;box-shadow:0 15px 28px rgba(50,68,100,.06)}.education i,.skills i{font-style:normal;width:54px;height:54px;display:grid;place-items:center;border-radius:17px;background:#eaf2ff;color:var(--blue);font-size:25px}.education strong,.skills strong{display:block;font-size:20px}.education span,.skills span{color:#7788a2;display:block;margin-top:5px;font-size:14px}.education time{margin-left:auto;color:var(--blue);font-size:13px;padding:8px 14px;border:1px solid #cce0ff;border-radius:22px;background:#f5f9ff}.skills{display:grid;grid-template-columns:1fr 1fr;gap:20px}.skills article{padding:22px}.skills strong{font-size:16px}.skills span{font-size:13px}.interests{display:flex;flex-wrap:wrap;gap:12px}.interests span{padding:13px 20px;border-radius:99px;background:#fff;border:1px solid var(--line);color:#5c6d87}.ai-bot{position:fixed;right:32px;top:50%;z-index:18;width:105px;height:105px;border-radius:50%;background:radial-gradient(circle at 36% 25%,#34485c,#09101a 58%);box-shadow:inset 8px 10px 12px rgba(255,255,255,.08),0 18px 30px rgba(24,38,63,.24);transition:.35s}.ai-bot:before{content:"";position:absolute;inset:6px;border:1px solid rgba(137,179,232,.17);border-radius:50%}.eye{position:absolute;top:38px;width:20px;height:27px;background:linear-gradient(#5c95ff,#3769c6);border-radius:50%;transition:.3s}.eye.left{left:27px}.eye.right{right:27px}.sensor{position:absolute;width:15px;height:15px;border-radius:50%;background:#4b7ce3;left:45px;bottom:19px}.ai-bot.open{transform:scale(1.08) translateY(-6px)}.ai-bot.open .eye{height:11px;top:47px;border-radius:0 0 30px 30px;border-top:3px solid #74a4ff;background:transparent}.chat-panel{position:fixed;right:32px;top:calc(50% + 70px);z-index:19;width:350px;background:rgba(255,255,255,.92);border:1px solid rgba(220,228,240,.9);border-radius:24px;box-shadow:0 25px 60px rgba(41,58,88,.23);backdrop-filter:blur(20px);overflow:hidden;display:none}.chat-panel.open{display:block;animation:chatin .3s ease}@keyframes chatin{from{opacity:0;transform:translateY(-10px) scale(.96)}to{opacity:1;transform:none}}.chat-head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.chat-head>div{display:grid;grid-template-columns:28px 1fr;column-gap:8px;align-items:center}.chat-head small{font-size:8px;letter-spacing:1px;color:#8b99ad}.mini-bot{grid-row:span 2;width:27px;height:27px;border-radius:50%;background:#152134}.chat-head button{font-size:25px;background:none;color:#8290a3}.chat-body{padding:18px;min-height:210px}.bot-message{background:#edf4ff;color:#40516b;padding:12px 14px;border-radius:5px 15px 15px 15px;line-height:1.65;font-size:14px;margin:0;width:88%}.quick-questions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.quick-questions button{background:#fff;border:1px solid #cfe0fb;color:#4770ad;border-radius:20px;padding:7px 10px;font-size:12px}.chat-input{padding:12px;display:flex;gap:8px;border-top:1px solid var(--line)}.chat-input input{min-width:0;flex:1;border:1px solid var(--line);background:#f8faff;border-radius:16px;padding:10px 12px;outline:none;font:inherit;font-size:12px}.chat-input button{width:36px;border-radius:50%;background:var(--blue);color:#fff;font-size:19px}.dock{position:fixed;z-index:17;bottom:23px;left:50%;transform:translateX(-50%);display:flex;gap:9px;padding:9px 14px;border:1px solid rgba(210,218,230,.85);border-radius:22px;background:rgba(255,255,255,.76);box-shadow:0 17px 35px rgba(45,62,93,.16);backdrop-filter:blur(20px)}.dock button{width:46px;height:45px;border-radius:12px;background:transparent;color:#697a93;font-size:21px;position:relative;transition:.2s}.dock button:hover,.dock button.active{background:#edf4ff;color:var(--blue);transform:translateY(-5px)}.dock span{display:none;position:absolute;bottom:54px;left:50%;transform:translateX(-50%);font-size:11px;white-space:nowrap;background:#243149;color:#fff;border-radius:6px;padding:5px 7px}.dock button:hover span{display:block}@media(max-width:900px){.desktop-nav{display:none}main{padding:82px 20px 125px}.hero-content{width:100%;padding:60px 30px;position:relative;z-index:2}.hero-art{opacity:.38;width:60%;right:-20px}.portfolio-grid{grid-template-columns:1fr 1fr}.ai-bot{width:75px;height:75px;right:17px;top:auto;bottom:105px}.eye{top:26px;width:15px;height:19px}.eye.left{left:19px}.eye.right{right:19px}.sensor{left:31px;bottom:13px}.ai-bot.open .eye{top:34px}.chat-panel{right:17px;top:auto;bottom:190px;width:min(350px,calc(100vw - 34px))}.about-hero{grid-template-columns:1fr}.about-avatar{width:155px;height:155px}.project-cover{height:390px}.project-cover h2{font-size:34px}.company-head{align-items:flex-start}.company-head time{position:absolute;right:45px;margin-top:80px}}@media(max-width:600px){.system-bar{padding:0 16px}.system-bar nav .lang,.system-bar nav .theme{display:none}.brand{font-size:10px}.hero{min-height:510px}.hero h1{font-size:39px;letter-spacing:-2px}.hero-content{padding:52px 24px}.feature-row,.portfolio-grid,.skills,.project-meta,.showcase{grid-template-columns:1fr}.portfolio-grid{gap:17px}.project-card{height:230px}.window{border-radius:20px}.page-body{padding:21px}.project-meta{margin-bottom:35px}.project-cover{padding:26px;height:360px;border-radius:22px}.project-cover:after{width:74%;opacity:.5}.project-cover div{bottom:35px}.project-cover h2{font-size:30px}.education article{padding:18px;gap:13px}.education strong{font-size:16px}.education time{font-size:11px;padding:6px 8px}.skills article{padding:17px}.skills i{width:45px;height:45px;font-size:20px}.experience-list article{padding:20px}.company-head h2{font-size:21px}.company-head h2 small{display:block}.company-head time{display:none}.about-hero h1{font-size:35px}.dock{bottom:15px;padding:7px 10px;gap:4px}.dock button{width:40px;height:39px;font-size:18px}}
:root{--window-control-size:13px}
.traffic .window-control{position:relative;width:var(--window-control-size);height:var(--window-control-size);padding:0;border-radius:50%;background:#ff605c;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.traffic .window-control:nth-child(2){background:#ffbd44}
.traffic .window-control:nth-child(3){background:#00ca4e}
.traffic:hover .window-control:after{position:absolute;inset:0;display:grid;place-items:center;color:rgba(26,32,40,.72);font-size:10px;font-weight:800;line-height:13px}
.traffic:hover .close-window:after{content:"×"}
.traffic:hover .minimize-window:after{content:"−"}
.traffic:hover .maximize-window:after{content:"+"}
.window.window-closed{display:none}
.window.minimized{min-height:0!important;height:55px!important}
.window.minimized>*:not(.window-bar){display:none!important}
.window.maximized{position:fixed;inset:72px 26px 94px 105px;z-index:16;max-height:none;height:auto;overflow:auto;border-radius:24px;animation:maximizeWindow .25s ease}
.window.maximized.hero{min-height:0}
.window.maximized .hero-content{padding-top:65px}
.window.maximized .hero-art{height:78%}
@keyframes maximizeWindow{from{opacity:.7;transform:scale(.97)}to{opacity:1;transform:none}}
@media(max-width:900px){.window.maximized{inset:70px 14px 92px}.window.maximized .hero-art{height:74%}}
.experience-intro{display:flex;align-items:end;justify-content:space-between;padding:8px 4px 25px;border-bottom:1px solid var(--line)}
.experience-intro h2{font-size:31px;margin:7px 0 0;letter-spacing:-1px}
.experience-intro>p{margin:0 0 4px;color:#7b899d;font-size:13px}
.company-list{display:grid;gap:17px;padding-top:24px}
.company-card{width:100%;min-height:145px;padding:25px 28px;display:flex;align-items:center;gap:24px;text-align:left;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.92);box-shadow:0 13px 28px rgba(43,62,94,.06);transition:transform .25s,box-shadow .25s,border-color .25s}
.company-card:hover{transform:translateY(-4px);border-color:#cbdcff;box-shadow:0 22px 34px rgba(43,76,135,.12)}
.company-mark{flex:none;width:82px;height:82px;border-radius:23px;display:grid;place-items:center;color:#fff;font-size:27px;font-weight:800;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25),0 12px 22px rgba(40,64,98,.15)}
.company-mark img,.company-logo img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;border-radius:inherit}
.mark-health{background:#f7fbff}.mark-xdf{background:#08786e}
.mark-orange{background:linear-gradient(145deg,#ff7e35,#ff4f18)}
.mark-cyan{background:linear-gradient(145deg,#29d4d0,#11a8bd)}
.mark-teal{background:linear-gradient(145deg,#20b8bc,#078a9e)}
.company-copy{display:block}
.company-copy strong{display:block;font-size:25px;letter-spacing:-.5px}
.company-copy strong small{font-size:18px;color:#6f7e93;font-weight:600}
.company-copy em{display:block;margin-top:8px;color:var(--blue);font-style:normal;font-size:15px}
.company-card time{margin-left:auto;color:#7d899b;font-size:14px;white-space:nowrap}
.company-card>b{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;margin-left:12px;background:#eef4ff;color:var(--blue);font-size:20px;transition:.25s}
.company-card:hover>b{background:var(--blue);color:#fff;transform:translateX(3px)}
.experience-note{text-align:center;color:#9aa5b5;font-size:11px;margin:22px 0 0}
.experience-back{margin-left:2px}
@media(max-width:600px){.experience-intro{display:block}.experience-intro>p{margin-top:9px}.company-card{min-height:112px;padding:18px 16px;gap:14px}.company-mark{width:60px;height:60px;border-radius:18px;font-size:20px}.company-copy strong{font-size:18px}.company-copy strong small{display:block;font-size:12px;margin-top:2px}.company-copy em{font-size:12px}.company-card time{display:none}.company-card>b{width:34px;height:34px;margin-left:auto}}
.page-return{margin:32px 0 4px;display:flex;justify-content:center}
.page-return>button{min-width:280px;padding:15px 19px;display:flex;align-items:center;gap:15px;text-align:left;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 12px 25px rgba(47,67,101,.07);transition:transform .25s,box-shadow .25s,border-color .25s}
.page-return>button:hover{transform:translateY(-3px);border-color:#cadbfb;box-shadow:0 18px 30px rgba(47,77,130,.12)}
.page-return>button>span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#edf4ff;color:var(--blue);font-size:20px;transition:.25s}
.page-return>button:hover>span{background:var(--blue);color:#fff;transform:translateX(-2px)}
.page-return small{display:block;color:#8a97aa;font-size:9px;letter-spacing:1.2px}
.page-return strong{display:block;margin-top:3px;font-size:15px}
@media(max-width:600px){.page-return{margin-top:24px}.page-return>button{width:100%;min-width:0}}
.ai-main-window{min-height:650px}
.ai-page-body{min-height:595px;padding:52px 40px 44px;display:flex;flex-direction:column;align-items:center;background:radial-gradient(circle at 50% 10%,rgba(206,228,255,.65),transparent 34%),linear-gradient(145deg,rgba(255,255,255,.55),rgba(240,245,252,.78))}
.ai-page-orbit{width:145px;height:145px;border:2px dashed #aacafb;border-radius:50%;display:grid;place-items:center;animation:orbitPulse 3.2s ease-in-out infinite}
.ai-page-face{position:relative;width:88px;height:88px;border-radius:50%;background:radial-gradient(circle at 35% 25%,#34485c,#09101a 60%);box-shadow:inset 5px 7px 9px rgba(255,255,255,.08),0 15px 28px rgba(35,59,94,.18)}
.ai-page-face span{position:absolute;top:31px;width:15px;height:21px;border-radius:50%;background:linear-gradient(#6aa1ff,#3970d4)}
.ai-page-face span:first-child{left:22px}.ai-page-face span:nth-child(2){right:22px}.ai-page-face i{position:absolute;left:39px;bottom:16px;width:11px;height:11px;border-radius:50%;background:#4b7ce3}
@keyframes orbitPulse{50%{transform:scale(1.035);border-color:#7baaff}}
.ai-welcome{width:min(760px,100%);margin:30px 0 24px;padding:25px 28px;text-align:center;background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:25px;box-shadow:0 18px 35px rgba(49,70,105,.09)}
.ai-welcome span{font-size:9px;letter-spacing:1.5px;color:var(--blue)}.ai-welcome h2{margin:8px 0 5px;font-size:25px}.ai-welcome p{margin:0;color:#6c7a8e;font-size:14px}
.ai-topics{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.ai-topics button{padding:9px 17px;border-radius:99px;background:#f8fbff;border:1px solid #cbdcf7;color:#567097;font-size:13px;transition:.2s}.ai-topics button:hover{background:var(--blue);border-color:var(--blue);color:#fff;transform:translateY(-2px)}
.ai-page-input{width:min(760px,100%);margin-top:22px;padding:7px 8px 7px 20px;display:flex;align-items:center;border:1px solid var(--line);border-radius:25px;background:#fff;box-shadow:0 13px 28px rgba(48,67,101,.07)}
.ai-page-input input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;color:var(--ink)}.ai-page-input button{width:46px;height:46px;border-radius:50%;background:var(--blue);color:#fff;font-size:23px}.ai-response{display:none;margin:16px 0 0;padding:11px 18px;border-radius:15px;background:#edf4ff;color:#4b648a;font-size:13px}.ai-response.show{display:block;animation:pagein .3s ease}
.bot-quick-menu{position:fixed;z-index:19;width:175px;padding:10px;display:none;gap:8px;border:1px solid rgba(211,222,238,.92);border-radius:21px;background:rgba(255,255,255,.88);box-shadow:0 22px 45px rgba(39,59,93,.2);backdrop-filter:blur(20px)}
.bot-quick-menu.show{display:grid;animation:chatin .24s ease}.bot-quick-menu button{padding:10px 12px;display:flex;align-items:center;gap:9px;text-align:left;border:1px solid #e0e8f5;border-radius:13px;background:#f8fbff;color:#526987;font-size:13px;transition:.2s}.bot-quick-menu button:hover{background:var(--blue);border-color:var(--blue);color:#fff;transform:translateX(-3px)}.bot-quick-menu i{font-style:normal;width:22px;text-align:center;color:#5c8eea}.bot-quick-menu button:hover i{color:#fff}
.ai-bot{touch-action:none;user-select:none;cursor:grab}.ai-bot:active{cursor:grabbing}.ai-bot.hovering{transform:scale(1.08) translateY(-6px)}.ai-bot.hovering .eye{height:11px;top:47px;border-radius:0 0 30px 30px;border-top:3px solid #74a4ff;background:transparent}
@media(max-width:600px){.ai-main-window{min-height:600px}.ai-page-body{padding:38px 18px;min-height:545px}.ai-page-orbit{width:120px;height:120px}.ai-welcome{margin-top:24px;padding:22px 16px}.ai-topics{gap:7px}.ai-topics button{padding:8px 12px}.bot-quick-menu{width:155px}}
.ai-page-face{width:116px;height:116px;background:transparent;box-shadow:none;display:grid;place-items:center}
.ai-page-face img{width:124px;height:124px;object-fit:contain;filter:drop-shadow(0 14px 15px rgba(49,68,105,.16))}
.human-bot{width:118px;height:118px;padding:0;background:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.94);box-shadow:0 18px 34px rgba(49,68,104,.2),inset 0 0 0 6px rgba(235,243,255,.72);overflow:visible}
.human-bot:before{inset:4px;border-color:rgba(115,154,215,.22)}
.human-bot>img{position:absolute;z-index:1;inset:3px;width:112px;height:112px;object-fit:contain;pointer-events:none;filter:drop-shadow(0 7px 7px rgba(64,74,96,.12));transition:transform .3s}
.human-bot:hover>img,.human-bot.hovering>img{transform:scale(1.04) rotate(-2deg)}
.human-smile{position:absolute;z-index:3;top:43px;width:17px;height:11px;display:none;border-radius:50%;background:#f0ac8d;border-bottom:3px solid #5b362d;pointer-events:none}
.human-smile-left{left:29px}.human-smile-right{right:29px}
.human-bot.hovering .human-smile{display:block;animation:humanSmileIn .22s ease}
@keyframes humanSmileIn{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}
@media(max-width:900px){.human-bot{width:86px;height:86px}.human-bot>img{width:82px;height:82px;inset:2px}.human-smile{top:31px;width:12px;height:9px}.human-smile-left{left:21px}.human-smile-right{right:21px}}
.ai-page-face{width:88px;height:88px;background:radial-gradient(circle at 35% 25%,#34485c,#09101a 60%);box-shadow:inset 5px 7px 9px rgba(255,255,255,.08),0 15px 28px rgba(35,59,94,.18)}
.ai-page-face span{position:absolute;top:31px;width:15px;height:21px;border-radius:50%;background:linear-gradient(#6aa1ff,#3970d4)}
.ai-page-face span:first-child{left:22px}.ai-page-face span:nth-child(2){right:22px}.ai-page-face i{position:absolute;left:39px;bottom:16px;width:11px;height:11px;border-radius:50%;background:#4b7ce3}
.bot-action-menu{width:175px}
.bot-blush{position:absolute;top:64px;width:17px;height:7px;border-radius:50%;background:#ff7892;opacity:0;filter:blur(.3px);transition:.2s}.bot-blush.left{left:19px}.bot-blush.right{right:19px}
.ai-bot.expr-hello{animation:botHello .55s ease 2}
.ai-bot.expr-hello .eye{height:11px;top:46px;border-radius:0 0 30px 30px;border-top:3px solid #74a4ff;background:transparent}
.ai-bot.expr-hello .sensor{width:25px;height:12px;left:50%;bottom:15px;transform:translateX(-50%);border-radius:0 0 18px 18px}
.ai-bot.expr-hello .bot-blush{opacity:.85}
@keyframes botHello{25%{transform:translateY(-8px) rotate(-6deg)}75%{transform:translateY(-4px) rotate(6deg)}}
.ai-bot.expr-dance{animation:botDance .42s ease-in-out 5}
.ai-bot.expr-dance .eye.left{animation:danceEyeLeft .42s ease-in-out 5}.ai-bot.expr-dance .eye.right{animation:danceEyeRight .42s ease-in-out 5}
.ai-bot.expr-dance .sensor{animation:danceSensor .3s linear 7}
@keyframes botDance{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-13px) rotate(8deg)}}
@keyframes danceEyeLeft{50%{height:10px;transform:scaleX(1.25)}}@keyframes danceEyeRight{50%{height:31px;transform:scaleX(.8)}}@keyframes danceSensor{50%{background:#8d6cff;transform:scale(1.35)}}
.ai-bot.expr-rest{animation:botRest 2.4s ease-in-out infinite}
.ai-bot.expr-rest .eye{height:3px;top:49px;border-radius:5px;background:#6d92d9}
.ai-bot.expr-rest .sensor{width:18px;height:8px;left:50%;bottom:18px;transform:translateX(-50%);border-radius:50%;opacity:.55}
@keyframes botRest{50%{transform:translateY(5px) scale(.97);filter:brightness(.9)}}
@media(max-width:900px){.bot-blush{top:45px;width:12px;height:5px}.bot-blush.left{left:14px}.bot-blush.right{right:14px}.ai-bot.expr-hello .eye{top:33px}.ai-bot.expr-rest .eye{top:35px}}
.bot-speech{position:fixed;z-index:20;max-width:230px;padding:13px 16px;border:1px solid #dce6f5;border-radius:17px;background:rgba(255,255,255,.95);box-shadow:0 16px 32px rgba(45,65,98,.17);color:#435570;font-size:13px;line-height:1.55;opacity:0;visibility:hidden;transform:translateY(7px) scale(.92);transition:.22s;pointer-events:none;backdrop-filter:blur(16px)}
.bot-speech:after{content:"";position:absolute;left:50%;bottom:-7px;width:13px;height:13px;background:rgba(255,255,255,.95);border-right:1px solid #dce6f5;border-bottom:1px solid #dce6f5;transform:translateX(-50%) rotate(45deg)}
.bot-speech.below:after{top:-7px;bottom:auto;border:0;border-left:1px solid #dce6f5;border-top:1px solid #dce6f5}
.bot-speech.show{opacity:1;visibility:visible;transform:none;animation:speechBounce .38s cubic-bezier(.2,.9,.25,1.25)}
@keyframes speechBounce{0%{opacity:0;transform:translateY(10px) scale(.78)}70%{transform:translateY(-3px) scale(1.03)}100%{opacity:1;transform:none}}
.ai-bot.expr-hello{animation:helloCute .55s cubic-bezier(.3,.8,.3,1.2) 3}
.ai-bot.expr-hello .eye.left{height:4px;top:48px;border:0;border-radius:5px;background:#78a5ff;transform:rotate(-8deg)}
.ai-bot.expr-hello .eye.right{height:20px;top:39px;border:0;border-radius:50%;background:linear-gradient(#6aa1ff,#3970d4);animation:cuteWink .7s ease 2}
@keyframes helloCute{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-10px) rotate(-9deg)}70%{transform:translateY(-3px) rotate(6deg)}}
@keyframes cuteWink{45%{height:4px;top:48px;border-radius:5px}}
.ai-bot.expr-dance{animation:danceCute .36s cubic-bezier(.35,.8,.35,1.2) 7}
.ai-bot.expr-dance .bot-blush{opacity:.65}
.ai-bot.expr-dance:after{content:"♫";position:absolute;right:-5px;top:-10px;color:#6f8fff;font-size:22px;animation:musicFloat .75s ease infinite}
@keyframes danceCute{0%,100%{transform:translateY(0) rotate(-10deg) scale(1)}50%{transform:translateY(-15px) rotate(10deg) scale(1.05)}}
@keyframes musicFloat{50%{transform:translateY(-8px) rotate(12deg);opacity:.5}}
.ai-bot.expr-rest:after{content:"Z z";position:absolute;right:-10px;top:-12px;color:#7e96bd;font-size:15px;font-weight:700;letter-spacing:2px;animation:zzz 1.3s ease-in-out infinite}
@keyframes zzz{50%{transform:translate(5px,-8px) scale(1.12);opacity:.4}}
@media(max-width:600px){.bot-speech{max-width:190px;padding:11px 13px;font-size:12px}}
#experience-detail .experience-window{max-width:1180px;margin:0 auto}
#experience-detail .page-body{padding:38px 44px 48px}
#experience-detail .experience-list{gap:22px;margin-top:34px}
#experience-detail .experience-list article{align-items:flex-start;padding:31px 34px}
#experience-detail .experience-list h3{font-size:20px;margin-top:1px;margin-bottom:14px}
#experience-detail .experience-list p{font-size:16px;line-height:2;letter-spacing:.1px;color:#4f607b}
@media(max-width:600px){#experience-detail .page-body{padding:24px 18px 30px}#experience-detail .experience-list article{padding:22px 18px}#experience-detail .experience-list h3{font-size:17px}#experience-detail .experience-list p{font-size:14px;line-height:1.85}}
.resume-download{position:relative}.resume-menu{position:absolute;z-index:15;top:calc(100% + 10px);right:0;width:285px;padding:8px;display:none;border:1px solid #dfe6f0;border-radius:17px;background:rgba(255,255,255,.96);box-shadow:0 18px 36px rgba(44,64,99,.17);backdrop-filter:blur(18px)}
.resume-menu.open{display:grid;gap:5px;animation:chatin .22s ease}.resume-menu a{padding:10px;display:grid;grid-template-columns:35px 1fr 18px;align-items:center;gap:10px;border-radius:11px;color:var(--ink);text-decoration:none;transition:.2s}.resume-menu a:hover{background:#edf4ff}.resume-menu a>span{width:35px;height:35px;display:grid;place-items:center;border-radius:9px;background:#eaf2ff;color:var(--blue);font-size:9px;font-weight:800}.resume-menu a strong{display:block;font-size:13px}.resume-menu a small{display:block;margin-top:3px;color:#8290a5;font-size:10px}.resume-menu a b{color:var(--blue);font-size:17px}
@media(max-width:600px){.resume-menu{left:0;right:auto;width:270px}}
.hero.window{overflow:visible;position:relative;z-index:12}.resume-download{z-index:30}.resume-menu{max-height:none;overflow:visible;background:linear-gradient(145deg,rgba(30,23,16,.98),rgba(12,10,8,.98));border-color:rgba(225,182,106,.34);box-shadow:0 22px 48px rgba(0,0,0,.48)}.resume-menu a{color:#f0dfc1}.resume-menu a:hover{background:rgba(173,117,31,.2)}.resume-menu a>span{background:rgba(165,113,30,.24);color:#efc46f}.resume-menu a small{color:#c8b18a}.resume-menu a b{color:#e9b85c}
.portrait{overflow:hidden;background:#d9e4f2}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 16%;display:block}
.about-avatar{overflow:hidden;background:#d9e4f2}
.about-avatar img{width:100%;height:100%;object-fit:cover;object-position:center 11%;display:block}
.hero-art{overflow:hidden}
.hero-art .portrait{inset:0!important;display:block!important;background:transparent!important;border-radius:0!important}
.hero-art .portrait img{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 18px 15px rgba(41,58,92,.18))}
.about-avatar img{object-fit:contain;object-position:center bottom;transform:scale(1.15);background:linear-gradient(145deg,#dfeeff,#f8fbff)}
.project-pdf-link{margin-top:20px;min-height:76px;padding:0 27px;display:flex;align-items:center;justify-content:space-between;border-radius:19px;background:linear-gradient(120deg,#397cf7,#6f99f7);box-shadow:0 15px 28px rgba(57,124,247,.22);color:#fff;text-decoration:none;font-weight:700;font-size:16px;transition:.25s}.project-pdf-link:hover{transform:translateY(-3px);box-shadow:0 20px 34px rgba(57,124,247,.3)}
.hero-art{width:32%;height:66%;right:44px;bottom:42px;border-radius:30px}
.hero-art .portrait img{width:86%;height:88%;margin:0 auto;object-position:center bottom}
@media(max-width:900px){.hero-art{width:48%;height:67%;right:8px;bottom:28px}.hero-art .portrait img{width:90%;height:90%}}
.hero-art{width:39%;height:82%;right:20px;bottom:0;background:transparent;overflow:visible;border-radius:0}
.hero-art .portrait{display:flex!important;align-items:center;justify-content:center}
.hero-art .portrait img{width:96%;height:96%;margin:0;object-fit:contain;object-position:center bottom}
@media(max-width:900px){.hero-art{width:56%;height:78%;right:-8px;bottom:0;background:transparent}.hero-art .portrait img{width:94%;height:94%}}
:root{--ai-icon-blue:#397cf7}
.ai-desktop-item i{background:linear-gradient(145deg,#edf5ff,#dfeaff);font-size:27px;color:var(--ai-icon-blue)}
:root{--quote-muted:#53647f}
.greek-quote{margin:22px 0 20px;padding:0;border:0;color:var(--quote-muted)}
.greek-quote>span{font-family:Georgia,"Times New Roman",serif;font-size:29px;letter-spacing:.5px;color:var(--ink)}
.greek-quote p{margin:6px 0 0;font-size:14px;letter-spacing:.5px}
.greek-quote small{margin-left:7px;color:#8291a6;font-size:11px}
.contact{flex-wrap:wrap;gap:11px 20px}
.project-card:after{background:linear-gradient(180deg,rgba(12,21,40,.02) 18%,rgba(12,21,40,.84) 100%)}
.project-cover-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .45s ease}
.project-card:hover .project-cover-image{transform:scale(1.045)}
.project-card.portrait-cover{background:#eef4fb}
.project-card.portrait-cover .project-cover-image{object-fit:contain}
.project-cover.has-pdf-cover{background-color:#193660;background-position:center;background-repeat:no-repeat;background-size:cover}
.project-cover.has-pdf-cover:after{display:none}
.project-cover.has-pdf-cover .cover-badge{z-index:2}
.project-cover.has-pdf-cover>div{z-index:2}
.project-cover.has-pdf-cover.portrait-pdf-cover{background-color:#eaf2ff;background-size:cover,contain}
.project-detail-cover-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}
.project-cover:has(.project-detail-cover-image):after{display:none}
.project-cover:has(.project-detail-cover-image)>div,.project-cover:has(.project-detail-cover-image) .cover-badge{z-index:2}
.project-cover.portrait-pdf-cover .project-detail-cover-image{object-fit:contain;background:#eaf2ff}
.project-cover:has(.project-detail-cover-image):before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(11,24,52,.78) 0%,rgba(11,24,52,.43) 46%,rgba(11,24,52,.06) 100%)}
.detail-page{position:relative}
.detail-page>.back{position:absolute;z-index:6;left:28px;top:28px;width:72px;height:72px;margin:0;border:1px solid rgba(255,255,255,.3);border-radius:50%;display:grid;place-items:center;background:rgba(16,31,57,.72);color:transparent;font-size:0;box-shadow:0 14px 30px rgba(8,19,39,.28);backdrop-filter:blur(14px);transition:transform .22s,background .22s}
.detail-page>.back:before{content:"←";color:#fff;font-size:39px;font-weight:300;line-height:1}
.detail-page>.back:hover{transform:translateX(-3px);background:rgba(16,31,57,.9)}
.project-cover{height:clamp(480px,57vw,620px);padding:50px;border-radius:34px;background-color:#142c56;background-image:var(--detail-cover);background-position:center;background-size:cover;box-shadow:0 28px 60px rgba(29,50,86,.2)}
.project-cover .project-detail-cover-image{object-fit:cover;object-position:center}
.project-cover:has(.project-detail-cover-image):before{background:linear-gradient(90deg,rgba(5,17,38,.8) 0%,rgba(5,17,38,.56) 42%,rgba(5,17,38,.12) 75%),linear-gradient(0deg,rgba(4,14,32,.72) 0%,transparent 50%)}
.project-cover>div{left:52px;right:48px;bottom:46px;max-width:74%;text-shadow:0 3px 16px rgba(4,14,32,.4)}
.project-cover h2{font-size:clamp(38px,5.2vw,65px);line-height:1.07;letter-spacing:-2.5px;margin:14px 0 18px}
.project-cover p{font-size:13px;font-weight:600;letter-spacing:1.8px}
.project-cover .cover-badge{top:31px;right:31px;padding:9px 15px;background:rgba(16,31,57,.22);backdrop-filter:blur(12px)}
.project-cover.portrait-pdf-cover{background-image:linear-gradient(rgba(10,26,55,.18),rgba(10,26,55,.18)),var(--detail-cover);background-size:cover;background-position:center}
.project-cover.portrait-pdf-cover .project-detail-cover-image{object-fit:contain;background:rgba(226,236,250,.48)}
@media(max-width:600px){.detail-page>.back{left:17px;top:17px;width:56px;height:56px}.detail-page>.back:before{font-size:31px}.project-cover{height:430px;padding:25px}.project-cover>div{left:27px;right:25px;bottom:30px;max-width:88%}.project-cover .cover-badge{top:20px;right:19px}.project-cover h2{font-size:34px}}
.gallery-section{padding-top:14px;border-top:1px solid var(--line)}
.project-gallery{display:grid;grid-template-columns:1fr;gap:28px;margin-top:28px}
.project-gallery figure{margin:0;overflow:hidden;border:1px solid #e0e6f0;border-radius:26px;background:#fff;box-shadow:0 20px 45px rgba(37,55,88,.1)}
.project-gallery img{display:block;width:100%;height:auto;max-height:780px;object-fit:contain;background:#f5f7fb}
.project-gallery figcaption{padding:14px 19px;border-top:1px solid #edf0f5;color:#8390a5;font-size:10px;font-weight:700;letter-spacing:1.6px}
.gallery-section>.body-copy{margin-bottom:0}
@media(max-width:600px){.project-gallery{gap:18px}.project-gallery figure{border-radius:18px}.project-gallery figcaption{padding:11px 14px}}
.video-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:4px}
.gallery-video-title{grid-column:1/-1;margin:3px 0 0;color:#14233d;font-size:19px;font-weight:700}
.video-showcase{overflow:hidden;border:1px solid #e0e6f0;border-radius:20px;background:#fff;box-shadow:0 16px 34px rgba(37,55,88,.08)}
.video-showcase video{display:block;width:100%;aspect-ratio:9/16;max-height:520px;background:#101827;object-fit:contain}
.video-showcase p{margin:0;padding:12px 15px;color:#71809a;font-size:11px;font-weight:700;letter-spacing:1.2px}
.audio-showcase{display:grid;place-items:center;min-height:164px;padding:28px;background:linear-gradient(135deg,#edf5ff,#fff)}
.audio-showcase audio{width:min(100%,340px)}
.audio-showcase p{width:100%;text-align:center;padding:15px 0 0}
@media(max-width:600px){.video-gallery{grid-template-columns:1fr;gap:16px}.video-showcase{border-radius:17px}.video-showcase video{max-height:560px}}
.project-cover:has(.project-detail-cover-image):before{display:none}
.project-cover .cover-badge{display:none}
.detail-page>.back{background:rgba(255,255,255,.9);border-color:#dbe5f3;box-shadow:0 10px 24px rgba(36,55,87,.15)}
.detail-page>.back:before{color:#25436c}
.detail-page>.back:hover{background:#fff}
.project-cover>div{left:34px;right:auto;bottom:32px;max-width:min(720px,calc(100% - 68px));padding:20px 24px;border:1px solid rgba(221,228,240,.92);border-radius:20px;background:rgba(255,255,255,.9);box-shadow:0 14px 30px rgba(24,46,82,.14);backdrop-filter:blur(12px);text-shadow:none}
.project-cover p{margin:0;color:#397cf7;font-size:12px;font-weight:700;letter-spacing:1.4px}
.project-cover h2{margin:8px 0 9px;color:#14233d;font-size:clamp(31px,4.2vw,52px);letter-spacing:-2px}
.project-cover #projectDetailSubtitle{color:#687993;font-size:13px;opacity:1}
.project-cover #projectDetailSubtitle:empty{display:none}
.project-cover.portrait-pdf-cover .project-detail-cover-image{background:#f5f8fc}
@media(max-width:600px){.project-cover>div{left:18px;bottom:18px;max-width:calc(100% - 36px);padding:15px 17px;border-radius:16px}.project-cover h2{font-size:30px}.project-cover #projectDetailSubtitle{font-size:12px}}
.is-loading{overflow:hidden}
.site-loader{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:linear-gradient(145deg,#f8fbff,#eaf2fc);transition:opacity .45s ease,visibility .45s ease}
.site-loader.is-complete{opacity:0;visibility:hidden}
.loader-window{width:min(420px,calc(100vw - 42px));padding:37px 34px;border:1px solid #dce6f2;border-radius:26px;background:rgba(255,255,255,.86);box-shadow:0 24px 60px rgba(44,69,110,.15);text-align:center;backdrop-filter:blur(20px)}
.loader-dot{display:inline-block;width:11px;height:11px;border-radius:50%;background:#397cf7;box-shadow:0 0 0 8px #edf4ff;margin-bottom:17px}
.loader-window p{margin:0;color:#397cf7;font-size:11px;font-weight:700;letter-spacing:2px}
.loader-window strong{display:block;margin:17px 0 23px;color:#14233d;font-size:20px}
.loader-progress{height:10px;overflow:hidden;border-radius:99px;background:#eaf0f8}
.loader-progress i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#397cf7,#7eafff);transition:width .12s ease}
.loader-window small{display:block;margin-top:12px;color:#71809a;font-size:12px;font-variant-numeric:tabular-nums}
.hero-content > :not(.correct-home-copy):not(.hero-actions){display:none}
.correct-home-copy{display:block}
.correct-home-copy .eyebrow,.correct-home-copy h1,.correct-home-copy .intro{display:block}
.correct-home-copy .tags{display:flex}
.portfolio-window .filter{display:none}
.portfolio-category-nav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 27px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.portfolio-category-nav button{padding:10px 18px;border:1px solid #dbe6f4;border-radius:999px;background:#fff;color:#687994;font-size:13px;transition:.2s}
.portfolio-category-nav button:hover{border-color:#9fc2ff;color:var(--blue)}
.portfolio-category-nav button.selected{border-color:var(--blue);background:var(--blue);color:#fff;box-shadow:0 10px 20px rgba(57,124,247,.2)}
.project-card[hidden]{display:none}
@media(max-width:600px){.portfolio-category-nav{gap:8px;margin-bottom:20px;padding-bottom:18px}.portfolio-category-nav button{padding:8px 13px;font-size:12px}}
.pdf-reader{overflow:hidden;margin-top:6px;border:1px solid #dfe7f2;border-radius:24px;background:#fff;box-shadow:0 18px 38px rgba(37,55,88,.1)}
.pdf-reader-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 20px;border-bottom:1px solid #e8edf4}
.pdf-reader-head small{display:block;color:#7a8da8;font-size:10px;letter-spacing:1.4px}
.pdf-reader-head strong{display:block;margin-top:4px;color:#152744;font-size:16px}
.pdf-reader-head a{flex:none;color:#397cf7;font-size:13px;font-weight:700;text-decoration:none}
.pdf-reader iframe{display:block;width:100%;height:680px;border:0;background:#f4f7fb}
@media(max-width:600px){.pdf-reader{border-radius:18px}.pdf-reader-head{padding:14px 15px}.pdf-reader-head strong{font-size:14px}.pdf-reader-head a{font-size:12px}.pdf-reader iframe{height:500px}}
.image-only-detail .project-cover,.image-only-detail .project-meta,.image-only-detail .case-section:not(.gallery-section),.image-only-detail .gallery-section .section-title{display:none}
.image-only-detail .gallery-section{margin:0}
.image-only-detail .project-gallery{margin-top:0}
.ai-response.show{display:block!important;min-width:min(460px,100%);text-align:center;font-size:15px;font-weight:700}
.ai-welcome .ai-response{width:min(520px,100%);margin:17px auto 0;border:1px solid #cfe1ff;background:linear-gradient(135deg,#f1f7ff,#fff);box-shadow:0 10px 24px rgba(57,124,247,.1);color:#27548c}
.ai-page-face.is-answering{animation:aiAnswerBounce .42s cubic-bezier(.25,.85,.35,1.25) 4}
.ai-page-face.is-answering span{animation:aiAnswerBlink .52s ease-in-out 3}
.ai-page-face.is-answering i{animation:aiAnswerMouth .42s ease-in-out 4}
@keyframes aiAnswerBounce{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-9px) rotate(7deg)}}
@keyframes aiAnswerBlink{45%{height:4px;top:42px;border-radius:5px}70%{transform:scaleX(1.18)}}
@keyframes aiAnswerMouth{50%{transform:translateY(4px) scale(1.4);background:#74a4ff}}
.site-loader{isolation:isolate;background:#020202;cursor:crosshair}
.loader-scene{--spot-x:50%;--spot-y:48%;position:absolute;inset:0;overflow:hidden;background-image:linear-gradient(90deg,rgba(0,0,0,.74),rgba(0,0,0,.03) 50%,rgba(0,0,0,.72)),url('assets/intro/divine-opening.png');background-size:cover;background-position:center;transform:scale(1.06);animation:divinePush 5.2s cubic-bezier(.16,.75,.25,1) forwards}
.loader-scene:before{content:"";position:absolute;inset:0;background:radial-gradient(circle 230px at var(--spot-x) var(--spot-y),rgba(255,216,123,0) 0,rgba(0,0,0,.05) 37%,rgba(0,0,0,.78) 82%);transition:background .12s ease;mix-blend-mode:multiply}
.loader-scene:after{content:"";position:absolute;inset:-20%;background:radial-gradient(ellipse at 50% 44%,rgba(255,205,99,.34),transparent 18%),radial-gradient(ellipse at 50% 95%,rgba(220,144,44,.34),transparent 31%),linear-gradient(90deg,rgba(0,0,0,.72),transparent 30%,transparent 70%,rgba(0,0,0,.72));animation:holyBreath 4.2s ease-in-out infinite;pointer-events:none}
.loader-scene.is-revealed:before{background:radial-gradient(circle 310px at var(--spot-x) var(--spot-y),rgba(255,228,154,0) 0,rgba(0,0,0,.015) 42%,rgba(0,0,0,.72) 88%)}
.loader-mist{position:absolute;top:13%;bottom:-10%;width:46%;filter:blur(25px);opacity:.55;background:radial-gradient(ellipse,rgba(4,5,7,.9),rgba(4,5,7,0) 70%);animation:mistDrift 6s ease-in-out infinite alternate}
.mist-left{left:-17%}.mist-right{right:-17%;animation-delay:-2.7s;animation-direction:alternate-reverse}
.loader-rays{position:absolute;inset:-20% 23%;background:conic-gradient(from 180deg at 50% 60%,transparent 0 9deg,rgba(255,208,104,.22) 12deg,transparent 15deg,transparent 28deg,rgba(255,228,148,.13) 31deg,transparent 35deg);filter:blur(3px);mix-blend-mode:screen;animation:raySway 6s ease-in-out infinite}
.loader-particles{position:absolute;inset:20% 30% 12%;background-image:radial-gradient(circle,rgba(255,231,164,.95) 0 1px,transparent 1.8px),radial-gradient(circle,rgba(255,194,72,.8) 0 1px,transparent 1.6px);background-size:57px 71px,83px 97px;background-position:12px 20px,34px 5px;opacity:.7;animation:particleRise 4.5s linear infinite}
.loader-window{position:relative;z-index:2;width:min(440px,calc(100vw - 42px));margin-top:min(52vh,520px);padding:22px 25px 18px;border:1px solid rgba(255,222,143,.45);border-radius:4px;background:linear-gradient(90deg,rgba(0,0,0,.7),rgba(24,15,5,.42));box-shadow:0 16px 55px rgba(0,0,0,.5),inset 0 0 22px rgba(255,213,113,.1);text-align:center;backdrop-filter:blur(8px)}
.loader-dot{display:none}.loader-window p,.loader-window strong{display:none}.loader-window:before{content:"DIVINE OPENING";display:block;color:#f8d68a;font-family:Georgia,serif;font-size:15px;letter-spacing:5px}.loader-window:after{content:"MOVE YOUR CURSOR · REVEAL THE LIGHT";display:block;margin-top:11px;color:rgba(255,234,191,.76);font-size:9px;letter-spacing:2px}.loader-progress{height:2px;margin-top:17px;background:rgba(255,226,153,.22)}.loader-progress i{background:linear-gradient(90deg,#98611f,#fff0b5,#bc7a25);box-shadow:0 0 14px rgba(255,211,112,.9)}.loader-window small{margin-top:8px;color:#f3d293;font-size:11px;letter-spacing:1px}
@keyframes divinePush{0%{transform:scale(1.15);filter:brightness(.45) saturate(.72)}45%{filter:brightness(.82) saturate(.9)}100%{transform:scale(1.03);filter:brightness(1) saturate(1)}}
@keyframes holyBreath{50%{opacity:.55;transform:scale(1.04)}}@keyframes mistDrift{to{transform:translateX(15%) scale(1.12);opacity:.76}}@keyframes raySway{50%{transform:rotate(2deg) scale(1.06);opacity:.72}}@keyframes particleRise{to{background-position:12px -95px,34px -112px}}
@media(max-width:600px){.loader-window{margin-top:54vh;padding:18px 18px 15px}.loader-window:before{font-size:12px;letter-spacing:3px}.loader-window:after{font-size:8px;letter-spacing:1.2px}.loader-scene:before{background:radial-gradient(circle 160px at var(--spot-x) var(--spot-y),transparent 0,rgba(0,0,0,.75) 88%)}}
.opening-video{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;animation:divinePush 5.2s cubic-bezier(.16,.75,.25,1) forwards}
.site-loader.video-fallback .opening-video{display:none}
@media(max-width:720px){.opening-video{display:none}.loader-scene{background-position:center center;transform:scale(1.02);animation:none}.loader-window{margin-top:58vh}.loader-window:after{content:"THE JOURNEY BEGINS"}}
.loader-scene:before{z-index:6}.loader-scene:after{z-index:5}.loader-mist{z-index:2}.loader-rays{z-index:3}.loader-particles{z-index:4;pointer-events:none}
.enter-site{display:none;align-items:center;justify-content:center;gap:18px;width:min(246px,100%);margin:22px auto 2px;padding:13px 18px;border:1px solid rgba(255,220,132,.85);background:linear-gradient(90deg,rgba(117,67,13,.5),rgba(250,209,120,.14),rgba(117,67,13,.5));color:#fff0bd;font-family:Georgia,serif;font-size:14px;letter-spacing:4px;box-shadow:inset 0 0 18px rgba(255,217,126,.12),0 0 22px rgba(221,161,61,.16);transition:.25s}
.enter-site span{font-family:Arial,sans-serif;font-size:20px;line-height:0;transition:transform .25s}.enter-site:hover{background:linear-gradient(90deg,rgba(154,91,15,.74),rgba(255,224,150,.32),rgba(154,91,15,.74));box-shadow:inset 0 0 23px rgba(255,230,161,.26),0 0 30px rgba(255,192,81,.38);transform:translateY(-2px)}.enter-site:hover span{transform:translateX(6px)}
.site-loader.is-ready .enter-site{display:flex;animation:enterReveal .8s cubic-bezier(.2,.9,.2,1.1) both}.site-loader.is-ready .loader-window:after{content:"THE FINAL LIGHT AWAITS"}@keyframes enterReveal{from{opacity:0;transform:translateY(12px) scale(.94)}to{opacity:1;transform:none}}
.site-loader .loader-window{z-index:10}
.site-loader:not(.is-ready) .loader-scene:before{background:rgba(0,0,0,.03);mix-blend-mode:normal}
.site-loader{cursor:default}.site-loader.is-ready .loader-scene:before{display:none}
.site-loader.is-ready .loader-scene:after,.site-loader.is-ready .loader-mist,.site-loader.is-ready .loader-rays,.site-loader.is-ready .loader-particles{display:none}
/* Black-gold visual system */
:root{--blue:#c99542;--ink:#f1e5ce;--muted:#b9a98e;--line:rgba(213,174,105,.23);--card:rgba(18,15,12,.88);--shadow:0 26px 62px rgba(0,0,0,.48)}
body{background:radial-gradient(circle at 70% 10%,rgba(137,91,34,.16),transparent 27%),radial-gradient(circle at 20% 90%,rgba(109,70,33,.14),transparent 30%),linear-gradient(135deg,#080807,#17120d 48%,#070706);color:var(--ink)}
.orb-one{background:radial-gradient(circle,rgba(197,148,71,.2),rgba(75,50,23,.08) 45%,transparent 70%)}.orb-two{background:radial-gradient(circle,rgba(162,112,52,.15),transparent 70%)}
.system-bar{background:rgba(10,9,8,.78);border-color:rgba(223,185,113,.18)}.brand{color:#f3e8d0}.brand span{background:#d5a34e;box-shadow:0 0 12px rgba(218,167,76,.7)}.system-bar nav button{background:rgba(31,24,17,.9);border-color:rgba(221,183,108,.25);color:#e6d8bd}.system-bar time{color:#d7c7aa}
.desktop-nav{padding:18px 12px;border:1px solid rgba(216,180,111,.18);border-radius:36px;background:linear-gradient(180deg,rgba(35,29,22,.78),rgba(9,9,8,.72));box-shadow:0 24px 55px rgba(0,0,0,.38);backdrop-filter:blur(18px)}
.desktop-item{color:#c7b99f}.desktop-item i{font-size:0;background:linear-gradient(145deg,#2c251c,#16130f);border-color:rgba(228,193,126,.23);box-shadow:inset 0 1px 0 rgba(255,236,194,.08),0 10px 22px rgba(0,0,0,.3);color:#e5b75e}.desktop-item i:before{font-family:Georgia,"Times New Roman",serif;font-size:26px;line-height:1;color:#e5b75e;text-shadow:0 0 13px rgba(231,181,79,.45)}
.desktop-item:nth-child(1) i:before{content:"⌂"}.desktop-item:nth-child(2) i:before{content:"✧"}.desktop-item:nth-child(3) i:before{content:"⚜"}.desktop-item:nth-child(4) i:before{content:"☉"}.desktop-item:nth-child(5) i:before{content:"◈"}
.desktop-item:hover i,.desktop-item.active i{background:radial-gradient(circle at 50% 30%,#60461f,#20170d 66%);border-color:rgba(245,205,125,.72);box-shadow:inset 0 1px 0 rgba(255,235,185,.28),0 0 23px rgba(210,151,55,.28);transform:translateY(-3px)}.desktop-item:hover,.desktop-item.active{color:#f3d697}
.window{background:linear-gradient(145deg,rgba(29,23,17,.92),rgba(12,11,9,.91));border-color:rgba(220,182,109,.24);box-shadow:var(--shadow)}.window-bar{background:linear-gradient(105deg,#17130f,#322312 50%,#15110c);color:#e2cda9;border-bottom:1px solid rgba(225,184,109,.18)}
.hero-art{background:radial-gradient(circle at 50% 20%,rgba(220,180,98,.3),transparent 45%),linear-gradient(145deg,#2c241b,#100f0d)}.portrait{background:linear-gradient(145deg,#785723,#21170d 55%,#0e0c0a);box-shadow:inset 0 0 35px rgba(255,211,121,.1)}
.intro,.bio,.body-copy,.numbered p,.experience-list p{color:#bfae92}.tags span{background:rgba(144,100,39,.2);border-color:rgba(224,181,100,.3);color:#edc873}.primary{background:linear-gradient(135deg,#a96f22,#e3b157);box-shadow:0 10px 24px rgba(192,132,39,.26)}.secondary{background:rgba(25,20,15,.9);border-color:rgba(224,181,100,.28);color:#ecd5a4}
.feature-row article,.project-meta article,.numbered article,.education article,.skills article,.experience-list article,.video-showcase,.project-gallery figure{background:linear-gradient(145deg,rgba(38,30,21,.92),rgba(18,15,11,.94));border-color:rgba(220,182,109,.19);box-shadow:0 14px 32px rgba(0,0,0,.25)}.feature-row small,.project-meta small{color:#c8ad78}.feature-row button{color:#e4b75e}.project-meta strong,.numbered h3,.education strong,.skills strong{color:#f0e1c6}
.page-body{background:transparent}.portfolio-category-nav{border-color:rgba(220,182,109,.18)}.portfolio-category-nav button,.filter button{background:rgba(34,27,20,.9);border-color:rgba(221,182,107,.25);color:#d7c6a9}.portfolio-category-nav button.selected,.filter .selected{background:linear-gradient(135deg,#9f681d,#d9a64d);border-color:#e2b65f;color:#fff7e7;box-shadow:0 10px 24px rgba(192,132,39,.24)}
.page-return button,.back{color:#dbc497}.page-return button{background:rgba(31,25,18,.86);border-color:rgba(222,182,108,.2)}.project-cover>div{background:rgba(20,17,13,.86);border-color:rgba(230,195,126,.32);box-shadow:0 16px 34px rgba(0,0,0,.36)}.project-cover h2{color:#f5e5c8}.project-cover p{color:#e1b763}
.ai-page-body{background:radial-gradient(circle at 50% 10%,rgba(187,135,51,.22),transparent 35%),linear-gradient(145deg,rgba(28,22,15,.92),rgba(12,11,9,.94))}.ai-welcome,.ai-page-input{background:rgba(27,22,16,.88);border-color:rgba(222,183,109,.23);box-shadow:0 18px 35px rgba(0,0,0,.28)}.ai-welcome h2{color:#f0dfc1}.ai-topics button{background:rgba(41,31,19,.9);border-color:rgba(223,181,103,.3);color:#e3c893}.ai-topics button:hover{background:#b47a29;border-color:#e1b65f}.ai-response.show,.ai-welcome .ai-response{background:rgba(75,52,20,.42);border-color:rgba(228,190,116,.34);color:#f2dba8}
@media(max-width:900px){.desktop-nav{padding:0;border:0;background:transparent;box-shadow:none}}
.ai-bot{background:radial-gradient(circle at 35% 24%,#6c5426,#21170d 48%,#060605 78%);border:1px solid rgba(235,190,91,.55);box-shadow:inset 6px 8px 14px rgba(255,230,167,.13),0 0 0 5px rgba(211,157,59,.09),0 20px 38px rgba(0,0,0,.48),0 0 28px rgba(213,155,48,.23)}
.ai-bot:before{border-color:rgba(244,205,119,.34)}.ai-bot .eye{background:linear-gradient(#ffe0a0,#bd7b1e);box-shadow:0 0 11px rgba(255,203,105,.48)}.ai-bot .sensor{background:#edb94e;box-shadow:0 0 13px rgba(255,201,91,.6)}
.ai-page-orbit{border-color:rgba(232,187,91,.7);box-shadow:0 0 26px rgba(218,159,51,.15)}.ai-page-face{background:radial-gradient(circle at 35% 25%,#755926,#24180d 58%,#090806 86%);border:1px solid rgba(235,190,91,.38);box-shadow:inset 5px 7px 9px rgba(255,235,184,.09),0 15px 28px rgba(0,0,0,.32),0 0 22px rgba(218,159,51,.18)}.ai-page-face span{background:linear-gradient(#ffe0a0,#bd7b1e);box-shadow:0 0 10px rgba(255,203,105,.42)}.ai-page-face i{background:#edb94e;box-shadow:0 0 10px rgba(255,201,91,.48)}
.skip-intro{position:absolute;z-index:12;top:27px;left:31px;padding:10px 13px;border:1px solid rgba(255,220,142,.46);background:rgba(5,5,4,.42);color:#f4d892;font-family:Georgia,serif;font-size:11px;letter-spacing:2.4px;backdrop-filter:blur(10px);transition:.22s}.skip-intro span{margin-left:7px;font-family:Arial,sans-serif;font-size:15px}.skip-intro:hover{border-color:#f0c66c;background:rgba(74,48,14,.65);box-shadow:0 0 20px rgba(227,170,61,.28);transform:translateX(3px)}
@media(max-width:600px){.skip-intro{top:18px;left:18px;padding:9px 11px;font-size:10px}}
