:root{--bg:#0b0b0d;--panel:#131316;--panel2:#19191e;--text:#f3f0eb;--muted:#a4a1a0;--line:#2a292d;--red:#ff4b4b;--orange:#ff8c69;--mono:'DM Mono',monospace;--sans:'Manrope',sans-serif;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.noise{position:fixed;inset:0;pointer-events:none;z-index:20;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='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E")}.scroll-progress{position:fixed;top:0;left:0;height:2px;width:0;background:linear-gradient(90deg,var(--red),var(--orange));z-index:100}.section-wrap{width:min(var(--max),calc(100% - 88px));margin:auto}.site-header{height:82px;padding:0 max(44px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff0c;position:sticky;top:0;background:#0b0b0de8;backdrop-filter:blur(18px);z-index:50}.wordmark{display:flex;align-items:center;gap:12px;font:500 11px var(--mono);letter-spacing:.12em}.brand-symbol{font:800 24px var(--sans);letter-spacing:-.1em}.brand-symbol span{color:var(--red);font-size:13px;vertical-align:top;margin-left:2px}.main-nav{display:flex;align-items:center;gap:34px;font-size:12px;color:#c5c1bf}.main-nav a{transition:color .2s}.main-nav a:hover,.footer-links a:hover{color:var(--red)}.nav-contact{border:1px solid #49464a;padding:11px 16px;border-radius:3px;color:var(--text)!important}.nav-contact b{color:var(--red);margin-left:8px}.menu-toggle{display:none}.hero{min-height:690px;position:relative;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;padding-top:74px;padding-bottom:100px}.eyebrow,.hero-meta,.hero-bottom,.section-kicker,.strip-label,.project-type,.visual-top,.visual-caption,.project-tags,.skill-card small,.skill-index,.tools-line>span,.timeline-date,.timeline-kind,.honours,.contact-pretitle,.orbit-label,.portrait-corner{font:10px var(--mono);letter-spacing:.1em}.eyebrow{color:#c0bcba;display:flex;align-items:center;gap:10px}.status-dot{width:7px;height:7px;background:#75d69a;border-radius:50%;box-shadow:0 0 12px #75d69a88}.hero-overline{font:11px var(--mono);letter-spacing:.17em;color:var(--muted);margin:45px 0 14px}.hero-overline span{color:var(--red)}h1{font-size:clamp(58px,7.2vw,104px);line-height:.99;letter-spacing:-.085em;margin:0;font-weight:700}h1 em,h2 em{font-style:normal;color:var(--red)}.role-line{display:flex;align-items:center;gap:11px;margin:28px 0 17px;min-height:24px;font:11px var(--mono);letter-spacing:.13em}.role-prefix{color:#777}.typed-role{color:var(--orange);min-width:230px}.type-caret{color:var(--red);animation:blink .8s steps(2,start) infinite}@keyframes blink{to{visibility:hidden}}.hero-intro{max-width:570px;color:#aaa6a5;font-size:14px;line-height:1.9}.hero-intro strong{color:var(--text)}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px}.button{display:inline-flex;align-items:center;gap:26px;padding:15px 19px;font-size:11px;font-weight:700;transition:transform .25s,background .25s,border .25s}.button-primary{background:var(--red);color:#160e0e}.button-primary:hover{background:#ff7064;transform:translateY(-3px)}.button span,.text-link span{font-size:17px}.text-link{font-size:11px;border-bottom:1px solid #5b5657;padding-bottom:6px;transition:color .2s,border .2s}.text-link:hover{color:var(--red);border-color:var(--red)}.hero-meta{display:flex;gap:26px;color:#777;margin-top:52px;font-size:9px}.hero-visual{height:480px;position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate}.portrait-halo{position:absolute;width:390px;height:390px;border:1px solid #ff4b4b45;border-radius:50%;box-shadow:0 0 90px #ff4b4b0d,inset 0 0 70px #ff4b4b0b;z-index:-1}.portrait-frame{width:320px;height:405px;position:relative;overflow:hidden;border-radius:170px 170px 12px 12px;background:#42151b;box-shadow:0 25px 80px #0009;transform:rotate(2deg)}.portrait-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#09090bcc)}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center 28%;transition:transform .7s}.hero-visual:hover .portrait-frame img{transform:scale(1.045)}.portrait-corner{position:absolute;z-index:2;bottom:20px;left:22px;color:#fff}.orbit-label{position:absolute;color:#b5aeaa;font-size:9px}.orbit-label span{color:var(--red)}.orbit-label-top{top:36px;right:10px}.orbit-label-bottom{bottom:38px;left:0;writing-mode:vertical-rl;transform:rotate(180deg)}.hero-sticker{position:absolute;right:0;top:120px;background:var(--red);color:#160e0e;width:105px;height:105px;border-radius:50%;display:grid;align-content:center;text-align:center;font:9px var(--mono);line-height:1.45;transform:rotate(11deg);box-shadow:0 12px 35px #0008}.hero-sticker b{font:800 13px var(--sans)}.hero-sticker span{font-size:16px}.hero-index{position:absolute;bottom:36px;right:12px;font:12px var(--mono)}.hero-index span{color:#666}.hero-bottom{position:absolute;bottom:25px;left:0;right:0;display:flex;align-items:center;gap:16px;color:#777;font-size:9px}.hero-bottom>span:last-child{margin-left:auto}.scroll-line{height:1px;width:80px;background:linear-gradient(90deg,var(--red),transparent)}.intro-strip{background:#171619;border-block:1px solid #ffffff0a}.strip-inner{display:flex;align-items:center;gap:35px;padding-block:22px}.strip-label{color:var(--red)}.strip-inner p{font-size:15px;letter-spacing:-.02em;margin:0;color:#bcb7b4}.strip-inner b{color:#fff}.strip-symbol{margin-left:auto;color:var(--red);font-size:22px}.section-block{padding-top:125px;padding-bottom:125px}.section-kicker{display:flex;justify-content:space-between;color:#777;font-size:9px;border-bottom:1px solid var(--line);padding-bottom:17px}.section-kicker span:first-child{color:var(--red)}.about-grid{display:grid;grid-template-columns:1fr .85fr;gap:90px;padding:70px 0 62px}.about h2,.section-heading-row h2{font-size:clamp(40px,5vw,66px);letter-spacing:-.075em;line-height:1.06;margin:0}.about-copy{max-width:500px}.about-copy p{font-size:13px;line-height:1.95;color:#9e9998}.about-copy .lead{font-size:19px;color:#eee;line-height:1.55;margin-top:0}.about-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.about-stats>div{padding:25px 20px;border-right:1px solid var(--line)}.about-stats>div:first-child{padding-left:0}.about-stats>div:last-child{border:0}.about-stats strong{font-size:36px;letter-spacing:-.07em}.about-stats strong span{color:var(--red)}.about-stats small{display:block;font:9px var(--mono);color:#777;letter-spacing:.08em;margin-top:6px}.name-note{margin-top:50px;display:flex;align-items:center;gap:24px;padding:24px 30px;background:#151417;border:1px solid #2d292d;position:relative;overflow:hidden}.name-star{font-size:40px;color:var(--red)}.name-note p{max-width:790px;color:#a8a3a2;font-size:12px;line-height:1.8;margin:0}.name-note p>span{display:block;font:9px var(--mono);color:var(--red);letter-spacing:.13em;margin-bottom:8px}.name-note strong{color:#fff;font-size:16px}.name-note em{color:#fff}.name-orbit{position:absolute;right:25px;top:15px;color:#ffffff16;font-size:60px}.expertise{background:#111114;border-block:1px solid #ffffff0a}.section-heading-row{display:flex;align-items:end;justify-content:space-between;gap:50px;padding:58px 0 48px}.section-heading-row>p{max-width:370px;color:#999493;font-size:12px;line-height:1.9;margin:0 0 5px}.skill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.skill-card{position:relative;min-height:218px;padding:25px 24px 22px;background:#18181c;border:1px solid #29282d;transition:transform .28s,border-color .28s,background .28s;overflow:hidden}.skill-card:after{content:"";position:absolute;width:110px;height:110px;border-radius:50%;right:-60px;bottom:-65px;background:#ff4b4b0c;transition:transform .4s}.skill-card:hover{transform:translateY(-6px);border-color:#7a3b3b;background:#1d1a1d}.skill-card:hover:after{transform:scale(2.2)}.skill-icon{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border:1px solid #514044;color:var(--red);font-size:20px;border-radius:10px}.skill-index{position:absolute;right:23px;top:28px;color:#6d6869}.skill-card h3{font-size:16px;letter-spacing:-.04em;margin:22px 0 7px}.skill-card p{font-size:11px;line-height:1.7;color:#999493;max-width:290px;min-height:38px}.skill-card small{font-size:8px;color:#777;display:block;margin-top:15px}.tools-line{display:grid;grid-template-columns:180px 1fr;gap:30px;border-top:1px solid var(--line);margin-top:42px;padding-top:24px}.tools-line>span{color:var(--red)}.tools-line p{margin:0;color:#aaa;font-size:11px;line-height:2}.tools-line i{color:var(--red);font-style:normal;padding:0 4px}.work-tabs{display:flex;gap:9px;margin-bottom:26px;flex-wrap:wrap}.filter-btn{background:transparent;color:#999;border:1px solid #333138;padding:11px 15px;font:10px var(--mono);cursor:pointer;transition:.2s}.filter-btn span{color:#777;margin-left:8px}.filter-btn:hover,.filter-btn.is-active{background:var(--red);border-color:var(--red);color:#160e0e}.filter-btn.is-active span,.filter-btn:hover span{color:#382020}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:38px 20px}.project-card{min-width:0;transition:opacity .25s,transform .25s}.project-card.is-hidden{display:none}.project-visual{height:280px;display:block;position:relative;overflow:hidden;background:#1c1b20;border:1px solid #302e34;transition:transform .35s,border-color .35s}.project-card:hover .project-visual{border-color:#72504e}.project-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0005,transparent 28%,transparent 70%,#0007);pointer-events:none}.visual-top,.visual-caption{position:absolute;z-index:2;left:20px;right:20px;display:flex;justify-content:space-between;color:#d7d0cc;font-size:8px}.visual-top{top:18px}.visual-caption{bottom:17px;color:#aaa;font-size:8px}.calculator-art,.royals-art,.made-art,.sound-art,.stem-art,.content-art,.royalblog-art,.creative-art{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:50px 9%;overflow:hidden}.visual-aussie{background:radial-gradient(circle at 70% 48%,#34423c,#17201d 52%,#111719)}.calc-label{font-size:clamp(26px,4vw,45px);font-weight:800;letter-spacing:-.07em;line-height:.95}.calc-gauge{position:absolute;right:9%;top:31%;width:145px;height:145px;border:1px solid #9eb9a1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 35px #a6c3a01a}.calc-gauge span,.calc-gauge small{font:8px var(--mono);color:#b7c8b9}.calc-gauge strong{font:700 24px var(--sans);margin:6px 0}.calc-bars{display:flex;gap:6px;align-items:end;height:35px;margin-top:32px}.calc-bars i{display:block;width:18px;background:#a5c6a7;height:30%;border-radius:2px}.calc-bars i:nth-child(2){height:60%}.calc-bars i:nth-child(3){height:85%}.calc-bars i:nth-child(4){height:50%}.calc-bars i:nth-child(5){height:72%}.visual-royals{background:linear-gradient(120deg,#3b0e14,#a31c27 65%,#321015)}.royals-kicker{font:9px var(--mono);letter-spacing:.14em}.royals-art strong{font-size:clamp(32px,5vw,55px);line-height:.92;letter-spacing:-.08em;margin-top:18px}.royals-art strong em{color:#ffb5a9;font-style:normal}.royals-stamp{position:absolute;right:12%;bottom:23%;border:1px solid #ffffff88;border-radius:50%;width:75px;height:75px;display:grid;place-content:center;text-align:center;font:10px var(--mono);transform:rotate(12deg)}.visual-made{background:linear-gradient(120deg,#e8d9c4,#b9a28d);color:#191614}.made-art>span,.made-art small{font:9px var(--mono);letter-spacing:.16em}.made-art strong{font-size:clamp(50px,7vw,78px);line-height:.78;letter-spacing:-.1em;margin:17px 0}.made-art strong span{color:#ed593f}.made-card{position:absolute;right:9%;bottom:25%;background:#222;color:#f4eadd;padding:17px 20px;font:10px/1.9 var(--mono);transform:rotate(7deg);box-shadow:8px 9px 0 #806c5b}.visual-sound{background:linear-gradient(140deg,#162a31,#256171)}.sound-art>span{font:10px var(--mono);letter-spacing:.15em}.sound-art strong{font-size:clamp(42px,6vw,65px);letter-spacing:-.08em;line-height:.84;margin:12px 0}.sound-wave{display:flex;gap:5px;align-items:center;height:28px;margin-top:20px}.sound-wave i{width:3px;background:#a4d8d7;height:30%;border-radius:3px}.sound-wave i:nth-child(3n){height:90%}.sound-wave i:nth-child(2n){height:60%}.visual-stem{background:linear-gradient(135deg,#26244c,#554ca1)}.stem-art>span{font:10px var(--mono);letter-spacing:.15em}.stem-art strong{font-size:clamp(48px,7vw,75px);letter-spacing:-.09em;line-height:.9;margin:10px 0}.stem-art strong span{color:#ffb95c}.stem-art small{font:8px var(--mono);letter-spacing:.1em}.stem-orbit{position:absolute;right:10%;top:31%;width:105px;height:105px;border:1px dashed #d6d0ff;border-radius:50%;display:grid;place-content:center;text-align:center;font:10px var(--mono);transform:rotate(-18deg)}.visual-content{background:linear-gradient(120deg,#26382e,#637d63)}.content-art>span,.content-art small{font:9px var(--mono);letter-spacing:.13em}.content-art strong{font-size:clamp(38px,6vw,62px);line-height:.88;letter-spacing:-.08em;margin:17px 0}.content-art strong em{font-style:normal;color:#d5e0b8}.content-rule{width:70%;height:1px;background:#c5d6b4;margin:10px 0}.visual-royalblog{background:linear-gradient(120deg,#321118,#862d35)}.royalblog-art>span,.royalblog-art small{font:9px var(--mono);letter-spacing:.13em}.royalblog-art strong{font-size:clamp(40px,6vw,64px);line-height:.88;letter-spacing:-.09em;margin:18px 0}.royalblog-art strong em{font-style:normal;color:#ffb7a9}.visual-creative{background:linear-gradient(130deg,#24212d,#5d3453)}.creative-art>span{font:10px var(--mono);letter-spacing:.15em}.creative-art strong{font-size:clamp(42px,6vw,65px);line-height:.9;letter-spacing:-.08em;margin-top:14px}.creative-art strong em{font-style:normal;color:#ff9d91}.creative-shapes{position:absolute;right:12%;top:27%;width:130px;height:130px}.creative-shapes i{position:absolute;width:80px;height:80px;border:1px solid #ffb5aa;border-radius:50%}.creative-shapes i:nth-child(2){transform:translate(28px,20px);border-color:#fff}.creative-shapes i:nth-child(3){width:35px;height:35px;background:var(--red);border:0;transform:translate(55px,65px)}.project-info{display:flex;justify-content:space-between;gap:15px;padding:20px 2px 13px}.project-type{font-size:8px;color:var(--red)}.project-info h3{font-size:17px;letter-spacing:-.04em;margin:8px 0}.project-info p{max-width:500px;color:#969190;font-size:11px;line-height:1.8;margin:0}.round-link{flex:0 0 38px;width:38px;height:38px;border:1px solid #454047;border-radius:50%;display:grid;place-content:center;align-self:center;transition:.25s}.round-link:hover{background:var(--red);border-color:var(--red);color:#160e0e;transform:rotate(45deg)}.project-tags{display:flex;gap:7px;flex-wrap:wrap}.project-tags span{font-size:8px;letter-spacing:.04em;color:#aaa;border:1px solid #353239;padding:6px 9px}.more-work{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:48px;padding-top:25px}.more-work>span{font:9px var(--mono);letter-spacing:.1em;color:#777}.button-outline{border:1px solid #514b50;color:#eee}.button-outline:hover{border-color:var(--red);color:var(--red);transform:translateY(-2px)}.experience{background:#111114;border-block:1px solid #ffffff0a}.timeline{border-top:1px solid var(--line)}.timeline-item{display:grid;grid-template-columns:190px 1fr 100px;gap:30px;padding:29px 0;border-bottom:1px solid var(--line)}.timeline-date{color:#888;font-size:9px;padding-top:5px}.timeline-main h3{font-size:17px;margin:0 0 6px}.timeline-main>span{font-size:11px;color:var(--red)}.timeline-main p{font-size:11px;line-height:1.8;color:#999;max-width:650px;margin:12px 0 0}.timeline-kind{color:#777;text-align:right;font-size:8px;padding-top:5px}.education{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:45px;padding:28px;background:#19181c;border:1px solid #302e33}.education h3{font-size:17px;margin:10px 0 5px}.education p{font-size:11px;color:#999;margin:0}.honours{font-size:9px;color:#eee;text-align:right;line-height:2}.honours span{color:var(--red);padding:0 5px}.contact-section{background:radial-gradient(ellipse at 80% 35%,#3b171d 0,#181114 40%,#0d0c0f 78%);padding:100px 0 110px}.contact-pretitle{color:var(--red);margin:70px 0 15px}.contact-inner h2{font-size:clamp(65px,10vw,130px);line-height:.83;letter-spacing:-.1em;margin:0}.contact-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-top:55px}.contact-bottom p{max-width:370px;font-size:12px;color:#aaa;line-height:1.9}.contact-email{font-size:clamp(15px,2vw,22px);border-bottom:1px solid #765054;padding-bottom:9px}.contact-email span{color:var(--red);margin-left:15px}.site-footer{border-top:1px solid var(--line)}.footer-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-inner>span{font:8px var(--mono);color:#777;letter-spacing:.08em}.footer-links{display:flex;gap:18px;font-size:10px;color:#aaa}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:120;border-radius:50%;opacity:0;transform:translate(-50%,-50%)}.cursor-dot{width:5px;height:5px;background:var(--red)}.cursor-ring{width:34px;height:34px;border:1px solid #ff6868aa;transition:width .2s,height .2s,background .2s,border-color .2s}.cursor-ring.is-hover{width:55px;height:55px;background:#ff4b4b14;border-color:var(--red)}
@media(max-width:900px){.section-wrap{width:calc(100% - 48px)}.site-header{padding:0 24px}.main-nav{gap:18px}.hero{grid-template-columns:1fr .78fr;min-height:630px}.portrait-frame{width:260px;height:350px}.portrait-halo{width:320px;height:320px}.hero-sticker{right:-5px}.about-grid{gap:40px}.skill-grid{grid-template-columns:repeat(2,1fr)}.project-visual{height:240px}.timeline-item{grid-template-columns:145px 1fr 75px;gap:18px}}
@media(max-width:640px){html{scroll-padding-top:72px}.section-wrap{width:calc(100% - 38px)}.site-header{height:68px;padding:0 19px}.wordmark{font-size:10px}.menu-toggle{display:flex;width:42px;height:42px;border:1px solid #39353b;background:transparent;flex-direction:column;align-items:center;justify-content:center;gap:6px;z-index:3}.menu-toggle i{width:17px;height:1px;background:#fff;transition:.2s}.menu-toggle[aria-expanded=true] i:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] i:last-child{transform:translateY(-3.5px) rotate(-45deg)}.main-nav{position:absolute;top:67px;left:0;right:0;padding:18px 20px 24px;background:#101013f5;border-bottom:1px solid var(--line);display:flex;flex-direction:column;align-items:stretch;gap:0;opacity:0;visibility:hidden;transform:translateY(-8px);transition:.2s}.main-nav.is-open{opacity:1;visibility:visible;transform:translateY(0)}.main-nav a{padding:14px 3px;border-bottom:1px solid #ffffff10}.main-nav .nav-contact{margin-top:12px;text-align:center;border:1px solid #4b444a;padding:13px}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:54px;padding-bottom:75px;min-height:0}.hero-copy{position:relative;z-index:2}.eyebrow{font-size:8px}.hero-overline{margin:35px 0 12px;font-size:9px}h1{font-size:clamp(54px,14vw,76px)}.role-line{margin:22px 0 13px;font-size:9px;gap:7px}.typed-role{min-width:0}.hero-intro{font-size:12px;line-height:1.85}.hero-actions{gap:18px;flex-wrap:wrap}.button{padding:14px 15px;gap:15px}.hero-meta{font-size:7px;gap:13px;flex-wrap:wrap;margin-top:28px}.hero-visual{height:390px;margin-top:25px}.portrait-frame{width:245px;height:315px}.portrait-halo{width:300px;height:300px}.orbit-label-top{top:12px;right:0;font-size:7px}.orbit-label-bottom{left:0;bottom:20px;font-size:7px}.hero-sticker{width:82px;height:82px;right:0;top:76px;font-size:7px}.hero-sticker b{font-size:10px}.hero-index{bottom:5px;right:5px}.hero-bottom{bottom:20px;font-size:7px}.scroll-line{width:45px}.strip-inner{gap:12px;padding-block:18px}.strip-label{font-size:8px;white-space:nowrap}.strip-inner p{font-size:11px;line-height:1.5}.strip-symbol{font-size:17px}.section-block{padding-top:78px;padding-bottom:78px}.section-kicker{font-size:8px}.about-grid{grid-template-columns:1fr;gap:25px;padding:42px 0 38px}.about h2,.section-heading-row h2{font-size:clamp(39px,10vw,54px)}.about-copy .lead{font-size:17px}.about-copy p{font-size:12px}.about-stats{grid-template-columns:repeat(2,1fr)}.about-stats>div{padding:17px 12px;border-bottom:1px solid var(--line)}.about-stats>div:nth-child(2){border-right:0}.about-stats>div:nth-child(3){padding-left:0;border-bottom:0}.about-stats>div:nth-child(4){border-bottom:0}.about-stats strong{font-size:30px}.about-stats small{font-size:7px}.name-note{padding:19px 16px;gap:14px;margin-top:30px}.name-star{font-size:29px}.name-note p{font-size:10px}.name-orbit{right:12px;font-size:40px}.section-heading-row{display:block;padding:40px 0 30px}.section-heading-row>p{font-size:11px;margin-top:18px}.skill-grid{grid-template-columns:1fr 1fr;gap:8px}.skill-card{padding:17px 14px;min-height:205px}.skill-icon{width:31px;height:31px;font-size:17px}.skill-index{right:14px;top:22px;font-size:8px}.skill-card h3{font-size:13px;margin:18px 0 6px}.skill-card p{font-size:10px;min-height:54px}.skill-card small{font-size:7px;line-height:1.6}.tools-line{grid-template-columns:1fr;gap:12px;margin-top:30px}.tools-line p{font-size:10px}.work-tabs{gap:6px}.filter-btn{padding:9px 10px;font-size:8px}.filter-btn span{margin-left:4px}.project-grid{grid-template-columns:1fr;gap:30px}.project-visual{height:245px}.project-info h3{font-size:16px}.project-info p{font-size:10px}.project-type{font-size:7px}.more-work{display:block;margin-top:35px}.more-work>span{display:block;margin-bottom:18px;font-size:8px}.timeline-item{grid-template-columns:1fr auto;gap:8px 12px;padding:22px 0}.timeline-date{grid-column:1/-1;font-size:8px}.timeline-main h3{font-size:15px}.timeline-main>span{font-size:10px}.timeline-main p{font-size:10px}.timeline-kind{grid-column:2;grid-row:2;text-align:right;font-size:7px}.education{display:block;padding:20px;margin-top:30px}.education h3{font-size:14px;line-height:1.5}.honours{text-align:left;margin-top:18px;font-size:8px}.contact-section{padding:75px 0 80px}.contact-pretitle{margin:50px 0 14px;font-size:8px}.contact-inner h2{font-size:clamp(63px,16vw,94px)}.contact-bottom{display:block;margin-top:35px}.contact-bottom p{font-size:11px}.contact-email{display:inline-block;font-size:15px;margin-top:20px}.footer-inner{padding:22px 0;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:18px}.footer-inner>span{font-size:7px}.footer-inner>span:nth-child(2){text-align:right}.footer-links{grid-column:1/-1;grid-row:2;gap:20px}.footer-inner>span:last-child{text-align:right;grid-column:2;grid-row:3}.cursor-dot,.cursor-ring{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* === V3: cinematic motion, celestial identity and theme system === */
:root{color-scheme:dark;--bg:#09090d;--panel:#121219;--panel2:#1a1a24;--text:#f4f1ec;--muted:#aaa5ae;--line:#302d39;--red:#ff626e;--orange:#ffb27f;--accent-glow:rgba(255,98,110,.18);--header:rgba(9,9,13,.82)}
body{background:var(--bg);color:var(--text);transition:background .55s ease,color .55s ease}
.site-header{background:var(--header);border-color:color-mix(in srgb,var(--text) 9%,transparent);transition:background .5s,border-color .5s}
.ambient-scene{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;isolation:isolate;background:radial-gradient(ellipse at 12% 12%,rgba(107,45,87,.13),transparent 34%),radial-gradient(ellipse at 88% 52%,rgba(55,76,129,.11),transparent 36%)}
.ambient-orb{position:absolute;border-radius:50%;filter:blur(2px);will-change:transform;opacity:.55}
.orb-a{width:48vw;height:48vw;min-width:390px;min-height:390px;top:8vh;left:-24vw;background:radial-gradient(circle,rgba(255,92,117,.12),rgba(255,92,117,.015) 56%,transparent 70%);border:1px solid rgba(255,157,174,.07)}
.orb-b{width:55vw;height:55vw;min-width:440px;min-height:440px;top:100vh;right:-29vw;background:radial-gradient(circle,rgba(114,127,255,.12),rgba(173,132,255,.02) 58%,transparent 70%);border:1px solid rgba(190,180,255,.07)}
.ambient-grid{position:absolute;inset:-10%;opacity:.10;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:76px 76px;mask-image:linear-gradient(to bottom,black,transparent 82%);will-change:transform}
.ambient-starfield{position:absolute;inset:0;opacity:.28;background-image:radial-gradient(1px 1px at 12% 22%,#fff 99%,transparent),radial-gradient(1px 1px at 76% 18%,#ffd7db 99%,transparent),radial-gradient(2px 2px at 43% 58%,#fff 99%,transparent),radial-gradient(1px 1px at 88% 77%,#fff 99%,transparent),radial-gradient(1px 1px at 25% 83%,#e9d8ff 99%,transparent);background-size:370px 310px;will-change:transform}
.theme-toggle{display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--line);color:var(--text);padding:10px 12px;border-radius:999px;font:9px var(--mono);letter-spacing:.08em;cursor:pointer;transition:.25s;white-space:nowrap}
.theme-toggle:hover{border-color:var(--red);transform:translateY(-2px)}.theme-icon{font-size:15px;color:var(--orange)}
.hero-visual{will-change:transform}.portrait-halo{border-color:rgba(255,173,190,.38);box-shadow:0 0 120px var(--accent-glow),inset 0 0 90px var(--accent-glow);animation:halo-breathe 7s ease-in-out infinite}
@keyframes halo-breathe{0%,100%{transform:scale(.96);opacity:.7}50%{transform:scale(1.05);opacity:1}}
.guardian-mark{position:absolute;right:-8px;top:90px;width:122px;height:142px;display:grid;place-items:center;z-index:3;color:var(--orange);filter:drop-shadow(0 8px 24px var(--accent-glow));animation:guardian-float 6s ease-in-out infinite}
.guardian-mark-ring{position:absolute;width:100px;height:100px;border:1px solid currentColor;border-radius:50%;box-shadow:0 0 25px var(--accent-glow),inset 0 0 22px var(--accent-glow)}
.guardian-mark-wing{position:absolute;font-size:72px;transform:rotate(-28deg) scaleX(1.55);opacity:.9;text-shadow:0 0 18px var(--accent-glow)}
.guardian-mark-sword{position:absolute;font-size:38px;top:15px;transform:rotate(45deg);color:var(--red)}
.guardian-mark small{position:absolute;bottom:0;text-align:center;font:8px/1.5 var(--mono);letter-spacing:.16em;color:var(--muted)}
@keyframes guardian-float{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-13px) rotate(4deg)}}
.celestial-feature{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:45px;margin-top:55px;padding:34px 38px;border:1px solid var(--line);background:linear-gradient(115deg,color-mix(in srgb,var(--panel) 92%,transparent),color-mix(in srgb,var(--panel2) 78%,transparent));overflow:hidden;position:relative;isolation:isolate}
.celestial-feature:before{content:"";position:absolute;width:390px;height:390px;border-radius:50%;left:-100px;top:-190px;background:radial-gradient(circle,var(--accent-glow),transparent 70%);z-index:-1}
.celestial-art{height:235px;position:relative;display:grid;place-items:center;isolation:isolate}
.celestial-aura{position:absolute;width:175px;height:175px;border-radius:50%;border:1px solid color-mix(in srgb,var(--orange) 65%,transparent);box-shadow:0 0 50px var(--accent-glow),inset 0 0 35px var(--accent-glow);animation:halo-breathe 8s ease-in-out infinite}
.celestial-wing{position:absolute;font-size:130px;color:var(--orange);opacity:.68;text-shadow:0 0 25px var(--accent-glow)}
.left-wing{transform:translate(-56px,-2px) rotate(-34deg) scaleX(1.15)}.right-wing{transform:translate(56px,-2px) rotate(34deg) scaleX(-1.15)}
.celestial-blade{position:absolute;font-size:76px;color:var(--red);transform:translateY(-8px) rotate(45deg);text-shadow:0 0 28px var(--accent-glow)}
.celestial-star{position:absolute;color:var(--text);animation:star-pulse 3s ease-in-out infinite}.star-one{top:22px;right:22%;font-size:23px}.star-two{bottom:28px;left:20%;font-size:18px;animation-delay:1.2s}
@keyframes star-pulse{50%{opacity:.35;transform:scale(.72) rotate(30deg)}}
.celestial-copy>span{font:9px var(--mono);letter-spacing:.17em;color:var(--red)}.celestial-copy h3{font-size:clamp(25px,3.5vw,43px);line-height:1.08;letter-spacing:-.065em;margin:15px 0}.celestial-copy h3 em{font-style:normal;color:var(--red)}.celestial-copy p{font-size:12px;line-height:1.9;color:var(--muted);max-width:480px}
/* Reveal on entry AND exit: elements leave the scene as the viewer scrolls away. */
.reveal{opacity:0;transform:translate3d(0,42px,0) scale(.985);filter:blur(4px);transition:opacity .75s ease,transform .85s cubic-bezier(.2,.7,.2,1),filter .75s ease;will-change:opacity,transform,filter}
.reveal.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
.reveal.is-exiting{opacity:0;transform:translate3d(0,-34px,0) scale(.985);filter:blur(5px)}
.skill-card,.project-card,.timeline-item,.contact-link{transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .3s,background .3s,box-shadow .3s}
.skill-card:hover,.project-card:hover{transform:translateY(-8px);box-shadow:0 22px 55px rgba(0,0,0,.2)}
.contact-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:min(100%,560px)}
.contact-link{display:flex;align-items:center;gap:13px;padding:15px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 82%,transparent);min-width:0}
.contact-link:hover{transform:translateY(-4px);border-color:var(--red);background:var(--panel2)}
.contact-icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:50%;background:var(--panel2);color:var(--orange);font-size:18px;font-weight:800}
.linkedin-icon{font:800 15px var(--sans);background:#0a66c2;color:white}
.contact-link>span:nth-child(2){display:flex;flex-direction:column;gap:4px;min-width:0}.contact-link small{font:8px var(--mono);letter-spacing:.12em;color:var(--red)}.contact-link strong{font-size:11px;overflow-wrap:anywhere}.contact-link>b{margin-left:auto;color:var(--red)}
.footer-links a{display:inline-flex;align-items:center;gap:5px}
/* Heaven-inspired light theme: pearl, cloud, warm gold and sky blue. */
html[data-theme="light"]{color-scheme:light;--bg:#f4f5f8;--panel:#ffffff;--panel2:#e9edf5;--text:#202333;--muted:#626a7d;--line:#d9deea;--red:#6b75c9;--orange:#b58a45;--accent-glow:rgba(133,148,220,.23);--header:rgba(248,249,253,.84)}
html[data-theme="light"] body{background:var(--bg);color:var(--text)}
html[data-theme="light"] .ambient-scene{background:radial-gradient(ellipse at 12% 12%,rgba(255,221,166,.32),transparent 35%),radial-gradient(ellipse at 88% 45%,rgba(156,184,255,.28),transparent 38%),linear-gradient(180deg,#f7f7fc,#eef3fb)}
html[data-theme="light"] .ambient-orb{opacity:.9}html[data-theme="light"] .orb-a{background:radial-gradient(circle,rgba(255,216,163,.4),rgba(255,238,210,.05) 60%,transparent 72%);border-color:#d8c59a66}html[data-theme="light"] .orb-b{background:radial-gradient(circle,rgba(154,184,255,.36),rgba(215,225,255,.05) 60%,transparent 72%);border-color:#a9bce966}
html[data-theme="light"] .ambient-grid{opacity:.13;background-image:linear-gradient(#7887a51a 1px,transparent 1px),linear-gradient(90deg,#7887a51a 1px,transparent 1px)}html[data-theme="light"] .ambient-starfield{opacity:.55;background-image:radial-gradient(2px 2px at 12% 22%,#c5a96d 99%,transparent),radial-gradient(1px 1px at 76% 18%,#849bd4 99%,transparent),radial-gradient(2px 2px at 43% 58%,#c5a96d 99%,transparent),radial-gradient(1px 1px at 88% 77%,#849bd4 99%,transparent)}
html[data-theme="light"] .site-header{border-color:#20233318}html[data-theme="light"] .main-nav{color:#555d70}html[data-theme="light"] .hero-intro,html[data-theme="light"] .about-copy p,html[data-theme="light"] .section-heading-row>p,html[data-theme="light"] .skill-card p,html[data-theme="light"] .project-info p,html[data-theme="light"] .timeline-main p,html[data-theme="light"] .contact-bottom p{color:#626a7d}
html[data-theme="light"] .intro-strip,html[data-theme="light"] .experience{background:#e9edf5;border-color:#d9deea}html[data-theme="light"] .skill-card,html[data-theme="light"] .education,html[data-theme="light"] .celestial-feature,html[data-theme="light"] .contact-link{background:rgba(255,255,255,.78);border-color:#d9deea}
html[data-theme="light"] .skill-card small,html[data-theme="light"] .project-tags span{color:#626a7d}html[data-theme="light"] .project-tags span{border-color:#d9deea}html[data-theme="light"] .main-nav .nav-contact{color:var(--text)!important;border-color:#c6ccda}html[data-theme="light"] .menu-toggle{border-color:#c6ccda}html[data-theme="light"] .menu-toggle i{background:var(--text)}
html[data-theme="light"] .contact-section{background:radial-gradient(ellipse at 80% 35%,#dce6ff 0,#f0eff9 43%,#f7f5ef 82%)}html[data-theme="light"] .contact-email{border-color:#c6ccda}html[data-theme="light"] .site-footer{border-color:#d9deea}html[data-theme="light"] .footer-inner>span{color:#777f91}html[data-theme="light"] .button-outline{color:var(--text);border-color:#c6ccda}
@media(max-width:900px){.main-nav{gap:12px}.theme-toggle{padding:8px 9px;font-size:8px}}
@media(max-width:640px){.main-nav{background:var(--panel);border-color:var(--line)}.theme-toggle{width:100%;justify-content:center;margin-top:12px;padding:12px}.guardian-mark{right:-4px;top:52px;transform:scale(.78);transform-origin:top right}.celestial-feature{grid-template-columns:1fr;gap:10px;padding:20px 17px;margin-top:38px}.celestial-art{height:190px}.celestial-aura{width:145px;height:145px}.celestial-wing{font-size:105px}.celestial-blade{font-size:62px}.celestial-copy h3{font-size:28px}.celestial-copy p{font-size:11px}.contact-bottom{display:block}.contact-links{grid-template-columns:1fr;margin-top:22px}.contact-link{padding:13px}.ambient-grid{background-size:48px 48px}.reveal{transform:translate3d(0,25px,0) scale(.99);filter:blur(2px)}.reveal.is-exiting{transform:translate3d(0,-20px,0) scale(.99)}}
@media(prefers-reduced-motion:reduce){.ambient-orb,.ambient-grid,.ambient-starfield{transform:none!important}.reveal,.reveal.is-exiting{opacity:1;transform:none;filter:none}}

/* V4 refinement: calmer pearl theme, stronger contrast, stable motion */
html[data-theme="light"] {
  --bg:#f2f0eb; --panel:#e9e6df; --panel2:#dfdbd2; --text:#292824;
  --muted:#68665f; --line:#d4d0c7; --red:#9b6245; --orange:#b48758;
  --accent-glow:rgba(176,143,105,.13); --header:rgba(242,240,235,.92);
}
html[data-theme="light"] body { background:#f2f0eb; color:#292824; }
html[data-theme="light"] .ambient-scene {
  background:linear-gradient(180deg,#f3f0e9 0%,#eeece6 48%,#f1eee8 100%);
}
html[data-theme="light"] .ambient-orb { opacity:.22; filter:blur(34px); }
html[data-theme="light"] .orb-a { background:radial-gradient(circle,rgba(190,157,115,.24),rgba(190,157,115,0) 70%); border-color:#b89a7650; }
html[data-theme="light"] .orb-b { background:radial-gradient(circle,rgba(133,157,176,.18),rgba(133,157,176,0) 70%); border-color:#91a2ae45; }
html[data-theme="light"] .ambient-grid { opacity:.055; }
html[data-theme="light"] .ambient-starfield { opacity:.22; }
html[data-theme="light"] .site-header { background:rgba(242,240,235,.92); border-color:#29282418; }
html[data-theme="light"] .main-nav { color:#55534d; }
html[data-theme="light"] .eyebrow,html[data-theme="light"] .hero-overline,
html[data-theme="light"] .hero-meta,html[data-theme="light"] .hero-bottom,
html[data-theme="light"] .orbit-label,html[data-theme="light"] .section-kicker,
html[data-theme="light"] .about-stats small,html[data-theme="light"] .skill-index,
html[data-theme="light"] .timeline-date,html[data-theme="light"] .timeline-kind,
html[data-theme="light"] .footer-inner>span { color:#77736b; }
html[data-theme="light"] .hero-intro,html[data-theme="light"] .about-copy p,
html[data-theme="light"] .section-heading-row>p,html[data-theme="light"] .skill-card p,
html[data-theme="light"] .project-info p,html[data-theme="light"] .timeline-main p,
html[data-theme="light"] .contact-bottom p,html[data-theme="light"] .name-note p,
html[data-theme="light"] .tools-line p { color:#625f58; }
html[data-theme="light"] .hero-intro strong,html[data-theme="light"] .about-copy .lead,
html[data-theme="light"] .strip-inner b,html[data-theme="light"] .name-note strong,
html[data-theme="light"] .name-note em { color:#292824; }
html[data-theme="light"] .intro-strip,html[data-theme="light"] .expertise,
html[data-theme="light"] .experience { background:#e8e5de; border-color:#d5d0c6; }
html[data-theme="light"] .skill-card,html[data-theme="light"] .education,
html[data-theme="light"] .celestial-feature,html[data-theme="light"] .contact-link {
  background:#f8f6f1; border-color:#d8d3c9; box-shadow:0 8px 28px rgba(55,48,37,.045);
}
html[data-theme="light"] .skill-card:hover { background:#fbf9f4; border-color:#b99476; }
html[data-theme="light"] .name-note { background:#e9e5dc; border-color:#d5cec1; }
html[data-theme="light"] .name-note p>span,html[data-theme="light"] .strip-label,
html[data-theme="light"] .tools-line>span { color:#986344; }
html[data-theme="light"] .project-visual { background:#e5e1d8; border-color:#d3cec3; }
html[data-theme="light"] .project-tags span { color:#625f58; border-color:#d4cfc4; }
html[data-theme="light"] .filter-btn { color:#625f58; border-color:#c9c3b8; }
html[data-theme="light"] .filter-btn.is-active,html[data-theme="light"] .filter-btn:hover { background:#9b6245; border-color:#9b6245; color:#fffaf4; }
html[data-theme="light"] .filter-btn.is-active span,html[data-theme="light"] .filter-btn:hover span { color:#fffaf4; }
html[data-theme="light"] .contact-section { background:linear-gradient(145deg,#e7e4dc,#eeece5 55%,#e6e9e8); }
html[data-theme="light"] .contact-email,html[data-theme="light"] .button-outline { color:#292824; border-color:#c9c2b6; }
html[data-theme="light"] .site-footer { border-color:#d4d0c7; }
html[data-theme="light"] .nav-contact { color:#292824!important; border-color:#c9c2b6; }
html[data-theme="light"] .menu-toggle { border-color:#c9c2b6; }
html[data-theme="light"] .menu-toggle i { background:#292824; }
html[data-theme="light"] .button-primary { background:#9b6245; color:#fffaf4; }
html[data-theme="light"] .typed-role { color:#986344; }

/* Avoid scroll-animation flicker: enter once, with no repeated exit/re-entry. */
.reveal { opacity:0; transform:translate3d(0,24px,0); filter:none; transition:opacity .55s ease,transform .65s cubic-bezier(.2,.7,.2,1); will-change:opacity,transform; }
.reveal.is-visible { opacity:1; transform:translate3d(0,0,0); }
.reveal.is-exiting { opacity:1; transform:translate3d(0,0,0); filter:none; }
@media(max-width:640px) { .reveal { transform:translate3d(0,16px,0); } }
@media(prefers-reduced-motion:reduce) { .reveal,.reveal.is-visible,.reveal.is-exiting { opacity:1;transform:none;transition:none; } }


/* V5 — celestial light mode + polished first-load sequence */
html[data-theme="light"] {
  color-scheme: light;
  --bg:#cbd7e7;
  --panel:rgba(246,248,252,.78);
  --panel2:rgba(224,232,244,.9);
  --text:#20283a;
  --muted:#4e5b70;
  --line:rgba(61,77,105,.2);
  --red:#5967a8;
  --orange:#9a7444;
}
html[data-theme="light"] body {
  color:#20283a;
  background:#cbd7e7;
}
html[data-theme="light"] .ambient-scene {
  background:
    radial-gradient(ellipse 70% 42% at 8% 8%,rgba(255,255,255,.92),transparent 70%),
    radial-gradient(ellipse 58% 38% at 88% 18%,rgba(255,255,255,.76),transparent 72%),
    radial-gradient(ellipse 60% 48% at 55% 75%,rgba(166,185,218,.62),transparent 72%),
    linear-gradient(145deg,#dce5f1 0%,#cbd8e9 48%,#e5e2e8 100%);
}
/* Soft cloud banks: layered, low-contrast texture that never sits behind text as a hard shape. */
html[data-theme="light"] .ambient-scene:before,
html[data-theme="light"] .ambient-scene:after {
  content:""; position:absolute; pointer-events:none; inset:-8%;
  background:
    radial-gradient(ellipse 24% 10% at 12% 22%,rgba(255,255,255,.62),transparent 75%),
    radial-gradient(ellipse 30% 12% at 31% 26%,rgba(255,255,255,.44),transparent 75%),
    radial-gradient(ellipse 28% 12% at 76% 34%,rgba(255,255,255,.5),transparent 75%),
    radial-gradient(ellipse 34% 13% at 91% 39%,rgba(255,255,255,.38),transparent 75%),
    radial-gradient(ellipse 38% 14% at 48% 82%,rgba(255,255,255,.28),transparent 75%);
  filter:blur(24px); opacity:.92; transform:translate3d(0,0,0);
}
html[data-theme="light"] .ambient-scene:after {
  inset:12% -12% -5%; opacity:.5; filter:blur(42px);
  background:
    radial-gradient(ellipse 34% 12% at 18% 48%,rgba(174,190,218,.6),transparent 75%),
    radial-gradient(ellipse 40% 14% at 82% 66%,rgba(255,255,255,.56),transparent 75%),
    radial-gradient(ellipse 30% 12% at 50% 92%,rgba(255,255,255,.48),transparent 75%);
}
html[data-theme="light"] .ambient-orb { opacity:.42; filter:blur(42px); }
html[data-theme="light"] .orb-a { background:radial-gradient(circle,rgba(255,239,211,.7),rgba(255,255,255,0) 70%); border-color:#b69b7655; }
html[data-theme="light"] .orb-b { background:radial-gradient(circle,rgba(151,174,220,.62),rgba(255,255,255,0) 70%); border-color:#879bc455; }
html[data-theme="light"] .ambient-grid { opacity:.09; background-image:linear-gradient(rgba(66,83,117,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(66,83,117,.13) 1px,transparent 1px); }
html[data-theme="light"] .ambient-starfield { opacity:.38; }
html[data-theme="light"] .noise { opacity:.045; }
html[data-theme="light"] .site-header { background:rgba(222,231,243,.84); border-color:rgba(45,60,88,.18); box-shadow:0 8px 28px rgba(58,73,102,.06); }
html[data-theme="light"] .main-nav { color:#344159; }
html[data-theme="light"] .wordmark,html[data-theme="light"] .nav-contact { color:#20283a!important; }
html[data-theme="light"] .nav-contact { border-color:rgba(51,67,98,.3); }
html[data-theme="light"] .eyebrow,html[data-theme="light"] .hero-overline,
html[data-theme="light"] .hero-meta,html[data-theme="light"] .hero-bottom,
html[data-theme="light"] .orbit-label,html[data-theme="light"] .section-kicker,
html[data-theme="light"] .about-stats small,html[data-theme="light"] .skill-index,
html[data-theme="light"] .timeline-date,html[data-theme="light"] .timeline-kind,
html[data-theme="light"] .footer-inner>span { color:#526078; }
html[data-theme="light"] .hero-intro,html[data-theme="light"] .about-copy p,
html[data-theme="light"] .section-heading-row>p,html[data-theme="light"] .skill-card p,
html[data-theme="light"] .project-info p,html[data-theme="light"] .timeline-main p,
html[data-theme="light"] .contact-bottom p,html[data-theme="light"] .name-note p,
html[data-theme="light"] .tools-line p { color:#46536a; }
html[data-theme="light"] .hero-intro strong,html[data-theme="light"] .about-copy .lead,
html[data-theme="light"] .strip-inner b,html[data-theme="light"] .name-note strong,
html[data-theme="light"] .name-note em { color:#1f293d; }
html[data-theme="light"] .intro-strip,html[data-theme="light"] .expertise,
html[data-theme="light"] .experience { background:rgba(194,207,226,.66); border-color:rgba(65,82,112,.18); }
html[data-theme="light"] .skill-card,html[data-theme="light"] .education,
html[data-theme="light"] .celestial-feature,html[data-theme="light"] .contact-link {
  background:linear-gradient(145deg,rgba(250,251,254,.84),rgba(228,235,246,.78));
  border-color:rgba(67,83,115,.2); box-shadow:0 14px 38px rgba(51,67,98,.09),inset 0 1px rgba(255,255,255,.78);
  backdrop-filter:blur(12px);
}
html[data-theme="light"] .skill-card:hover { background:rgba(250,252,255,.96); border-color:#8b8fba; }
html[data-theme="light"] .name-note { background:rgba(225,232,242,.82); border-color:rgba(67,83,115,.2); }
html[data-theme="light"] .name-note p>span,html[data-theme="light"] .strip-label,
html[data-theme="light"] .tools-line>span { color:#756044; }
html[data-theme="light"] .project-visual { background:rgba(224,231,242,.86); border-color:rgba(67,83,115,.22); }
html[data-theme="light"] .project-tags span { color:#46536a; border-color:rgba(67,83,115,.24); }
html[data-theme="light"] .filter-btn { color:#40506b; border-color:rgba(67,83,115,.3); }
html[data-theme="light"] .filter-btn.is-active,html[data-theme="light"] .filter-btn:hover { background:#5967a8; border-color:#5967a8; color:#fff; }
html[data-theme="light"] .filter-btn.is-active span,html[data-theme="light"] .filter-btn:hover span { color:#fff; }
html[data-theme="light"] .contact-section { background:linear-gradient(135deg,rgba(190,204,226,.92),rgba(221,219,234,.94) 55%,rgba(237,226,211,.9)); }
html[data-theme="light"] .contact-email,html[data-theme="light"] .button-outline { color:#20283a; border-color:rgba(51,67,98,.32); }
html[data-theme="light"] .site-footer { border-color:rgba(61,77,105,.22); }
html[data-theme="light"] .menu-toggle { border-color:rgba(51,67,98,.3); }
html[data-theme="light"] .menu-toggle i { background:#20283a; }
html[data-theme="light"] .button-primary { background:#5967a8; color:#fff; }
html[data-theme="light"] .typed-role { color:#756044; }
html[data-theme="light"] .contact-icon { background:rgba(205,216,234,.9); color:#5967a8; }

/* A short branded reveal on first page load. */
.portfolio-loader { position:fixed; inset:0; z-index:9999; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:22px; background:#09090d; color:#e9e5e0; opacity:1; visibility:visible; transition:opacity .65s ease,visibility .65s ease; }
.portfolio-loader.is-done { opacity:0; visibility:hidden; pointer-events:none; }
.loader-emblem { width:92px; height:92px; position:relative; display:grid; place-items:center; }
.loader-letter { font:800 48px var(--sans); letter-spacing:-.1em; color:#f4f0eb; text-shadow:0 0 30px rgba(255,95,95,.3); animation:loader-breathe 1.7s ease-in-out infinite; }
.loader-orbit { position:absolute; inset:5px; border:1px solid rgba(255,103,103,.52); border-radius:50%; border-right-color:transparent; border-bottom-color:rgba(255,255,255,.18); animation:loader-spin 1.8s linear infinite; }
.loader-orbit:before,.loader-orbit:after { content:""; position:absolute; width:6px; height:6px; border-radius:50%; background:#ff7770; box-shadow:0 0 14px #ff7770; }
.loader-orbit:before { top:8px; left:12px; }.loader-orbit:after { right:5px; bottom:19px; background:#d6bd91; box-shadow:0 0 14px #d6bd91; }
.loader-star { position:absolute; top:-4px; right:0; color:#d6bd91; font-size:17px; animation:loader-twinkle 1.2s ease-in-out infinite alternate; }
.portfolio-loader p { margin:0; color:#aaa4a2; font:9px var(--mono); letter-spacing:.22em; }
.loader-track { width:150px; height:2px; background:#28252a; overflow:hidden; }
.loader-track span { display:block; height:100%; width:38%; background:linear-gradient(90deg,#ff5555,#d8b98c); animation:loader-progress 1.25s cubic-bezier(.65,0,.35,1) forwards; }
@keyframes loader-spin { to { transform:rotate(360deg); } }
@keyframes loader-breathe { 50% { transform:scale(1.07); opacity:.78; } }
@keyframes loader-twinkle { to { transform:scale(.65) rotate(35deg); opacity:.5; } }
@keyframes loader-progress { from { transform:translateX(-110%); } to { transform:translateX(280%); } }
@media(max-width:640px) { html[data-theme="light"] .ambient-scene:before,html[data-theme="light"] .ambient-scene:after { filter:blur(32px); } }
@media(prefers-reduced-motion:reduce) { .portfolio-loader,.loader-emblem,.loader-orbit,.loader-letter,.loader-star,.loader-track span { animation:none!important; transition:none!important; } .portfolio-loader { display:none; } }
