
:root{--accent:#168cff;--muted:#98a5b7}*{box-sizing:border-box}body{margin:0;background:#030509;color:#f5f7fb;font-family:Inter,"Segoe UI",Arial,sans-serif}a{color:inherit}.siteNav{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;max-width:1440px;margin:auto;padding:20px 40px;border-bottom:1px solid #ffffff14}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:650;letter-spacing:.22em;font-size:14px}.brand img{width:52px;height:52px;object-fit:contain}.siteNav nav{display:flex;gap:8px}.siteNav nav a{padding:12px 18px;text-decoration:none;font-size:13px;color:#a5afbe;border-radius:100px;border:1px solid transparent;transition:.2s}.siteNav nav a:hover,.siteNav nav a[aria-current=page]{color:#fff;background:#ffffff07;border-color:#ffffff24}a:focus-visible,button:focus-visible{outline:2px solid #168cff;outline-offset:5px}.skip{position:absolute;left:20px;top:-80px;z-index:100}.skip:focus{top:20px;background:#000;padding:15px}.siteFooter{position:relative;z-index:2;max-width:1360px;margin:auto;padding:26px 40px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff15;font-size:11px;letter-spacing:.1em;color:#8c99aa}.siteFooter a{text-decoration:none}.premium{background:radial-gradient(ellipse at 78% 32%,#0d315650,transparent 45%),#030509}.premium::before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(black,transparent)}.feature{position:relative;max-width:1360px;margin:auto;min-height:calc(100svh - 172px);display:grid;grid-template-columns:1.12fr 1fr;gap:60px;align-items:center;padding:68px 40px 90px}.eyebrow{font-size:11px;letter-spacing:.25em;color:#9bb9da;display:flex;align-items:center;gap:12px}.eyebrow:before{content:"";height:1px;width:28px;background:#168cff}h1{font-size:clamp(48px,5.8vw,84px);line-height:1.05;letter-spacing:-.055em;font-weight:550;margin:30px 0 24px}h1 span{color:#8c9bb0}.lead{font-size:17px;line-height:1.85;color:#a8b3c3;max-width:490px}.pill{display:inline-flex;align-items:center;gap:10px;border:1px solid #168cff40;background:#168cff0b;border-radius:30px;padding:9px 14px;font-size:11px;color:#b4ceec;letter-spacing:.12em}.pill i{width:6px;height:6px;border-radius:50%;background:#168cff;box-shadow:0 0 14px #168cff}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.action{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:16px 24px;border-radius:40px;border:1px solid #ffffff27;background:linear-gradient(135deg,#168cff25,#ffffff08);text-decoration:none;font-size:13px;transition:.25s}.action:hover{transform:translateY(-3px);border-color:#168cff80;box-shadow:0 12px 45px #168cff18}.action.secondary{background:transparent;color:#9facbd}.visual{position:relative;display:grid;place-items:center;min-width:0}.orbit{position:absolute;width:100%;aspect-ratio:1;border:1px solid #168cff1c;border-radius:50%;background:radial-gradient(circle,#168cff18,transparent 65%)}.orbit:after{content:"";position:absolute;inset:12%;border:1px dashed #ffffff0c;border-radius:50%}.premiumLogo{width:min(440px,100%);aspect-ratio:1;position:relative;perspective:850px}.lion{position:absolute;inset:0 0 29%;overflow:hidden;transform-origin:50% 60%;will-change:transform}.lion img{width:100%;display:block}.wordmark{position:absolute;inset:71% 0 0;overflow:hidden}.wordmark img{position:absolute;bottom:0;width:100%;display:block}.visualNote{position:absolute;bottom:-20px;font-size:10px;letter-spacing:.19em;color:#6f8aa6}.signature{margin-top:52px;display:flex;gap:28px;font-size:10px;color:#62768e;letter-spacing:.15em}.contactPanel{position:relative;border:1px solid #ffffff18;border-radius:28px;background:linear-gradient(145deg,#ffffff08,#168cff05);padding:38px;width:100%;backdrop-filter:blur(12px)}.contactLogo{display:block;width:190px;margin:0 auto 30px}.contactPanel .label{font-size:10px;letter-spacing:.2em;color:#7d91aa}.email{display:block;font-size:clamp(21px,2.5vw,34px);letter-spacing:-.03em;text-decoration:none;margin:16px 0 30px;overflow-wrap:anywhere}.contactPanel .action{width:100%}.contactPanel p{color:#8e9db0;font-size:12px;line-height:1.7;margin:22px 0 0}.feature>*{animation:enter .8s both}@keyframes enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media(max-width:760px){.siteNav{padding:14px 18px;flex-wrap:wrap;gap:14px}.brand img{width:42px;height:42px}.siteNav nav{gap:0}.siteNav nav a{padding:10px 12px}.feature{grid-template-columns:1fr;padding:50px 24px 65px;gap:45px}.feature h1{font-size:clamp(43px,10vw,65px)}.visual{max-width:370px;width:100%;margin:auto}.premiumLogo{width:320px;max-width:100%}.lead{font-size:15px}.signature{gap:18px}.contactPanel{padding:28px}.siteFooter{padding:24px;flex-wrap:wrap;font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.heroMessage,.scrollCue{opacity:1!important;transform:none!important}#dataCanvas{display:none}.lion{transform:none!important}}

.brand{display:block;line-height:0}.brand img{width:100px;height:64px;object-fit:contain}.siteNav{min-height:100px}.welcome{position:relative;z-index:2;max-width:1440px;margin:auto;min-height:calc(100svh - 172px);display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:40px;padding:64px 64px 90px}.welcome h1{font-size:clamp(58px,6.8vw,102px);margin:28px 0;line-height:1.02;font-weight:500}.welcome h1 em{font-style:normal;background:linear-gradient(110deg,#fff 5%,#8bc4ff 55%,#168cff);background-clip:text;-webkit-background-clip:text;color:transparent}.welcome .lead{max-width:470px}.welcomeVisual{position:relative;display:grid;place-items:center;isolation:isolate}.welcomeVisual:before{content:"";position:absolute;width:110%;aspect-ratio:1;border:1px solid #168cff22;border-radius:50%;background:radial-gradient(circle,#168cff28,transparent 62%);z-index:-1;box-shadow:0 0 100px #168cff09}.welcomeVisual:after{content:"";position:absolute;width:130%;height:1px;background:linear-gradient(90deg,transparent,#168cff55,transparent);top:48%;z-index:-1}.welcomeLogo{width:100%;max-width:540px;filter:drop-shadow(0 20px 50px #000)}.welcomeRail{margin-top:56px;display:flex;gap:34px;border-top:1px solid #ffffff18;padding-top:24px;color:#7b8fa9;font-size:10px;letter-spacing:.17em}.welcomeRail span:first-child{color:#dcecff}.welcomeCanvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;opacity:.5}.welcomePage{background:radial-gradient(ellipse at 70% 40%,#0a203a,#030509 65%)}.galleryPage .artSection{animation:none;margin-top:64px}.galleryPage .siteNav{position:relative}.galleryPage .artTitle{font-size:clamp(40px,6vw,80px)}.galleryPage .artSection{scroll-margin-top:20px}.galleryPage .siteFooter{z-index:2}.galleryPage .artLightbox{z-index:30}@media(max-width:760px){.siteNav{padding:12px 18px;justify-content:center;gap:8px}.brand img{width:98px;height:62px}.siteNav nav{width:100%;justify-content:center;flex-wrap:wrap}.siteNav nav a{padding:10px 11px;font-size:12px}.welcome{grid-template-columns:1fr;padding:48px 24px 65px;gap:38px}.welcome h1{font-size:clamp(52px,12vw,80px)}.welcomeVisual{width:80%;max-width:360px;margin:auto}.welcomeRail{gap:20px;letter-spacing:.1em}.galleryPage .artSection{margin-top:28px}}@media(prefers-reduced-motion:reduce){.welcomeCanvas{display:none}}

/* V3: preserve the square logo and restore the signature red eye. */
.welcome{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:calc(100svh - 180px);padding:60px 52px 72px;gap:56px}
.welcome h1{font-size:clamp(50px,5.8vw,86px);line-height:1.08}
.welcomeVisual{width:100%;max-width:480px;justify-self:center;mix-blend-mode:screen}
.heroLogoShell{position:relative;width:100%;aspect-ratio:1;outline-offset:8px;border-radius:24px;isolation:isolate}
.welcomeLogo{display:block;width:100%;height:auto!important;aspect-ratio:1;object-fit:contain;max-width:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 0 22px #168cff24)}
.welcomeVisual:before{width:100%;box-shadow:0 0 80px #168cff0c}
.welcomeVisual:after{width:112%}
.heroEye{position:absolute;left:40.9%;top:36.35%;width:3.6%;aspect-ratio:1;border-radius:50%;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.72);background:radial-gradient(circle,#fff 0 8%,#ff3333 25%,#ff00009e 48%,transparent 72%);box-shadow:0 0 6px #ffffffcc,0 0 14px #ff0000fa,0 0 30px #ff0000d1,0 0 58px #ff000073;mix-blend-mode:screen;transition:opacity .2s ease}
.heroLogoShell:hover .heroEye,.heroLogoShell:focus-visible .heroEye{opacity:1;animation:heroEyePulse .9s ease-in-out infinite alternate}
@keyframes heroEyePulse{from{transform:translate(-50%,-50%) scale(.78);filter:brightness(1)}to{transform:translate(-50%,-50%) scale(1.34);filter:brightness(1.72)}}
.brand img,.contactLogo,.premiumLogo{mix-blend-mode:screen}
/* A single, shared entrance on every page. No effect on the lightbox. */
@keyframes pageRise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.welcome,.feature,.galleryPage main{animation:pageRise .85s cubic-bezier(.2,.8,.2,1) both}
.feature>*{animation:none}
.galleryPage .artSection{animation:none}
.siteNav{animation:pageRise .65s cubic-bezier(.2,.8,.2,1) both}
@media(max-width:760px){.welcome{grid-template-columns:1fr;padding:42px 24px 58px;gap:38px}.welcome h1{font-size:clamp(46px,10.5vw,70px)}.welcomeVisual{width:min(88%,340px);margin:auto}.welcomeRail{margin-top:34px}}
@media(prefers-reduced-motion:reduce){.welcome,.feature,.galleryPage main,.siteNav{animation:none!important}.heroLogoShell:hover .heroEye,.heroLogoShell:focus-visible .heroEye{animation:none!important;opacity:1}}

/* Projects portfolio */
.projectsPage main{animation:pageRise .85s cubic-bezier(.2,.8,.2,1) both}
.projectsPage .projectHero{min-height:620px;padding-top:60px;padding-bottom:65px;animation:none}
.projectsPage .premiumLogo{width:min(350px,100%)}
.projectsPage .visual{max-width:390px;justify-self:center;width:100%}
.portfolio{position:relative;max-width:1360px;margin:0 auto;padding:24px 40px 75px}
.portfolioHead{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px;padding-top:35px;border-top:1px solid #ffffff1a}
.portfolioHead h2{font-size:clamp(28px,3vw,42px);font-weight:500;letter-spacing:-.04em;margin:18px 0 0;line-height:1.2}
.portfolioCount{font-size:11px;letter-spacing:.16em;white-space:nowrap;color:#7e96b2}
.projectGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.projectCard{position:relative;display:flex;flex-direction:column;min-width:0;padding:34px;border-radius:26px;border:1px solid #ffffff18;background:linear-gradient(145deg,#ffffff06,#168cff05);box-shadow:inset 0 1px 0 #ffffff06;transition:border-color .25s,box-shadow .25s,transform .25s}
.projectCard:hover{transform:translateY(-4px);border-color:#168cff60;box-shadow:0 20px 65px #0005,inset 0 1px 0 #ffffff0b}
.projectTop{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:27px}
.projectNo{color:#5c9cdd;font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:.16em}
.projectCategory{font-size:10px;color:#8a9db4;letter-spacing:.13em;text-align:right}
.projectCard h3{font-size:clamp(24px,2.7vw,36px);font-weight:550;letter-spacing:-.035em;margin:0 0 15px;overflow-wrap:anywhere}
.projectCard h3>span{display:block;color:#8c9bb0;font-size:11px;font-weight:500;letter-spacing:.22em;margin-bottom:9px}
.projectTagline{font-size:16px;color:#dce9f8;line-height:1.5;margin:0 0 16px}
.projectDescription{color:#a2afc0;font-size:14px;line-height:1.85;margin:0 0 24px}
.projectTech{padding:18px 0;border-top:1px solid #ffffff12;margin-top:auto}
.projectTech>span{color:#6f9bc7;font-size:9px;letter-spacing:.18em}
.projectTech p{color:#8c9cb0;font-size:12px;line-height:1.8;margin:10px 0 0}
.projectTags{list-style:none;padding:0;margin:6px 0 28px;display:flex;flex-wrap:wrap;gap:7px}
.projectTags li{font-size:10px;line-height:1.5;color:#a9bfd8;border:1px solid #168cff26;border-radius:20px;background:#168cff08;padding:6px 10px}
.projectLink{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff14;padding-top:18px;color:#dcecff;text-decoration:none;font-size:12px}
.projectLink:hover{color:#69b4ff}
.projectCard:last-child{grid-column:1/-1;background:radial-gradient(ellipse at 95% 0%,#168cff12,transparent 55%),linear-gradient(145deg,#ffffff06,#168cff05)}
.projectCard:last-child .projectDescription,.projectCard:last-child .projectTech p{max-width:850px}
.portfolioEnd{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:38px}
.portfolioEnd p{font-size:15px;color:#8c9cb0}
#portfolio-title{scroll-margin-top:30px}
@media(max-width:760px){.projectsPage .projectHero{min-height:0;padding:44px 24px 65px}.projectsPage .premiumLogo{width:260px}.projectsPage .visual{max-width:290px}.portfolio{padding:0 24px 55px}.portfolioHead{align-items:start;flex-direction:column;gap:16px}.projectGrid{grid-template-columns:1fr;gap:16px}.projectCard{padding:26px}.projectCard:last-child{grid-column:auto}.portfolioEnd{align-items:start;flex-direction:column;gap:12px}}
@media(prefers-reduced-motion:reduce){.projectsPage main{animation:none!important}}

/* V5: Python signature on every project card. */
.projectPython{display:flex;align-items:flex-start;gap:10px;margin:0 0 20px;padding:13px 15px;border:1px solid #168cff24;border-radius:13px;background:linear-gradient(110deg,#168cff0d,#ffffff02);color:#a9c7e8;font-size:12px;line-height:1.8}
.projectPython>span{color:#168cff;font-size:10px;line-height:2.16;flex-shrink:0}
@media(max-width:760px){.projectPython{padding:12px;font-size:12px}.siteNav nav{row-gap:4px}}
