@font-face{font-family:display;src:url(../media/HankenGrotesk_Variable-s.p.2l-e-bvj02_5o.ttf)format("truetype");font-display:swap;font-weight:100 900;font-style:normal}@font-face{font-family:display;src:url(../media/HankenGrotesk_Italic_Variable-s.p.3s-gwl5umygrb.ttf)format("truetype");font-display:swap;font-weight:100 900;font-style:italic}@font-face{font-family:display Fallback;src:local(Arial);ascent-override:98.46%;descent-override:29.83%;line-gap-override:0.0%;size-adjust:101.56%}.Lo8eoW_className{font-family:display,display Fallback,Arial,Helvetica,sans-serif}.Lo8eoW_variable{--font-display:"display", "display Fallback", Arial, Helvetica, sans-serif}
@font-face{font-family:body;src:url(../media/Geist_Variable-s.p.12e_ny3np-tt-.ttf)format("truetype");font-display:swap;font-weight:100 900}@font-face{font-family:body Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.bIB2ta_className{font-family:body,body Fallback,Arial,Helvetica}.bIB2ta_variable{--font-body:"body", "body Fallback", Arial, Helvetica}
html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-terminal:"Courier New",Courier,monospace}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{min-height:100%;font-family:var(--font-body),Arial,Helvetica,sans-serif;margin:0}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus);outline-offset:5px}button{background:0 0;border:0}p{line-height:1.65}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}::selection{color:#192322;background:#cdb69f}em{font-family:var(--font-display),Arial,sans-serif;color:var(--accent);font-weight:400}.portfolio{--paper:#faf8f4;--surface:#fff;--ink:#172021;--secondary:#53605f;--line:#d8ddd9;--accent:#af5233;--teal:#3f7068;--soft:#eeefe9;--focus:#275abb;--art-bg:#e8ebe5;--terminal:#f4f2ec;background:var(--paper);color:var(--ink);min-height:100dvh;font-size:15px;transition:background .2s,color .2s}.portfolio[data-theme=dark],html[data-theme=dark] .portfolio:not([data-theme=light]){--paper:#111617;--surface:#1b2223;--ink:#f3f1ea;--secondary:#adb7b4;--line:#343d3c;--accent:#eda27c;--teal:#8cb8a4;--soft:#232c2c;--focus:#a8c7ff;--art-bg:#293433;--terminal:#111819}.mono,.eyebrow,.section-label,.tags,figcaption{font-family:var(--font-body),Arial,sans-serif}.mono,.eyebrow{letter-spacing:1px;font-size:11px}.eyebrow{color:var(--secondary);line-height:1.6}.section-label{letter-spacing:1.6px;color:var(--secondary);align-items:center;gap:16px;font-size:10px;display:flex}.section-label>span{color:var(--accent);border-right:1px solid var(--line);padding-right:14px}h1,h2,h3,h4{font-family:var(--font-display),Arial,sans-serif}.solid-button{background:var(--ink);color:var(--paper);justify-content:space-between;align-items:center;gap:30px;min-height:46px;padding:15px 20px;font-size:12px;display:flex}.text-link{border-bottom:1px solid var(--line);align-items:center;gap:18px;padding:10px 0;font-size:12px;display:inline-flex}.text-link:hover{color:var(--accent);border-color:var(--accent)}figcaption{letter-spacing:.5px;color:var(--secondary);justify-content:space-between;gap:12px;font-size:9px;display:flex}.tags{color:var(--secondary);flex-wrap:wrap;align-items:center;gap:9px;margin:22px 0;font-size:9px;line-height:1.5;display:flex}.tags>span{border-bottom:1px solid var(--line);padding-bottom:4px}.tags details{position:relative}.tags summary{cursor:pointer;min-height:28px;color:var(--accent);align-items:center;display:flex}.tags details>div{z-index:2;background:var(--surface);border:1px solid var(--line);min-width:180px;padding:12px;line-height:1.8;position:absolute;right:0;box-shadow:0 8px 30px #0001}.status-dot{background:var(--teal);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-right:8px;display:inline-block}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:99;background:var(--ink);color:var(--paper);padding:15px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:15px}@media (max-width:600px){.section-label{letter-spacing:1px;gap:12px;font-size:9px}.solid-button{gap:18px;padding:14px 16px;font-size:11px}.script-disclaimer{line-height:1.6}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.mobile-context{display:none}@media (max-width:900px){.mobile-context{border-bottom:1px solid var(--line);margin:0 30px;display:block}.mobile-context summary{min-height:48px;font:11px var(--font-body),Arial,sans-serif;cursor:pointer;padding:15px 0}.mobile-context summary span{float:right}}@media (max-width:600px){.mobile-context{margin:0 20px}.mobile-context summary{font-size:10px}}[hidden]{display:none!important}@keyframes milestone-in{0%{opacity:.7}to{opacity:1}}
.site-header{border-bottom:1px solid var(--line);z-index:15;flex-wrap:wrap;align-items:center;gap:32px;min-height:96px;padding:22px 4.5%;display:flex;position:relative}.brand{font:400 31px/1 var(--font-display),Arial,sans-serif;letter-spacing:-.5px;white-space:nowrap;margin-right:auto}.site-navigation{flex-wrap:wrap;align-items:center;gap:24px;font-size:12px;display:flex}.site-navigation a{min-height:44px;color:var(--secondary);justify-content:center;align-items:center;gap:8px;display:inline-flex;position:relative}.site-navigation a:hover,.site-navigation a[aria-current]{color:var(--ink)}.site-navigation a[aria-current]:after{content:"";background:var(--accent);height:1px;position:absolute;bottom:4px;left:0;right:0}.site-navigation .terminal-link{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:6px;padding:0 14px}.terminal-link span{font-family:var(--font-body),Arial,sans-serif}.header-settings{align-items:center;gap:4px;display:flex}.icon-button{width:44px;height:44px;color:var(--secondary);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button:hover{background:var(--soft);color:var(--ink)}.theme-sun{display:none}[data-theme=dark] .theme-sun{display:block}[data-theme=dark] .theme-moon,.menu-button{display:none}.workspace{flex-direction:column;height:100dvh;min-height:0;display:flex;overflow:hidden}.workspace>.site-header{flex-shrink:0}@media (min-width:1500px){.site-header{padding-inline:max(4.5%,50vw - 655px)}}@media (max-width:1100px){.site-header{gap:16px;min-height:80px;padding-block:16px}.site-navigation{gap:16px;font-size:11px}.brand{font-size:28px}}@media (max-width:1023px){.menu-button{display:inline-flex}.site-navigation{background:var(--surface);border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;padding:16px 4.5%;display:none;position:absolute;top:80px;left:0;right:0;box-shadow:0 12px 20px #0000000d}.site-navigation[data-open=true]{display:grid}.site-navigation a{justify-content:flex-start;padding-inline:12px}.site-navigation a[aria-current]:after{left:12px;right:12px}}@media (max-width:600px){.site-header{gap:4px;min-height:76px;padding:14px 16px}.brand{font-size:25px}.header-settings{gap:0}}@media (max-width:350px){.brand{font-size:23px}.site-header{padding-inline:12px}.header-settings .icon-button{width:40px}}@media (max-height:650px) and (max-width:800px){.workspace .site-header{min-height:0;padding-block:8px}}.portfolio{--glass-tint:46%;--glass-rim:color-mix(in srgb,var(--ink) 20%,transparent);--glass-shine:color-mix(in srgb,var(--surface) 72%,transparent)}:is(.site-navigation,.header-settings .sound-toggle,.header-settings .theme-button,.ai-launcher,.floating-chat){--glass-fill:color-mix(in srgb,var(--surface) var(--glass-tint),transparent)}:is(.header-settings .sound-toggle,.header-settings .theme-button,.ai-launcher,.floating-chat),:is(.site-navigation,.header-settings) [data-tooltip]:before{background:var(--surface);border:1px solid var(--glass-rim);box-shadow:inset 0 1px 0 var(--glass-shine),inset 0 -1px 0 color-mix(in srgb,var(--ink) 10%,transparent),0 3px 6px #0000000c,0 12px 30px #0000001a}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){:is(.header-settings .sound-toggle,.header-settings .theme-button,.ai-launcher,.floating-chat),:is(.site-navigation,.header-settings) [data-tooltip]:before{background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 25%,transparent),transparent 40%,color-mix(in srgb,var(--ink) 4%,transparent)),var(--glass-fill);-webkit-backdrop-filter:blur(14px)saturate(145%);backdrop-filter:blur(14px)saturate(145%)}}.dock-icon{display:none}:is(.site-navigation,.header-settings) [data-tooltip]{position:relative}:is(.site-navigation,.header-settings) [data-tooltip]:before{--glass-fill:color-mix(in srgb,var(--surface) 90%,transparent);content:attr(data-tooltip);color:var(--ink);font:11px/1.3 var(--font-body),Arial,sans-serif;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;z-index:3;border-radius:10px;padding:8px 11px;transition:opacity .16s,transform .16s,visibility .16s;position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%,-3px)}:is(.site-navigation,.header-settings) [data-tooltip]:is(:hover,:focus-visible):before{opacity:1;visibility:visible;transform:translate(-50%)}.header-settings [data-tooltip]:before{left:auto;right:0;transform:translateY(-3px)}.header-settings [data-tooltip]:is(:hover,:focus-visible):before{transform:translateY(0)}.header-settings :is(.sound-toggle,.theme-button){color:var(--ink);border-radius:50%;transition:box-shadow .18s}.header-settings :is(.sound-toggle,.theme-button):hover{box-shadow:inset 0 0 12px var(--glass-shine),0 4px 12px #0002}:is(.site-header,.site-navigation) :is(a,button):focus-visible{outline:2px solid var(--teal);outline-offset:3px}@media (min-width:1024px){.site-navigation{z-index:30;border:1px solid var(--glass-rim);background:var(--surface);box-shadow:inset 0 1px 1px var(--glass-shine),inset 1px 0 1px var(--glass-shine),inset 0 -1px 1px color-mix(in srgb,var(--ink) 15%,transparent),0 2px 4px #0001,0 12px 28px #0002;border-radius:999px;flex-wrap:nowrap;gap:4px;padding:2.5px;position:fixed;top:22px;left:50%;transform:translate(-50%)}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.site-navigation{background:radial-gradient(ellipse at 30% 0%,color-mix(in srgb,var(--surface) 40%,transparent),transparent 65%),linear-gradient(175deg,transparent 55%,color-mix(in srgb,var(--ink) 5%,transparent)),var(--glass-fill);-webkit-backdrop-filter:blur(12px)saturate(160%);backdrop-filter:blur(12px)saturate(160%)}}.site-navigation a,.site-navigation .terminal-link{width:44px;height:44px;min-height:44px;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:50%;padding:0;transition:transform .2s,background .2s,color .2s,box-shadow .2s}.site-navigation .dock-icon{width:21px;height:21px;display:block}.site-navigation .navigation-label,.site-navigation .mobile-terminal-mark{display:none}.site-navigation a[aria-current]{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 22%,transparent);box-shadow:inset 0 1px 1px var(--glass-shine)}.site-navigation a[aria-current]:after{border-radius:50%;width:3px;height:3px;bottom:3px;left:calc(50% - 1.5px);right:auto}.site-navigation a:is(:hover,:focus-visible){background:color-mix(in srgb,var(--surface) 42%,transparent);color:var(--ink);box-shadow:inset 0 1px 2px var(--glass-shine);transform:translateY(-2px)scale(1.06)}}@media (min-width:1024px) and (max-width:1100px){.site-header{padding-block:14px}.site-navigation{top:14px}}@media (max-width:1023px){.site-navigation{z-index:30}.site-navigation [data-tooltip]:before{display:none}}@media (max-width:600px){.site-navigation{top:76px}}@media (max-height:650px) and (max-width:800px){.workspace>.site-navigation{top:61px}}@media (prefers-reduced-transparency:reduce){.portfolio :is(.site-navigation,.sound-toggle,.theme-button,.ai-launcher,.floating-chat),:is(.site-navigation,.header-settings) [data-tooltip]:before{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-reduced-motion:reduce){.site-navigation a:is(:hover,:focus-visible){transform:none}}@media (forced-colors:active){.portfolio :is(.site-navigation,.sound-toggle,.theme-button,.ai-launcher,.floating-chat),:is(.site-navigation,.header-settings) [data-tooltip]:before{color:buttontext;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:canvas;border-color:buttontext}.site-navigation a[aria-current]{color:linktext;border-color:highlight}:is(.site-header,.site-navigation) :is(a,button):focus-visible{outline-color:highlight}}.dock-utilities{display:none}@media (min-width:1024px){.header-settings>.sound-toggle,.header-settings>.theme-button{display:none}.dock-utilities{border-left:1px solid var(--glass-rim);align-items:center;gap:4px;margin-left:3px;padding-left:7px;display:flex}.site-navigation{--glass-tint:24%;border-color:color-mix(in srgb,var(--ink) 16%,transparent);gap:3px;padding:3px}.site-navigation :is(a,.icon-button){width:42px;height:44px;color:var(--ink);box-shadow:none;transform:translate(var(--magnet-x,0px),var(--magnet-y,0px)) scale(calc(1 + var(--proximity,0)*.13));background:0 0;border:1px solid #0000;border-radius:50%;transition:transform .24s cubic-bezier(.2,.8,.25,1),background .2s,box-shadow .2s}.site-navigation :is(a,.icon-button):is(:hover,:focus-visible){background:color-mix(in srgb,var(--accent) 11%,transparent);box-shadow:inset 0 1px 2px #fff5,0 3px 12px color-mix(in srgb,var(--accent) 12%,transparent)}.site-navigation :is(a,.icon-button):hover{transform:translate(var(--magnet-x,0px),var(--magnet-y,0px)) scale(calc(1 + var(--proximity,0)*.13))}.site-navigation :is(a,.icon-button):focus-visible{transform:translateY(-3px)scale(1.1)}.site-navigation .icon-button:before{--glass-fill:color-mix(in srgb,var(--surface) 94%,transparent)}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.site-navigation{background:var(--glass-fill);-webkit-backdrop-filter:blur(9px)saturate(155%);backdrop-filter:blur(9px)saturate(155%)}}}@media (prefers-reduced-motion:reduce){.site-navigation :is(a,.icon-button),.site-navigation :is(a,.icon-button):is(:hover,:focus-visible){transition:none;transform:none}}@media (prefers-reduced-transparency:reduce),(forced-colors:active){.portfolio .site-navigation{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (forced-colors:active){.portfolio .site-navigation{background:canvas;border-color:buttontext}.site-navigation :is(a,.icon-button){color:buttontext;box-shadow:none}}
.project-meta{font-family:var(--font-body),Arial,sans-serif}.editorial{max-width:1440px;margin:auto;padding:0 4.5%}.hero{border-bottom:1px solid var(--line);align-items:center;padding:65px 0 90px;display:grid}.hero h1{letter-spacing:-4.4px;margin:30px 0;line-height:1.06}.hero-role{margin:25px 0 14px;font-size:15px}.hero-role span{color:var(--accent);font-family:var(--font-display),Arial,sans-serif;margin:0 4px;font-style:italic}.hero-description{color:var(--secondary);max-width:420px;font-size:14px;line-height:1.65}.hero-actions{align-items:center;gap:26px;margin:30px 0 40px;display:flex}.identity{align-items:center;gap:12px;display:flex}.identity-rule{background:var(--accent);width:22px;height:1px}.identity b{font-size:12px;font-weight:500;display:block}.identity span:not(.identity-rule){color:var(--secondary);margin-top:5px;font-size:10px;display:block}.section-heading{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:40px;display:flex}.section-heading h2{letter-spacing:-1.8px;margin-top:20px;font-size:clamp(34px,3.4vw,49px);line-height:1.15}.section-heading>p{color:var(--secondary);max-width:240px;font-size:12px}.work-section,.background-section{border-bottom:1px solid var(--line);padding:76px 0;scroll-margin-top:20px}.featured{background:var(--soft);border:1px solid var(--line);grid-template-columns:1fr 1.2fr;min-height:390px;margin-bottom:42px;display:grid}.featured-copy{padding:35px}.project-meta{color:var(--secondary);letter-spacing:.5px;justify-content:space-between;gap:10px;font-size:9px;line-height:1.5;display:flex}.featured h3{font-family:var(--font-display),Arial,sans-serif;letter-spacing:-2px;justify-content:space-between;margin:28px 0 10px;font-size:55px;display:flex}.featured h3>span{font-family:var(--font-body),Arial,sans-serif;color:var(--accent);font-size:23px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;display:grid}.project-card{min-width:0;scroll-margin-top:25px}.art-button{text-align:left;width:100%;margin-bottom:20px;padding:0;display:block}.project-card h3{font-family:var(--font-display),Arial,sans-serif;letter-spacing:-.7px;margin:14px 0 12px;font-size:27px}.project-card h3 span{font:16px var(--font-body),Arial,sans-serif;color:var(--accent)}.project-card>p{color:var(--secondary);font-size:13px}.project-card .tags{margin-bottom:0}.background-tabs button{color:var(--secondary)}.background-tabs span{font:9px var(--font-body),Arial,sans-serif;margin-left:20px}.background-tabs [aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}.contact{padding:75px 0 65px}.contact-content{grid-template-columns:1fr 1fr;align-items:center;gap:60px;margin-top:30px;display:grid}.contact h2{letter-spacing:-3px;font-size:72px;line-height:1.05}.contact-content>div>p{color:var(--secondary);font-size:14px}.editorial footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:28px 0;display:flex}.footer-signature{font:italic 24px var(--font-display),Arial,sans-serif}.editorial footer>.mono{color:var(--secondary);font-size:9px}.editorial footer a{font-size:11px}.ai-resources{border-bottom:1px solid var(--line);flex-basis:100%;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 32px;min-width:0;padding-bottom:20px;display:grid}.ai-resources h2{font:500 14px/1.5 var(--font-body),Arial,sans-serif}.ai-resources p{color:var(--secondary);max-width:52ch;margin-top:4px;font-size:12px}.ai-resources ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:0;padding:0;list-style:none;display:grid}.editorial footer .ai-resources a{text-underline-offset:4px;align-items:center;width:fit-content;min-height:44px;font-size:12px;display:flex}.ai-resources a:is(:hover,:focus-visible){color:var(--accent);text-decoration:underline}@media (max-width:900px){.ai-resources{grid-template-columns:minmax(0,1fr)}}@media (max-width:375px){.ai-resources ul{grid-template-columns:minmax(0,1fr)}}@media (max-width:1199px){.hero{gap:25px}.hero h1{letter-spacing:-3px;font-size:65px}.hero-actions{gap:17px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.featured{grid-template-columns:1fr 1fr}.featured-copy{padding:27px}.contact h2{font-size:62px}}@media (max-width:800px){.hero{grid-template-columns:1.2fr 1fr;padding-top:40px;padding-bottom:55px}.hero h1{letter-spacing:-2.7px;font-size:52px}.hero-actions{flex-wrap:wrap;gap:12px}.hero-description{font-size:13px}.section-heading h2{font-size:37px}.featured h3{font-size:45px}.featured-copy{padding:22px}.contact-content{gap:30px}.contact h2{font-size:56px}}@media (max-width:600px){.editorial{padding:0 20px}.hero{grid-template-columns:1fr;gap:35px;padding:25px 0 40px}.hero h1{letter-spacing:-3px;margin:25px 0;font-size:56px}.hero-role{margin-top:20px;font-size:14px}.hero-description{max-width:340px;font-size:13px}.hero-actions{gap:18px;margin:25px 0 30px}.hero-actions>.text-link{gap:0;font-size:10px}.work-section,.background-section{padding:45px 0}.section-heading{margin-bottom:26px;display:block}.section-heading h2{letter-spacing:-1.5px;margin-top:17px;font-size:37px}.section-heading>p{margin-top:15px;font-size:11px}.section-heading>p br{display:none}.featured{grid-template-columns:1fr;margin-bottom:30px}.featured-copy{padding:24px}.featured h3{margin-top:20px;font-size:48px}.project-grid{grid-template-columns:1fr;gap:34px}.project-card h3{font-size:29px}.project-card .tags{margin-top:17px}.background-section .section-heading>.mono{margin-top:15px;font-size:8px;display:block}.background-tabs{justify-content:space-between}.background-tabs button{text-align:left;padding:16px 0}.background-tabs span{display:none}.contact{padding:45px 0}.contact-content{grid-template-columns:1fr;gap:28px;margin-top:25px}.contact h2{font-size:59px}.contact-content>div>p{font-size:13px}.editorial footer{flex-wrap:wrap;gap:18px;padding:23px 0}.editorial footer>.mono{order:3;width:100%;font-size:8px}}@media (max-width:350px){.editorial{padding:0 16px}.hero h1{letter-spacing:-2.5px}.hero-actions{gap:10px}.hero-actions>.text-link{font-size:9px}.featured-copy{padding:20px}.contact h2{font-size:52px}}.background-tabs{border-bottom:1px solid var(--line);gap:30px;margin:30px 0;display:flex}.background-tabs button{border-bottom:2px solid #0000;min-height:52px;padding:12px 0;font-size:13px}.background-tabs button[aria-selected=true]{color:var(--accent);border-color:var(--accent)}.background-tabs button span{font:10px var(--font-body),Arial,sans-serif;color:var(--secondary);margin-left:30px}.background-cards{gap:24px;display:grid}.background-card{border:1px solid var(--line);background:var(--surface);grid-template-columns:1fr;display:grid}.background-card-copy{padding:34px}.background-card h3{font:31px/1.2 var(--font-display),Arial,sans-serif;letter-spacing:-.7px;margin:16px 0 10px}.background-card .organization{color:var(--teal);font-size:13px}.background-card p{color:var(--secondary);font-size:13px}.background-facts{border-block:1px solid var(--line);flex-wrap:wrap;gap:12px 24px;margin:25px 0;padding:15px 0;display:flex}.background-facts span{font:11px/1.5 var(--font-body),Arial,sans-serif;align-items:center;gap:9px;display:flex}.background-facts svg{color:var(--accent);flex-shrink:0}.background-card ul{color:var(--secondary);margin-top:17px;padding-left:18px;font-size:13px;line-height:1.7}.background-card li+li{margin-top:8px}@media (max-width:900px){.background-card-copy{padding:25px}}@media (max-width:600px){.background-tabs{gap:0;margin:24px 0}.background-tabs button{flex:1;font-size:11px}.background-tabs button span{display:none}.background-card-copy{padding:23px}.background-card h3{font-size:28px}.background-facts{gap:12px;margin:20px 0}.background-facts span{font-size:10px}}@media (max-width:350px){.background-card-copy{padding:20px}}.hero{grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr);gap:35px;padding-top:45px}.hero h1{font-size:clamp(48px,4.9vw,74px)}@media (max-width:1100px){.hero{grid-template-columns:1fr;gap:25px}.hero-copy{max-width:650px}}@media (max-width:767px){.hero{grid-template-columns:1fr}.hero h1{font-size:54px}}@media (max-width:350px){.hero h1{font-size:48px}}.contact-links{flex-wrap:wrap;gap:32px;margin-top:2px;padding-top:20px;display:flex}.contact-links a{align-items:center;gap:12px;min-height:52px;padding:6px 0;font-size:14px;display:flex}.contact-links svg{width:23px;height:23px;color:var(--teal);flex-shrink:0}.contact-links a:hover{color:var(--accent)}@media (max-width:767px){.contact-links{gap:16px 30px;margin-top:25px}.contact-links a{font-size:13px}}.hero-description p+p{margin-top:12px}.project-card h3{overflow-wrap:anywhere;line-height:1.2}.project-card h3 a{justify-content:space-between;gap:12px;display:flex}.project-card h3 a span{flex-shrink:0}.project-note-cover{background:var(--soft);height:204px;color:var(--teal);border-block:1px solid var(--line);transform:translateY(calc(var(--recession,0)*-16px)) scale(calc(1 - var(--recession,0)*.02));transform-origin:top;flex-direction:column;justify-content:space-between;padding:22px;display:flex}.project-note-cover p{font:23px/1.25 var(--font-display),Arial,sans-serif;max-width:24ch}.note-coordinate{font:9px/1.6 var(--font-body),Arial,sans-serif;letter-spacing:.5px;justify-content:space-between;gap:12px;display:flex}.project-grid{row-gap:42px}.project-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.project-actions>button{font:10px var(--font-body),Arial,sans-serif;min-height:44px;color:var(--secondary)}.technology-preview button{min-width:44px;min-height:44px;color:var(--accent);text-underline-offset:4px;text-decoration:underline}.technology-overflow{flex-basis:100%}.featured h3 a{overflow-wrap:anywhere;justify-content:space-between;gap:16px;width:100%;display:flex}.featured h3 a>span{font:23px var(--font-body),Arial,sans-serif;color:var(--accent)}.featured-note{min-width:0}.featured .project-note-cover{height:100%;min-height:390px;padding:32px}.featured .project-note-cover p{font-size:40px}.background-tabs{flex-wrap:wrap}.background-tabs button:disabled{opacity:1;color:var(--secondary)}.certification-status{font:10px/1.7 var(--font-body),Arial,sans-serif;color:var(--secondary);margin:-12px 0 24px}.background-card h3{overflow-wrap:anywhere}.background-card-copy>p+p{margin-top:14px}.record-projects{flex-wrap:wrap;gap:12px 24px;margin-top:16px;display:flex}.biography-note{border-top:1px solid var(--line);color:var(--secondary);margin-top:24px;font-size:13px}.biography-note summary{cursor:pointer;min-height:44px;padding:14px 0}.biography-note p{max-width:76ch;margin:14px 0}@media (min-width:768px) and (max-width:1023px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:767px){.project-grid{grid-template-columns:1fr}.project-note-cover p{font-size:23px}.background-tabs{gap:0 18px}.background-tabs button span{margin-left:12px}.featured .project-note-cover{min-height:240px}.featured .project-note-cover p{font-size:32px}}@media (prefers-reduced-motion:reduce){.project-note-cover{transform:none}}.contact-cta{color:var(--accent);border-bottom:1px solid var(--accent);min-height:70px;font:24px/1.4 var(--font-display),Arial,sans-serif;justify-content:space-between;margin:18px 0 0;display:flex}.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,78px);padding:72px 0 80px}.hero h1{letter-spacing:-2px;margin:0 0 28px;font-size:clamp(58px,5.6vw,82px);line-height:1.02}.hero-description{max-width:480px;scroll-margin-top:32px}.hero-actions{flex-wrap:wrap;gap:14px;margin:30px 0}.hero-actions>a{border-radius:6px;justify-content:center;align-items:center;gap:22px;min-height:48px;padding:13px 20px;font-size:12px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.hero-actions>.solid-button{background:var(--accent);color:var(--paper);border:1px solid var(--accent)}.portfolio[data-theme=dark] .hero-actions>.solid-button,html[data-theme=dark] .portfolio:not([data-theme=light]) .hero-actions>.solid-button{color:#172021}.hero-actions>.solid-button:hover{background:color-mix(in srgb,var(--accent) 90%,var(--ink))}.hero-contact-button{border:1px solid var(--line);background:var(--surface);color:var(--ink)}.hero-contact-button:hover{border-color:var(--accent);background:var(--soft)}.hero-actions>a:active{opacity:.85}.hero-portrait{aspect-ratio:4/3;border:1px solid var(--line);background:var(--soft);border-radius:10px;width:100%;position:relative;overflow:hidden}.hero-portrait>img{filter:none}.portfolio[data-theme=dark] .hero-portrait>img,html[data-theme=dark] .portfolio:not([data-theme=light]) .hero-portrait>img{filter:brightness(.93)saturate(.88)contrast(1.02)}.portrait-placeholder{color:var(--secondary);font:12px var(--font-body),Arial,sans-serif;flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:absolute;inset:0}.portrait-placeholder-rule{background:var(--line);width:32px;height:1px}@media (max-width:767px){.hero{grid-template-columns:1fr;gap:36px;padding:40px 0 48px}.hero h1{letter-spacing:-1.5px;font-size:clamp(48px,9vw,66px)}.hero-copy{max-width:650px}.hero-description{max-width:100%}.hero-portrait{max-width:650px}.hero-actions{margin-bottom:26px}}@media (max-width:350px){.hero-actions>a{gap:12px;padding-inline:14px;font-size:11px}}.field-anchor{pointer-events:none;position:absolute}.hero .hero-role{font:500 15px/1.5 var(--font-body),Arial,sans-serif;color:var(--secondary);margin:0 0 18px}.hero h1.hero-headline{letter-spacing:-.035em;margin:0 0 20px;font-size:clamp(32px,4.3vw,66px);font-weight:600;line-height:1.1}.hero-headline-fixed{display:block}.hero-word-slot{width:max-content;max-width:100%;color:var(--accent);padding-block:.04em;font-weight:650;line-height:1.35;display:grid;overflow:hidden}.hero-word{opacity:0;grid-area:1/1;transform:translateY(.22em)}.hero-word:first-child{opacity:1;transform:none}.hero-word-slot[data-ready=true] .hero-word{animation:10.2s cubic-bezier(.22,.61,.36,1) infinite paused hero-word-cycle}.hero-word-slot[data-playing=true] .hero-word{animation-play-state:running}.hero-word-slot[data-ready=true] .hero-word:nth-child(2){animation-delay:-6.8s}.hero-word-slot[data-ready=true] .hero-word:nth-child(3){animation-delay:-3.4s}.hero .hero-tagline{font:500 clamp(12px,1.2vw,14px)/1.65 var(--font-body),Arial,sans-serif;color:var(--ink);margin:18px 0 0}@keyframes hero-word-cycle{0%,29.4118%{opacity:1;transform:translateY(0)}33.3333%{opacity:0;transform:translateY(-.22em)}33.3333%,96.0784%{opacity:0;transform:translateY(.22em)}to{opacity:1;transform:translateY(0)}}@media (max-width:767px){.hero h1.hero-headline{font-size:clamp(38px,7.8vw,58px)}}@media (prefers-reduced-motion:reduce){.hero-word-slot[data-ready=true] .hero-word{animation:none}}.contact-content>div{min-width:0}.contact-content>div>p{max-width:52ch;margin-top:18px;line-height:1.7}.footer-signature{white-space:nowrap;max-width:100%;font:32px/1.3125 Footer Allura,Segoe Script,cursive;display:inline-grid}.footer-signature>span{display:block}.footer-signature[data-animated=true]>span{animation:5.08s linear infinite paused footer-signature-write}.footer-signature[data-running=true]>span{animation-play-state:running}@keyframes footer-signature-write{0%{clip-path:inset(0 100% 0 0);opacity:1;animation-timing-function:steps(13,end)}25.591%{clip-path:inset(0);opacity:1}80.709%{clip-path:inset(0);opacity:1}89.567%{clip-path:inset(0);opacity:0}to{clip-path:inset(0);opacity:0}}.ai-resources{display:block}.ai-resources summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;min-height:44px;list-style:none;display:flex}.ai-resources summary::-webkit-details-marker{display:none}.resource-chevron{transition:transform .18s}.ai-resources[open] .resource-chevron{transform:rotate(180deg)}.ai-resources-content{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 32px;padding-top:12px;display:grid}@supports (interpolate-size:allow-keywords){.ai-resources{interpolate-size:allow-keywords}.ai-resources::details-content{block-size:0;transition:block-size .18s ease, content-visibility .18s allow-discrete;overflow:clip}.ai-resources[open]::details-content{block-size:auto}}@media (max-width:900px){.ai-resources-content{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.footer-signature[data-animated=true]>span{clip-path:none;opacity:1;animation:none}.resource-chevron{transition:none}.ai-resources::details-content{transition:none}}@font-face{font-family:Footer Allura;src:url(/fonts/footer/Allura-Regular-latin.woff2)format("woff2");font-style:normal;font-weight:400;font-display:block}.contact-links a{min-width:0}.contact-links a>span:first-of-type{overflow-wrap:anywhere}
.journey{border-bottom:1px solid var(--line);padding:76px 0;scroll-margin-top:20px}@media (max-width:600px){.journey{padding:45px 0}}.timeline-track{--stage-height:600px;position:relative}.timeline-stage{background:var(--paper);padding:8px 0 24px}.timeline-direction{color:var(--secondary);font:10px var(--font-body),Arial,sans-serif;justify-content:space-between;margin-bottom:12px;display:flex}.milestone-rail{scrollbar-width:thin;gap:0;margin:0;padding:6px 0;list-style:none;display:flex;position:relative;overflow-x:auto}.milestone-rail li{flex:1;min-width:130px}.milestone-rail time{font:23px var(--font-display),Arial,sans-serif;white-space:nowrap}.milestone-point{border:1px solid var(--teal);background:var(--paper);border-radius:50%;width:10px;height:10px;position:relative}.milestone-rail a[aria-current]{color:var(--ink)}.milestone-rail a[aria-current] .milestone-point{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px var(--soft)}.milestone-rail a[aria-current] time{color:var(--accent)}.timeline-controls{font:10px var(--font-body),Arial,sans-serif;color:var(--secondary);justify-content:space-between;align-items:center;gap:12px;margin:12px 0 22px;display:none}[data-enhanced=true] .timeline-controls{display:flex}.timeline-controls button{min-height:44px;font:12px var(--font-body),Arial,sans-serif;color:var(--ink)}.milestone-detail{grid-template-columns:1fr 1fr;gap:45px;padding:16px 0;animation:.18s milestone-in;display:grid}.milestone-detail[hidden]{display:none}.milestone-detail time{color:var(--accent);font:12px var(--font-body),Arial,sans-serif}.milestone-detail h3{font:40px/1.1 var(--font-display),Arial,sans-serif;margin:20px 0}.milestone-detail p{color:var(--secondary);max-width:440px;font-size:14px}.milestone-detail .text-link{min-height:44px;margin-top:24px}.milestone-detail figure{min-width:0}.milestone-detail figure>div{height:250px;min-height:250px;overflow:hidden}.milestone-detail figcaption{color:var(--secondary);padding:12px 0;font-size:9px}@media (max-width:767px){.milestone-detail{grid-template-columns:1fr;gap:15px}.milestone-detail h3{font-size:31px}.milestone-detail p{font-size:13px}.milestone-detail figure>div{height:210px;min-height:210px}.timeline-controls{gap:8px;font-size:8px}.timeline-controls button{font-size:11px}.milestone-rail time{font-size:21px}}@media (prefers-reduced-motion:reduce){.milestone-detail{animation:none}}@media (max-width:767px){.milestone-rail li{flex:0 0 50%;min-width:0}}.milestone-scroll{padding:5px 0 10px;overflow-x:auto}.milestone-track-inner{min-width:calc(var(--milestones)*160px);position:relative}.milestone-line{left:11px;right:calc(100% / var(--milestones) - 11px);background:linear-gradient(to right,var(--accent) 0 var(--completion),var(--line) var(--completion) 100%);height:1px;position:absolute;top:54px}.timeline-index{border-top:1px solid var(--line);margin-top:18px;font-size:12px}.timeline-index summary{cursor:pointer;min-height:44px;color:var(--secondary);padding:14px 0}.timeline-index ol{padding-left:24px}.timeline-index li{padding:16px 0}.timeline-index time{font:12px var(--font-body),Arial,sans-serif;color:var(--accent);margin-right:20px}.timeline-index a{text-underline-offset:4px;min-height:32px;text-decoration:underline;display:inline-block}.timeline-index p{color:var(--secondary);margin:4px 0 12px}.milestone-scroll{scrollbar-width:none}.milestone-scroll::-webkit-scrollbar{display:none}.horizontal-journey .timeline-track{--sticky-top:16px;height:auto}.horizontal-journey .timeline-stage{padding:0 0 24px;position:relative}.horizontal-journey .timeline-track[data-pinned=true]{height:calc(var(--stage-height) + var(--travel))}.horizontal-journey .timeline-track[data-pinned=true] .timeline-stage{top:var(--sticky-top);position:sticky}.horizontal-journey .timeline-track[data-pinned=false]{height:auto}.horizontal-journey .timeline-track[data-pinned=false] .timeline-stage{position:relative}.horizontal-journey .milestone-scroll{scrollbar-width:thin;position:relative;overflow-x:auto}.horizontal-journey .milestone-track-inner{min-width:100%;width:calc(var(--milestones)*220px);padding-top:0;position:relative}.horizontal-journey .milestone-line{background:var(--line);height:1px;position:absolute;top:61px;left:8px;right:8px;overflow:hidden}.horizontal-journey .milestone-line:before{content:"";width:var(--completion);background:var(--accent);height:1px;display:block}.horizontal-journey .milestone-rail{gap:0;padding:0;position:relative;overflow:visible}.horizontal-journey .milestone-rail li{flex:1 0 0;min-width:0}.horizontal-journey .milestone-rail button{text-align:left;min-height:132px;color:var(--secondary);flex-direction:column;align-items:flex-start;gap:14px;width:100%;padding:12px 8px;font-size:12px;line-height:1.5;display:flex;position:relative}.horizontal-journey .milestone-rail button[aria-current]{color:var(--ink)}.horizontal-journey .milestone-rail button[aria-current] .milestone-point{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px var(--paper)}.horizontal-journey .milestone-rail li[data-state=past]{opacity:.65}.horizontal-journey .milestone-rail li[data-state=future]{opacity:.8}.horizontal-journey .milestone-details{padding:24px 0}.horizontal-journey .milestone-detail{max-width:70ch;min-height:180px;padding:0;display:block}.horizontal-journey .milestone-detail time{font:12px var(--font-body),Arial,sans-serif;margin-top:12px;display:block}.horizontal-journey .milestone-detail h3{font:32px/1.2 var(--font-display),Arial,sans-serif;margin:18px 0}.horizontal-journey .milestone-detail p{color:var(--secondary);font-size:15px}.horizontal-journey .timeline-controls{margin-top:16px;font-size:12px}.horizontal-journey .milestone-line{left:var(--rail-start,13px);right:auto;top:var(--rail-top,61px);width:var(--rail-width,calc(100% - 100% / var(--milestones)))}.horizontal-journey .milestone-line:before{transition:width .25s cubic-bezier(.2,.8,.2,1)}.horizontal-journey .milestone-point{flex-shrink:0;transition:transform .25s,background-color .25s,box-shadow .25s}.horizontal-journey .milestone-rail button[aria-current] .milestone-point{box-shadow:0 0 0 3px var(--paper), 0 0 0 4px var(--accent);transform:scale(1.2)}.horizontal-journey .milestone-rail button:hover .milestone-point,.horizontal-journey .milestone-rail button:focus-visible .milestone-point{box-shadow:0 0 0 3px var(--soft), 0 0 0 4px var(--accent)}.horizontal-journey .milestone-rail button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.horizontal-journey .milestone-rail li[data-state]{opacity:1}.horizontal-journey [data-enhanced=true] .milestone-details{display:grid}.horizontal-journey [data-enhanced=true] .milestone-detail{grid-area:1/1}.horizontal-journey [data-enhanced=true] .milestone-detail[hidden]{visibility:hidden;pointer-events:none;animation:none;display:block!important}.horizontal-journey .milestone-detail[data-active=true]{animation:.25s cubic-bezier(.2,.8,.2,1) journey-detail-in}@keyframes journey-detail-in{0%{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.horizontal-journey .milestone-line:before,.horizontal-journey .milestone-point{transition:none}.horizontal-journey .milestone-detail[data-active=true]{animation:none}}.horizontal-journey .timeline-track{overflow-anchor:none}@media (min-width:1024px){.horizontal-journey .timeline-track{--sticky-top:88px}}@media (min-width:768px) and (max-height:950px){.horizontal-journey .section-heading{margin-bottom:8px}.horizontal-journey .timeline-stage{padding-bottom:8px}.horizontal-journey .timeline-direction{margin-bottom:4px}.horizontal-journey .milestone-rail button{gap:8px;min-height:116px;padding-block:8px}.horizontal-journey .timeline-controls{margin-block:4px 8px}.horizontal-journey .milestone-details{padding-block:8px}.horizontal-journey .milestone-detail p{max-width:none}.horizontal-journey .milestone-detail time{margin-top:8px}.horizontal-journey .milestone-detail h3{margin-block:12px}.horizontal-journey .milestone-detail .text-link{margin-top:12px}}@media (min-width:768px) and (max-height:799px){.horizontal-journey .timeline-stage{padding-bottom:4px}.horizontal-journey .timeline-controls{margin-bottom:4px}.horizontal-journey .milestone-details{padding-block:4px}.horizontal-journey .milestone-detail time{margin-top:4px}.horizontal-journey .milestone-detail h3{margin-block:8px}.horizontal-journey .milestone-detail .text-link{margin-top:4px}}.horizontal-journey .timeline-stage{isolation:isolate;--journey-muted:color-mix(in srgb, var(--secondary) 65%, var(--ink))}.horizontal-journey .section-heading>p,.horizontal-journey .section-label,.horizontal-journey .timeline-direction,.horizontal-journey .timeline-controls,.horizontal-journey .milestone-rail button:not([aria-current]),.horizontal-journey .milestone-detail .eyebrow,.horizontal-journey .milestone-detail p{color:var(--journey-muted)}.horizontal-journey .milestone-rail button[aria-current] time{color:color-mix(in srgb, var(--accent) 65%, var(--ink))}.horizontal-journey .journey-canvas{z-index:-1;pointer-events:none;background:var(--paper);border-radius:18px;position:absolute;inset:0 -24px;overflow:hidden}.horizontal-journey .journey-scene{--journey-hue:32;opacity:0;background:radial-gradient(ellipse at 88% 35%, hsl(var(--journey-hue) 30% 50% / .38), transparent 65%), linear-gradient(125deg, var(--paper) 25%, hsl(var(--journey-hue) 16% 45% / .2));transition:opacity .5s ease-in-out;position:absolute;inset:0}.horizontal-journey .journey-scene[data-active=true]{opacity:1}.horizontal-journey .journey-scene[data-tone=slate]{--journey-hue:210}.horizontal-journey .journey-scene[data-tone=stone]{--journey-hue:255}.horizontal-journey .journey-scene[data-tone=copper]{--journey-hue:22}.horizontal-journey .journey-scene[data-tone=sage]{--journey-hue:155}.horizontal-journey .journey-scene img{object-fit:cover;object-position:var(--journey-position,70% 50%)}.horizontal-journey .journey-scene-veil{background:linear-gradient(90deg, var(--paper), color-mix(in srgb, var(--paper) 94%, transparent) 38%, transparent), linear-gradient(0deg, var(--paper), transparent 32% 74%, color-mix(in srgb, var(--paper) 70%, transparent));position:absolute;inset:0}.horizontal-journey .journey-scene[data-background=photograph] .journey-scene-veil{background:linear-gradient(90deg, var(--paper), transparent 90%), linear-gradient(0deg, var(--paper), transparent 40% 65%, var(--paper)), color-mix(in srgb, var(--paper) calc(var(--journey-veil,.82) * 100%), transparent)}.horizontal-journey .milestone-details{isolation:isolate;position:relative}.horizontal-journey .milestone-details:before{content:"";z-index:-1;border:1px solid color-mix(in srgb, var(--ink) 12%, transparent);background:color-mix(in srgb, var(--paper) 78%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);max-width:calc(70ch + 32px);box-shadow:0 12px 32px color-mix(in srgb, var(--ink) 5%, transparent);border-radius:16px;position:absolute;inset:0 -16px}.horizontal-journey .timeline-controls button:focus-visible,.horizontal-journey .milestone-detail a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media (max-width:767px){.horizontal-journey .journey-canvas{border-radius:12px;inset-inline:-12px}.horizontal-journey .journey-scene img{object-position:var(--journey-mobile-position,60% 50%)}.horizontal-journey .journey-scene-veil{opacity:.95}.horizontal-journey .milestone-details:before{border-radius:12px;inset-inline:-10px}}@media (prefers-reduced-motion:reduce){.horizontal-journey .journey-scene{transition:none}}
.skill-explorer{grid-template-columns:minmax(180px,1fr) minmax(0,2.2fr);gap:48px;margin-top:32px;display:grid}.skill-groups>button{text-align:left;border-top:1px solid var(--line);width:100%;font:20px/1.3 var(--font-body),Arial,sans-serif;align-items:baseline;gap:16px;min-height:64px;padding:20px 0;display:flex}.skill-groups>button>span{font:11px var(--font-body),Arial,sans-serif;color:var(--secondary)}.skill-groups>button>span:last-child{margin-left:auto}.skill-groups>button[aria-pressed=true]{border-top-color:var(--accent);color:var(--accent)}.skill-index{border-block:1px solid var(--line);flex-wrap:wrap;gap:0 20px;padding:12px 0;display:flex}.skill-index button{font:14px/1.6 var(--font-body),Arial,sans-serif;text-align:left;min-height:44px;padding:8px 0}.skill-index button[aria-pressed=true]{color:var(--accent);text-underline-offset:7px;text-decoration:underline}.skill-projects{padding:28px 0}.skill-projects article{border-bottom:1px solid var(--line);padding:24px 0}.skill-projects h3{font:25px/1.25 var(--font-display),Arial,sans-serif;margin-bottom:14px}.skill-projects p{color:var(--secondary);max-width:65ch}.additional-skills>summary{cursor:pointer;min-height:44px;padding:12px 0}@media (max-width:767px){.skill-explorer{grid-template-columns:1fr;gap:24px}.skill-groups{flex-wrap:wrap;gap:0 20px;display:flex}.skill-groups>button{flex:44%;width:auto;padding:16px 0;font-size:16px}.skill-groups>button>span:last-child{display:none}}@media (max-width:350px){.skill-groups>button{flex-basis:100%}}.skills-section{border-bottom:1px solid var(--line);padding:76px 0}.skills-section>h2{font:49px/1.15 var(--font-display),Arial,sans-serif;letter-spacing:-1.8px;margin-top:20px}@media (max-width:767px){.skills-section{padding:45px 0}.skills-section>h2{font-size:37px}}
.case-heading{border-bottom:1px solid var(--line)}.case-heading h1{letter-spacing:-1.5px;margin:25px 0}.case-heading p{max-width:65ch;color:var(--secondary);font-size:18px}.case-index{font:12px var(--font-body),Arial,sans-serif;flex-wrap:wrap;padding:30px 0}.case-index a{border-bottom:1px solid var(--line);padding:10px 0}.case-section{border-top:1px solid var(--line);grid-template-columns:1fr 2fr;gap:32px}.case-section h2{font:28px var(--font-display),Arial,sans-serif}.source-prose p+p{margin-top:20px}.case-study{padding-bottom:70px}@media (max-width:767px){.case-section{grid-template-columns:1fr}}.case-heading{max-width:none;padding:64px 0}.case-heading h1{max-width:22ch;font-size:clamp(38px,5vw,64px);line-height:1.08}.case-heading .background-facts{font:12px var(--font-body),Arial,sans-serif;margin-top:24px}.case-body{grid-template-columns:minmax(160px,.7fr) minmax(0,2fr);gap:64px;display:grid}.case-index{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.case-index a{min-height:44px}.case-section{padding:40px 0;display:block}.case-section h2{margin:18px 0 24px;font-size:34px}.source-prose{white-space:normal;max-width:70ch;line-height:1.75}.source-prose ul{padding-left:24px}.source-prose li+li{margin-top:12px}.case-facts{grid-template-columns:120px 1fr;gap:16px 24px;margin:0;display:grid}.case-facts dt{font:12px/1.8 var(--font-body),Arial,sans-serif;color:var(--secondary)}.case-facts dd{min-width:0;margin:0}.similar-projects{border-top:1px solid var(--line);padding:64px 0 32px}.similar-projects h2{margin:20px 0 32px;font-size:42px}.similar-projects>div:last-child{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;display:grid}.similar-projects h3{font:26px/1.25 var(--font-display),Arial,sans-serif;margin:18px 0}.similar-projects article>p:last-child{color:var(--secondary);font-size:14px}.case-back{padding:24px 0}@media (min-width:768px) and (max-width:1023px){.case-body{gap:32px}}@media (max-width:767px){.case-body{grid-template-columns:1fr;gap:0}.case-index{flex-flow:wrap;gap:4px 18px}.case-heading{padding:40px 0}.case-facts{grid-template-columns:1fr;gap:4px}.case-facts dd{margin-bottom:18px}.similar-projects>div:last-child{grid-template-columns:1fr}}.case-study .editorial-nav{color:var(--secondary);justify-content:space-between;align-items:center;padding:23px 0;display:flex}@media (max-width:800px){.case-study .editorial-nav>.mono{font-size:9px}}@media (max-width:600px){.case-study .editorial-nav{padding:12px 0 18px}.case-study .editorial-nav>.mono{display:none}}
.terminal-main{background:var(--terminal);min-height:0;font-family:var(--font-terminal);flex-direction:column;flex:1;display:flex}.terminal-toolbar{border-bottom:1px solid var(--line);font:10px var(--font-terminal);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 4.5%;display:flex}.terminal-toolbar h1{font:12px var(--font-terminal)}.terminal-toolbar h1>span:not(.status-dot){color:var(--secondary)}.terminal-toolbar button{color:var(--secondary);border:1px solid var(--line);margin-left:5px;padding:10px 12px;font-size:10px}.terminal-output{scrollbar-color:var(--line) transparent;flex:1;min-height:0;padding:25px 7%;font-size:13px;line-height:1.65;overflow:auto}.terminal-prompt{overflow-wrap:anywhere;margin-bottom:14px}.terminal-prompt>span,.command-form label>span:first-child{color:var(--teal)}.terminal-prompt b{color:var(--accent);margin-left:8px;font-weight:400}.terminal-prompt i{color:var(--secondary);margin:0 10px;font-style:normal}.fastfetch{align-items:center;gap:50px;margin:25px 0 35px;display:flex}.pixel-placeholder{color:var(--accent);letter-spacing:3px;flex-direction:column;align-items:center;min-width:170px;font-size:29px;line-height:1;display:flex}.pixel-placeholder strong{font-size:56px;font-weight:400;line-height:1.4}.pixel-placeholder small{color:var(--secondary);letter-spacing:1px;margin-top:20px;font-size:8px}.fetch-name{color:var(--accent);margin-bottom:13px;font-size:16px}.fetch-name>span{color:var(--line);font-size:11px}.fetch-info dl{gap:6px 20px;margin:0;font-size:12px;display:grid}.fetch-info dt{color:var(--teal)}.fetch-info dd{margin:0}.ansi-swatches{gap:3px;margin-top:20px;display:flex}.ansi-swatches>span{width:24px;height:15px}.terminal-welcome{margin-bottom:25px}.terminal-muted{color:var(--secondary);font-size:12px}.command-block{margin-top:25px}.command-block pre{font:13px/1.7 var(--font-terminal);white-space:pre-wrap;overflow-wrap:anywhere}.terminal-suggestions{align-items:center;gap:8px;margin-bottom:14px;display:flex}.terminal-suggestions>button{border:1px solid var(--line);padding:8px 12px;font-size:10px}.terminal-suggestions>span{color:var(--secondary);margin-left:auto;font-size:9px}.terminal-suggestions>span button{color:var(--accent);font-size:11px}.command-form{align-items:center;gap:12px;min-height:44px;font-size:14px;display:flex}.command-form label{white-space:nowrap}.command-form input{width:100%;min-width:0;color:var(--ink);outline-offset:0;caret-color:var(--accent);background:0 0;border:0;padding:8px 5px;font-family:inherit}.command-form>button{white-space:nowrap;border:1px solid var(--line);padding:12px;font-size:11px}.terminal-status{color:var(--secondary);letter-spacing:.7px;justify-content:space-between;margin-top:13px;font-size:8px;display:flex}.terminal-status .status-dot{width:4px;height:4px;margin-left:12px}.boot-message{color:var(--teal);justify-content:space-between;margin-bottom:20px;font-size:11px;display:flex}.boot-message button{text-decoration:underline}.terminal-ai{border-left:1px solid var(--teal);margin:25px 0;padding-left:18px}.terminal-ai>p{color:var(--teal);font-size:11px}.terminal-ai>div{white-space:pre-wrap;overflow-wrap:anywhere;margin:20px 0}.terminal-ai a{color:var(--accent);text-decoration:underline}@media (max-width:800px){.terminal-output{padding:22px 4.5%}.fastfetch{gap:25px}.fetch-info dl{grid-template-columns:85px 1fr;gap:6px 15px}.fetch-name>span{display:none}.pixel-placeholder{min-width:150px}}@media (max-width:600px){.terminal-toolbar{padding:10px 16px}.terminal-toolbar h1{font-size:10px}.terminal-toolbar h1>span:not(.status-dot){display:none}.terminal-toolbar button{padding:9px;font-size:9px}.terminal-output{padding:20px 16px;font-size:12px}.fastfetch{flex-direction:column;align-items:flex-start;gap:24px;margin-top:20px}.pixel-placeholder{letter-spacing:2px;align-items:flex-start;min-width:0;font-size:15px}.pixel-placeholder strong{font-size:28px}.pixel-placeholder small{margin-top:10px;font-size:7px}.fetch-name{font-size:15px}.fetch-info dl{grid-template-columns:82px 1fr;gap:6px 10px;font-size:11px}.fetch-info dd{overflow-wrap:anywhere}.terminal-muted,.terminal-prompt{font-size:11px}.terminal-suggestions{margin-bottom:8px}.terminal-suggestions>button{min-height:36px;padding:8px;font-size:9px}.terminal-suggestions>span{font-size:0}.terminal-suggestions>span button{padding:8px 0;font-size:9px}.command-form{gap:6px;font-size:12px}.command-form input{padding:8px 0;font-size:16px}.prompt-host{display:none}.command-form>button{padding:10px;font-size:10px}.terminal-status{letter-spacing:0;gap:5px}.terminal-status .status-dot{margin-left:3px}.terminal-ai{padding-left:10px;font-size:12px}.boot-message{gap:10px;font-size:9px}}@media (max-width:350px){.fetch-info dl{grid-template-columns:75px 1fr;font-size:10px}}@media (max-height:650px) and (max-width:800px){.pixel-placeholder{display:none}.terminal-toolbar{padding-top:5px;padding-bottom:5px}}.terminal-main{position:relative}.terminal-output{overflow-anchor:none;padding-bottom:35px}.inline-prompt{flex-wrap:wrap;gap:6px;max-width:1100px;margin-top:22px}.inline-prompt input{flex:1;width:auto}.inline-prompt button{min-width:44px;min-height:44px}.terminal-suggestions{flex-wrap:wrap;margin-top:18px}.terminal-suggestions>button{min-height:44px}.terminal-jump{border:1px solid var(--line);background:var(--surface);font:11px var(--font-terminal);padding:12px 16px;position:absolute;bottom:15px;right:22px;box-shadow:0 3px 15px #0001}.terminal-ai{max-width:850px}.terminal-ai:empty{display:none}@media (max-width:600px){.terminal-output{padding-top:16px}.terminal-toolbar button{min-height:44px}.inline-prompt{font-size:12px}.inline-prompt input{min-width:90px;font-size:16px}.terminal-jump{font-size:10px;right:16px}.terminal-suggestions{gap:6px}.terminal-suggestions button{font-size:10px}.terminal-status{flex-wrap:wrap;font-size:8px;line-height:1.5}}@media (max-height:600px){.terminal-toolbar{padding-block:2px}}.inline-prompt input:focus-visible{box-shadow:none;outline:none}.inline-prompt:focus-within{box-shadow:inset 3px 0 var(--teal)}.inline-prompt{scroll-margin-block:20px;padding-left:10px!important}.inline-prompt:focus-within label{color:var(--teal);text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:2px}@media (forced-colors:active){.inline-prompt:focus-within{border-left:3px solid highlight}}.fetch-info{min-width:0;max-width:780px}.fetch-info dd{overflow-wrap:anywhere}.terminal-markdown{max-width:880px;line-height:1.75;font:inherit;overflow-wrap:anywhere;margin:20px 0 32px}.terminal-markdown h2,.terminal-markdown h3,.terminal-markdown h4,.terminal-markdown h5,.terminal-markdown h6{color:var(--teal);margin:22px 0 10px;font-family:inherit;font-weight:600}.terminal-markdown h2{font-size:21px}.terminal-markdown h3{letter-spacing:.04em;font-size:14px}.terminal-markdown p{margin:10px 0;line-height:1.8}.terminal-markdown strong{color:var(--ink);font-weight:700}.terminal-markdown ul,.terminal-markdown ol{margin:12px 0;padding-left:23px}.terminal-markdown li{padding:3px 0}.terminal-markdown li::marker{color:var(--teal)}.terminal-markdown a{color:var(--teal);text-underline-offset:4px;min-height:32px;padding:3px 0;text-decoration:underline;display:inline-block}.terminal-markdown code{color:var(--accent);font:inherit;background:var(--soft);padding:2px 5px}.terminal-markdown pre{border-left:2px solid var(--line);white-space:pre-wrap;margin:16px 0;padding:12px 16px;line-height:1.8}.terminal-markdown pre code{color:var(--ink);background:0 0;padding:0}.terminal-markdown hr{border:0;border-top:1px solid var(--line);max-width:500px;margin:20px 0}.command-form label{overflow-wrap:anywhere;flex-shrink:1;min-width:0}.inline-prompt input{min-width:80px!important}@media (max-width:767px){.terminal-markdown h2{font-size:18px}.terminal-markdown{font-size:12px}.command-form label{white-space:normal;max-width:47%}}.fetch-info dt{overflow-wrap:anywhere}.fetch-info dl{grid-template-columns:110px minmax(0,1fr)}.terminal-main:fullscreen{background:var(--terminal);height:100dvh;color:var(--ink)}.terminal-toolbar>div:first-child{font:12px var(--font-terminal)}.terminal-toolbar>div:last-child{flex-wrap:wrap;justify-content:flex-end;display:flex}.terminal-suggestions{max-width:1100px}.terminal-prompt-actions{flex-wrap:wrap;gap:12px;display:flex}.completion-list{font:12px/1.8 var(--font-terminal);color:var(--secondary)}.terminal-ai section{margin-top:24px}.terminal-ai h2{font:15px/1.7 var(--font-terminal);color:var(--teal);margin:12px 0}.terminal-ai a{align-items:center;min-height:44px;margin-right:20px;display:inline-flex}.terminal-ai pre{white-space:pre-wrap;overflow-wrap:anywhere}@media (max-width:767px){.fetch-info dl{grid-template-columns:80px minmax(0,1fr)}}.portfolio .terminal-main *{font-family:var(--font-terminal)}
.chat-main{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.chat-toolbar{border-bottom:1px solid var(--line);color:var(--secondary);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 4.5%;font-size:12px;display:flex}.chat-toolbar h2{color:var(--ink);font:600 14px var(--font-body),Arial,sans-serif;align-items:center;gap:9px;display:flex}.chat-toolbar h2 svg{color:var(--accent)}.chat-toolbar button{min-height:44px;font-size:12px}.chat-workspace{flex:1;align-self:center;width:100%;max-width:880px;min-height:0;display:flex}.chat-reading{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.chat-scroll{scrollbar-color:var(--line) transparent;scrollbar-gutter:stable;overscroll-behavior:contain;overflow-anchor:none;flex:1;min-height:0;overflow:auto}.chat-welcome{text-align:center;padding:clamp(32px,8vh,80px) 24px 24px}.chat-welcome>svg,.floating-chat-welcome>svg{width:28px;height:28px;color:var(--accent);margin-bottom:16px}.chat-welcome h1{font:500 clamp(23px,3vw,30px)/1.3 var(--font-display),Arial,sans-serif;letter-spacing:-.6px;margin-bottom:10px}.chat-welcome p,.floating-chat-welcome p{color:var(--secondary);font-size:13px}.suggested-questions{grid-template-columns:1fr 1fr;gap:10px;max-width:700px;margin:auto;padding:0 28px 28px;display:grid}.suggested-questions button{text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:14px;font-size:12px;line-height:1.6;display:flex}.suggested-questions button:hover{border-color:var(--teal)}.suggested-questions button span{color:var(--accent)}.conversation{padding:28px 28px 12px}.lookup-turn{margin-bottom:28px}.message{min-width:0;margin-bottom:20px}.message-author{font:500 11px/1.5 var(--font-body),Arial,sans-serif;color:var(--secondary);align-items:center;gap:7px;margin-bottom:8px;display:flex}.message-author svg{width:16px;height:16px;color:var(--accent)}.message-text{font:14px/1.75 var(--font-body),Arial,sans-serif;overflow-wrap:anywhere;min-width:0}.message-user{width:fit-content;max-width:85%;margin-left:auto}.message-user .message-author{justify-content:flex-end}.message-user .message-text{background:var(--soft);color:var(--ink);white-space:pre-wrap;border-radius:16px 16px 4px;padding:12px 16px}.message-assistant .message-text{padding:4px 0}.lookup-source{margin:0 0 20px;padding:0}.lookup-source:last-child{margin-bottom:0}.lookup-source h3{font:600 13px/1.6 var(--font-body),Arial,sans-serif;margin:0 0 6px}.lookup-source blockquote{white-space:pre-wrap;font:inherit;margin:0}.reply-sources{color:var(--secondary);flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-top:12px;font-size:10px;display:flex}.reply-sources .text-link{color:var(--teal);overflow-wrap:anywhere;padding:4px 0;font-size:11px;line-height:1.5}.reply-sources .text-link:hover{color:var(--accent)}.more-sources summary{cursor:pointer;min-height:44px;color:var(--teal);align-items:center;font-size:12px;display:flex}.more-sources summary:before{content:"+";margin-right:8px}.more-sources[open] summary:before{content:"−"}.stopped-excerpt{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;margin:0}.stopped-note{color:var(--secondary);margin-top:10px;font-size:11px}.lookup-loading{align-items:center;gap:5px;width:fit-content;height:28px;padding:0 4px;display:flex}.lookup-loading span{background:var(--secondary);border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite lookup-dot}.lookup-loading span:nth-child(2){animation-delay:.15s}.lookup-loading span:nth-child(3){animation-delay:.3s}@keyframes lookup-dot{0%,60%,to{opacity:.45;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.composer-area{padding:12px 28px max(18px,env(safe-area-inset-bottom));flex-shrink:0;position:relative}.composer,.floating-composer{border:1px solid var(--line);background:var(--surface);border-radius:16px;transition:border-color .18s,box-shadow .18s}.composer{align-items:flex-end;gap:10px;padding:12px;display:flex}.composer textarea{resize:vertical;width:0;min-width:0;min-height:48px;max-height:140px;color:var(--ink);background:0 0;border:0;flex:1;font-size:16px;line-height:1.5}.composer textarea::placeholder,.floating-composer textarea::placeholder{color:var(--secondary)}.composer textarea:focus,.composer textarea:focus-visible,.floating-composer textarea:focus,.floating-composer textarea:focus-visible{box-shadow:none;outline:none}.composer:focus-within,.floating-composer:focus-within{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}.send-button{background:var(--ink);width:44px;height:44px;color:var(--paper);border-radius:12px;flex-shrink:0;place-items:center;font-size:17px;display:grid}.assistant-disclosure{color:var(--secondary);text-align:center;padding-top:10px;font-size:10px}.jump-latest{white-space:nowrap;background:var(--surface);border:1px solid var(--line);border-radius:22px;min-height:40px;padding:10px 16px;font-size:11px;position:absolute;top:-38px;left:50%;transform:translate(-50%)}.chat-project-context{border-bottom:1px solid var(--line);margin:18px 28px 0;padding-bottom:12px;font-size:12px;line-height:1.7}.chat-project-context>a{color:var(--teal)}.chat-project-context button{min-height:44px;margin-left:12px;font-size:11px;text-decoration:underline}.chat-project-context p{color:var(--secondary)}.confirm-panel{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:16px;width:calc(100% - 32px);max-width:420px;padding:28px}.confirm-panel h2{font-size:28px}.confirm-panel p{color:var(--secondary);margin:16px 0;font-size:13px}.confirm-panel button{border:1px solid var(--line);border-radius:8px;min-height:44px;margin-right:6px;padding:12px;font-size:12px}.confirm-panel::backdrop{background:#0008}@media (max-width:600px){.chat-toolbar{flex-wrap:wrap;gap:8px;padding:6px 16px}.chat-toolbar h2{font-size:13px}.chat-toolbar button,.chat-return{font-size:11px}.chat-welcome{padding:32px 20px 20px}.suggested-questions{grid-template-columns:1fr;gap:8px;padding:0 20px 20px}.conversation{padding:24px 20px 8px}.composer-area{padding:10px 16px max(12px,env(safe-area-inset-bottom))}.composer textarea{max-height:85px}.message-text{font-size:13px}.chat-project-context{margin-inline:20px}}@media (max-height:600px){.chat-welcome{padding-top:20px}.composer-area{padding-block:6px}.composer textarea{min-height:36px;max-height:60px}}@media (forced-colors:active){.composer:focus-within,.floating-composer:focus-within{box-shadow:none;border:2px solid highlight}.lookup-loading span{background:canvastext}}.chat-project-context summary{cursor:pointer;min-height:44px;color:var(--teal);align-items:center;display:flex}.chat-project-context dl{margin:0 0 12px}.chat-project-context dt{color:var(--secondary);margin-top:8px}.chat-project-context dd{margin:0}.chat-project-context small{color:var(--secondary);display:block}.source-facts{gap:5px;margin:8px 0 14px;display:grid}.source-facts>div{grid-template-columns:92px minmax(0,1fr);gap:12px;display:grid}.source-facts dt{color:var(--secondary);font-size:12px}.source-facts dd{margin:0}.source-prose p,.source-paragraph{white-space:pre-wrap;margin:0 0 12px}.source-contributions h4{font:600 12px/1.6 var(--font-body);margin:12px 0 6px}.source-contributions ul{margin:0;padding-left:20px}.source-contributions li{margin:4px 0}.lookup-source+.lookup-source{border-top:1px solid var(--line);padding-top:18px}.reply-sources{gap:4px 14px;margin-top:8px;font-size:12px}.reply-sources .text-link{font-size:12px}.identity-answer{margin:0}.source-prose .source-paragraph{white-space:pre-wrap;display:inline}
.floating-assistant{z-index:40;left:max(24px,env(safe-area-inset-left));pointer-events:none;right:max(24px,env(safe-area-inset-right));bottom:calc(max(24px,env(safe-area-inset-bottom)) + var(--assistant-keyboard-offset,0px));flex-direction:column;align-items:flex-end;gap:12px;display:flex;position:fixed}.floating-assistant>*{pointer-events:auto}.ai-launcher{width:54px;height:54px;color:var(--ink);border-radius:50%;place-items:center;display:grid}.ai-launcher svg{width:24px;height:24px}.ai-launcher:hover{box-shadow:inset 0 0 16px var(--glass-shine),0 6px 24px #0003}.ai-launcher:active{transform:scale(.97)}.ai-launcher{transition:box-shadow .18s,transform .18s}.floating-chat{width:400px;max-width:100%;height:560px;max-height:calc(var(--assistant-viewport-height,100dvh) - 120px);--glass-tint:82%;border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.floating-chat-header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 12px 10px 18px;display:flex}.floating-chat-header h2{font:600 14px var(--font-body),Arial,sans-serif;align-items:center;gap:9px;display:flex}.floating-chat-header h2 svg{color:var(--accent);width:18px}.floating-chat-header>div{display:flex}.floating-chat-scroll{overscroll-behavior:contain;scrollbar-color:var(--line) transparent;overflow-anchor:none;flex:1;min-height:0;padding:20px;overflow:auto}.floating-chat .lookup-turn{margin-bottom:24px}.floating-chat .message-user .message-text{padding:10px 13px}.floating-chat .message-author{font-size:10px}.floating-chat-scroll:has(>.floating-chat-welcome){justify-content:center;align-items:center;display:flex}.floating-chat-welcome{text-align:center;padding:16px 0}.floating-chat-welcome h3{font:500 19px/1.4 var(--font-body),Arial,sans-serif;letter-spacing:-.4px;margin-bottom:8px}.floating-chat-welcome p{font-size:12px}.floating-composer{border:1px solid var(--line);background:var(--paper);border-radius:16px;flex-shrink:0;align-items:flex-end;gap:8px;margin:0 12px;padding:10px;display:flex}.floating-composer textarea{resize:none;color:var(--ink);background:0 0;border:0;flex:1;width:0;min-width:0;max-height:120px;font-size:16px;line-height:1.5}.floating-composer textarea::placeholder{color:var(--secondary)}.floating-composer .send-button{flex-shrink:0;min-width:44px;min-height:44px}.floating-chat-disclosure{color:var(--secondary);text-align:center;flex-shrink:0;padding:10px 8px;font-size:9px}.chat-return{text-underline-offset:4px;align-items:center;min-height:32px;text-decoration:underline;display:inline-flex}@media (max-width:600px){.floating-assistant{left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));bottom:calc(max(16px,env(safe-area-inset-bottom)) + var(--assistant-keyboard-offset,0px))}.floating-chat{width:400px;max-height:calc(var(--assistant-viewport-height,100dvh) - 108px);height:540px}.ai-launcher{width:50px;height:50px}.floating-chat-scroll{padding:16px}}.ai-launcher{--glass-tint:24%;box-shadow:inset 0 1px 2px #ffffff70,inset 0 -2px 3px #0002,0 8px 24px #00000028}.floating-chat{--glass-tint:52%;border-color:var(--glass-rim);box-shadow:inset 0 1px 1px #ffffff60,0 8px 18px #00000014,0 24px 56px #00000030}.floating-chat-header{background:color-mix(in srgb,var(--surface) 35%,transparent)}.floating-chat-scroll{background:color-mix(in srgb,var(--surface) 94%,transparent)}.floating-chat .message-text{font-size:13px;line-height:1.7}.floating-chat .lookup-source h3{font-size:13px}.floating-chat .reply-sources .text-link{font-size:12px}
.brand .header-name{vertical-align:top;white-space:pre;font:inherit;color:inherit;display:inline-grid;position:relative}.header-name-measure{visibility:hidden;grid-area:1/1}.header-name-visible{grid-area:1/1}.header-name-text{display:inline-block}.header-name-cursor{position:absolute;top:0;right:0}.header-name-cursor,.header-name-measure-cursor{display:none}@media (min-width:1024px){.header-name-cursor,.header-name-measure-cursor{display:inline}.header-name[data-playing=true] .header-name-cursor{animation:.65s steps(2,jump-none) infinite hero-cursor}.hero{min-height:calc(100svh - 96px)}}@media (min-width:1024px) and (max-width:1100px){.hero{min-height:calc(100svh - 80px)}}@keyframes hero-cursor{50%{opacity:0}}.hero .hero-scroll-cue{min-width:140px;min-height:80px;color:var(--secondary);font:500 10px/1.5 var(--font-body),Arial,sans-serif;letter-spacing:.12em;flex-direction:column;grid-column:1/-1;justify-content:center;justify-self:center;align-items:center;gap:7px;margin-top:4px;display:flex}@media (min-width:768px){.hero{row-gap:24px}}@media (max-width:767px){.hero .hero-scroll-cue{margin-top:-8px}}.scroll-capsule{border:1px solid var(--secondary);border-radius:12px;width:17px;height:27px;display:block;position:relative}.scroll-capsule>span{background:var(--accent);border-radius:3px;width:3px;height:4px;animation:2.2s ease-in-out infinite hero-scroll-dot;position:absolute;top:5px;left:6px}.hero-scroll-cue svg{color:var(--accent);opacity:.7;transition:opacity .2s}.hero-scroll-cue:hover svg{opacity:1}.hero-scroll-cue:hover .scroll-capsule>span{box-shadow:0 0 3px var(--accent)}@keyframes hero-scroll-dot{0%,15%{opacity:0;transform:translateY(0)}25%{opacity:1}80%,to{opacity:0;transform:translateY(11px)}}.hero-actions>a.hero-glass,.portfolio .ai-launcher{isolation:isolate;box-shadow:none;background:0 0;border-color:#0000;transition:none;position:relative;transform:none}.hero-actions>a.hero-glass{color:var(--ink);border-radius:9999px}.hero-actions>a.hero-glass:before,.portfolio .ai-launcher:before{content:"";z-index:-1;pointer-events:none;border-radius:inherit;background:var(--surface);border:1px solid var(--glass-rim);box-shadow:inset 0 1px 1px var(--glass-shine),inset 0 -1px 1px color-mix(in srgb,var(--ink) 12%,transparent),0 3px 6px #0000000c,0 10px 24px #00000020;transition:transform .24s cubic-bezier(.2,.7,.3,1),border-color .24s,box-shadow .24s;position:absolute;inset:-1px}.hero-actions>a.solid-button.hero-glass{background:0 0}.portfolio[data-theme=dark] .hero-actions>.solid-button.hero-glass,html[data-theme=dark] .portfolio:not([data-theme=light]) .hero-actions>.solid-button.hero-glass{color:var(--ink)}.hero-actions>.solid-button.hero-glass:before{background:var(--soft)}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.hero-actions>a.hero-glass:before,.portfolio .ai-launcher:before{background:radial-gradient(ellipse at var(--pointer-x,30%) var(--pointer-y,0%),var(--glass-shine),transparent 66%),color-mix(in srgb,var(--surface) 38%,transparent);-webkit-backdrop-filter:blur(12px)saturate(155%);backdrop-filter:blur(12px)saturate(155%)}.hero-actions>.solid-button.hero-glass:before{background:radial-gradient(ellipse at var(--pointer-x,30%) var(--pointer-y,0%),color-mix(in srgb,var(--surface) 35%,transparent),transparent 70%),color-mix(in srgb,var(--soft) 80%,transparent)}}.hero-actions>.solid-button.hero-glass:before{border-color:color-mix(in srgb,var(--ink) 28%,transparent);box-shadow:inset 0 1px 1px var(--glass-shine),0 4px 16px color-mix(in srgb,var(--line) 35%,transparent)}.portfolio .ai-launcher:before{background-color:color-mix(in srgb,var(--surface) 24%,transparent)}@media (hover:hover) and (pointer:fine){.hero-actions>a.hero-glass:hover:before,.portfolio .ai-launcher:hover:before{transform:translate(var(--glass-x,0px),var(--glass-y,-2px)) scale(1.02);border-color:var(--accent);box-shadow:inset 0 1px 2px var(--glass-shine),0 12px 26px #00000026}.portfolio .ai-launcher:hover:before{transform:translate(var(--glass-x,0px),var(--glass-y,-2px)) scale(1.04)}}.hero-actions>a.hero-glass:focus-visible:before,.portfolio .ai-launcher:focus-visible:before{border-color:var(--focus);box-shadow:inset 0 1px 2px var(--glass-shine),0 6px 20px #00000026}@media (prefers-reduced-motion:reduce){.header-name .header-name-cursor,.scroll-capsule>span{animation:none}.hero-actions>a.hero-glass:before,.portfolio .ai-launcher:before{transition:none;transform:none!important}}@media (prefers-reduced-transparency:reduce){.hero-actions>a.hero-glass:before,.portfolio .ai-launcher:before{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.hero-actions>.solid-button.hero-glass:before{background:var(--soft)}}@media (forced-colors:active){.hero-actions>a.hero-glass,.portfolio .ai-launcher{color:buttontext}.hero-actions>a.hero-glass:before,.portfolio .ai-launcher:before{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:canvas;border:1px solid buttontext;transform:none}.scroll-capsule>span{background:linktext}}

