*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}[data-theme=lightC]{--bg:#e8f1f9;--surface:#fff;--surface2:#d9e8f4;--text:#16293a;--muted:#4d6378;--faint:#8aa0b4;--line:#16293a21;--line2:#16293a12;--accent:#3a78ab;--accent-ink:#2a5c87;--accent-tint:#dbeaf6;--gold:#5e93c4;--gold-tint:#dbe9f5;--shadow:0 1px 2px #16293a0f,0 20px 44px -18px #16293a3d;--navbg:#e8f1f9d1}[data-theme=darkC]{--bg:#0d1b29;--surface:#15293b;--surface2:#1d3548;--text:#e8f1f9;--muted:#9cb3c7;--faint:#5f788e;--line:#ffffff1c;--line2:#ffffff0e;--accent:#6ba6d6;--accent-ink:#9cc6e6;--accent-tint:#6ba6d626;--gold:#8fc2e8;--gold-tint:#8fc2e829;--shadow:0 1px 2px #00000080,0 24px 54px -18px #0000009e;--navbg:#0d1b29d1}[data-sky]{--cloud-bg:radial-gradient(ellipse 16% 25% at 26% 34%, var(--cloud-fill) 0 96%, transparent 100%), radial-gradient(ellipse 18% 29% at 47% 28%, var(--cloud-fill) 0 96%, transparent 100%), radial-gradient(ellipse 16% 25% at 67% 33%, var(--cloud-fill) 0 96%, transparent 100%), radial-gradient(ellipse 13% 22% at 13% 53%, var(--cloud-fill) 0 96%, transparent 100%), radial-gradient(ellipse 13% 22% at 87% 53%, var(--cloud-fill) 0 96%, transparent 100%), radial-gradient(ellipse 27% 41% at 50% 52%, var(--cloud-fill) 0 96%, transparent 100%), radial-gradient(ellipse 15% 24% at 30% 71%, var(--cloud-fill) 0 96%, transparent 100%), radial-gradient(ellipse 16% 25% at 53% 75%, var(--cloud-fill) 0 96%, transparent 100%), radial-gradient(ellipse 15% 24% at 72% 70%, var(--cloud-fill) 0 96%, transparent 100%)}[data-sky=day]{--sky-grad:linear-gradient(180deg,#b8d4f0 0%,#cfe3f6 46%,#e8f4fd 100%);--cloud-fill:#fff;--cloud-shadow:#6e8caf4d;--bird:#283c526b;--hero-ink:#15283a;--hero-muted:#46617c;--hero-eyebrow:#2a5c87;--hero-line:#16293a33;--hero-ghost:#ffffff80;--hero-shadow:none;--mtn-1:#9fbdd6;--mtn-2:#5f87aa;--mtn-3:#3a6184;--mtn-hi:#c7dcee}[data-sky=golden]{--sky-grad:linear-gradient(180deg,#1a1a3e 0%,#6a3d6e 36%,#ff7b54 74%,#ffb347 100%);--cloud-fill:#ffe6c2;--cloud-shadow:#96464c6b;--bird:#3c1e2880;--hero-ink:#fff7ec;--hero-muted:#ffe7d0;--hero-eyebrow:#ffe0ad;--hero-line:#ffffff80;--hero-ghost:#78281e33;--hero-shadow:0 1px 10px #000000e6,0 3px 22px #000000b3,0 6px 48px #0006;--mtn-1:#8a6076;--mtn-2:#523a54;--mtn-3:#2f2438;--mtn-hi:#a07e8c}[data-sky=night]{--sky-grad:linear-gradient(180deg,#0a1422 0%,#0d1b29 56%,#15293b 100%);--cloud-fill:#33506b;--cloud-shadow:#0000005c;--bird:#96b4d259;--hero-ink:#eaf2fb;--hero-muted:#b3c6d6;--hero-eyebrow:#9cc6e6;--hero-line:#ffffff3d;--hero-ghost:#ffffff14;--hero-shadow:0 2px 18px #00000080;--mtn-1:#16304a;--mtn-2:#0f2236;--mtn-3:#0a1a29;--mtn-hi:#22405b}.navlink{color:var(--muted);font-weight:500;text-decoration:none;transition:color .2s;position:relative}.navlink:hover{color:var(--text)}.navlink:after{content:"";background:var(--accent);width:0;height:1.5px;transition:width .25s;position:absolute;bottom:-4px;left:0}.navlink:hover:after{width:100%}.case,.proj{cursor:pointer;transition:transform .28s cubic-bezier(.2,.7,.2,1),border-color .28s,box-shadow .28s,background .28s}.case:hover,.proj:hover{box-shadow:var(--shadow);background:var(--surface);transform:translateY(-6px);border-color:var(--accent)!important}.case-more{opacity:0;transition:opacity .28s,transform .28s;transform:translateY(6px)}.case:hover .case-more,.proj:hover .case-more{opacity:1;transform:none}.case:hover .case-arrow,.proj:hover .case-arrow{transform:translate(4px)}.case-arrow{transition:transform .28s}.proj:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chip{transition:border-color .2s,color .2s,background .2s}.chip:hover{border-color:var(--accent)!important;color:var(--accent)!important}.btn-fill{transition:transform .2s,box-shadow .2s,filter .2s}.btn-fill:hover{box-shadow:var(--shadow);filter:brightness(1.05);transform:translateY(-2px)}.btn-ghost{transition:border-color .2s,color .2s,background .2s}.btn-ghost:hover{border-color:var(--accent)!important;color:var(--accent)!important}.lrow{transition:background .2s}.lrow:hover{background:var(--surface2)}.iconbtn{transition:background .2s,color .2s}.iconbtn:hover{background:var(--surface2);color:var(--text)}[data-reveal]{opacity:0;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(18px)}.nav-burger{display:none}@media (width<=820px){.nav-links{display:none!important}.nav-burger{display:flex!important}}@keyframes skyDrift{0%{transform:translate(-50%)}to{transform:translate(0)}}@keyframes skyBob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes skyBreathe{0%,to{transform:scale(1.02)}50%{transform:scale(1)}}@keyframes skyBird{0%{transform:translate(-7vw)}to{transform:translate(113vw)}}@keyframes heroIn{0%{transform:translateY(18px)}to{transform:none}}.hin{animation:.7s cubic-bezier(.2,.7,.2,1) both heroIn}@keyframes caseIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.casepanel{animation:.4s cubic-bezier(.2,.7,.2,1) both caseIn}.case[data-active=true],.proj[data-active=true]{box-shadow:var(--shadow);background:var(--surface);transform:translateY(-6px);border-color:var(--accent)!important}.case[data-active=true] .case-more,.proj[data-active=true] .case-more{opacity:1;transform:none}@media (width<=760px){.cp-body,.pp-body{grid-template-columns:1fr!important;gap:28px!important}.cp-sec{grid-template-columns:1fr!important;gap:6px!important}}.mdrawer{transition:opacity .3s,transform .3s}@media (prefers-reduced-motion:reduce){.hin{animation:none}[data-reveal]{opacity:1!important;transition:none!important;transform:none!important}.sky-track,.sky-breathe,.sky-bird,.sky-bob,.casepanel{animation:none!important}}[data-sky=golden]:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(#0a04126b 0%,#0a041238 50%,#0000 82%);position:absolute;inset:0}@media (width<=768px){#hero-sky{min-height:560px!important}.hero-mtns{height:150px!important}.hero-content{padding:56px 22px 44px!important}.hero-h1{letter-spacing:-.02em!important;font-size:36px!important}.hero-sub{margin-top:16px!important;font-size:16px!important}.cld-bg-a{width:74px!important;height:48px!important}.cld-bg-b{width:56px!important;height:38px!important}.cld-bg-c{width:86px!important;height:55px!important}.cld-mid-a{width:120px!important;height:76px!important}.cld-mid-b{width:100px!important;height:63px!important}.cld-mid-c{width:136px!important;height:86px!important}.cld-fg-a{width:150px!important;height:90px!important}.cld-fg-b{width:132px!important;height:80px!important}.cld-ct-a{width:96px!important;height:60px!important}.cld-ct-b{width:118px!important;height:72px!important}.stat-grid{grid-template-columns:1fr 1fr!important}.stat-item{border-right:none!important;padding:22px 20px!important}.stat-item:nth-child(odd){border-right:1px solid var(--line2)!important}.stat-item:nth-child(-n+2){border-bottom:1px solid var(--line2)}#about{grid-template-columns:1fr!important;gap:32px!important;padding:48px 22px!important}#work{padding:24px 22px 52px!important}.work-header-row{flex-direction:column!important;align-items:flex-start!important;gap:8px!important}.work-hint{display:none!important}.work-cards-grid{grid-template-columns:1fr!important}.case-more{opacity:1!important;flex-shrink:0!important;transform:none!important}.work-metric{font-size:26px!important}.work-card-top{align-items:flex-start!important}.work-tag{text-align:right!important;flex-direction:column!important;align-items:flex-end!important;gap:3px!important;display:flex!important}.work-tag>span{white-space:nowrap!important}.work-tag-sep{display:none!important}.cp-header{padding:22px 20px 0!important}.cp-body,.pp-body{padding:18px 20px 26px!important}#projects{padding:24px 22px 52px!important}.proj-grid,.proj-workshop-grid{grid-template-columns:1fr!important}.exp-inner{padding:44px 22px 52px!important}.lrow{grid-template-columns:1fr!important;gap:10px!important;padding:20px 14px!important}#skills{padding:48px 22px!important}.skills-cats{grid-template-columns:1fr 1fr!important;gap:18px!important}.skills-certs{grid-template-columns:1fr!important}#contact{padding:56px 0 44px!important}.contact-inner{padding:0 22px!important}.contact-h2{font-size:32px!important}}
