@charset "UTF-8";:root{color-scheme:dark;--bg:#11191d;--surface:#192428;--surface-2:#1d2b2e;--text:#e8ece7;--muted:#a2b0b0;--quiet:#7d9292;--accent:#bdd8c7;--line:#304044;--font-sans:Inter,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",system-ui,sans-serif;--font-serif:"Noto Serif SC","Songti SC",SimSun,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:15px;line-height:1.85;-webkit-font-smoothing:antialiased}::selection{background:#bdd8c7;color:#11191d}a{color:inherit;text-decoration:none;text-underline-offset:5px}a:hover{color:var(--accent)}button,input,select{font:inherit}button{cursor:pointer}img{max-width:100%;height:auto}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:6px}button{color:var(--text)}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{line-height:1.4;letter-spacing:-.025em;font-weight:550}h1{font-size:clamp(32px,4vw,56px)}h2{font-size:clamp(25px,2.8vw,36px)}h3{font-size:20px}p{color:var(--muted)}strong,b{color:var(--text);font-weight:550}hr{border:0;border-top:1px solid var(--line);margin:48px 0}section[id]{scroll-margin-top:100px}main{min-height:60vh}main:focus{outline:none}svg{flex-shrink:0}.site-header{width:min(1320px,100%);height:96px;margin:auto;padding:0 54px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:20}.wordmark{font-size:25px;font-weight:650;letter-spacing:-2px}.wordmark-dot{color:var(--accent)}.wordmark-name{letter-spacing:.1em;font-size:11px;color:var(--muted);margin-left:18px;font-weight:400}.desktop-nav{display:flex;align-items:center;gap:30px;font-size:12px}.desktop-nav a{position:relative;padding:8px 0}.desktop-nav a[aria-current=page]{color:var(--accent)}.desktop-nav a[aria-current=page]:after{content:"";position:absolute;left:0;bottom:0;width:18px;height:1px;background:var(--accent)}.contact-link{margin-left:16px}.menu-toggle,.mobile-nav{display:none}.skip-link{position:fixed;top:-100px;left:20px;background:var(--accent);color:var(--bg);padding:10px 18px;z-index:200}.skip-link:focus{top:10px}.container,.page-wrap{width:min(1120px,calc(100% - 108px));margin-inline:auto}.page-header{padding:76px 0 60px;max-width:800px}.page-header h1{margin-bottom:24px}.page-header .lead{max-width:630px}.eyebrow,.section-label{color:var(--accent);font-size:10px;line-height:1.5;letter-spacing:.18em;text-transform:uppercase;margin-bottom:22px;font-weight:500}.lead{font-size:17px;line-height:1.9;color:var(--muted)}.text-link{display:inline-flex;gap:18px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px;transition:border-color .2s}.text-link:hover{border-color:var(--accent)}.button,.primary{display:inline-flex;align-items:center;justify-content:center;min-height:46px;gap:18px;padding:10px 20px;border:1px solid var(--line);background:transparent;border-radius:3px;color:var(--text);font-size:13px}.button:hover,.primary:hover{background:var(--surface);border-color:var(--accent)}.button-filled{background:var(--accent);color:var(--bg);border-color:var(--accent)}.button-filled:hover{background:#d0e5d8;color:var(--bg)}.actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.muted{color:var(--muted)}.note,.method-note{color:var(--quiet);font-size:12px;line-height:1.85}.prose{max-width:780px;margin:auto}.prose p,.prose li{color:var(--muted)}.prose a{color:var(--accent);text-decoration:underline}.prose h2{margin-top:65px}.prose h3{margin-top:38px}blockquote{margin:30px 0;padding:5px 0 5px 24px;border-left:2px solid var(--accent);color:var(--muted)}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th,td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}th{font-weight:500;color:var(--text);background:var(--surface)}td{color:var(--muted)}code{font-size:.85em;background:var(--surface);padding:2px 5px;border-radius:3px}.site-footer{border-top:1px solid var(--line);max-width:1212px;margin:96px auto 0;padding:36px 0 30px;display:grid;grid-template-columns:1fr auto;gap:10px 30px;font-size:12px;color:var(--muted)}.site-footer>a{font-size:14px;color:var(--text)}.site-footer>a span{font-size:9px;letter-spacing:.12em;margin-left:12px;color:var(--quiet)}.site-footer p{grid-column:1;margin:0}.site-footer>div{grid-column:2;grid-row:1/3;display:flex;align-items:center;gap:25px}.site-footer small{font-size:10px;color:var(--quiet);grid-column:1/-1;margin-top:20px}[data-full-src],img[data-gallery]{cursor:zoom-in}a [data-full-src]{cursor:pointer}.gallery-dialog{position:fixed;inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;background:#080e11f7;color:var(--text);overflow:hidden}.gallery-dialog::backdrop{background:#080e11}.gallery-shell{height:100%;display:grid;grid-template-rows:65px minmax(0,1fr) auto;gap:12px;padding:0 26px 20px}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}.gallery-toolbar>div{display:flex;align-items:center;gap:14px}.gallery-dialog button{min-width:44px;min-height:44px;border:1px solid var(--line);background:var(--surface);border-radius:50%;font-size:18px}.gallery-dialog button:hover{border-color:var(--accent)}.gallery-stage{min-height:0;display:flex;align-items:center;justify-content:center;position:relative}.gallery-image{display:block;width:auto;max-width:100%;height:auto;max-height:100%;object-fit:contain;cursor:zoom-out;margin:auto}.gallery-bottom{min-height:72px;text-align:center;font-size:12px}.gallery-caption{max-width:900px;margin:8px auto 0;color:var(--muted);line-height:1.6}.gallery-status{color:var(--accent);font-size:12px;min-height:23px}.gallery-bottom-controls{display:flex;justify-content:center;align-items:center;gap:20px}.gallery-hint{font-size:10px;color:var(--quiet)}@media(min-width:1500px){.site-header{max-width:1400px}.site-footer{max-width:1292px}}@media(max-width:1000px){.site-header{padding:0 32px}.container,.page-wrap{width:calc(100% - 64px)}.site-footer{margin-inline:32px}.desktop-nav{gap:22px}}@media(max-width:760px){body{font-size:14px;line-height:1.85}.site-header{height:76px;padding:0 23px}.wordmark-name{margin-left:13px}.desktop-nav{display:none}.menu-toggle{display:flex;align-items:center;gap:12px;background:transparent;border:0;padding:10px 0 10px 15px;font-size:12px;min-height:44px}.menu-toggle span{font-size:20px}.mobile-nav:not([hidden]){position:absolute;left:16px;right:16px;top:67px;display:flex;flex-direction:column;padding:16px 23px;background:#1b282c;border:1px solid var(--line);box-shadow:0 20px 40px #0004}.mobile-nav a{padding:11px 0;min-height:44px;font-size:14px}.container,.page-wrap{width:calc(100% - 46px)}.page-header{padding:43px 0 35px}.lead{font-size:15px}.site-footer{margin:64px 23px 0;padding:28px 0;display:block}.site-footer p{font-size:11px;margin-top:10px}.site-footer>div{margin:20px 0;gap:24px;flex-wrap:wrap}.site-footer small{display:block}.gallery-shell{padding:0 12px 12px;gap:5px;grid-template-rows:58px minmax(0,1fr) auto}.gallery-caption{font-size:11px;max-height:58px;overflow:auto}.gallery-hint{display:none}.gallery-toolbar{font-size:11px}.gallery-bottom{padding-bottom:env(safe-area-inset-bottom)}th,td{padding:10px 11px}h3{font-size:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{html,body{background:#fff!important;color:#151515!important}.site-header,.site-footer,.gallery-dialog,.skip-link{display:none!important}p,li,td{color:#333!important}a{color:inherit!important}main{min-height:0}.container,.page-wrap{width:100%}}html.light-page{color-scheme:light;--bg:#ffffff;--surface:#f4f4f4;--surface-2:#e9e9e9;--text:#242529;--muted:#595c63;--quiet:#6b6e74;--accent:#455ce9;--line:#d6d5d0;background:var(--bg)}.light-page .contact-link{margin-left:0}.light-page .mobile-nav:not([hidden]){background:var(--bg)}.light-page .button-filled:hover{background:#364bd0;color:#fff}.light-page .gallery-dialog{background:#fffffffa;color:var(--text)}.light-page .gallery-dialog::backdrop{background:var(--bg)}.light-page .case-page{--case-muted:var(--quiet);--case-line:var(--line);color:var(--muted)}html.light-page body .case-page :is(h1,h2,h3,strong,b,dd){color:var(--text)}html.light-page body .case-page :is(p,li,td){color:var(--muted)}html.light-page body .case-page :is(.case-kicker,.case-status,.eyebrow,.decision-label,.method-note,.technical-note,.media-kind,figcaption,dt){color:var(--quiet)}html.light-page body .case-page h1 span,html.light-page body .case-content h2 span{color:var(--muted)}html.light-page body .case-page a{color:var(--accent)}html.light-page body .case-page a:hover{color:#263eae}html.light-page body .case-page :is(a,summary,[tabindex]):focus-visible{outline-color:var(--accent)}html.light-page body .case-page :is(.flow-strip span,.insight>span,.pipeline>span,.experience-list>div>span,.stack-line,.evidence-type,.evidence-list summary,.technical-note summary){color:#455b65}html.light-page body .case-page :is(.case-sidebar a,.case-sidebar a span){color:var(--quiet)}html.light-page body .case-page .case-sidebar a:hover{color:var(--accent)}html.light-page body .case-page .results-table :is(th,td){color:var(--muted)}html.light-page body .case-page .results-table th{color:var(--text)}html.light-page body .case-page :is(figure a,figure img[data-full-src],.screens-gym figure>img,.food-grid figure>img[data-full-src],.evidence-list pre,.ai-project-image){background:var(--surface)}html.light-page body .case-page .evidence-list pre{color:var(--text)}html.light-page body .case-page .pipeline{background:var(--surface)}html.light-page body .case-page .insight{border-left-color:var(--accent)}html.light-page body .case-page .food-grid figcaption>b{color:var(--text)!important}.wordmark[data-astro-cid-37fxchfa]{font-size:20px;letter-spacing:-.035em;font-weight:400}.wordmark-name[data-astro-cid-37fxchfa]{font-size:13px;letter-spacing:0}.desktop-nav[data-astro-cid-37fxchfa]{gap:23px}.desktop-nav[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]{font-size:20px;transition:transform .4s cubic-bezier(.34,1.8,.4,1)}.desktop-nav[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]:hover{transform:translateY(-4px)}@media(max-width:760px){.wordmark[data-astro-cid-37fxchfa]{font-size:19px}.wordmark-name[data-astro-cid-37fxchfa]{font-size:11px}.menu-toggle[data-astro-cid-37fxchfa]{font-size:16px}.mobile-nav[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]{font-size:18px}}
