:root{color-scheme:dark;--bg:#090e18;--bg-alt:#101927;--surface:#131d2a;--surface2:#182534;--text:#eaf2f6;--muted:#91a0af;--line:#243344;--accent:#34d5d1;--accent2:#139eac;--shadow:0 22px 70px #0004;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}html[data-theme=light]{color-scheme:light;--bg:#f7fafc;--bg-alt:#edf3f7;--surface:#fff;--surface2:#edf5f8;--text:#172739;--muted:#5a6c7c;--line:#dce6ec;--accent:#087f91;--accent2:#06738a;--shadow:0 18px 50px #21364a12}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text)}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}img{max-width:100%;display:block}.wrap{width:min(1200px,calc(100% - 48px));margin:0 auto}.accent{color:var(--accent)}.muted{color:var(--muted)}.site-header{height:78px;border-bottom:1px solid var(--line);position:sticky;top:0;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(16px);z-index:40}.nav{display:flex;height:100%;align-items:center;justify-content:space-between;gap:28px}.logo{font-size:23px;letter-spacing:.09em;font-weight:850}.logo span{color:var(--accent)}.logo small{display:block;font-size:8px;color:var(--muted);letter-spacing:.22em;margin-top:3px;font-weight:600}.nav-links{display:flex;align-items:center;gap:32px;margin-left:auto}.nav-links a{font-size:13px;color:var(--muted);font-weight:600;padding:29px 0;position:relative}.nav-links a.active,.nav-links a:hover{color:var(--text)}.nav-links a.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent)}.theme-toggle,.menu-toggle{background:var(--surface2);color:var(--text);border:1px solid var(--line);border-radius:12px;width:40px;height:40px}.menu-toggle{display:none}.hero{min-height:560px;display:grid;grid-template-columns:1fr 1.03fr;align-items:center;gap:42px;padding-top:70px;padding-bottom:76px}.eyebrow{font-size:11px;letter-spacing:.19em;font-weight:800;color:var(--accent);margin-bottom:23px}.pulse{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%;box-shadow:0 0 13px var(--accent);margin-right:8px}.hero h1{font-size:clamp(65px,7vw,104px);margin:0 0 4px;line-height:1.1;letter-spacing:-.08em}.hero h2{font-size:clamp(20px,2.2vw,30px);font-weight:500;letter-spacing:-.035em;line-height:1.4;margin:12px 0 23px}.hero p,.page-intro p{font-size:16px;line-height:1.85;color:var(--muted);max-width:590px}.actions{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}.btn{min-height:47px;display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:13px 22px;border-radius:8px;font-size:13px;font-weight:800;transition:transform .2s}.btn:hover{transform:translateY(-2px)}.btn.primary{background:var(--accent);color:#07232c}.btn.outline{border:1px solid var(--line);color:var(--text)}.hero-notes{display:flex;gap:20px;color:var(--muted);font-size:10px;font-weight:750;letter-spacing:.12em;margin-top:70px}.hero-art{min-height:390px;border:1px solid #2b5264;border-radius:13px;background:radial-gradient(ellipse at 67% 31%,#1a647266,transparent 50%),linear-gradient(135deg,#0d2235,#07111e 67%,#04111d);position:relative;overflow:hidden;box-shadow:var(--shadow);transform:perspective(1000px) rotateY(-3deg)}.hero-art:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 97%,#3ee9d80c 98%),linear-gradient(0deg,transparent 97%,#3ee9d80c 98%);background-size:22px 22px}.screen{position:absolute;background:#091622e8;border:1px solid #2e6170;border-radius:8px;box-shadow:0 15px 60px #000b}.screen-one{width:64%;height:49%;top:18%;left:7%;padding:14px}.screen-two{width:49%;height:49%;right:5%;bottom:9%;padding:16px;transform:rotate(2deg)}.screen-header{font-size:9px;color:#67c7d8;display:flex;justify-content:space-between;gap:5px}.screen-header b{color:#36dcb1}.schematic{display:flex;align-items:center;gap:9px;justify-content:center;margin:28px 0 22px;color:#d2f7f9;font-size:11px}.schematic span{padding:14px 12px;border:1px solid #2e7485;background:#153344;border-radius:6px}.schematic i{width:22px;height:2px;background:#38b9c0}.mini-chart{display:flex;gap:8px;height:29px;align-items:end}.mini-chart i{display:block;flex:1;background:#1ca5b1}.mini-chart i:nth-child(2n){height:48%}.mini-chart i:nth-child(2n+1){height:79%}.mini-chart i:nth-child(3n){height:96%}.screen-two small{font-size:9px;color:#78b8c8;letter-spacing:.1em}.screen-two code{display:block;margin-top:19px;line-height:2;color:#d6e6ef;font-size:12px}.screen-two em{color:#bd93f9}.screen-two strong{color:#67e5c5;font-weight:400}.chip{position:absolute;right:12%;top:15%;font-size:45px;color:#20b8bb;opacity:.8}.art-caption{position:absolute;bottom:10%;left:8%;color:#72aab6;font-size:10px;letter-spacing:.2em;line-height:2}.art-caption b{color:#49e5e3}.section{padding-top:90px;padding-bottom:95px}.section-tint{background:var(--bg-alt)}.section-header{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:32px}.section-header h2,.about-grid h2,.cta h2,.contact-panel h2{font-size:clamp(28px,3vw,40px);letter-spacing:-.04em;line-height:1.2;margin:0}.text-link{color:var(--accent);font-weight:700;font-size:13px}.skills-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.skill-card{padding:24px 20px;background:var(--surface);border:1px solid var(--line);border-radius:10px;min-height:201px}.skill-icon{display:block;font-size:28px;color:var(--accent);height:47px}.skill-card h3{font-size:14px;margin:5px 0 13px}.skill-card p{font-size:12px;line-height:1.7;color:var(--muted);margin:0}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.project-card{background:var(--surface);border:1px solid var(--line);border-radius:11px;overflow:hidden;transition:transform .2s,border-color .2s}.project-card:hover{transform:translateY(-5px);border-color:var(--accent2)}.project-image{height:215px;display:block;overflow:hidden;background:#0b2432}.project-image img{width:100%;height:100%;object-fit:cover}.cover-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#57e0df;background:radial-gradient(circle at center,#166077,#102536 67%,#071927)}.cover-placeholder span{font-size:80px;line-height:1.1}.cover-placeholder small{font-size:10px;letter-spacing:.2em}.project-content{padding:23px}.project-label{font-size:10px;font-weight:800;letter-spacing:.15em;color:var(--accent)}.project-content h3{margin:9px 0 12px;font-size:21px}.project-content p{font-size:13px;color:var(--muted);line-height:1.7;min-height:65px}.project-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px;border-top:1px solid var(--line);padding-top:14px;margin-top:17px}.project-bottom span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-bottom a{font-size:20px;color:var(--accent)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px}.about-grid p,.cta p,.contact-panel p{color:var(--muted);line-height:1.9}.tech-panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:28px}.tech-panel h3{font-size:22px;margin:0 0 22px}.tags{display:flex;flex-wrap:wrap;gap:9px}.tags span{padding:9px 12px;background:var(--surface2);border:1px solid var(--line);border-radius:5px;font-size:11px;color:var(--muted)}.quote{margin-top:26px;border-left:2px solid var(--accent);padding:16px 0 16px 18px;color:var(--muted);font-size:14px;line-height:1.8}.cta{margin:0 0 90px;padding:45px 55px;background:linear-gradient(110deg,var(--surface),var(--bg-alt));border:1px solid var(--line);border-radius:13px;display:flex;align-items:center;justify-content:space-between;gap:20px}.cta p{margin-bottom:0}.footer{border-top:1px solid var(--line);padding:39px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer p,.footer small{font-size:11px;color:var(--muted)}.footer-inner>div:nth-child(2){display:flex;gap:22px;font-size:12px;color:var(--muted)}.page-intro{padding-top:96px;padding-bottom:35px}.page-intro h1{font-size:clamp(43px,5vw,70px);letter-spacing:-.07em;margin:0}.detail-intro .text-link{display:inline-block;margin-bottom:35px}.detail-intro .tags{margin-top:24px}.detail-body{padding-bottom:110px}.detail-cover{width:100%;max-height:570px;object-fit:cover;border:1px solid var(--line);border-radius:12px;margin-bottom:45px}.richtext{font-size:17px;line-height:2;color:var(--muted);max-width:850px;white-space:normal}.contact-panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:40px}@media(max-width:1000px){.skills-grid{grid-template-columns:repeat(3,1fr)}.hero{grid-template-columns:1fr 1fr;gap:15px}.about-grid{gap:36px}.nav-links{gap:19px}}@media(max-width:760px){.wrap{width:min(100% - 32px,650px)}.site-header{height:69px}.menu-toggle{display:block;margin-left:auto}.nav-links{display:none;position:absolute;top:69px;left:0;right:0;padding:12px 25px 25px;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:0}.nav-links.open{display:flex}.nav-links a{padding:14px 0}.nav-links a.active:after{bottom:4px;right:auto;width:50px}.hero{grid-template-columns:1fr;padding-top:60px;gap:34px}.hero-art{min-height:310px;transform:none}.hero-notes{margin-top:35px}.skills-grid{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-grid{grid-template-columns:1fr;gap:35px}.section{padding:65px 0}.footer-inner,.cta{flex-direction:column;align-items:flex-start}.page-intro{padding-top:60px}}@media(max-width:530px){.skills-grid,.project-grid{grid-template-columns:1fr}.hero h1{font-size:70px}.hero p{font-size:14px}.screen-two code{font-size:9px}.skill-card{min-height:auto}.section-header{align-items:start;flex-direction:column}.cta{padding:30px 25px}.footer-inner>div:nth-child(2){flex-wrap:wrap}.hero-notes{gap:10px;font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.hero-art.custom-hero-art{transform:none;background:var(--surface);padding:0}.hero-art.custom-hero-art:before{display:none}.hero-photo{display:block;width:100%;height:100%;min-height:390px;object-fit:cover}@media(max-width:760px){.hero-photo{min-height:310px}}
