/* Project Studio — a floating navigation rail, luminous surfaces and quiet space. */
:root{--studio-surface:#061018;--studio-ink:#eef6fa;--studio-muted:#8fa6b4;--studio-border:#183744;--studio-accent:#11baff;--studio-bg:#020506;color-scheme:dark}html{scroll-padding-top:100px}body{color:var(--studio-ink);background:var(--studio-bg)}header nav{display:none}header{position:absolute;background:transparent;border:0}header .contact-link{margin-left:auto}header .logo{font-size:25px}.section,.studio-footer{width:auto;margin-inline:auto}.hero{padding-inline:8% 5%}.floating-dock{position:fixed;left:18px;top:50%;transform:translateY(-50%);z-index:80;display:flex;flex-direction:column;gap:5px;padding:8px;border:1px solid #39637a70;border-radius:23px;background:#061018ba;backdrop-filter:blur(20px);box-shadow:0 10px 35px #0004}.floating-dock a,.floating-dock button{position:relative;display:grid;place-items:center;width:38px;height:38px;background:none;border:1px solid transparent;border-radius:13px;color:#9fb5c5;cursor:pointer;transition:background .25s,color .25s,transform .25s}.floating-dock svg{width:20px;height:20px}.floating-dock a:hover,.floating-dock button:hover,.floating-dock a.active{background:#0873bc25;border-color:#169ee65c;color:#40d9ff;transform:translateY(-2px)}.dock-divider{height:1px;background:#274151;margin:5px 8px}.dock-tip{position:absolute;left:calc(100% + 17px);white-space:nowrap;padding:8px 12px;background:var(--studio-surface);color:var(--studio-ink);border:1px solid var(--studio-border);border-radius:9px;font:11px var(--mono);opacity:0;transform:translateX(-5px);pointer-events:none;transition:.2s}.floating-dock :is(a,button):is(:hover,:focus-visible) .dock-tip{opacity:1;transform:none}.studio-section{position:relative;padding:100px max(6%,calc((100vw - 1280px)/2)) 15px max(105px,calc((100vw - 1280px)/2));overflow:clip}.studio-section .section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px;position:relative;z-index:1}.studio-section .section-heading>p{display:block;font:14px/1.8 'DM Sans',sans-serif;color:var(--studio-muted);max-width:280px}.studio-section h2{font:600 clamp(34px,4.1vw,62px)/1.06 'DM Sans',sans-serif!important;letter-spacing:-2px!important;margin:20px 0 0!important}.studio-section h2 span{color:#13b9ff!important}.section-tag{font-size:10px;letter-spacing:2px;color:#28cbf1}.project-toolbar{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.project-toolbar>a{font:11px var(--mono);color:var(--studio-muted)}.project-filters{display:flex;flex-wrap:wrap;gap:6px}.project-filters button{font-size:10px;border:1px solid var(--studio-border);border-radius:30px;padding:10px 16px}.project-filters button.active{background:#0b9fef1f;border-color:#16aeef;color:#5ad8ff}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.project-card,.film-card,.creative-card{border:1px solid var(--studio-border);border-radius:20px;background:var(--studio-surface);overflow:hidden;position:relative}.featured-project{grid-column:1/-1;display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;min-height:390px;padding:30px!important;background:linear-gradient(120deg,var(--studio-surface),#06203980)}.featured-project .project-visual{grid-column:2;grid-row:1;padding:0!important;min-width:0}.featured-project .project-info{grid-column:1;grid-row:1;border:0;margin:0;padding:20px 35px 20px 4px}.featured-project .project-info h3{font-size:clamp(32px,3.7vw,53px);line-height:1.05;letter-spacing:-2px;margin:0 0 22px}.featured-project .project-info p{font-size:15px;line-height:1.8;max-width:300px;color:var(--studio-muted)}.featured-project .project-info h3 span{display:block;font:11px var(--mono);letter-spacing:1px;color:#43cdff;margin-top:18px}.featured-project .project-info h3 span:before{content:'EXPLORE PROJECT '}.featured-project .tags{margin-top:28px;gap:12px}.featured-project .tags span{padding:7px 10px;border:1px solid var(--studio-border);border-radius:20px;font-size:10px}.featured-project .tags span:before{display:none}.voiceloom-demo{border-radius:12px}.demo-window-bar b{font-size:7px}.compact-project{display:flex;align-items:center;padding:30px;gap:20px;min-height:190px}.compact-project h3{font:600 23px 'DM Sans',sans-serif;margin:8px 0}.compact-project p{font-size:13px;line-height:1.7;color:var(--studio-muted);max-width:320px}.compact-project small{font:8px var(--mono);letter-spacing:.6px;color:var(--studio-muted)}.project-symbol{display:grid;place-items:center;flex:0 0 55px;width:55px;height:65px;color:#20c6ff;border-radius:14px;background:#0587df16;border:1px solid #0898e030}.project-symbol svg{width:30px;height:30px}.project-open{display:inline-block;font:11px var(--mono);color:#50d6ff;margin-top:20px}.corner-arrow{margin-left:auto;color:#55ceff;font-size:25px}.spotlight{--mx:50%;--my:50%;transition:border-color .35s,box-shadow .35s,transform .35s}.spotlight:before{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(350px circle at var(--mx) var(--my),#1bbcff18,transparent 75%);pointer-events:none;z-index:1;opacity:0;transition:opacity .35s}.spotlight:hover:before{opacity:1}.spotlight:hover{border-color:#26b2eaa0;box-shadow:0 12px 60px #008aff0b}.video-grid{display:grid;grid-template-columns:1.35fr .8fr;gap:22px}.film-screen{position:relative;background:#020506;aspect-ratio:16/10;overflow:hidden}.film-screen video{width:100%;height:100%;object-fit:contain;display:block}.film-badge{position:absolute;left:20px;top:20px;font:8px var(--mono);letter-spacing:1px;border:1px solid #4c9dc84d;background:#05131bd9;border-radius:20px;padding:8px 12px;color:#9adbff;pointer-events:none}.film-caption{padding:25px;display:flex;align-items:center;justify-content:space-between;gap:12px}.film-caption small{font:8px var(--mono);letter-spacing:1.4px;color:var(--studio-muted)}.film-caption h3{font-size:22px;margin:9px 0 0;letter-spacing:-.6px}.film-caption>span{font:8px var(--mono);color:var(--studio-muted);white-space:nowrap}.creative-card{padding:35px;display:flex;flex-direction:column;justify-content:end;min-height:390px;background:radial-gradient(ellipse at 60% 20%,#073b5b99,var(--studio-surface) 65%)}.creative-card h3{font-size:35px;line-height:1.08;letter-spacing:-1px;margin:16px 0}.creative-card p{font-size:13px;line-height:1.8;color:var(--studio-muted)}.orbital-art{position:relative;width:140px;height:140px;align-self:center;margin:0 0 35px}.orbital-art i{position:absolute;inset:5%;border:1px solid #23b8ff90;border-radius:50%;box-shadow:0 0 12px #14a4fc18;animation:orbit 10s linear infinite}.orbital-art i:nth-child(2){inset:15%;animation-duration:13s;animation-direction:reverse}.orbital-art i:nth-child(3){inset:26%;animation-duration:7s}.orbital-art b{position:absolute;inset:0;display:grid;place-items:center;font-size:55px;color:#83e9ff;text-shadow:0 0 35px #00b7ff} @keyframes orbit{from{transform:rotate(0deg) rotateY(58deg)}to{transform:rotate(360deg) rotateY(58deg)}}.experience-list{border-top:1px solid var(--studio-border);padding-left:25px}.experience-row{position:relative;display:grid;grid-template-columns:1fr auto;gap:30px;padding:37px 25px 37px 35px;border-bottom:1px solid var(--studio-border);border-left:1px solid #0c8abd5c}.timeline-dot{position:absolute;left:-6px;top:45px;width:11px;height:11px;border-radius:50%;background:#21c6ff;box-shadow:0 0 0 5px #00a8ff15,0 0 20px #00a8ff80}.experience-row small{font:9px var(--mono);letter-spacing:.8px;color:var(--studio-muted)}.experience-row h3{font-size:23px;letter-spacing:-.6px;margin:12px 0}.experience-row p{font-size:14px;line-height:1.7;color:var(--studio-muted);max-width:560px}.experience-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}.experience-tags span{font-size:10px;color:var(--studio-muted);border:1px solid var(--studio-border);padding:6px 10px;border-radius:20px}.experience-date{display:flex;flex-direction:column;gap:12px;text-align:right;font:11px var(--mono);padding-top:5px}.about.section{margin:85px max(6%,calc((100vw - 1280px)/2)) 0 max(105px,calc((100vw - 1280px)/2));padding:32px 0;background:transparent;border:0;border-block:1px solid var(--studio-border);gap:50px}.about h2{font-size:30px;line-height:1.2;letter-spacing:-1px}.about-copy p{font-size:14px;color:var(--studio-muted);line-height:1.8}.about .approach{display:none}.tools-grid{display:grid;gap:12px}.tool-row{display:grid;grid-template-columns:210px 1fr;align-items:center;gap:20px;padding:22px;border:1px solid var(--studio-border);border-radius:16px;background:var(--studio-surface)}.tool-category{display:flex;gap:16px;align-items:center}.tool-category svg{width:25px;height:25px;flex-shrink:0;color:#10c6ff}.tool-category h3{font:10px/1.6 var(--mono);letter-spacing:.7px}.tool-chips{display:flex;gap:10px;flex-wrap:wrap}.tool-chip{display:flex;align-items:center;gap:10px;padding:13px 16px;font-size:12px;border:1px solid #284754;border-radius:10px;transition:transform .25s,border-color .25s,background .25s;cursor:default}.tool-chip:hover{transform:translateY(-4px);border-color:#2acbff;background:#0aa7f016}.chip-mark{font-size:20px;color:#48cdff}.tools-section .secondary{font-size:10px;color:var(--studio-muted);border:1px solid var(--studio-border);background:transparent}.concept-lab{margin-left:85px;padding:50px 6% 20px}.concept-lab h2{color:var(--studio-ink)}.studio-contact{position:relative;isolation:isolate;overflow:hidden;margin:50px max(6%,calc((100vw - 1280px)/2)) 40px max(105px,calc((100vw - 1280px)/2));padding:70px 35px 100px;border:1px solid #145678;border-radius:26px;text-align:center;background:radial-gradient(ellipse at 50% 100%,#07335d66,transparent 65%),var(--studio-surface);box-shadow:none}.studio-contact h2{font-size:clamp(40px,5.5vw,77px);letter-spacing:-3px;line-height:1.06;margin:24px 0}.studio-contact h2 em{color:#12b9ff;font-style:normal}.studio-contact p{font-size:14px;line-height:1.9;color:var(--studio-muted)}.studio-contact .contact-row{justify-content:center;margin-top:28px;position:relative;z-index:2;gap:25px}.studio-contact .primary{border-radius:30px;padding:18px 28px;background:linear-gradient(120deg,#00aaff,#0860ff);border:1px solid #09b7ff;color:#fff;font-size:13px;box-shadow:0 5px 30px #006aff26}.studio-contact #copy-email{font-size:11px;color:var(--studio-muted)}.ambient-wave{position:absolute;inset:auto 0 0;width:100%;height:160px;pointer-events:none;z-index:-1}.projects>.ambient-wave{top:0;bottom:auto;z-index:0;opacity:.55}.studio-footer{display:block;border:0;padding:0 max(6%,calc((100vw - 1280px)/2)) 45px max(105px,calc((100vw - 1280px)/2));overflow:hidden}.footer-word{display:flex;justify-content:space-between;align-items:baseline;font:800 clamp(65px,13vw,190px)/1 'DM Sans',sans-serif;letter-spacing:-7px;color:transparent;-webkit-text-stroke:1px #16658b;transition:color .5s,text-shadow .5s}.footer-word:hover{color:#048eda18;text-shadow:0 0 60px #009fff25}.footer-word>span{font-size:.3em;letter-spacing:1px;-webkit-text-stroke:0;color:#437084}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:27px;margin-top:22px;border-top:1px solid var(--studio-border);font:10px/1.8 var(--mono);color:var(--studio-muted)}.footer-bottom small{font-size:9px}.footer-bottom>div{display:flex;gap:25px}.footer-bottom a:hover{color:#24c4ff}.studio-reveal{transition:opacity .8s,translate .8s;opacity:0;translate:0 25px}.studio-reveal.arrived{opacity:1;translate:0 0}.spotlight:focus-visible,.floating-dock :focus-visible{outline:2px solid #5be1ff;outline-offset:4px}.paused *,.paused *:before,.paused *:after{animation-play-state:paused!important}.paused .spotlight{transform:none!important}.theme-light{--studio-bg:#edf3f6;--studio-surface:#f8fbfd;--studio-ink:#122638;--studio-muted:#496171;--studio-border:#c6d7e1;--bg:#edf3f6;--panel:#f8fbfd;--text:#122638;--muted:#496171;color-scheme:light}.theme-light header,.theme-light .hero{background:var(--studio-bg)}.theme-light .hero h1>span,.theme-light .hero .intro{color:#142e40}.theme-light .hero .lead,.theme-light .hero-github{color:#486474}.theme-light .floating-dock{background:#f8fbfdd9}.theme-light .floating-dock a,.theme-light .floating-dock button{color:#426378}.theme-light .featured-project{background:linear-gradient(120deg,#f8fbfd,#dcebfa)}.theme-light .creative-card{background:radial-gradient(ellipse at 60% 20%,#cce8f9,var(--studio-surface) 70%)}.theme-light .project-info h3,.theme-light .project-card,.theme-light .film-caption h3,.theme-light .creative-card{color:var(--studio-ink)}.theme-light .studio-contact{background:radial-gradient(ellipse at bottom,#d0eaff,transparent 65%),var(--studio-surface);color:var(--studio-ink)}.theme-light .project-filters button{color:#34556b}.theme-light .project-filters button.active{color:#00639f}.theme-light .project-open,.theme-light .section-tag{color:#0074ad}.theme-light .contact-link{color:#15384b}.theme-light .about h2,.theme-light .about h2 span{color:#173e56}.theme-light .project-dialog,.theme-light .command-dialog{background:#f8fbfd;color:#18344a}.theme-light .project-dialog p,.theme-light .project-dialog li{color:#496171}.theme-light .tool-chip{border-color:#b6cbd7}.theme-light .hero h1 em{-webkit-text-stroke-color:#0675c0}.theme-light .hero-bottom{color:#345c74}
@media(min-width:1600px){.studio-section,.studio-footer{padding-left:max(120px,calc((100vw - 1320px)/2));padding-right:max(6%,calc((100vw - 1320px)/2))}}
@media(max-width:1050px){.studio-section{padding-left:95px;padding-right:30px;padding-top:75px}.studio-section .section-heading>p{font-size:12px}.featured-project{padding:22px!important;grid-template-columns:.8fr 1.2fr}.featured-project .project-info{padding-right:20px}.featured-project .project-info p{font-size:13px}.compact-project{padding:22px;gap:14px}.compact-project h3{font-size:20px}.project-symbol{display:none}.video-grid{grid-template-columns:1.15fr .85fr}.creative-card{padding:25px}.film-caption{padding:20px}.film-caption>span{display:none}.tool-row{grid-template-columns:160px 1fr;padding:18px}.tool-chip{font-size:11px;padding:10px}.studio-contact,.about.section{margin-left:95px;margin-right:30px}.studio-footer{padding-left:95px;padding-right:30px}.experience-row{gap:20px;padding-left:25px}.experience-row h3{font-size:20px}.experience-date{font-size:10px}.floating-dock{left:14px}}
@media(max-width:700px){html{scroll-padding-top:30px}.floating-dock{top:auto;bottom:14px;left:50%;transform:translateX(-50%);flex-direction:row;border-radius:24px;padding:6px;gap:3px}.floating-dock a,.floating-dock button{width:38px;height:38px}.dock-divider{height:25px;width:1px;margin:7px 2px}.dock-tip{left:50%;bottom:calc(100% + 15px);transform:translateX(-50%)!important}.hero{padding-inline:6%}.studio-section{padding:65px 6% 0}.studio-section h2{font-size:36px!important;letter-spacing:-1.6px!important}.studio-section .section-heading{align-items:start;margin-bottom:25px}.studio-section .section-heading>p{display:none}.project-toolbar{align-items:center}.project-toolbar>a{font-size:9px}.project-filters button{font-size:8px;padding:8px 10px}.project-grid{gap:15px}.featured-project{display:flex;flex-direction:column;align-items:stretch;padding:23px!important;min-height:0}.featured-project .project-info{order:0;padding:0 0 25px}.featured-project .project-visual{order:1}.featured-project .project-info h3{font-size:37px;letter-spacing:-1.4px;margin-bottom:14px}.featured-project .project-info h3 span{display:inline;font-size:9px;margin-left:20px}.featured-project .project-info p{max-width:100%;font-size:13px}.featured-project .tags{margin-top:17px}.featured-project .tags span{font-size:9px}.compact-project{grid-column:1/-1;min-height:0;padding:22px}.compact-project p{font-size:12px}.project-symbol{display:grid;flex-basis:45px;width:45px;height:55px}.compact-project h3{font-size:21px}.video-grid{grid-template-columns:1fr}.creative-card{min-height:290px;padding:30px;position:relative}.creative-card .orbital-art{position:absolute;right:25px;top:45px;width:100px;height:100px;opacity:.6}.creative-card h3{font-size:32px}.creative-card p{position:relative;z-index:1}.experience-list{padding-left:8px}.experience-row{grid-template-columns:1fr;padding:28px 0 28px 22px;gap:18px}.experience-date{text-align:left;flex-direction:row;justify-content:space-between;font-size:9px;flex-wrap:wrap}.experience-row h3{font-size:22px;line-height:1.25}.experience-row p{font-size:12px}.experience-row small{font-size:8px}.about.section{margin:55px 6% 0;padding:25px 0;display:block}.about h2{font-size:28px;margin:15px 0 23px}.about-copy p{font-size:13px}.tool-row{grid-template-columns:1fr;gap:15px;padding:18px}.tool-category h3{font-size:9px}.tool-chips{gap:8px}.tool-chip{font-size:11px;flex:1 1 auto;justify-content:center;padding:11px}.tools-section .section-heading{flex-direction:column;gap:20px}.concept-lab{margin-left:0;padding:35px 6% 0}.studio-contact{margin:35px 6% 25px;padding:45px 20px 80px;border-radius:20px}.studio-contact h2{font-size:44px;letter-spacing:-2px}.studio-contact .section-tag{font-size:7px}.studio-contact p{font-size:12px}.studio-contact .contact-row{flex-direction:column;gap:20px}.studio-footer{padding:0 6% 105px}.footer-word{font-size:23vw;letter-spacing:-4px}.footer-word>span{font-size:.22em}.footer-bottom{flex-wrap:wrap;gap:20px;font-size:9px}.footer-bottom>div{gap:20px}.footer-bottom>a{margin-left:auto}.film-caption h3{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.studio-reveal{opacity:1;translate:none;transition:none}.orbital-art i{animation:none}.spotlight,.tool-chip,.floating-dock a{transition:none;transform:none!important}}
@media print{.floating-dock,.ambient-wave,.video-grid,.concept-lab,.studio-contact,.studio-footer,header,.hero{display:none!important}.studio-section,.about.section{margin:0!important;padding:20px!important;overflow:visible}.studio-reveal,.reveal{opacity:1!important;translate:none!important;transform:none!important}.experience-row,.tool-row{break-inside:avoid}body,.tool-row{background:white!important;color:black!important}}
.certificate-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.certificate-card{border:1px solid var(--studio-border);border-radius:18px;overflow:hidden;background:var(--studio-surface);position:relative}.certificate-preview{position:relative;display:block;width:100%;padding:24px;border:0;border-bottom:1px solid var(--studio-border);background:radial-gradient(ellipse at center,#0d354b55,transparent);cursor:zoom-in;overflow:hidden}.certificate-preview img{display:block;width:100%;height:190px;object-fit:contain;transition:transform .5s;filter:drop-shadow(0 10px 15px #0003)}.certificate-preview:hover img{transform:scale(1.035)}.certificate-preview>span{position:absolute;right:14px;bottom:12px;padding:7px 10px;border-radius:20px;background:#04121eea;color:#b9eaff;font:9px var(--mono);border:1px solid #24729b}.certificate-copy{padding:25px}.certificate-meta{display:flex;justify-content:space-between;gap:15px;color:var(--studio-muted);font:9px/1.6 var(--mono)}.certificate-meta>span{color:#21bdf2}.certificate-copy h3{font:600 23px/1.3 'DM Sans',sans-serif;letter-spacing:-.5px;min-height:60px;margin:16px 0 23px}.certificate-copy>a{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--studio-border);padding-top:17px;font:11px var(--mono);color:var(--studio-ink)}.certificate-copy>a:hover{color:#20cfff}#certificate-dialog{width:min(1100px,94vw);max-height:92vh;background:var(--studio-surface);color:var(--studio-ink);border:1px solid #257091;border-radius:18px;padding:25px;overflow:auto}#certificate-dialog::backdrop{background:#000c;backdrop-filter:blur(12px)}#certificate-heading{font-size:19px;line-height:1.4;padding-right:40px;margin:0 0 20px}#certificate-full{display:block;width:100%;max-height:74vh;object-fit:contain}.certificate-close{position:absolute;right:15px;top:15px;width:34px;height:34px;border:1px solid var(--studio-border);border-radius:50%;background:var(--studio-surface);color:var(--studio-ink);cursor:pointer}.theme-light .certificate-meta>span{color:#0877a9}@media(max-width:700px){.certificate-grid{grid-template-columns:1fr;gap:18px}.certificate-preview img{height:170px}.certificate-copy{padding:22px}.certificate-copy h3{min-height:0;font-size:22px}.certificate-meta{font-size:8px}.floating-dock{gap:1px;padding:5px}.floating-dock a,.floating-dock button{width:35px;height:37px}.dock-divider{margin-inline:1px}#certificate-dialog{padding:18px}#certificate-heading{font-size:15px}}@media(prefers-reduced-motion:reduce){.certificate-preview img{transition:none;transform:none!important}}@media print{.certificate-preview{display:none}.certificate-card{break-inside:avoid}.certificate-grid{display:block}}
.certification-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:24px}.certification-links li{padding:0;margin:0;max-width:100%}.certification-links a{font:500 clamp(18px,2vw,25px)/1.5 'DM Sans',sans-serif;color:var(--studio-ink);text-decoration:none;text-underline-offset:7px;transition:color .2s}.certification-links a:hover{color:#19bcff;text-decoration:underline}.certification-links a span{display:inline-block;color:#22b9ee;margin-left:8px;transition:transform .2s}.certification-links a:hover span{transform:translate(3px,-3px)}.certification-links a:focus-visible{outline:2px solid #25caff;outline-offset:7px}@media(max-width:700px){.certification-links{gap:22px}.certification-links a{font-size:18px}}@media(prefers-reduced-motion:reduce){.certification-links a,.certification-links a span{transition:none;transform:none!important}}
#certifications .section-heading{display:flex;align-items:center;gap:18px;margin-bottom:32px}#certifications .section-heading h2{font-size:26px!important;letter-spacing:-.6px!important;line-height:1.2!important;margin:0!important}#certifications .section-heading p{font:10px var(--mono);letter-spacing:1px;color:var(--studio-muted);margin:8px 0 0}.cert-number{font:12px var(--mono);color:var(--studio-accent)}.cert-heading-line{height:1px;background:var(--studio-border);flex:1;margin-left:10px}.compact-certifications .certification-links{gap:12px;align-items:stretch}.compact-certifications .certification-links li{width:100%}.compact-certifications .certification-links a{display:flex;align-items:center;justify-content:space-between;gap:25px;width:100%;box-sizing:border-box;padding:20px 22px;border:1px solid #17303d80;border-radius:11px;background:#08101580;font:500 15px/1.5 'DM Sans',sans-serif;transition:border-color .25s,background .25s}.compact-certifications .certification-links a span{margin:0;transform:none!important;display:block}.compact-certifications .cert-name{color:var(--studio-ink)}.compact-certifications .cert-provider{font:10px/1.5 var(--mono);color:var(--studio-accent);white-space:nowrap;flex-shrink:0}.compact-certifications .certification-links a:hover{text-decoration:none;background:#0a233680;border-color:#138bc480}.theme-light .compact-certifications .certification-links a{background:#f8fbfd;border-color:var(--studio-border)}.theme-light .compact-certifications .cert-provider{color:#0075a9}@media(max-width:700px){#certifications .section-heading{flex-direction:row;align-items:center;gap:12px}#certifications .section-heading h2{font-size:24px!important}.compact-certifications .certification-links a{padding:17px;align-items:flex-start;flex-direction:column;gap:9px;font-size:14px}.compact-certifications .cert-provider{font-size:9px}}
.academic-heading{display:flex;align-items:center;gap:18px;margin-bottom:32px}.academic-heading h2{font-size:26px!important;letter-spacing:-.6px!important;line-height:1.2!important;margin:0!important}.academic-heading p{font:10px var(--mono);letter-spacing:1px;color:var(--studio-muted);margin:8px 0 0}.academic-card{position:relative;max-width:850px;padding:36px;border:1px solid var(--studio-border);border-radius:19px;background:var(--studio-surface)}.academic-icon{display:grid;place-items:center;width:58px;height:58px;border:1px solid #12a6db55;border-radius:18px;background:#0a9ce610;color:#2bcaff;margin-bottom:26px;transform:rotate(-12deg)}.academic-icon svg{width:27px;height:27px;transform:rotate(12deg)}.academic-card h3{font:600 clamp(20px,2vw,26px)/1.4 'DM Sans',sans-serif;color:var(--studio-accent);margin:0 0 12px;letter-spacing:-.4px}.academic-card>p{font:500 14px/1.8 'DM Sans',sans-serif;color:var(--studio-ink);margin:0}.academic-card>p>span{color:var(--studio-muted);margin:0 6px}.academic-label{display:block;font:9px var(--mono);letter-spacing:1px;color:var(--studio-muted);margin-top:26px}.theme-light .academic-card h3{color:#0079b3}@media(max-width:700px){.academic-heading{gap:12px}.academic-heading h2{font-size:24px!important}.academic-card{padding:26px}.academic-card>p{font-size:12px}.academic-label{font-size:8px;line-height:1.7}}@media print{.academic-card{break-inside:avoid;background:white;color:black}}
.hero .terminal-lead{display:flex;align-items:baseline;gap:9px;font-family:var(--mono),monospace;font-size:clamp(11px,1.05vw,15px);line-height:1.85;min-height:3.7em;max-width:100%;color:#a9c9d9}.terminal-prompt{flex-shrink:0;color:#19caff;font-weight:600}.terminal-line{white-space:pre-wrap}.terminal-cursor{flex-shrink:0;color:#30ceff;margin-left:-7px;animation:terminal-blink 1s steps(1,end) infinite}.theme-light .hero .terminal-lead{color:#315a70}.theme-light .terminal-prompt,.theme-light .terminal-cursor{color:#007fb6}@keyframes terminal-blink{0%,49%{opacity:1}50%,100%{opacity:0}}.paused .terminal-cursor{animation:none;opacity:1}@media(max-width:700px){.hero .terminal-lead{font-size:11px;min-height:3.7em;gap:7px}}@media(prefers-reduced-motion:reduce){.terminal-cursor{animation:none;opacity:1}}

.project-visual.chrome-real{height:auto;min-height:330px;padding:18px 18px 22px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(ellipse at 50% 0,#153545,#11151b 80%)}.chrome-demo{width:100%;overflow:hidden;border:1px solid #4ea0b84d;border-radius:6px;background:#0b1118;box-shadow:0 12px 32px #0005;line-height:0}.chrome-demo img{display:block;width:100%;height:auto;aspect-ratio:1100/681;object-fit:contain}.detail-body>.chrome-demo{margin-bottom:30px;box-shadow:none}.project-card[data-project="chrome"]:after{top:50px;bottom:auto}@media(max-width:700px){.project-visual.chrome-real{min-height:0;padding:12px 12px 16px}.detail-body>.chrome-demo{margin-bottom:24px}.project-card[data-project="chrome"]:after{top:auto;bottom:24px}}
/* RESPONSIVE REFINEMENTS */
html{scroll-padding-top:90px}body{overflow-x:clip}img,video,svg,canvas{max-width:100%}.studio-section>* ,.studio-section .section-heading>*,.experience-row>*,.tool-row>*,.featured-project .project-info>*{min-width:0}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-project{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.featured-project .project-visual,.featured-project .project-info{min-width:0}.project-info h3,.experience-row h3{overflow-wrap:anywhere}
@media(max-width:1050px){.studio-section{padding-right:max(6%,30px)}.studio-contact{padding-inline:clamp(24px,5vw,35px)}.studio-contact h2{overflow-wrap:anywhere}}
@media(max-width:700px){html{scroll-padding-top:30px}.project-grid{grid-template-columns:minmax(0,1fr)}.project-toolbar{flex-wrap:wrap;align-items:center;row-gap:10px}.project-filters{flex:1 1 100%;min-width:0;flex-wrap:wrap;gap:4px}.project-filters button{padding:8px 9px}.project-toolbar>a{margin-left:auto}.floating-dock{bottom:calc(12px + env(safe-area-inset-bottom,0px));max-width:calc(100vw - 24px)}.floating-dock a,.floating-dock button{width:40px;height:40px;flex:0 0 40px}.studio-footer{padding-bottom:calc(105px + env(safe-area-inset-bottom,0px))}.contact-row{flex-wrap:wrap}.project-card[data-project="chrome"].featured-project .project-info h3{font-size:clamp(30px,8vw,36px);letter-spacing:-1px;overflow-wrap:normal}.project-card[data-project="chrome"].featured-project .project-info h3 span{display:block;margin:14px 0 0}}
@media(max-width:420px){.studio-section{padding-inline:5%}.project-toolbar{gap:10px}.project-filters{column-gap:3px}.project-filters button{font-size:7px;padding:8px 7px}.featured-project{padding:18px!important}.featured-project .project-info{padding-bottom:18px}.featured-project .project-info p{font-size:12px}.project-visual.chrome-real{padding:10px}.lab-controls{flex-wrap:wrap}.lab-controls label{flex:1 1 42%;min-width:0}.lab-controls .button{margin-left:auto}.studio-contact{padding:40px 20px calc(78px + env(safe-area-inset-bottom,0px))}.studio-contact h2{font-size:clamp(34px,10vw,44px);letter-spacing:-1.8px}.studio-footer{padding-inline:5%}}
@media(max-width:350px){.project-filters button{font-size:6.5px;padding-inline:6px}.floating-dock{gap:1px;padding:5px}.floating-dock a,.floating-dock button{width:38px;height:38px;flex-basis:38px}.studio-contact .contact-row .button{padding-inline:16px}}
@media(max-width:700px){header{position:relative;height:76px;z-index:5}.hero-meta{padding-top:18px}.hero-composition{padding-top:24px}}
/* Rocket launch from the hero CTA into the Work section. */
#explore-work{position:relative;isolation:isolate;overflow:visible}#explore-work .rocket-button-mark{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-left:4px;color:currentColor}.rocket-button-mark svg{width:18px;height:20px;overflow:visible;transform:rotate(38deg);transition:transform .24s ease,filter .24s ease}.hero .primary:hover .rocket-button-mark svg,.hero .primary:focus-visible .rocket-button-mark svg{transform:translate(2px,-3px) rotate(42deg);filter:drop-shadow(0 0 7px #e0f8ff)}#explore-work.is-launching .rocket-button-mark{opacity:.25}.rocket-flight{position:fixed;left:0;top:0;width:54px;height:64px;z-index:200;pointer-events:none;transform:translate(-50%,-50%);filter:drop-shadow(0 0 10px #36c4ffb0);will-change:transform,opacity}.rocket-flight:before{content:"";position:absolute;left:50%;top:51%;width:15px;height:62px;transform:translateX(-50%);border-radius:100%;background:linear-gradient(180deg,#55dbff9c,#298dff44 55%,transparent);filter:blur(7px)}.rocket-flight svg{position:relative;display:block;width:100%;height:100%;overflow:visible}.rocket-flame{transform-origin:32px 57px;animation:rocket-thrust .12s ease-in-out infinite alternate}.rocket-launch-burst{position:fixed;z-index:199;width:22px;height:22px;border:2px solid #b9f3ff;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);box-shadow:0 0 16px #4bcaff;animation:rocket-burst .48s ease-out forwards}@keyframes rocket-thrust{from{transform:scaleY(.72);opacity:.75}to{transform:scaleY(1.2);opacity:1}}@keyframes rocket-burst{to{transform:translate(-50%,-50%) scale(4.5);opacity:0}}@media(max-width:700px){.rocket-flight{width:46px;height:56px}.rocket-flight:before{height:48px}}@media(prefers-reduced-motion:reduce){.hero .primary:hover .rocket-button-mark svg,.hero .primary:focus-visible .rocket-button-mark svg{transform:none;filter:none}.rocket-flight:before,.rocket-flame{animation:none}}
/* Enhanced rocket exhaust */
.rocket-flight:before{top:57%;width:34px;height:92px;background:radial-gradient(ellipse at 50% 4%,#fff0a8c9 0,#ff9d3dbd 28%,#ff4c2690 58%,transparent 82%);filter:blur(9px)}.rocket-flight svg{z-index:1}.rocket-flame-outer,.rocket-flame,.rocket-flame-core{transform-box:fill-box;transform-origin:50% 0%;animation:rocket-flame-roar .11s ease-in-out infinite alternate}.rocket-flame{animation-delay:-.04s}.rocket-flame-core{animation:rocket-flame-core .09s ease-in-out infinite alternate}.rocket-fire-trail{position:absolute;z-index:0;left:50%;top:55%;width:52px;height:82px;transform:translateX(-50%);pointer-events:none}.rocket-fire-trail:before,.rocket-fire-trail:after{content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);clip-path:polygon(50% 0,84% 18%,77% 48%,61% 79%,50% 100%,37% 77%,20% 49%,14% 18%);animation:rocket-plume .105s ease-in-out infinite alternate}.rocket-fire-trail:before{width:45px;height:82px;background:linear-gradient(180deg,#fff2a6 0,#ffbd50 18%,#ff762d 51%,#f94328 78%,transparent 100%);filter:blur(3px)}.rocket-fire-trail:after{top:4px;width:24px;height:62px;background:linear-gradient(180deg,#fffbd0 0,#ffe277 26%,#ff9a37 68%,transparent 100%);filter:blur(1px);animation-delay:-.045s}.rocket-fire-trail i{position:absolute;left:50%;top:8px;width:5px;height:5px;border-radius:50%;background:#ffd875;box-shadow:0 0 9px 2px #ff702e;opacity:0;animation:rocket-spark .42s linear infinite;animation-delay:var(--spark-delay);transform:translateX(-50%)}@keyframes rocket-flame-roar{from{transform:scale(.8,.76) skewX(-4deg);opacity:.82}to{transform:scale(1.18,1.16) skewX(5deg);opacity:1}}@keyframes rocket-flame-core{from{transform:scale(.82,.8);opacity:.8}to{transform:scale(1.14,1.18);opacity:1}}@keyframes rocket-plume{from{transform:translateX(-50%) scaleX(.78) scaleY(.82)}to{transform:translateX(-50%) scaleX(1.14) scaleY(1.13)}}@keyframes rocket-spark{0%{opacity:0;transform:translate(-50%,0) scale(.4)}15%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--spark-x)),76px) scale(0)}}@media(max-width:700px){.rocket-flight:before{height:76px}.rocket-fire-trail{width:44px;height:68px}.rocket-fire-trail:before{width:38px;height:68px}.rocket-fire-trail:after{height:52px}.rocket-fire-trail i{width:4px;height:4px}}
/* Dock menu motion */
.floating-dock a,.floating-dock button{isolation:isolate;transform-origin:center;transition:background .28s ease,border-color .28s ease,color .28s ease,transform .38s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease}.floating-dock a:before{content:"";position:absolute;inset:1px;border:1px solid #46d8ff38;border-radius:12px;background:radial-gradient(circle at 48% 10%,#4edcff26,transparent 74%),linear-gradient(145deg,#0d405455,#08192a88);box-shadow:inset 0 0 18px #2ac6ff12;opacity:0;transform:scale(.72);transition:opacity .3s ease,transform .38s cubic-bezier(.2,.8,.2,1);z-index:-1;pointer-events:none}.floating-dock a:hover,.floating-dock a:focus-visible,.floating-dock a.active{background:#0873bc25;border-color:#25b9ed80;color:#68ddff;box-shadow:0 6px 20px #008fff20}.floating-dock a:hover,.floating-dock a:focus-visible{transform:translateX(4px) scale(1.04)}.floating-dock a.active{transform:translateX(2px);animation:dock-active-glow 2.8s ease-in-out infinite}.floating-dock a:hover:before,.floating-dock a:focus-visible:before,.floating-dock a.active:before{opacity:1;transform:scale(1)}.floating-dock svg{transition:transform .38s cubic-bezier(.2,.8,.2,1),filter .3s ease;transform-origin:center}.floating-dock a:hover svg,.floating-dock a:focus-visible svg{transform:translateY(-2px) scale(1.12) rotate(-6deg);filter:drop-shadow(0 0 7px #42d7ff90)}.floating-dock a.active svg{color:#68ddff;filter:drop-shadow(0 0 6px #32ccff60)}.floating-dock a:active,.floating-dock button:active{transform:scale(.93)}.floating-dock a:after{content:"";position:absolute;left:-8px;top:50%;width:2px;height:15px;border-radius:2px;background:#4bd8ff;box-shadow:0 0 10px #31caff;opacity:0;transform:translateY(-50%) scaleY(.35);transition:opacity .25s ease,transform .3s ease}.floating-dock a.active:after{opacity:1;transform:translateY(-50%) scaleY(1)}.floating-dock .dock-tip{border-color:#24b9ed75;box-shadow:0 8px 26px #0007,0 0 16px #08a9ff18;backdrop-filter:blur(14px)}@keyframes dock-active-glow{0%,100%{box-shadow:0 0 0 #16c7ff00}50%{box-shadow:0 0 18px #16c7ff28}}@media(max-width:700px){.floating-dock a:hover,.floating-dock a:focus-visible{transform:translateY(-3px) scale(1.05)}.floating-dock a.active{transform:translateY(-2px)}.floating-dock a:after{left:50%;top:-5px;width:14px;height:2px;transform:translateX(-50%) scaleX(.35)}.floating-dock a.active:after{transform:translateX(-50%) scaleX(1)}}@media(prefers-reduced-motion:reduce){.floating-dock a,.floating-dock button,.floating-dock svg,.floating-dock a:before,.floating-dock a:after,.floating-dock .dock-tip{animation:none!important;transition:none!important}body.paused .floating-dock a{animation:none!important;transition:none!important}}
/* Project detail modal: balanced case-study layout and an always-visible modal cursor. */
.project-dialog{box-sizing:border-box;width:min(1180px,calc(100vw - 32px));max-width:1180px;max-height:min(88vh,960px);padding:0;overflow:auto;overscroll-behavior:contain;border:1px solid #245571;border-radius:22px;background:radial-gradient(ellipse at 50% 0%,#0c1c29,#061019 72%);color:#edf7fb;box-shadow:0 34px 100px #000b,0 0 0 1px #47caff12;scrollbar-color:#267798 #07121c;scrollbar-width:thin}
.project-dialog::backdrop{background:#02070bdc;backdrop-filter:blur(12px)}
.project-dialog>.interactive-cursor{z-index:2147483647}
.project-dialog .dialog-close{right:20px;top:20px;width:40px;height:40px;border-color:#3b687e;background:#07131ddd;color:#bfefff;font-size:15px;box-shadow:0 6px 20px #0005;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.project-dialog .dialog-close:hover{transform:rotate(90deg);border-color:#27c6fa;background:#0b2635}
.detail-hero{position:relative;padding:34px clamp(24px,4.2vw,56px) 27px;background:radial-gradient(ellipse at 88% 10%,#0c3a57 0,transparent 44%),linear-gradient(120deg,#0d1d29,#09131d);border-bottom:1px solid #1d4357}
.detail-kicker{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-right:48px}
.detail-kicker small{font:9px var(--mono);letter-spacing:1.8px;color:#28d4ff}
.detail-kicker>span{padding:7px 10px;border:1px solid #1d526c;border-radius:20px;color:#81a8b9;font:8px var(--mono);letter-spacing:1px}
.detail-hero h2{margin:15px 0 9px;color:#f2f9fc;font:700 clamp(36px,4.4vw,58px)/1.02 'DM Sans',sans-serif;letter-spacing:-2px;overflow-wrap:anywhere}
.detail-hero p{max-width:760px;margin:0;color:#a6bac7;font-size:14px;line-height:1.75}
.detail-body{padding:25px clamp(20px,3.8vw,44px) 30px;background:linear-gradient(145deg,#08131d,#071019 55%,#081520)}
.detail-layout{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(275px,.82fr);align-items:start;gap:20px}
.detail-preview{min-width:0;padding:13px;border:1px solid #1c465b;border-radius:16px;background:linear-gradient(145deg,#0b1a25,#071019);box-shadow:inset 0 1px #ffffff08,0 12px 36px #0002}
.detail-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 3px 12px;color:#98bac9;font:8px var(--mono);letter-spacing:1.2px}
.detail-preview-head b{display:flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid #26566b;border-radius:20px;color:#a4e9f5;font:7px var(--mono);letter-spacing:.7px}
.detail-preview-head i{width:6px;height:6px;border-radius:50%;background:#58e6c1;box-shadow:0 0 9px #58e6c1}
.detail-preview>.voiceloom-demo,.detail-preview>.chrome-demo{margin:0!important;border:1px solid #234354;border-radius:10px;box-shadow:none}
.detail-preview>.voiceloom-demo img,.detail-preview>.chrome-demo img{border-radius:9px}
.detail-details{display:grid;gap:12px;min-width:0}
.detail-card{padding:17px 18px;border:1px solid #1a3e51;border-radius:14px;background:linear-gradient(145deg,#0c1b26,#09141e);box-shadow:inset 0 1px #ffffff07}
.detail-label{display:block;margin-bottom:10px;color:#32cfff;font:8px var(--mono);letter-spacing:1.1px}
.detail-card h3{margin:0 0 8px;color:#e9f5fa;font:600 17px 'DM Sans',sans-serif;letter-spacing:-.2px}
.detail-card p{margin:0;color:#9aafbd;font:12px/1.75 'DM Sans',sans-serif}
.detail-card ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.detail-card li{display:flex;align-items:flex-start;gap:10px;color:#a9bdc9;font:11px/1.55 'DM Sans',sans-serif}
.feature-index{flex:0 0 auto;color:#29c8f3;font:8px var(--mono);padding-top:2px}
.detail-stack-card{padding-bottom:15px}
.detail-stack{display:flex;flex-wrap:wrap;gap:7px}
.detail-stack span{padding:6px 9px;border:1px solid #23475a;border-radius:20px;background:#0b202b;color:#b7d2de;font:8px var(--mono)}
.detail-actions{display:flex;align-items:center;gap:18px;margin-top:20px;padding-top:18px;border-top:1px solid #1b394a}
.detail-actions .button{display:inline-flex;align-items:center;gap:14px;min-height:42px;padding:12px 17px;border:1px solid #1aaee4;border-radius:9px;background:linear-gradient(110deg,#079dd8,#0877c2);color:#f4fcff;font:10px var(--mono);box-shadow:0 8px 24px #009ee01f;transition:transform .2s ease,box-shadow .2s ease}
.detail-actions .button:hover{transform:translateY(-2px);box-shadow:0 12px 28px #009ee044}
.detail-actions .button span,.detail-actions .text-link span{font-size:14px}
.detail-actions .text-link{display:inline-flex;align-items:center;gap:10px;padding:10px 2px;color:#9cb3c1;font:10px var(--mono);text-decoration:none;cursor:pointer}
.detail-actions .text-link:hover{color:#55dcff}
.detail-footnote{margin:15px 0 0;color:#678292;font:8px/1.7 var(--mono)}
.detail-layout.text-only{grid-template-columns:1fr}
.detail-layout.text-only .detail-details{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.detail-layout.text-only .detail-stack-card{grid-column:1/-1}
.theme-light .project-dialog{border-color:#bed3df;background:#f5f9fc;color:#18344a}
.theme-light .detail-hero{background:radial-gradient(ellipse at 88% 10%,#d3effc 0,transparent 44%),linear-gradient(120deg,#eef6fa,#e5eff5);border-color:#c7d9e2}
.theme-light .detail-hero h2,.theme-light .detail-card h3{color:#17374c}
.theme-light .detail-hero p,.theme-light .detail-card p,.theme-light .detail-card li{color:#526e7e}
.theme-light .detail-body{background:#f7fafc}
.theme-light .detail-preview,.theme-light .detail-card{border-color:#c6dbe5;background:linear-gradient(145deg,#ffffff,#edf5f9)}
.theme-light .detail-preview-head,.theme-light .detail-kicker>span,.theme-light .detail-footnote{color:#536f80}
.theme-light .detail-stack span{background:#eef7fb;border-color:#c8dce6;color:#34586d}
@media(max-width:760px){.project-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:17px}.project-dialog .dialog-close{top:12px;right:12px;width:36px;height:36px}.detail-hero{padding:27px 20px 21px}.detail-kicker{padding-right:42px}.detail-kicker>span{font-size:7px;padding:6px 8px}.detail-hero h2{font-size:clamp(32px,9vw,44px);letter-spacing:-1.2px;margin-top:12px}.detail-hero p{font-size:12px;line-height:1.65}.detail-body{padding:17px 14px 20px}.detail-layout.has-preview{grid-template-columns:minmax(0,1fr);gap:14px}.detail-preview{padding:9px;border-radius:12px}.detail-preview-head{font-size:7px;padding-bottom:9px}.detail-details{gap:10px}.detail-card{padding:15px;border-radius:12px}.detail-card h3{font-size:16px}.detail-card p{font-size:11px}.detail-card li{font-size:10px}.detail-layout.text-only .detail-details{grid-template-columns:1fr}.detail-layout.text-only .detail-stack-card{grid-column:auto}.detail-actions{gap:12px;flex-wrap:wrap;margin-top:15px;padding-top:15px}.detail-actions .button{flex:1 1 auto;justify-content:center}.detail-actions .text-link{padding-inline:4px}.detail-footnote{font-size:7px}}
@media(prefers-reduced-motion:reduce){.project-dialog .dialog-close,.detail-actions .button{transition:none}}

/* Project actions: clear primary/secondary hierarchy and the tiny coding mascot launch. */
.detail-actions{position:relative;overflow:visible;isolation:isolate}
.detail-actions .source-action{position:relative;z-index:1;isolation:isolate;overflow:visible;min-width:258px;justify-content:center;gap:12px;border:1px solid #36d8ff;border-radius:10px;background:linear-gradient(135deg,#08b7ef,#0874ca 72%,#075cb7);box-shadow:0 8px 25px #008ce02a,inset 0 1px #ffffff35;color:#f6fcff;font-weight:600;letter-spacing:.1px}
.detail-actions .source-action:after{content:"";position:absolute;inset:4px;border:1px solid #b5f4ff25;border-radius:6px;pointer-events:none}
.detail-actions .source-label,.detail-actions .source-arrow{position:relative;z-index:3;transition:transform .42s cubic-bezier(.2,.8,.2,1),color .25s}
.detail-actions .source-action .source-label{font:600 10px var(--mono)}
.detail-actions .source-arrow{display:grid;place-items:center;width:20px;height:20px;border:1px solid #c2f4ff66;border-radius:50%;font-size:12px!important}
.detail-actions .source-action:hover{border-color:#8af0ff;background:linear-gradient(135deg,#11c4f5,#0c87dc 72%,#0769c4);box-shadow:0 10px 32px #009ff044,inset 0 1px #ffffff48}
.detail-actions .source-action:hover .source-arrow{transform:translate(2px,-2px);background:#ffffff18}
.detail-actions .source-action:focus-visible,.detail-actions .detail-dismiss:focus-visible{outline:2px solid #86eaff;outline-offset:4px}
.detail-actions .source-action.is-launching .source-label,.detail-actions .source-action.is-launching .source-arrow{transform:translateX(43px)}
.detail-actions .source-action.is-launching .source-arrow{opacity:0;transition:opacity .2s,transform .42s}
.detail-actions .source-mascot{position:absolute;left:7px;bottom:24px;z-index:2;display:block;width:92px;height:78px;opacity:0;pointer-events:none;transform:translate(-37px,48px) scale(.35);transform-origin:50% 100%}
.source-mascot svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 5px 7px #00121e88)}
.mascot-shadow{fill:#00111b;opacity:.75}
.mascot-hoodie{fill:#139fe0;stroke:#8deaff;stroke-width:1.6;stroke-linejoin:round}
.mascot-neck,.mascot-face{fill:#ffd1a6;stroke:#a45e62;stroke-width:.8}
.mascot-hair{fill:#102a48;stroke:#4c83bc;stroke-width:1}
.mascot-eye,.mascot-smile{fill:none;stroke:#173044;stroke-width:1.4;stroke-linecap:round}
.mascot-arm{fill:none;stroke:#139fe0;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}
.mascot-arm-back{stroke:#087ab5;stroke-width:6}
.mascot-hand{fill:#ffd1a6;stroke:#a45e62;stroke-width:.7}
.mascot-legs{transform-origin:50% 42%;fill:none}
.mascot-leg{fill:none;stroke:#1a3557;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}
.mascot-shoe{fill:#d7f5ff;stroke:#3d91bf;stroke-width:1;stroke-linejoin:round}
.laptop-screen{fill:#132b40;stroke:#84e7ff;stroke-width:1.7}
.laptop-code{fill:none;stroke:#31dcff;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.laptop-base{fill:#b9eafa;stroke:#e6f9ff;stroke-width:1}
.laptop-trackpad{fill:none;stroke:#4e95b5;stroke-width:1;stroke-linecap:round}
.mascot-typing-fingers{fill:none;stroke:#ffd1a6;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transform-box:fill-box;transform-origin:50% 50%}
.mascot-spark{fill:#65e8ff;opacity:0;transform-box:fill-box;transform-origin:center}
.detail-actions .source-action.is-launching .source-mascot{animation:mascot-arrive 2.6s cubic-bezier(.2,.75,.25,1) forwards}
.detail-actions .source-action.is-launching .mascot-legs{animation:mascot-bob .28s .34s 4 ease-in-out}
.detail-actions .source-action.is-launching .mascot-leg-a{transform-box:fill-box;transform-origin:70% 5%;animation:mascot-step .28s .34s 4 ease-in-out alternate}
.detail-actions .source-action.is-launching .mascot-leg-b{transform-box:fill-box;transform-origin:25% 5%;animation:mascot-step .28s .48s 4 ease-in-out alternate-reverse}
.detail-actions .source-action.is-launching .mascot-arm-front{transform-box:fill-box;transform-origin:20% 20%;animation:mascot-type .2s 1.55s 6 ease-in-out alternate}
.detail-actions .source-action.is-launching .mascot-spark{animation:mascot-sparkle .55s 1.45s 2 ease-in-out alternate}
.detail-actions .source-action.is-launching .laptop-code{animation:laptop-type .18s 1.55s 7 steps(2,end) alternate}
.detail-actions .source-action.is-launching .mascot-typing-fingers{animation:mascot-type .18s 1.55s 7 ease-in-out alternate}
@keyframes mascot-arrive{0%{opacity:0;transform:translate(-37px,48px) scale(.35)}10%{opacity:1;transform:translate(-20px,22px) scale(.58)}25%{transform:translate(-8px,4px) scale(.82)}52%{transform:translate(22px,-5px) scale(1)}63%{transform:translate(20px,2px) scale(1)}72%,100%{opacity:1;transform:translate(20px,0) scale(1)}}
@keyframes mascot-bob{0%,100%{translate:0 0}50%{translate:0 -2px}}
@keyframes mascot-step{from{rotate:-18deg}to{rotate:15deg}}
@keyframes mascot-type{from{rotate:-8deg;translate:0 0}to{rotate:5deg;translate:2px -1px}}
@keyframes mascot-sparkle{from{opacity:.25;scale:.7}to{opacity:1;scale:1.15}}
@keyframes laptop-type{from{opacity:.45}to{opacity:1}}
.detail-actions .detail-dismiss{appearance:none;position:relative;min-height:42px;padding:10px 17px;border:1px solid #315064;border-radius:10px;background:linear-gradient(145deg,#10202b,#0a151e);color:#b4c9d5;font-weight:500;box-shadow:inset 0 1px #ffffff0a;transition:transform .22s ease,border-color .22s ease,color .22s ease,background .22s ease,box-shadow .22s ease}
.detail-actions .detail-dismiss:hover{transform:translateY(-2px);border-color:#4d829b;background:linear-gradient(145deg,#152b39,#0b1922);color:#e3f6ff;box-shadow:0 7px 18px #0003}
.detail-actions .detail-dismiss span{display:inline-block;transition:transform .22s ease}
.detail-actions .detail-dismiss:hover span{transform:translate(-2px,2px)}
.theme-light .detail-actions .detail-dismiss{border-color:#b9ced9;background:linear-gradient(145deg,#fff,#eaf3f8);color:#38576a;box-shadow:inset 0 1px #fff}
.theme-light .detail-actions .detail-dismiss:hover{border-color:#6faec6;color:#123d56}
@media(max-width:760px){.detail-actions .source-action{min-width:0;width:100%;min-height:48px}.detail-actions .source-action.is-launching .source-label{transform:translateX(38px)}.detail-actions .source-action.is-launching .source-arrow{transform:translateX(38px)}.detail-actions .detail-dismiss{flex:1 1 100%;justify-content:center;min-height:46px}.detail-actions .source-mascot{left:2px;bottom:27px;width:86px;height:73px}}
@media(prefers-reduced-motion:reduce){.detail-actions .source-mascot,.detail-actions .mascot-legs,.detail-actions .mascot-leg-a,.detail-actions .mascot-leg-b,.detail-actions .mascot-arm-front,.detail-actions .mascot-spark,.detail-actions .laptop-code,.detail-actions .mascot-typing-fingers{animation:none!important}.detail-actions .source-label,.detail-actions .source-arrow,.detail-actions .detail-dismiss,.detail-actions .detail-dismiss span{transition:none!important}}
/* AgentDock walking-agent preview. */
.project-visual.agentdock-real{height:auto;min-height:0;padding:0!important;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(ellipse at 50% 0,#211647,#090812 78%);overflow:hidden}
.agentdock-real .demo-window-bar{flex:0 0 auto}
.agentdock-demo{width:100%;overflow:hidden;border:1px solid #59447e66;border-radius:8px;background:#080710;box-shadow:0 12px 32px #0006;line-height:0}
.agentdock-demo img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:cover}
.detail-preview>.agentdock-demo{margin:0!important;border-radius:10px;box-shadow:none}
.detail-preview>.agentdock-demo img{border-radius:9px}
