@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--bg:#080b13;--panel:#111827;--panel2:#151f30;--white:#f7f8fc;--muted:#a0aabd;--dim:#657187;--line:rgba(255,255,255,.11);--mint:#8cf2d0;--violet:#b9a4ff;--blue:#84bfff;--display:'Space Grotesk',sans-serif;--body:'DM Sans',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--white);font-family:var(--body);font-size:14px;line-height:1.7;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.wrap{width:min(1180px,calc(100% - 52px));margin:auto}.noise{position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E")}.scroll-progress{height:2px;position:fixed;top:0;left:0;width:0;background:linear-gradient(90deg,var(--mint),var(--violet));z-index:100}.header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 max(26px,calc((100% - 1180px)/2));position:sticky;top:0;z-index:40;background:#080b13d9;backdrop-filter:blur(18px);border-bottom:1px solid #ffffff0d}.logo{display:flex;align-items:center;gap:11px;font:700 12px var(--display);letter-spacing:1.4px;line-height:1.2}.logo-light{color:var(--mint);margin-left:4px}.logo small{display:block;font:500 8px var(--body);letter-spacing:2.4px;color:var(--muted);margin-top:6px}.logo-cube{width:38px;height:38px;position:relative;display:grid;place-items:center;border:1px solid #8cf2d077;border-radius:10px;transform:rotate(-4deg);box-shadow:inset 0 0 16px #8cf2d014}.logo-cube i,.logo-cube b{font:700 15px var(--display);font-style:normal;position:absolute}.logo-cube i{color:var(--mint);transform:translate(-4px,-2px)}.logo-cube b{color:#fff;transform:translate(5px,4px);font-size:12px}.nav{display:flex;align-items:center;gap:30px;color:#b9c1d0;font-size:12px}.nav>a:not(.nav-contact):hover{color:var(--mint)}.nav-count{font-size:9px;color:var(--mint);margin-left:3px}.nav-contact{padding:10px 15px;border:1px solid #ffffff24;border-radius:7px;color:#fff}.nav-contact span{color:var(--mint);margin-left:12px}.nav-toggle{display:none;background:none;color:white;border:0;font-size:24px}
.hero{position:relative;min-height:730px;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 76% 40%,#1d2945 0,transparent 38%),radial-gradient(ellipse at 13% 80%,#1d342e50 0,transparent 35%),var(--bg)}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:65px 65px;mask-image:linear-gradient(90deg,black,transparent 88%);opacity:.38}.hero-orb{position:absolute;border-radius:50%;filter:blur(1px);pointer-events:none}.orb-a{width:420px;height:420px;right:8%;top:10%;background:radial-gradient(circle at 30% 30%,#8cf2d023,transparent 70%);border:1px solid #8cf2d012}.orb-b{width:230px;height:230px;left:42%;bottom:-120px;background:#b9a4ff0c;filter:blur(40px)}.hero-inner{position:relative;display:grid;grid-template-columns:1.02fr .98fr;gap:35px;align-items:center;padding-top:72px;padding-bottom:92px}.hero-copy{position:relative;z-index:2}.availability{display:inline-flex;align-items:center;gap:9px;border:1px solid #8cf2d038;background:#8cf2d00a;padding:7px 11px;border-radius:5px;color:#b5f9e1;font-size:9px;letter-spacing:1.4px;margin-bottom:34px}.pulse{width:6px;height:6px;background:var(--mint);border-radius:50%;box-shadow:0 0 0 4px #8cf2d01d;animation:pulse 2s infinite}.hero-overline,.eyebrow{font-size:10px;letter-spacing:2px;color:var(--violet);font-weight:700}.hero-overline{display:flex;align-items:center;gap:10px}.overline-line{width:26px;height:1px;background:var(--violet)}.hero h1{font:600 clamp(48px,6.2vw,79px)/1.02 var(--display);letter-spacing:-4.4px;margin:21px 0 22px}.gradient-text{background:linear-gradient(110deg,#8cf2d0 5%,#b7e9eb 38%,#b9a4ff 86%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-lead{max-width:535px;color:var(--muted);font-size:14px;line-height:1.95}.hero-lead strong{color:#fff}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:13px 18px;border-radius:7px;font-size:12px;font-weight:700;transition:transform .25s,box-shadow .25s,border-color .25s}.btn-main{background:var(--mint);color:#06110f;box-shadow:0 8px 25px #8cf2d01a}.btn-main:hover{transform:translateY(-3px);box-shadow:0 12px 35px #8cf2d032}.btn-glass{border:1px solid #ffffff2a;background:#ffffff05}.btn-glass:hover{border-color:var(--mint);transform:translateY(-2px)}.btn span{font-size:16px}.hero-proof{display:flex;align-items:center;gap:19px;margin-top:43px}.hero-proof div{display:flex;flex-direction:column}.hero-proof b{font:600 21px var(--display)}.hero-proof span{font-size:8px;letter-spacing:1px;color:var(--dim);margin-top:3px}.hero-proof>i{height:32px;width:1px;background:var(--line)}.hero-visual{height:500px;position:relative;display:grid;place-items:center;perspective:1100px}.visual-ring{position:absolute;border:1px solid #ffffff0e;border-radius:50%;transform:rotateX(65deg) rotateZ(-23deg)}.ring-1{width:450px;height:450px;animation:orbit 28s linear infinite}.ring-2{width:365px;height:365px;transform:rotateX(65deg) rotateZ(35deg);border-color:#8cf2d025;animation:orbit 20s linear infinite reverse}.ring-3{width:510px;height:300px;transform:rotateX(66deg) rotateZ(15deg);border-color:#b9a4ff20}.portrait-frame{position:relative;width:min(330px,75%);height:410px;padding:9px;border:1px solid #ffffff36;border-radius:15px;background:linear-gradient(145deg,#ffffff1c,#101725a8 40%,#8cf2d01b);box-shadow:22px 30px 80px #0008,0 0 65px #8cf2d00a;transform:rotateY(-9deg) rotateX(3deg);transform-style:preserve-3d;transition:transform .2s ease-out;z-index:2}.portrait-frame:before{content:"";position:absolute;inset:5px;border-radius:10px;border:1px solid #ffffff13;pointer-events:none;z-index:1}.portrait-top{height:25px;display:flex;align-items:center;justify-content:space-between;padding:0 8px;color:#b4bdce;font-size:7px;letter-spacing:1.5px}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--mint);box-shadow:0 0 12px var(--mint)}.hero-portrait{display:block;width:100%;height:calc(100% - 69px);object-fit:cover;object-position:center 26%;border-radius:7px;filter:saturate(.86)}.portrait-bottom{height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 7px}.portrait-bottom small{display:block;font-size:7px;color:var(--mint);letter-spacing:1.5px}.portrait-bottom b{font:600 13px var(--display)}.portrait-monogram{font:600 18px var(--display);color:#8cf2d077}.floating-chip{position:absolute;z-index:4;display:flex;align-items:center;gap:10px;padding:12px 14px;background:#111827e8;border:1px solid #ffffff1f;border-radius:10px;box-shadow:0 15px 45px #0005;backdrop-filter:blur(12px);animation:float 5s ease-in-out infinite}.floating-chip b,.floating-chip small{display:block}.floating-chip b{font-size:10px}.floating-chip small{font-size:9px;color:var(--muted);margin-top:2px}.chip-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:#b9a4ff1b;color:var(--violet);font:700 13px monospace}.chip-icon.mint{background:#8cf2d01b;color:var(--mint);font-size:18px}.chip-code{left:-5px;top:85px}.chip-world{right:-12px;bottom:80px;animation-delay:-2.2s}.design-label,.floating-label{position:absolute;right:5px;top:42px;font-size:8px;letter-spacing:2px;color:#8995ab;writing-mode:vertical-rl}.floating-label{right:4px;top:190px}.floating-label span{color:var(--mint);margin:7px 0}.scroll-hint{position:absolute;left:0;bottom:29px;display:flex;align-items:center;gap:12px;color:#8995a9;font-size:8px;letter-spacing:2px}.scroll-mouse{width:16px;height:25px;border:1px solid #8cf2d075;border-radius:10px;position:relative}.scroll-mouse:after{content:"";position:absolute;width:2px;height:5px;top:5px;left:6px;background:var(--mint);border-radius:2px;animation:scrollDot 1.5s infinite}.ticker{overflow:hidden;border-bottom:1px solid var(--line);background:#0d121d}.ticker-track{display:flex;align-items:center;gap:27px;width:max-content;padding:17px 0;animation:ticker 38s linear infinite}.ticker-track span{font-size:9px;letter-spacing:2px;color:#b5bfd0;font-weight:600;white-space:nowrap}.ticker-track i{font-style:normal;color:var(--mint);font-size:12px}
.section-space{padding:110px 0}.section-index{display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:1.8px;color:#9ca8bc;font-weight:600}.section-index>span{color:var(--mint);font:600 13px var(--display)}.section-index>i{height:1px;width:30px;background:var(--mint);opacity:.7}.about-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:90px;align-items:center;margin-top:55px}.about-photo-wrap{max-width:410px;position:relative}.about-photo-card{position:relative;padding:10px;border:1px solid #ffffff25;border-radius:13px;background:linear-gradient(135deg,#ffffff18,#ffffff03);transform:rotate(-3deg);box-shadow:20px 25px 65px #0006;transition:transform .25s}.about-photo-card img{display:block;width:100%;height:390px;object-fit:cover;object-position:center 45%;border-radius:8px;filter:saturate(.75)}.photo-stamp{position:absolute;right:-22px;bottom:35px;background:var(--mint);color:#08130f;padding:15px 18px;font:700 11px/1.35 var(--display);letter-spacing:1px;transform:rotate(6deg);box-shadow:0 10px 25px #0004}.photo-stamp span{display:block;font-size:19px;text-align:right}.photo-caption{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted);margin-top:24px}.caption-dot{width:6px;height:6px;border-radius:50%;background:var(--mint)}.about-text .eyebrow{margin:0 0 17px}.about-text h2,.section-head h2,.projects-heading h2,.showreel-copy h2,.experience-grid h2,.contact-layout h2{font:600 clamp(37px,4.5vw,58px)/1.1 var(--display);letter-spacing:-2.7px;margin:0 0 24px}.about-text>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:2;max-width:610px}.under-link{display:inline-block;color:var(--mint);font-size:12px;font-weight:700;margin-top:10px;border-bottom:1px solid #8cf2d04a;padding-bottom:6px}.under-link span{margin-left:20px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:70px}.principle{padding:23px 23px 20px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(140deg,#111827,#0c111c);transition:transform .25s,border-color .25s}.principle:hover{transform:translateY(-5px);border-color:#8cf2d04f}.principle>span{font-size:8px;color:var(--mint);letter-spacing:1.5px}.principle b{display:block;font:600 16px var(--display);margin-top:18px}.principle p{font-size:11px;line-height:1.8;color:var(--muted);margin-bottom:0}.skills-section{background:radial-gradient(ellipse at 95% 15%,#2320444a,transparent 35%),#0c111c;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin:28px 0 38px}.section-head .eyebrow,.projects-heading .eyebrow,.showreel-copy .eyebrow,.contact-layout .eyebrow{margin:0 0 14px}.section-head h2,.projects-heading h2{margin:0}.section-head>p{max-width:340px;color:var(--muted);font-size:12px;line-height:1.9;margin:0 0 5px}.skill-deck{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;perspective:1000px}.skill-3d{min-height:245px;padding:22px 19px;border:1px solid #ffffff14;border-radius:12px;background:linear-gradient(145deg,#151e2d,#0e1420);position:relative;overflow:hidden;transform-style:preserve-3d;transition:transform .3s,border-color .3s,box-shadow .3s}.skill-3d:after{content:"";position:absolute;width:140px;height:140px;border-radius:50%;right:-70px;top:-70px;background:#8cf2d00b;filter:blur(1px)}.skill-3d:hover{transform:translateY(-7px) rotateX(3deg);border-color:#8cf2d048;box-shadow:0 20px 45px #0003}.skill-top{display:flex;justify-content:space-between;align-items:center}.skill-top>span:first-child{font-size:9px;color:#718097}.skill-glyph{font:600 26px var(--display);color:var(--mint)}.skill-3d h3{font:600 16px var(--display);margin:25px 0 10px}.skill-3d p{font-size:11px;line-height:1.9;color:var(--muted);min-height:63px}.skill-meter{height:2px;background:#293247;margin:18px 0 10px}.skill-meter span{height:100%;display:block;background:linear-gradient(90deg,var(--mint),var(--violet))}.skill-3d>small{font-size:7px;letter-spacing:1.5px;color:#7c899e}
.projects-section{background:var(--bg)}.projects-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin:28px 0 35px}.projects-sub{font-size:12px;color:var(--muted);margin:14px 0 0}.project-count{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--line);border-radius:9px;flex-shrink:0}.project-count strong{font:600 32px var(--display);color:var(--mint)}.project-count span{font-size:8px;line-height:1.5;letter-spacing:1.3px;color:var(--muted)}.global-feature{position:relative;display:flex;align-items:center;gap:23px;padding:22px 25px;border:1px solid #8cf2d03c;border-radius:12px;background:radial-gradient(ellipse at 85% 50%,#8cf2d018,transparent 50%),linear-gradient(100deg,#12202a,#13172a);overflow:hidden;margin-bottom:25px}.global-globe{width:64px;height:64px;flex-shrink:0;position:relative;display:grid;place-items:center;border:1px solid #8cf2d04d;border-radius:50%;color:var(--mint);font-size:27px;background:#8cf2d008}.globe-orbit{position:absolute;inset:7px -8px;border:1px solid #8cf2d040;border-radius:50%;transform:rotate(-35deg)}.global-copy small{font-size:8px;letter-spacing:1.7px;color:var(--mint)}.global-copy h3{font:600 18px var(--display);margin:4px 0}.global-copy p{font-size:10px;color:var(--muted);margin:0}.global-stamp{margin-left:auto;text-align:right;font-size:8px;line-height:1.6;letter-spacing:2px;color:#8da1b2}.global-stamp b{font-size:15px;color:var(--mint)}.project-filters{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:20px}.filter{border:1px solid transparent;background:transparent;color:#aab4c6;border-radius:6px;padding:9px 12px;font-size:10px;cursor:pointer;transition:.2s}.filter span{font-size:8px;color:#8491a5;margin-left:5px}.filter.active,.filter:hover{background:#8cf2d014;border-color:#8cf2d04a;color:var(--mint)}.filter-note{margin-left:auto;font-size:8px;letter-spacing:1px;color:#748198}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px;perspective:1200px}.project-card{border:1px solid #ffffff14;border-radius:11px;overflow:hidden;background:#101621;transform-style:preserve-3d;transition:transform .3s,border-color .3s,box-shadow .3s;min-width:0}.project-card:hover{border-color:#8cf2d04d;box-shadow:0 20px 50px #0005;z-index:2}.project-card[hidden]{display:none}.project-shot{display:block;height:225px;position:relative;overflow:hidden;background:#172235}.project-shot>img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .6s,filter .4s;filter:saturate(.9)}.project-card:hover .project-shot>img{transform:scale(1.055);filter:saturate(1.1)}.project-shot:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#080b131c,transparent 40%,#080b13b8);pointer-events:none}.shot-fallback-art{position:absolute;inset:0;padding:26px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:radial-gradient(circle at 80% 20%,#b9a4ff32,transparent 45%),linear-gradient(135deg,#172a35,#121726 70%)}.shot-fallback-art b{font:600 25px/1.2 var(--display);max-width:240px;margin:14px 0}.fallback-label{font-size:8px;letter-spacing:2px;color:var(--mint)}.shot-fallback-art i{width:45px;height:3px;background:var(--violet);margin:3px 0 10px}.shot-fallback-art small{font-size:8px;letter-spacing:1.5px;color:#9ba8ba}.project-shot:not(.shot-fallback) .shot-fallback-art{display:none}.shot-fallback .shot-fallback-art{display:flex}.shot-open{position:absolute;bottom:15px;left:16px;z-index:3;font-size:8px;letter-spacing:1.5px;color:#fff}.intl-tag{position:absolute;top:13px;left:13px;z-index:3;padding:6px 8px;border:1px solid #8cf2d05e;background:#08110edb;color:var(--mint);border-radius:4px;font-size:7px;letter-spacing:1px}.project-number{position:absolute;right:13px;bottom:13px;z-index:3;font:600 18px var(--display);color:#ffffffab}.project-details{display:flex;justify-content:space-between;align-items:center;padding:17px 16px 10px}.project-region{font-size:7px;letter-spacing:1.5px;color:var(--mint);margin-bottom:6px}.project-details h3{font:600 15px var(--display);margin:0 0 4px}.project-details p{font-size:10px;color:var(--muted);margin:0}.project-arrow{width:30px;height:30px;display:grid;place-items:center;flex-shrink:0;border:1px solid #ffffff24;border-radius:50%;color:var(--mint);transition:background .2s,transform .2s}.project-arrow:hover{background:var(--mint);color:#08110f;transform:rotate(45deg)}.project-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 15px;border-top:1px solid #ffffff0d;margin-top:7px;color:#8490a4;font-size:9px}.project-footer a{color:#c7d2df}.project-footer a span{color:var(--mint);margin-left:4px}.project-footer a:hover{color:var(--mint)}.project-disclaimer{font-size:9px;color:#758198;margin-top:18px;line-height:1.7}.showreel-section{background:radial-gradient(ellipse at 10% 70%,#253a2c2b,transparent 35%),#0d121d;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.showreel-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:center;margin-top:45px}.showreel-copy h2{margin-top:12px}.showreel-copy>p:not(.eyebrow){font-size:12px;line-height:1.9;color:var(--muted);max-width:390px}.journey-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:24px}.journey-tags span{padding:7px 9px;border:1px solid var(--line);border-radius:5px;font-size:9px;color:#c4cede}.video-shell{border:1px solid #ffffff26;background:#090d15;border-radius:12px;overflow:hidden;box-shadow:0 25px 70px #0005;transform:rotateY(-2deg)}.video-top,.video-bottom{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;font-size:8px;letter-spacing:1.2px;color:#9ba8ba}.video-top{border-bottom:1px solid #ffffff14}.video-top span:first-child{display:flex;align-items:center;gap:8px}.video-top i{width:5px;height:5px;background:var(--mint);border-radius:50%}.video-shell video{display:block;width:100%;max-height:390px;object-fit:cover;background:#05070b}.video-bottom{border-top:1px solid #ffffff14;color:var(--mint)}.gallery-strip{display:grid;grid-template-columns:1fr 1fr .9fr;gap:14px;margin-top:45px}.gallery-item{height:190px;position:relative;overflow:hidden;border-radius:9px;border:1px solid var(--line)}.gallery-item img{width:100%;height:100%;object-fit:cover;filter:saturate(.7);transition:transform .5s}.gallery-item:hover img{transform:scale(1.07)}.gallery-item:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#080b13d9)}.gallery-item span{position:absolute;bottom:12px;left:14px;z-index:1;font-size:8px;letter-spacing:1.8px}.gallery-quote{display:flex;flex-direction:column;justify-content:center;padding:20px 24px;border:1px solid #b9a4ff2d;border-radius:9px;background:linear-gradient(140deg,#201d37,#101521)}.gallery-quote>span{font:600 44px var(--display);color:var(--violet);line-height:1}.gallery-quote p{font:500 22px/1.3 var(--display);margin:8px 0 17px}.gallery-quote p b{color:var(--mint)}.gallery-quote small{font-size:7px;letter-spacing:1.3px;color:#9ba6bb}.experience-section{background:var(--bg)}.experience-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px}.experience-grid h2{margin:27px 0 17px}.experience-lead{font-size:12px;line-height:1.9;color:var(--muted);max-width:360px}.timeline{border-left:1px solid #46516a;padding-left:29px;margin-top:10px}.timeline article{position:relative;padding-bottom:32px}.timeline article:last-child{padding-bottom:0}.timeline-pin{position:absolute;left:-35px;top:3px;width:11px;height:11px;background:var(--mint);border:3px solid var(--bg);border-radius:50%;box-shadow:0 0 0 1px var(--mint)}.timeline article>small{font-size:8px;letter-spacing:1.5px;color:var(--mint)}.timeline h3{font:600 18px var(--display);margin:7px 0 3px}.timeline h4{font-size:11px;color:#c2ccdc;font-weight:500;margin:0 0 9px}.timeline p{font-size:11px;color:var(--muted);line-height:1.8;margin:0}.contact-section{padding-top:50px}.contact-card{position:relative;overflow:hidden;border:1px solid #ffffff22;border-radius:15px;padding:35px;background:radial-gradient(ellipse at 95% 0%,#4c3d7c40,transparent 42%),radial-gradient(ellipse at 5% 100%,#2459472e,transparent 40%),#101725}.contact-stars{position:absolute;right:30px;top:15px;font-size:34px;color:#8cf2d03d}.contact-stars span{font-size:18px;color:#b9a4ff75}.contact-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:55px;margin-top:32px}.contact-layout h2{margin:0 0 19px}.contact-lead{max-width:420px;color:var(--muted);font-size:12px;line-height:1.9;margin-bottom:24px}.contact-links>a{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.contact-icon{display:grid;place-items:center;width:36px;height:36px;border:1px solid #ffffff22;border-radius:8px;color:var(--mint);font-size:15px}.contact-links>a>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.contact-links small{font-size:7px;letter-spacing:1.5px;color:#8b98ae}.contact-links b{font-size:11px;overflow-wrap:anywhere}.contact-links i{font-style:normal;color:var(--mint);margin-left:auto}.contact-location{font-size:10px;color:var(--muted);padding-top:17px}.footer{border-top:1px solid var(--line);padding:25px 0}.footer-inner{display:flex;align-items:center;gap:24px}.footer-inner>p{margin-right:auto;font-size:10px;color:var(--muted)}.footer-inner>span,.to-top{font-size:9px;color:var(--muted)}.to-top{letter-spacing:1.2px}.to-top:hover{color:var(--mint)}
.reveal{opacity:1;transform:none;transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}.project-card.reveal{transition:opacity .7s ease,transform .35s ease,border-color .3s,box-shadow .3s}.project-card.reveal.is-visible:hover{transform:translateY(-6px) rotateX(1deg)}@keyframes ticker{to{transform:translateX(-50%)}}@keyframes orbit{to{transform:rotateX(65deg) rotateZ(337deg)}}@keyframes float{0%,100%{translate:0 0}50%{translate:0 -10px}}@keyframes pulse{0%,100%{box-shadow:0 0 0 4px #8cf2d01d}50%{box-shadow:0 0 0 7px #8cf2d005}}@keyframes scrollDot{0%{transform:translateY(0);opacity:1}100%{transform:translateY(8px);opacity:0}}
@media(max-width:1000px){.hero-inner{grid-template-columns:1fr .85fr;gap:10px}.hero h1{font-size:61px}.hero-visual{transform:scale(.92)}.chip-code{left:-20px}.chip-world{right:-18px}.about-layout{gap:55px}.skill-deck{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:repeat(2,1fr)}.showreel-grid{gap:35px}.experience-grid{gap:50px}}
@media(max-width:700px){.wrap{width:calc(100% - 34px)}.header{height:68px;padding:0 17px}.nav-toggle{display:block}.nav{display:none;position:absolute;top:67px;left:0;right:0;flex-direction:column;align-items:stretch;gap:17px;padding:22px 20px;background:#0c111c;border-bottom:1px solid var(--line)}.nav.open{display:flex}.nav-contact{text-align:center}.hero{min-height:unset}.hero-inner{display:flex;flex-direction:column;align-items:stretch;padding-top:55px;padding-bottom:85px}.availability{font-size:8px;margin-bottom:28px}.hero h1{font-size:clamp(46px,12vw,65px);letter-spacing:-3px}.hero-lead{font-size:13px}.hero-proof{gap:12px;margin-top:35px}.hero-proof span{font-size:7px;letter-spacing:.6px}.hero-proof b{font-size:18px}.hero-visual{height:425px;margin-top:12px;transform:none}.portrait-frame{height:355px;width:270px}.hero-portrait{object-position:center 25%}.ring-1{width:360px;height:360px}.ring-2{width:300px;height:300px}.ring-3{width:400px;height:250px}.chip-code{left:0;top:52px}.chip-world{right:0;bottom:52px}.floating-chip{padding:9px 10px}.floating-chip b{font-size:9px}.floating-chip small{font-size:8px}.chip-icon{width:28px;height:28px}.floating-label{right:0;top:160px;font-size:7px}.scroll-hint{bottom:26px}.section-space{padding:76px 0}.about-layout,.showreel-grid,.experience-grid,.contact-layout{grid-template-columns:1fr;gap:34px}.about-layout{margin-top:38px}.about-photo-wrap{max-width:370px;margin:0 auto;width:88%}.about-photo-card img{height:340px}.about-text h2,.section-head h2,.projects-heading h2,.showreel-copy h2,.experience-grid h2,.contact-layout h2{font-size:clamp(37px,10vw,48px);letter-spacing:-2px}.principles{grid-template-columns:1fr;gap:10px;margin-top:45px}.principle{padding:19px}.principle b{margin-top:10px}.section-head{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:28px}.section-head>p{font-size:11px}.skill-deck{gap:10px}.skill-3d{padding:17px 14px;min-height:240px}.skill-3d h3{font-size:14px}.skill-3d p{font-size:10px}.projects-heading{align-items:flex-start;gap:15px}.project-count{padding:9px 11px}.project-count strong{font-size:24px}.project-count span{font-size:7px}.projects-sub{max-width:290px;line-height:1.8}.global-feature{gap:12px;padding:15px}.global-globe{width:45px;height:45px;font-size:21px}.global-copy h3{font-size:13px}.global-copy p{font-size:9px}.global-copy small{font-size:7px}.global-stamp{font-size:7px}.global-stamp b{font-size:12px}.project-filters{gap:3px}.filter{padding:8px 8px;font-size:9px}.filter-note{width:100%;margin:7px 0 0 4px}.project-grid{grid-template-columns:1fr;gap:15px}.project-shot{height:220px}.project-details h3{font-size:15px}.project-disclaimer{font-size:8px}.showreel-grid{margin-top:35px}.showreel-copy>p:not(.eyebrow){max-width:100%}.video-shell{transform:none}.video-shell video{max-height:none}.gallery-strip{grid-template-columns:1fr 1fr;gap:10px;margin-top:28px}.gallery-item{height:150px}.gallery-quote{grid-column:1/-1;min-height:180px}.experience-grid{gap:32px}.timeline{margin-left:4px}.contact-section{padding-top:10px}.contact-card{padding:25px 18px}.contact-layout{margin-top:27px;gap:22px}.contact-links b{font-size:10px}.footer-inner{flex-wrap:wrap;gap:14px}.footer-inner>p{width:calc(100% - 130px);margin:0;font-size:9px}.footer-inner>span{order:3}.to-top{margin-left:auto;order:4}.noise{opacity:.02}}
@media(max-width:380px){.hero h1{font-size:43px}.hero-proof{gap:8px}.hero-proof span{font-size:6px}.hero-visual{height:385px}.portrait-frame{height:320px;width:245px}.floating-chip b{font-size:8px}.floating-chip small{font-size:7px}.chip-world{right:-3px}.chip-code{left:-3px}.skill-deck{grid-template-columns:1fr}.skill-3d{min-height:205px}.skill-3d p{min-height:auto}.projects-heading{flex-direction:column}.project-count{align-self:flex-start}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}


/* Accessibility-first reveal: content stays visible even when scripts are blocked. */
html{color-scheme:dark}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:86px;padding:9px 12px;border:1px solid #ffffff24;border-radius:7px;background:#ffffff08;color:var(--white);cursor:pointer;font-size:11px;font-weight:700;white-space:nowrap;transition:background .2s,border-color .2s,transform .2s}
.theme-toggle:hover{border-color:var(--mint);transform:translateY(-1px)}
.theme-toggle .theme-icon{font-size:15px;line-height:1}
body[data-theme="light"]{--bg:#f5f7fb;--panel:#ffffff;--panel2:#edf1f7;--white:#152033;--muted:#566276;--dim:#6b778b;--line:rgba(25,40,65,.14);background:var(--bg);color:var(--white);color-scheme:light}
body[data-theme="light"] .header{background:rgba(248,250,253,.92);border-bottom-color:rgba(25,40,65,.12)}
body[data-theme="light"] .nav{color:#4c586b}
body[data-theme="light"] .nav-contact{color:#172235;border-color:#1b2a4328}
body[data-theme="light"] .theme-toggle{color:#152033;background:#fff;border-color:#1b2a4328}
body[data-theme="light"] .hero{background:radial-gradient(ellipse at 76% 40%,#dce6fa 0,transparent 38%),radial-gradient(ellipse at 13% 80%,#d4f4e750 0,transparent 35%),var(--bg)}
body[data-theme="light"] .hero-grid{background-image:linear-gradient(#24334c0b 1px,transparent 1px),linear-gradient(90deg,#24334c0b 1px,transparent 1px)}
body[data-theme="light"] .hero-lead strong,body[data-theme="light"] .portrait-bottom b{color:#152033}
body[data-theme="light"] .availability{color:#08765c;background:#0b98750c;border-color:#0b987533}
body[data-theme="light"] .btn-glass{color:#152033;border-color:#15203335;background:#ffffff90}
body[data-theme="light"] .hero-proof>i{background:var(--line)}
body[data-theme="light"] .floating-chip{background:#ffffffed;color:#152033;border-color:#17243a20;box-shadow:0 15px 45px #14223a18}
body[data-theme="light"] .ticker{background:#e9eef6}
body[data-theme="light"] .ticker-track span{color:#45536a}
body[data-theme="light"] .about-photo-card,body[data-theme="light"] .skill-3d,body[data-theme="light"] .principle,body[data-theme="light"] .project-card,body[data-theme="light"] .global-feature,body[data-theme="light"] .video-shell,body[data-theme="light"] .gallery-quote,body[data-theme="light"] .contact-card{background:#fff;border-color:rgba(25,40,65,.13);box-shadow:0 18px 50px rgba(25,40,65,.06)}
body[data-theme="light"] .skill-3d p,body[data-theme="light"] .principle p,body[data-theme="light"] .global-copy p,body[data-theme="light"] .projects-sub,body[data-theme="light"] .showreel-copy>p:not(.eyebrow),body[data-theme="light"] .experience-lead,body[data-theme="light"] .timeline p,body[data-theme="light"] .contact-lead{color:#566276}
body[data-theme="light"] .skill-top,body[data-theme="light"] .project-footer,body[data-theme="light"] .video-top,body[data-theme="light"] .video-bottom{border-color:rgba(25,40,65,.12)}
body[data-theme="light"] .project-filters .filter{color:#4c586b;border-color:#1b2a4325}
body[data-theme="light"] .project-filters .filter.active{color:#07130f;background:var(--mint);border-color:var(--mint)}
body[data-theme="light"] .project-details h3,body[data-theme="light"] .skill-3d h3,body[data-theme="light"] .principle b,body[data-theme="light"] .global-copy h3,body[data-theme="light"] .timeline h3,body[data-theme="light"] .contact-links b{color:#152033}
body[data-theme="light"] .project-disclaimer{color:#68758a}
body[data-theme="light"] .footer{background:#e9eef6;border-top:1px solid rgba(25,40,65,.12)}
body[data-theme="light"] .footer .logo-cube b{color:#152033}
body[data-theme="light"] .footer-inner>p,body[data-theme="light"] .footer-inner>span,body[data-theme="light"] .to-top{color:#59677b}
body[data-theme="light"] .contact-links>a{border-bottom-color:rgba(25,40,65,.12)}
body[data-theme="light"] .contact-icon{background:#edf1f7}
@media(max-width:900px){.theme-toggle{margin:7px 0 0;width:100%;justify-content:center}body[data-theme="light"] .nav{background:rgba(248,250,253,.98);border-color:rgba(25,40,65,.12)}}


/* V2 layout hardening: explicit layout rules prevent stale/overridden styles from collapsing the page. */
html, body { width:100%; min-width:320px; }
body { overflow-x:hidden; }
.header { width:100%; min-height:78px; display:flex !important; flex-direction:row; align-items:center; justify-content:space-between; gap:24px; padding-left:max(24px,calc((100% - 1180px)/2)); padding-right:max(24px,calc((100% - 1180px)/2)); }
.header .logo { flex:0 0 auto; display:flex; align-items:center; white-space:nowrap; }
.header .nav { display:flex; flex:0 1 auto; flex-direction:row; align-items:center; justify-content:flex-end; gap:clamp(14px,2vw,30px); margin-left:auto; }
.header .nav-toggle { display:none !important; }
.wrap { width:min(1180px,calc(100% - 48px)); margin-left:auto; margin-right:auto; }
.hero { width:100%; }
.hero-inner { width:min(1180px,calc(100% - 48px)); margin:0 auto; display:grid !important; grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr); align-items:center; gap:clamp(20px,3vw,42px); }
.hero-copy { min-width:0; width:100%; grid-column:1; }
.hero-visual { min-width:0; width:100%; max-width:560px; height:500px; grid-column:2; justify-self:center; transform:none; }
.portrait-frame { width:min(330px,75%); max-width:100%; height:410px; overflow:hidden; }
.hero-portrait { display:block; width:100%; height:calc(100% - 69px); object-fit:cover; }
.hero-lead { max-width:100%; }
.hero-buttons { align-items:center; }
.theme-toggle { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:10px 13px; border:1px solid var(--line); border-radius:8px; background:var(--panel); color:var(--white); cursor:pointer; white-space:nowrap; font-size:11px; }
.theme-toggle:hover { border-color:var(--mint); }
img, video { max-width:100%; }
@media (max-width:900px) {
 .header { padding-left:22px; padding-right:22px; gap:16px; }
 .header .nav { gap:13px; }
 .hero-inner { grid-template-columns:minmax(0,1fr) minmax(0,.82fr); gap:12px; }
 .hero h1 { font-size:clamp(43px,6vw,62px); letter-spacing:-2.5px; }
 .hero-visual { height:440px; }
 .portrait-frame { height:365px; width:min(300px,82%); }
}
@media (max-width:700px) {
 .header { height:68px; min-height:68px; padding:0 17px; }
 .header .nav-toggle { display:block !important; flex:0 0 auto; }
 .header .nav { display:none; position:absolute; top:67px; left:0; right:0; flex-direction:column; align-items:stretch; gap:14px; margin:0; padding:20px; background:#0c111c; border-bottom:1px solid var(--line); }
 .header .nav.open { display:flex; }
 body[data-theme="light"] .header .nav { background:rgba(248,250,253,.98); }
 .header .theme-toggle { width:100%; }
 .wrap, .hero-inner { width:calc(100% - 34px); }
 .hero-inner { display:flex !important; flex-direction:column; align-items:stretch; gap:24px; padding-top:48px; padding-bottom:82px; }
 .hero-copy { width:100%; }
 .hero h1 { font-size:clamp(42px,11vw,62px); letter-spacing:-2.6px; }
 .hero-visual { width:100%; max-width:430px; height:420px; margin:0 auto; }
 .portrait-frame { height:345px; width:265px; }
 .hero-portrait { height:calc(100% - 69px); }
 .hero-proof { flex-wrap:wrap; }
}
