@import"https://fonts.googleapis.com/css2?family=Comfortaa:wght@300..700&family=Outfit:wght@100..900&display=swap";:root{font-family:Comfortaa,system-ui,sans-serif;color:#f5f7fb;background:#01050f;--bg: #01050f;--panel: rgba(255, 255, 255, .026);--panel-strong: rgba(255, 255, 255, .052);--line: rgba(255, 255, 255, .075);--text: #f5f7fb;--muted: rgba(245, 247, 251, .66);--muted-strong: rgba(245, 247, 251, .82);--accent: #0691c4;--accent-soft: rgba(6, 145, 196, .18);--accent-line: rgba(6, 145, 196, .46);--cursor-core: rgba(6, 145, 196, .12);--cursor-mid: rgba(6, 145, 196, .045);--button-bg: #f5f7fb;--button-text: #02111b;--project-card-bg: rgba(12, 17, 29, .98);--project-card-hover: rgba(17, 24, 39, .99);--project-card-shadow: 0 18px 40px rgba(0, 0, 0, .24);--project-card-hover-shadow: 0 22px 54px rgba(0, 0, 0, .28), 0 0 46px rgba(6, 145, 196, .08);--section-gap: clamp(72px, 8vw, 104px);--theme-x: 50vw;--theme-y: 48px;--theme-radius: 120vmax;--theme-ripple-color: #f5fbff;--shadow: rgba(0, 0, 0, .34);--player-bg: rgba(4, 10, 22, .88);--heading-font: "Outfit", "Comfortaa", system-ui, sans-serif;scroll-behavior:smooth}:root[data-theme=light]{color:#07111f;background:#f5fbff;--bg: #f5fbff;--panel: rgba(0, 35, 64, .035);--panel-strong: rgba(255, 255, 255, .82);--line: rgba(0, 35, 64, .1);--text: #0d2342;--muted: rgba(7, 17, 31, .68);--muted-strong: rgba(7, 17, 31, .84);--accent: #027fad;--accent-soft: rgba(2, 127, 173, .13);--accent-line: rgba(2, 127, 173, .38);--cursor-core: rgba(0, 112, 160, .18);--cursor-mid: rgba(0, 112, 160, .08);--button-bg: #07111f;--button-text: #ffffff;--project-card-bg: rgba(255, 255, 255, .98);--project-card-hover: rgba(255, 255, 255, 1);--project-card-shadow: none;--project-card-hover-shadow: 0 0 0 1px rgba(2, 127, 173, .06);--theme-ripple-color: #01050f;--shadow: rgba(5, 43, 68, .12);--player-bg: rgba(238, 246, 255, .88)}*{box-sizing:border-box}html{scrollbar-color:var(--accent) transparent;scrollbar-gutter:stable}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;color:var(--text);background:radial-gradient(760px circle at 12% 18%,var(--accent-soft),transparent 58%),radial-gradient(560px circle at 91% 16%,rgba(55,80,240,.14),transparent 55%),linear-gradient(var(--bg),var(--bg))}body:before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background-image:radial-gradient(circle,rgba(255,255,255,.048) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 18% 30%,black 12%,transparent 100%);mask-image:radial-gradient(ellipse 80% 70% at 18% 30%,black 12%,transparent 100%)}:root[data-theme=light] body:before{background-image:radial-gradient(circle,rgba(2,127,173,.13) 1px,transparent 1px)}.cursor-spotlight{position:fixed;left:0;top:0;z-index:35;width:560px;height:560px;pointer-events:none;opacity:0;background:radial-gradient(circle,rgba(6,145,196,.18),rgba(6,145,196,.075) 38%,transparent 72%);border-radius:50%;filter:blur(14px);transform:translate3d(50vw,50vh,0) translate(-50%,-50%);transition:opacity .52s ease;will-change:transform,opacity;mix-blend-mode:screen}:root[data-theme=light] .cursor-spotlight{opacity:0;filter:blur(12px);mix-blend-mode:normal;background:radial-gradient(circle,rgba(2,127,173,.2),rgba(55,80,240,.09) 36%,transparent 72%)}.cursor-spotlight.is-active{opacity:.95}:root[data-theme=light] .cursor-spotlight.is-active{opacity:.82}.scroll-progress{position:fixed;top:0;left:0;z-index:80;width:100%;height:3px;transform-origin:left;background:linear-gradient(90deg,var(--accent),rgba(55,80,240,.92));box-shadow:0 0 24px var(--accent-soft)}.back-to-top{position:fixed;right:clamp(18px,4vw,36px);bottom:clamp(18px,4vw,34px);z-index:42;display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;color:var(--text);background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .22s ease,visibility .22s ease,transform .22s ease,border-color .18s ease,background .18s ease}.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{transform:translateY(-2px);border-color:var(--accent-line);background:var(--accent-soft)}.back-to-top svg{transform:rotate(-45deg)}.theme-ripple{position:fixed;z-index:90;width:32px;height:32px;pointer-events:none;border-radius:50%;background:radial-gradient(circle,var(--theme-ripple-color) 0 32%,transparent 72%);transform:translate(-50%,-50%) scale(0);animation:theme-ripple .76s cubic-bezier(.22,1,.36,1) forwards;will-change:transform,opacity}::view-transition-old(root),::view-transition-new(root){animation-duration:.86s;animation-timing-function:cubic-bezier(.76,0,.24,1);animation-fill-mode:both;mix-blend-mode:normal}.theme-view-transition::view-transition-old(root){animation:none}.theme-view-transition::view-transition-new(root){animation-name:theme-radial-reveal}.theme-view-transition::view-transition-group(root){animation-duration:.86s;animation-timing-function:cubic-bezier(.76,0,.24,1)}a{color:inherit;text-decoration:none}button,a{font:inherit}button{border:0}img{display:block;max-width:100%}.site-shell,.nav-wrap{width:min(100%,1120px);margin:0 auto;padding-inline:40px}.site-shell{overflow-x:clip}.section-anchor{scroll-margin-top:96px}.nav-wrap{position:absolute;top:0;inset-inline:0;z-index:40;display:flex;align-items:center;justify-content:space-between;height:68px;border-bottom:1px solid transparent;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.site-shell{position:relative;z-index:10}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;transform:translateY(1px)}.brand-mark img{width:46px;height:46px;object-fit:contain}.nav-links{display:flex;align-items:center;gap:4px}.nav-links a,.theme-toggle,.secondary-button,.project-actions a,.tool-chip,.tags span,.badge{border:1px solid var(--line);background:var(--panel)}.nav-links a{border-color:transparent;background:transparent;padding:9px 15px;border-radius:999px;color:var(--muted);font-size:13px;font-weight:500;transition:color .18s ease,background .18s ease,border-color .18s ease}.nav-links a:hover,.social-links a:hover,.project-actions a:hover,.project-actions button:hover{color:var(--text);border-color:var(--accent-line);background:var(--accent-soft)}.nav-controls{display:flex;align-items:center;gap:8px}.theme-toggle{position:relative;display:grid;place-items:center;border-color:transparent;background:transparent;width:38px;height:38px;border-radius:50%;color:var(--text);cursor:pointer}.theme-toggle:hover{border-color:var(--accent-line);background:var(--accent-soft)}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:130px 0 72px}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:clamp(36px,7vw,96px);align-items:end}.hero-main,.hero-side{min-width:0}.eyebrow,.section-heading p,.project-topline,.rail-index{margin:0;color:var(--accent);font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;line-height:1.7;overflow-wrap:anywhere}.rotating-eyebrow{display:inline-grid;grid-template-areas:"role";min-height:1.7em}.rotating-eyebrow span{grid-area:role;opacity:0;transform:translateY(.55em);filter:blur(3px);white-space:nowrap;transition:opacity .52s ease,transform .52s cubic-bezier(.22,1,.36,1),filter .52s ease}.rotating-eyebrow span.is-active{opacity:1;transform:translateY(0);filter:blur(0)}.hero h1{margin:46px 0 0 -8px;color:var(--text);font-family:var(--heading-font);font-size:clamp(4.3rem,12vw,9rem);font-weight:900;line-height:.84;letter-spacing:0;max-width:100%;overflow-wrap:anywhere}.hero h1 span{display:block}.accent-line{color:var(--accent)}.hero-side{display:flex;flex-direction:column;gap:22px;min-width:0}.hero-side p{margin:0;color:var(--muted-strong);font-size:15px;font-weight:500;line-height:1.8}.hero-actions{display:grid;gap:10px}.primary-button,.secondary-button{display:inline-flex;justify-content:center;align-items:center;min-height:42px;border:1px solid var(--accent-line);border-radius:999px;font-size:13px;font-weight:700;transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease}.primary-button{color:var(--text);background:var(--accent-soft)}.primary-button:hover,.secondary-button:hover{transform:translateY(-2px);border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.secondary-button{color:var(--muted-strong);background:var(--panel)}.social-links{display:flex;flex-wrap:wrap;gap:10px}.social-links.compact{gap:12px}.social-links a{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;font-weight:600;transition:color .18s ease,border-color .18s ease,background .18s ease}.social-links.compact a{border:0;background:transparent;padding:0}.hero-footnote{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:72px;padding-top:26px;border-top:1px solid var(--line)}.hero-footnote a,.portrait-chip{display:inline-flex;align-items:center;gap:10px;color:var(--muted-strong);font-size:13px;font-weight:700}.portrait-chip img{width:42px;height:42px;border-radius:50%;object-fit:cover;object-position:top center;border:1px solid var(--line)}.typo-reveal{appearance:none;border:0;padding:0;display:inline-grid;grid-template-areas:"word";background:transparent;color:inherit;cursor:pointer;font:inherit;letter-spacing:inherit;line-height:inherit;text-align:inherit;vertical-align:baseline;white-space:nowrap}.typo-copy{grid-area:word;transition:opacity .26s ease,transform .26s cubic-bezier(.22,1,.36,1),filter .26s ease}.typo-copy-corrected{opacity:0;transform:translateY(.16em);filter:blur(2px)}.typo-reveal.is-corrected .typo-copy-original{opacity:0;transform:translateY(-.12em);filter:blur(2px)}.typo-reveal.is-corrected .typo-copy-corrected{opacity:1;transform:translateY(0);filter:blur(0)}@media(hover:hover)and (pointer:fine){.typo-reveal:hover .typo-copy-original{opacity:0;transform:translateY(-.12em);filter:blur(2px)}.typo-reveal:hover .typo-copy-corrected{opacity:1;transform:translateY(0);filter:blur(0)}}.typo-reveal:focus-visible{outline:1px solid currentColor;outline-offset:.12em;border-radius:.12em}.tools-section,.projects,.about,.resume,.footer{padding-block:var(--section-gap)}.section-kicker{display:flex;justify-content:space-between;gap:24px;margin-bottom:22px}.section-kicker span{color:var(--text);font-size:14px;font-weight:800}.section-kicker p{max-width:360px;margin:0;color:var(--muted);font-size:13px;line-height:1.7}.tool-marquee{overflow:hidden;padding-block:2px;-webkit-mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent);mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent)}.tool-track{display:flex;gap:12px;width:max-content;animation:tool-drift 42s linear infinite;will-change:transform}.tool-chip{flex:0 0 150px;display:inline-flex;align-items:center;gap:11px;min-height:58px;padding:10px 12px;border-radius:16px;color:var(--muted-strong);font-size:13px;font-weight:700;transition:transform .18s ease,border-color .18s ease,background .18s ease}.tool-marquee:hover .tool-track{animation-duration:15s}.tool-marquee:focus-within .tool-track{animation-duration:15s}.tool-chip:hover{transform:translateY(-2px);border-color:var(--accent-line);background:var(--panel-strong)}.tool-chip img{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;object-fit:contain;padding:3px;background:#ffffffeb}.section-heading{max-width:710px;margin-bottom:48px}.section-heading h2{max-width:680px;margin:14px 0 18px;color:var(--text);font-family:var(--heading-font);font-size:clamp(2rem,5vw,4.6rem);line-height:.96;letter-spacing:0}.section-heading>span{display:block;max-width:540px;color:var(--muted);font-size:15px;font-weight:500;line-height:1.8}.project-carousel{position:relative;margin-top:clamp(34px,5vw,58px)}.project-carousel-top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;color:var(--accent);font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.project-carousel-top>div:first-child{display:inline-flex;gap:10px}.project-carousel-controls{display:flex;gap:10px}.project-carousel-controls button,.project-carousel-dots button{border:1px solid var(--line);background:var(--panel);color:var(--muted-strong);cursor:pointer}.project-carousel-controls button{display:grid;place-items:center;width:42px;height:42px;border-radius:50%}.project-carousel-controls button:hover,.project-carousel-dots button:hover,.project-carousel-dots button.is-active{border-color:var(--accent-line);background:var(--accent-soft);color:var(--text)}.project-carousel-dots button:hover,.project-carousel-dots button.is-active{width:58px}.project-view{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.28fr);gap:clamp(18px,4vw,34px);align-items:stretch}.project-feature{position:relative;display:grid;grid-template-columns:minmax(0,.95fr) minmax(340px,1.05fr);min-height:540px;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:var(--project-card-bg);box-shadow:var(--project-card-shadow);animation:certification-enter .86s cubic-bezier(.22,1,.36,1);transition:border-color .26s ease,background .26s ease,box-shadow .26s ease}.project-carousel-dots{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:18px}.project-carousel-dots button{width:42px;height:34px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.08em;transition:width .42s ease,border-color .42s ease,background .42s ease,color .42s ease}.project-preview{display:flex;flex-direction:column;justify-content:flex-end;min-height:540px;border:1px solid var(--line);border-radius:24px;background:var(--panel);color:var(--muted-strong);padding:24px;text-align:left;cursor:default;transition:border-color .26s ease,background .26s ease,box-shadow .26s ease}.project-preview span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.project-preview strong{display:block;margin:14px 0;color:var(--accent);font-family:var(--heading-font);font-size:clamp(3rem,7vw,5.6rem);line-height:.9}.project-preview em{color:var(--text);font-style:normal;font-size:16px;letter-spacing:0;line-height:1.35}.project-preview:hover{border-color:var(--accent-line);background:var(--accent-soft);color:var(--text)}.project-copy{position:relative;z-index:2;display:flex;flex-direction:column;padding:clamp(22px,3vw,34px)}.project-topline{display:flex;justify-content:space-between;gap:20px;color:var(--accent)}.project-copy h3{margin:20px 0 10px;color:var(--text);font-family:var(--heading-font);font-size:clamp(2rem,4vw,3.2rem);line-height:1;letter-spacing:0}.project-copy p{max-width:500px;margin:0 0 12px;color:var(--muted);font-size:14px;font-weight:500;line-height:1.82}.story-caption{color:var(--muted-strong)!important}.tags,.project-actions{display:flex;flex-wrap:wrap;gap:9px}.tags span,.badge{border-radius:999px;padding:6px 10px;color:var(--pill-text, var(--muted-strong));border-color:var(--pill-border, var(--line));background:var(--pill-bg, var(--panel));font-size:11px;font-weight:700}.tags span{--pill-bg: rgba(8, 182, 245, .13);--pill-border: rgba(8, 182, 245, .34);--pill-text: #8be3ff}.tags span:nth-child(6n+6){--pill-bg: rgba(245, 247, 251, .08);--pill-border: rgba(245, 247, 251, .18);--pill-text: rgba(245, 247, 251, .82)}:root[data-theme=light] .tags span{--pill-bg: rgba(8, 182, 245, .11);--pill-border: rgba(8, 182, 245, .28);--pill-text: #047fae}.project-actions{margin-top:auto;padding-top:16px}.project-actions a,.project-actions button{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 12px;border-radius:999px;color:var(--muted-strong);font-size:13px;font-weight:700;cursor:pointer}.project-actions button{border:1px solid var(--accent-line);background:var(--accent-soft)}.project-image{position:relative;height:100%;min-height:100%;overflow:hidden;background:#fff}.project-image img{width:100%;height:100%;object-fit:cover;object-position:top center;opacity:.94;filter:saturate(.96) contrast(1.04);transition:transform .72s cubic-bezier(.22,1,.36,1),opacity .3s ease,filter .3s ease}@media(hover:hover)and (pointer:fine){.project-feature:hover{border-color:#08b6f561;background:linear-gradient(145deg,rgba(8,182,245,.08),transparent 70%),var(--project-card-hover);box-shadow:0 18px 44px #08b6f514}.project-feature:hover .project-image img{transform:scale(1.045) translateY(-8px);opacity:1;filter:saturate(1.06) contrast(1.05)}}.about-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);gap:clamp(36px,6vw,72px)}.case-study,.certifications-page{padding:126px 0 var(--section-gap)}.back-link,.case-actions a{display:inline-flex;align-items:center;gap:8px;min-height:38px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted-strong);font-size:13px;font-weight:800}.back-link{padding:0 14px;cursor:pointer}.case-actions a{padding:0 13px}.case-actions a[href="#ai-collab-review"]{border-color:var(--accent-line);color:var(--text);background:linear-gradient(135deg,var(--accent-soft),transparent 80%),var(--panel);box-shadow:0 0 28px #08b6f514}.back-link:hover,.case-actions a:hover{border-color:var(--accent-line);background:var(--accent-soft);color:var(--text)}.case-hero{max-width:920px;margin-top:78px}.case-hero h1{margin:18px 0 20px;color:var(--text);font-family:var(--heading-font);font-size:clamp(3rem,10vw,8rem);line-height:.9}.case-hero>span{display:block;max-width:640px;color:var(--muted-strong);font-size:clamp(1.05rem,2.2vw,1.45rem);font-weight:500;line-height:1.7}.certifications-hero{max-width:980px}.certifications-hero h1{max-width:960px;font-size:clamp(2.7rem,7vw,6.8rem)}.certification-carousel{position:relative;margin-top:clamp(52px,8vw,88px)}.certification-carousel-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin-bottom:18px}.certification-view{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.32fr);gap:clamp(18px,4vw,34px);align-items:stretch}.certification-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,var(--panel-strong),var(--panel));padding:clamp(18px,3vw,26px);transition:border-color .26s ease,background .26s ease,box-shadow .26s ease}.certification-card:hover{border-color:#08b6f561;background:linear-gradient(145deg,rgba(8,182,245,.08),transparent 70%),var(--panel);box-shadow:0 18px 44px #08b6f514}.certification-card-active{display:grid;grid-template-columns:minmax(260px,.92fr) minmax(0,1fr);gap:clamp(20px,4vw,44px);align-items:stretch;min-height:520px;animation:certification-enter .86s cubic-bezier(.22,1,.36,1)}.certification-progress{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-bottom:14px;color:var(--accent);font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.certification-progress i{height:1px;background:linear-gradient(90deg,var(--accent-line),transparent)}.certification-controls{display:flex;gap:10px}.certification-controls button,.certification-preview,.certification-number-rail button{border:1px solid var(--line);background:var(--panel);color:var(--muted-strong);cursor:pointer}.certification-controls button{display:grid;place-items:center;width:42px;height:42px;border-radius:50%}.certification-image,.certification-badge-link{display:grid;place-items:center;height:100%;min-height:430px;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fffffff0}.certification-image img{width:100%;height:100%;object-fit:contain;padding:14px}.certification-badge-link{gap:10px;color:var(--accent);background:linear-gradient(135deg,var(--accent-soft),transparent 70%),var(--panel);font-weight:800}.certification-copy{display:flex;flex-direction:column;justify-content:center;padding:4px 2px}.certification-copy h2{margin:18px 0 10px;color:var(--text);font-family:var(--heading-font);font-size:clamp(1.85rem,3.4vw,3.25rem);line-height:1}.certification-copy p{margin:0 0 16px;color:var(--muted);font-size:13px;font-weight:600}.certification-copy .certification-takeaway{color:var(--muted-strong);font-size:clamp(1rem,1.8vw,1.28rem);line-height:1.65}.certification-details{margin-top:6px;padding-top:18px;border-top:1px solid var(--line)}.certification-skills{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.certification-skills span{border:1px solid rgba(8,182,245,.34);border-radius:999px;padding:6px 9px;color:#8be3ff;background:#08b6f521;font-size:10px;font-weight:900}:root[data-theme=light] .certification-skills span{color:#047fae;background:#08b6f51c;border-color:#08b6f547}.certification-copy a{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-size:12px;font-weight:900}.certification-preview{display:flex;flex-direction:column;justify-content:flex-end;min-height:520px;border-radius:24px;padding:24px;text-align:left;color:var(--muted);background:linear-gradient(180deg,transparent,var(--accent-soft)),var(--panel);font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;transition:border-color .52s ease,background .52s ease,color .52s ease}.certification-preview strong{display:block;margin:14px 0;color:var(--accent);font-family:var(--heading-font);font-size:clamp(3rem,7vw,5.6rem);line-height:.85;letter-spacing:0}.certification-preview em{color:var(--text);font-style:normal;font-size:16px;letter-spacing:0;line-height:1.35;text-transform:none}.certification-number-rail{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.certification-number-rail button{width:42px;height:34px;border-radius:999px;font-size:11px;font-weight:900;transition:width .42s ease,border-color .42s ease,background .42s ease,color .42s ease}.certification-controls button:hover,.certification-preview:hover{border-color:var(--accent-line);background:var(--accent-soft);color:var(--text)}.certification-number-rail button:hover,.certification-number-rail button.is-active{border-color:var(--accent-line);background:var(--accent-soft);color:var(--text);width:58px}.digital-badges-section{margin-top:clamp(58px,9vw,110px);padding-top:clamp(44px,7vw,72px);border-top:1px solid var(--line)}.digital-badge-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.digital-badge-card{min-height:300px;border:1px solid var(--line);border-radius:22px;background:var(--panel);padding:22px;transition:border-color .26s ease,background .26s ease,box-shadow .26s ease}.digital-badge-card:hover{border-color:#08b6f561;background:linear-gradient(145deg,rgba(8,182,245,.08),transparent 70%),var(--panel);box-shadow:0 18px 44px #08b6f514}.digital-badge-card h3{margin:18px 0 8px;color:var(--text);font-family:var(--heading-font);font-size:1.45rem;line-height:1.1}.digital-badge-card p{color:var(--muted-strong);font-size:13px;font-weight:600;line-height:1.7}.digital-badge-card a{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-size:12px;font-weight:900}.case-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.case-cover{margin:clamp(52px,9vw,92px) 0;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fff}.case-cover img{width:100%;max-height:680px;object-fit:cover;object-position:top center}.case-grid{display:grid;grid-template-columns:minmax(220px,.6fr) minmax(0,1fr);gap:clamp(28px,6vw,80px);padding:clamp(46px,7vw,76px) 0;border-top:1px solid var(--line)}.case-grid h2,.case-list-section h2{margin:14px 0 0;color:var(--text);font-family:var(--heading-font);font-size:clamp(2rem,4vw,3.7rem);line-height:1}.case-grid>p{margin:0;color:var(--muted-strong);font-size:clamp(1.05rem,2vw,1.35rem);font-weight:500;line-height:1.75}.case-list-section{padding:clamp(46px,7vw,76px) 0;border-top:1px solid var(--line)}.case-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.case-note{min-height:190px;border:1px solid var(--line);border-radius:18px;background:var(--panel);padding:22px;transition:border-color .26s ease,background .26s ease,box-shadow .26s ease}.case-note:hover{border-color:#08b6f561;background:linear-gradient(145deg,rgba(8,182,245,.08),transparent 70%),var(--panel);box-shadow:0 18px 44px #08b6f514}.case-note span,.case-note svg{color:var(--accent)}.case-note p{margin:18px 0 0;color:var(--muted-strong);font-size:14px;font-weight:500;line-height:1.75}.case-skill-list{display:flex;flex-wrap:wrap;gap:10px}.case-ai{position:relative;border-radius:24px}.ai-note-jump{position:relative;display:inline-flex;align-items:center;gap:8px;margin-top:22px;color:var(--accent);font-size:12px;font-weight:900}.ai-note-jump svg{animation:ai-arrow-bounce 1.45s ease-in-out infinite}.case-ai-review{padding-inline:clamp(22px,4vw,34px);border:1px solid var(--accent-line);border-radius:24px;background:linear-gradient(135deg,var(--accent-soft),transparent 72%),var(--panel)}.ai-review-list{display:grid;gap:12px}.ai-review-list article{border:1px solid var(--line);border-radius:18px;background:var(--panel);padding:18px}.ai-review-list strong{color:var(--accent);font-family:var(--heading-font);font-size:1rem}.ai-review-list p{margin:8px 0 0;color:var(--muted-strong);font-size:14px;font-weight:600;line-height:1.72}.case-stack{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:clamp(46px,7vw,76px);border-top:1px solid var(--line)}.about-narrative p{margin:0 0 26px;color:var(--muted-strong);font-size:clamp(1.1rem,2.2vw,1.6rem);font-weight:500;line-height:1.65;letter-spacing:0}.craft-grid{display:grid;gap:12px}.craft-card,.experience-card,.mini-card{border:1px solid var(--line);background:var(--panel);transition:border-color .26s ease,background .26s ease,box-shadow .26s ease}.craft-card:hover,.experience-card:hover,.mini-card:hover{border-color:#08b6f561;background:linear-gradient(145deg,rgba(8,182,245,.08),transparent 70%),var(--panel);box-shadow:0 18px 44px #08b6f514}.craft-card{display:grid;grid-template-columns:42px 1fr;gap:18px;padding:22px;border-radius:18px}.craft-card,.experience-card,.mini-card,.tool-chip{position:relative}.craft-card:after,.experience-card:after,.mini-card:after,.tool-chip:after{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(circle at center,rgba(26,188,254,.18),transparent 62%);transition:opacity .22s ease}.craft-card:hover:after,.experience-card:hover:after,.mini-card:hover:after,.tool-chip:hover:after{opacity:1}.craft-card svg{color:var(--accent)}.craft-card h3{margin:0 0 8px;color:var(--text);font-size:18px}.craft-card p{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.7}.craft-card span{color:var(--accent);font-size:12px;font-weight:700}.experience-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(360px,500px);gap:16px;overflow-x:auto;padding-bottom:18px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--accent-line) transparent}.experience-rail+.resume-proof-heading{margin-top:clamp(172px,20vw,250px)}.experience-card{min-height:318px;display:flex;flex-direction:column;justify-content:space-between;scroll-snap-align:start;padding:28px;border-radius:22px}.rail-index{color:var(--muted)}.experience-card h3,.resume-lower h3{margin:18px 0 8px;color:var(--text);font-family:var(--heading-font);font-size:23px;letter-spacing:0}.experience-card p,.mini-card p{color:var(--muted);font-size:13px;line-height:1.78}.muted-line{color:var(--muted)!important;margin:0 0 18px}.resume-lower{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(20px,4vw,42px);margin-top:34px}.resume-column{display:flex;min-width:0;flex-direction:column}.mini-card-grid{display:grid;gap:14px;margin-top:18px}.resume-subhead{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:32px}.resume-subhead h3{margin:0}.resume-subhead a{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-size:13px;font-weight:800;white-space:nowrap}.mini-card{display:flex;min-height:134px;flex-direction:column;justify-content:center;margin:0;padding:22px;border-radius:16px}.mini-card span{display:block;margin-bottom:8px;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.mini-card strong{display:block;color:var(--text);font-size:16px;line-height:1.35}.footer{min-height:auto;display:flex;flex-direction:column;justify-content:center}.footer h2{max-width:860px;margin:20px 0 22px;color:var(--text);font-family:var(--heading-font);font-size:clamp(2.7rem,7vw,5.9rem);line-height:1;letter-spacing:0}.footer h2>span{display:block;color:var(--accent)}.footer>p:not(.eyebrow){max-width:460px;margin:0 0 44px;color:var(--muted);font-size:15px;line-height:1.8}.contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.contact-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:54px;border:1px solid var(--accent-line);border-radius:999px;font-size:14px;font-weight:800;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease}.contact-secondary{gap:8px;padding:0 20px;color:var(--muted-strong);background:var(--panel)}.contact-secondary:hover{transform:translateY(-2px);border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.footer-bottom{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-top:92px;padding-top:28px;border-top:1px solid var(--line)}.footer-bottom small{display:block}.footer-bottom small{color:var(--muted);font-size:12px}.inspiration-credit{margin-top:6px}.inspiration-credit a{color:var(--muted-strong);text-decoration:underline;text-decoration-color:var(--accent-line);text-underline-offset:4px}.inspiration-credit a:hover{color:var(--accent)}[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .76s cubic-bezier(.22,1,.36,1),transform .76s cubic-bezier(.22,1,.36,1)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}@keyframes theme-ripple{0%{opacity:0;transform:translate(-50%,-50%) scale(0)}18%{opacity:.48;transform:translate(-50%,-50%) scale(42)}62%{opacity:.28;transform:translate(-50%,-50%) scale(125)}to{opacity:0;transform:translate(-50%,-50%) scale(150)}}@keyframes theme-radial-reveal{0%{clip-path:circle(0 at var(--theme-x) var(--theme-y))}to{clip-path:circle(calc(var(--theme-radius) + 48px) at var(--theme-x) var(--theme-y))}}@keyframes certification-enter{0%{opacity:0;transform:translate(18px) scale(.985);filter:blur(8px)}to{opacity:1;transform:translate(0) scale(1);filter:blur(0)}}@keyframes ai-arrow-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@keyframes tool-drift{0%{transform:translate(0)}to{transform:translate(calc(-50% - 6px))}}@keyframes sound-nudge{0%,62%,to{opacity:0;transform:scale(.92)}18%{opacity:.48;transform:scale(1)}38%{opacity:0;transform:scale(1.18)}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}.tool-track{animation:none}.cursor-spotlight{display:none}}@media(max-width:760px){.site-shell,.nav-wrap{padding-inline:24px}.hero-grid,.project-feature,.project-view,.about-grid,.resume-lower{grid-template-columns:1fr}.hero-side{max-width:420px}.project-feature{min-height:auto}.project-preview{display:none}.project-copy{min-height:300px;padding:20px}.project-image{height:220px;min-height:220px;order:-1}.project-copy h3{margin-top:14px;font-size:clamp(1.35rem,6vw,1.75rem);line-height:1.06}.project-copy p{margin-bottom:9px;font-size:13px;line-height:1.55}.tags{gap:7px}.tags span,.project-actions a,.project-actions button{font-size:10px}.project-actions{padding-top:10px}.case-grid,.case-list,.certification-view,.certification-card-active,.digital-badge-list{grid-template-columns:1fr}.case-stack{align-items:flex-start;flex-direction:column}.certification-image,.certification-badge-link{min-height:240px}.certification-card-active,.certification-preview{min-height:auto}.certification-preview{display:none}.case-hero h1{font-size:clamp(2.4rem,12vw,4.2rem);line-height:.95}.case-grid h2,.case-list-section h2{font-size:clamp(1.55rem,8vw,2.2rem);line-height:1.06}.certification-copy h2{margin-top:12px;font-size:clamp(1.25rem,6.4vw,1.75rem);line-height:1.08}.certification-copy .certification-takeaway{font-size:.95rem;line-height:1.55}}@media(max-width:640px){.site-shell,.nav-wrap{padding-inline:18px}.nav-wrap{height:auto;padding-block:14px}.brand-mark{width:46px;height:46px}.brand-mark img{width:42px;height:42px}.nav-links{display:none}.hero{padding-top:110px}.hero,.hero-grid,.hero-main,.hero-side,.eyebrow,.hero-side p{width:100%;max-width:min(calc(100vw - 36px),354px)}.eyebrow,.section-heading p,.project-topline,.rail-index{font-size:10px;letter-spacing:.14em}.hero h1{margin-left:-4px;font-size:clamp(3.2rem,16vw,4rem);letter-spacing:0}.hero-side p{max-width:100%;font-size:14px;overflow-wrap:break-word}.hero-actions,.primary-button,.secondary-button{width:100%}.hero-footnote,.section-kicker,.footer-bottom{align-items:flex-start;flex-direction:column}.project-copy{padding:18px}.project-image{height:190px;min-height:190px}.tool-chip{flex-basis:142px;min-height:54px;font-size:12px}.project-topline{align-items:flex-start;flex-direction:column;gap:8px}.experience-rail{grid-auto-columns:minmax(280px,84vw)}.craft-card{grid-template-columns:1fr}.resume-subhead{align-items:flex-start;flex-direction:column}.mini-card{min-height:116px}.case-study,.certifications-page{padding-top:104px}.case-hero{margin-top:48px}.case-note{min-height:150px}}.floating-player{position:fixed;bottom:28px;left:50%;transform:translate(-50%);z-index:50;display:flex;align-items:center;gap:10px;padding:5px 10px 5px 5px;border-radius:100px;border:1px solid var(--line);background:var(--player-bg);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 8px 32px var(--shadow);transition:border-color .3s ease,box-shadow .3s ease}.floating-player.is-playing{border-color:var(--accent-line);box-shadow:0 8px 32px var(--shadow),0 0 24px var(--accent-soft)}.floating-player-disc{position:relative;flex-shrink:0;width:44px;height:44px;border-radius:50%;overflow:hidden;background:var(--panel-strong);display:grid;place-items:center;color:var(--muted);border:2px solid var(--line);transition:border-color .3s ease}.floating-player.is-playing .floating-player-disc{border-color:var(--accent-line);animation:disc-spin 10s linear infinite}.floating-player-disc img{width:100%;height:100%;object-fit:cover;display:block}.floating-player-disc:after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,rgba(0,0,0,.52) 13%,transparent 14%);pointer-events:none}@keyframes disc-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.floating-player-body{min-width:0;display:flex;align-items:center}.floating-player-track{display:flex;flex-direction:column;gap:5px;min-width:0;max-width:200px}.floating-player-title{display:block;font-size:11px;font-family:var(--heading-font);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1;letter-spacing:.01em}.floating-player-hint{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-family:var(--heading-font);color:var(--muted);white-space:nowrap;letter-spacing:.03em}.floating-player-bar{height:2px;background:var(--line);border-radius:1px;overflow:hidden;position:relative}.floating-player-bar:after{content:"";position:absolute;left:0;top:0;height:100%;width:var(--progress, 0%);background:var(--accent);border-radius:1px;transition:width .5s linear}.floating-player-bar.is-loading:after{width:36%;animation:bar-loading 1.3s ease-in-out infinite}@keyframes bar-loading{0%{left:-36%}to{left:100%}}.floating-player-shuffle{flex-shrink:0;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;padding:0;transition:color .16s,border-color .16s,background .16s}.floating-player-shuffle:hover,.floating-player-shuffle.is-active{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.floating-player-toggle{flex-shrink:0;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;padding:0;transition:color .16s,border-color .16s,background .16s}.floating-player-toggle:hover,.floating-player.is-playing .floating-player-toggle{border-color:var(--accent-line);color:var(--accent);background:var(--accent-soft)}@media(max-width:768px){.back-to-top{bottom:calc(84px + env(safe-area-inset-bottom,0px))}.floating-player{bottom:calc(20px + env(safe-area-inset-bottom,0px))}.floating-player-shuffle{display:none}.floating-player-track{max-width:120px}.floating-player-disc{width:38px;height:38px}}
