:root{color-scheme:light;--bg:#fff;--surface:#f5f5f7;--surface-2:#f9f9fb;--text:#111;--muted:#5f6368;--soft:#e5e5e5;--soft-2:#d8dde6;--blue:#0071e3;--blue-dark:#0059b5;--blue-soft:#edf5ff;--shadow:0 14px 40px rgba(18,32,56,.08);--shadow-soft:0 8px 24px rgba(18,32,56,.05);--radius:8px;--image-radius:24px;--container:1200px;--header-content-h:72px;--header-h:calc(var(--header-content-h) + env(safe-area-inset-top, 0px));font-family:PingFang SC,Microsoft YaHei,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;scroll-behavior:smooth}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body,html{background:var(--bg)}body{margin:0;color:var(--text);font-size:16px;line-height:1.65;overflow-x:hidden}body.modal-open{overflow:hidden}img,svg{display:block}svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}button{font:inherit}:focus-visible{outline:3px solid rgba(0,113,227,.3);outline-offset:3px}.skip-link{position:fixed;left:16px;top:12px;z-index:1000;transform:translateY(-140%);padding:10px 14px;border-radius:var(--radius);color:#fff;background:var(--blue);transition:transform .2s ease}.skip-link:focus{transform:translateY(0)}.preloader{display:none}.has-js .preloader{position:fixed;inset:0;z-index:900;display:grid;place-items:center;gap:16px;background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:opacity .45s ease,visibility .45s ease}.has-js .preloader.is-hidden{visibility:hidden;opacity:0}.has-js .preloader span,.route-loading span{width:112px;height:2px;overflow:hidden;border-radius:999px;background:var(--soft)}.has-js .preloader span:after,.route-loading span:after{display:block;width:42%;height:100%;border-radius:inherit;background:var(--blue);animation:load-line 1s ease-in-out infinite;content:""}@keyframes load-line{0%{transform:translate(-105%)}to{transform:translate(245%)}}.site-header{position:fixed;top:0;z-index:100;width:100%;min-height:var(--header-h);padding-top:env(safe-area-inset-top,0);border-bottom:0;background:#ffffff9e;backdrop-filter:saturate(180%) blur(26px);-webkit-backdrop-filter:saturate(180%) blur(26px);transition:box-shadow .25s ease,background .25s ease,backdrop-filter .25s ease}.site-header.is-scrolled{background:#ffffffb8;box-shadow:0 10px 32px #1018280e}.site-header.menu-open{background:#fff;box-shadow:none}.nav-shell{display:flex;justify-content:space-between;width:min(var(--container),calc(100% - 48px));height:var(--header-content-h);margin:0 auto}.brand,.nav-shell{align-items:center}.brand{position:relative;z-index:102;display:inline-flex;gap:10px;min-width:-moz-max-content;min-width:max-content;font-size:18px;font-weight:700;line-height:1}.brand img{width:36px;height:36px;border-radius:8px}.nav-menu{display:flex;align-items:center;gap:28px;font-size:14px;color:var(--muted)}.nav-menu>a{position:relative;padding:10px 0;transition:color .2s ease}.nav-menu>a:not(.nav-cta,.nav-account-login):after{position:absolute;right:0;bottom:6px;left:0;height:2px;border-radius:999px;background:var(--blue);transform:scaleX(0);transform-origin:center;transition:transform .2s ease;content:""}.nav-menu>a.is-active,.nav-menu>a:hover{color:var(--text)}.nav-menu>a:not(.nav-account-login).is-active:after,.nav-menu>a:not(.nav-account-login):hover:after{transform:scaleX(1)}.nav-menu .nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 18px;border-radius:999px;color:#fff;background:var(--blue);box-shadow:0 8px 22px #0071e32e}.nav-menu .nav-cta.is-active,.nav-menu .nav-cta:focus-visible,.nav-menu .nav-cta:hover{color:#fff;background:var(--blue-dark)}.nav-account{position:relative;display:inline-flex;align-items:center}.nav-account-mobile{display:none}.nav-menu .nav-account-login{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 16px;border:1px solid rgba(216,221,230,.9);border-radius:999px;color:var(--text);background:#ffffffb8;box-shadow:0 8px 22px #1220380b;font-weight:800}.nav-menu .nav-account-login.is-active,.nav-menu .nav-account-login:hover{border-color:#0071e33d;color:var(--blue);background:#edf5ffe6}.nav-avatar-button{display:inline-grid;width:42px;height:42px;padding:0;place-items:center;border:1px solid rgba(216,221,230,.78);border-radius:999px;background:#ffffffc2;box-shadow:0 8px 22px #1220380f;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.nav-avatar-button:hover,.nav-avatar-button[aria-expanded=true]{border-color:#0071e342;box-shadow:0 12px 28px #0071e31f;transform:translateY(-1px)}.nav-avatar{display:grid;width:32px;height:32px;place-items:center;border-radius:999px;color:#fff;background:linear-gradient(145deg,var(--blue),#0c91d8)}.nav-avatar svg{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.account-dropdown{position:absolute;top:calc(100% + 12px);right:0;z-index:140;display:grid;min-width:150px;padding:8px;border:1px solid rgba(216,221,230,.72);border-radius:18px;background:#fffffff0;box-shadow:0 20px 54px #12203824;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.account-dropdown a,.account-dropdown button{display:flex;align-items:center;min-height:40px;padding:0 12px;border:0;border-radius:12px;color:#4b5565;background:transparent;font:inherit;font-size:14px;font-weight:800;text-align:left;cursor:pointer}.nav-account .account-dropdown a:after{display:none;content:none}.account-dropdown a:hover,.account-dropdown button:hover{color:var(--blue);background:#0071e314}.menu-toggle{display:none}@media(max-width:980px){.site-header{background:#ffffffe0;box-shadow:0 8px 28px #1220380e;backdrop-filter:saturate(180%) blur(22px);-webkit-backdrop-filter:saturate(180%) blur(22px)}.site-header.menu-open{background:#fff}.nav-shell{width:min(var(--container),calc(100% - 28px))}.menu-toggle{position:relative;z-index:102;display:inline-flex;flex:0 0 42px;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:42px;height:42px;padding:0;border:1px solid rgba(18,32,56,.09);border-radius:13px;color:var(--text);background:#ffffffc7;box-shadow:0 8px 22px #12203812;cursor:pointer;transition:border-color .2s ease,color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease}.menu-toggle:focus-visible,.menu-toggle:hover,.menu-toggle[aria-expanded=true]{border-color:#0071e333;color:var(--blue);background:#edf5fff0;box-shadow:0 10px 26px #0071e31f}.menu-toggle:active{transform:scale(.96)}.menu-toggle span{display:block;width:18px;height:2px;border-radius:999px;background:currentColor;transform-origin:center;transition:width .2s ease,margin .2s ease,transform .22s ease}.menu-toggle span:last-child{width:13px;margin-left:5px}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{width:18px;margin-left:0;transform:translateY(-3.5px) rotate(-45deg)}.nav-menu{position:fixed;top:var(--header-h);right:0;bottom:0;left:0;z-index:99;display:grid;align-content:start;gap:6px;min-height:calc(100dvh - var(--header-h));padding:24px 24px max(32px,env(safe-area-inset-bottom,0px));border-bottom:0;background:#fff;box-shadow:none;overflow-y:auto;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px);transition:none}.nav-menu.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition:opacity .2s ease,transform .24s ease}.nav-menu>a{min-height:44px;padding:10px 0;font-size:17px}.nav-account-desktop{display:none}.nav-account-mobile{display:grid;gap:6px;width:100%;padding:4px 0}.nav-account-mobile a,.nav-account-mobile button{position:relative;display:flex;align-items:center;width:100%;min-height:44px;padding:10px 0;border:0;color:var(--muted);background:transparent;font:inherit;font-size:17px;text-align:left;cursor:pointer;transition:color .2s ease,transform .2s ease}.nav-account-mobile a.is-active,.nav-account-mobile a:hover,.nav-account-mobile button:hover{color:var(--text)}.nav-account-mobile a:active,.nav-account-mobile button:active{transform:translate(2px)}.nav-menu .nav-cta{margin-top:8px}}@media(max-width:680px){:root{--header-content-h:60px}.brand{gap:8px}.brand span{font-size:17px}.brand img{width:32px;height:32px}.menu-toggle{flex-basis:40px;width:40px;height:40px;border-radius:12px}}.section{position:relative;padding:120px 24px;scroll-margin-top:calc(var(--header-h) + 24px)}.contact-panel,.hero-content,.partner-wall,.section-head,.section-inner,.service-grid{width:min(var(--container),100%);margin-right:auto;margin-left:auto}.eyebrow{margin:0 0 12px;color:var(--blue);font-size:13px;font-weight:700;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{max-width:760px;margin-bottom:26px;font-size:clamp(42px,5.45vw,64px);line-height:1.15;letter-spacing:0}.hero-title{font-weight:740;text-wrap:balance}.hero-title span{display:block}.hero-title-accent{color:var(--blue);background:linear-gradient(92deg,#0059b5,#0071e3 42%,#111);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}h2{margin-bottom:16px;font-size:clamp(30px,4.2vw,48px);line-height:1.16}h2,h3{letter-spacing:0}h3{margin-bottom:12px;font-size:19px;line-height:1.35}.section-head{max-width:760px;margin-bottom:58px;text-align:center}.section-head.compact{width:auto;max-width:640px;margin:0;text-align:left}.contact-panel p,.hero-copy,.section-head p{color:var(--muted);font-size:18px}.hero{display:grid;min-height:min(740px,82vh);place-items:center;padding-top:calc(var(--header-h) + 56px);padding-bottom:52px;overflow:hidden;isolation:isolate}.hero:after{position:absolute;inset:auto 0 0;z-index:-1;height:36%;background:linear-gradient(180deg,#fff0,#fff);content:""}.hero-media{position:absolute;inset:0;z-index:-2;transform:translate3d(var(--parallax-x,0),var(--parallax-y,0),0);transition:transform .2s ease-out;pointer-events:none}.hero-media canvas,.hero-media img,.hero-media picture{position:absolute;inset:0;width:100%;height:100%}.hero-media picture{transition:opacity .6s ease}.hero-dynamic-ready .hero-media picture{opacity:0}.hero-media img{-o-object-fit:cover;object-fit:cover;-o-object-position:72% center;object-position:72% center;opacity:.72}.hero-media:after{position:absolute;inset:0;background:linear-gradient(90deg,#ffffffed,#ffffffc2 34%,#ffffff47 62%,#ffffff9e),radial-gradient(circle at 70% 28%,#ffffff1f,#ffffff9e 58%,#fff);content:""}.hero-media canvas{opacity:0;mix-blend-mode:normal;transition:opacity .6s ease}.hero-dynamic-ready .hero-media canvas{opacity:1}.hero-content{position:relative;z-index:1;max-width:var(--container);text-align:left}.hero-content .eyebrow{position:relative;display:inline-flex;align-items:center;gap:10px;margin-bottom:16px;color:var(--blue-dark);font-size:12px}.hero-content .eyebrow:before{width:30px;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--blue),rgba(0,113,227,.2));content:""}.hero-copy{max-width:720px;margin:0 0 34px}.hero-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:14px;margin-bottom:30px}.button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:144px;min-height:48px;overflow:hidden;border:1px solid transparent;border-radius:999px;font-weight:700;transition:transform .25s ease,box-shadow .25s ease,background .25s ease,border-color .25s ease}.button:hover{transform:translateY(-2px)}.button-primary{color:#fff;background:var(--blue);box-shadow:0 14px 30px #0071e338}.button-primary:hover{background:var(--blue-dark)}.spotlight:before{position:absolute;inset:-40%;background:radial-gradient(circle at var(--spot-x,50%) var(--spot-y,50%),hsla(0,0%,100%,.42),hsla(0,0%,100%,0) 34%);opacity:0;transition:opacity .25s ease;content:""}.spotlight:hover:before{opacity:1}.button-secondary{border-color:#d8dde6c7;color:var(--text);background:#ffffffc2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.button-secondary:hover{border-color:var(--blue);box-shadow:var(--shadow-soft)}.button-modal-secondary{min-width:128px;min-height:52px;border-color:#d8e0ec;color:#2f3a4d;background:#fff;box-shadow:none;font-size:16px;font-weight:800}.button-modal-secondary:hover{border-color:#0071e35c;color:var(--blue);background:#f7fbff;box-shadow:0 12px 26px #2943691a}.app-modal{position:fixed;inset:0;z-index:600;display:grid;place-items:center;padding:20px}.app-modal-backdrop{position:absolute;inset:0;border:0;background:#141b2b61;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer}.app-modal-card{position:relative;z-index:1;width:min(var(--app-modal-width,680px),100%);max-height:calc(100vh - 40px);overflow:auto;padding:clamp(24px,3vw,34px);border-radius:24px;background:#fff;box-shadow:0 26px 80px #1220383d;transform-origin:center}.app-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:26px}.app-modal-title{margin:0;color:#1f2636;font-size:clamp(22px,2vw,28px);line-height:1.25;letter-spacing:0}.app-modal-close{display:grid;flex:0 0 auto;width:44px;height:44px;place-items:center;border:0;border-radius:14px;color:#586274;background:#f2f4f8;cursor:pointer;transition:color .2s ease,background .2s ease,transform .2s ease}.app-modal-close:hover{color:#1f2636;background:#eaf0f8;transform:translateY(-1px)}.app-modal-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4}.app-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:28px}.app-modal-footer .button{min-width:128px;min-height:52px;padding:0 28px;font-size:16px;font-weight:800}.app-modal-footer .button:disabled{cursor:not-allowed;opacity:.62;transform:none}.app-modal-fade-enter-active,.app-modal-fade-leave-active{transition:opacity .18s ease}.app-modal-fade-enter-active .app-modal-card,.app-modal-fade-leave-active .app-modal-card{transition:transform .18s ease,opacity .18s ease}.app-modal-fade-enter-from,.app-modal-fade-leave-to{opacity:0}.app-modal-fade-enter-from .app-modal-card,.app-modal-fade-leave-to .app-modal-card{opacity:0;transform:translateY(8px) scale(.98)}@media(max-width:700px){.app-modal{align-items:end;padding:12px}.app-modal-card{width:100%;max-height:calc(100vh - 24px);border-radius:22px}.app-modal-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.app-modal-footer .button{min-width:0;width:100%}}.hero-tags,.tags{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none}.hero-tags{justify-content:flex-start}.hero-tags li,.tags li{display:inline-flex;align-items:center;min-height:28px;padding:4px 12px;border:1px solid rgba(216,221,230,.74);border-radius:999px;color:#48505a;background:#ffffffb8;font-size:13px;white-space:nowrap}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.contact-panel,.project-card,.service-card{border:1px solid hsla(0,0%,89.8%,.9);border-radius:var(--radius);background:#ffffffe6;box-shadow:var(--shadow-soft)}.service-card{min-height:300px;padding:28px;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.service-card:hover{border-color:color-mix(in srgb,var(--accent),#fff 62%);box-shadow:0 18px 44px #12203817;transform:translateY(-5px)}.card-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:24px;border:1px solid color-mix(in srgb,var(--accent),#fff 74%);border-radius:var(--radius);color:var(--accent);background:color-mix(in srgb,var(--accent),#fff 92%);font-weight:800;font-size:14px}.project-card dd,.service-card p{color:var(--muted)}.service-card p{margin-bottom:24px}.projects{background:linear-gradient(180deg,var(--surface-2),#fff);border-top:1px solid hsla(0,0%,89.8%,.7);border-bottom:1px solid hsla(0,0%,89.8%,.7)}.project-head{display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:32px;margin-bottom:42px}.tabs{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid rgba(216,221,230,.7);border-radius:999px;background:#eef0f4b8}.tab{min-width:86px;min-height:38px;height:38px;border:0;border-radius:999px;color:var(--muted);background:transparent;cursor:pointer;transition:color .22s ease,background .22s ease,box-shadow .22s ease}.tab.is-active{color:var(--text);background:#fff;box-shadow:0 3px 12px #12203814}.project-tabs{flex:0 1 auto;align-items:center;align-content:center;flex-wrap:wrap;justify-content:flex-end;width:-moz-fit-content;width:fit-content;max-width:560px;gap:6px;border-radius:24px}.project-tabs .tab{flex:0 0 auto;gap:8px;min-width:0;height:40px;padding:0 14px;white-space:nowrap}.project-tabs .tab,.project-tabs .tab small{display:inline-flex;align-items:center;justify-content:center}.project-tabs .tab small{min-width:22px;height:22px;padding:0 7px;border-radius:999px;color:var(--muted);background:#1111110f;font-size:12px;font-weight:800}.project-tabs .tab.is-active small{color:var(--blue);background:#0071e31a}.project-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.project-panel.is-active{animation:panel-in .34s ease both}@keyframes panel-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.project-card{min-height:330px;padding:24px;transform-style:preserve-3d;transition:transform .18s ease,box-shadow .28s ease,border-color .28s ease}.project-card:hover{border-color:#0071e347;box-shadow:var(--shadow)}.project-card.completed{background:#ffffffb8;border-style:dashed}.card-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.card-top p{margin:0;color:var(--muted);font-size:13px}.card-top span{display:inline-flex;align-items:center;min-height:26px;padding:4px 10px;border-radius:999px;color:var(--blue-dark);background:var(--blue-soft);font-size:12px;font-weight:700;white-space:nowrap}.completed .card-top span{color:#5f6368;background:#eef0f3}.project-card dl{display:grid;gap:14px;margin:22px 0 24px;padding-top:20px;border-top:1px solid hsla(0,0%,89.8%,.84)}.project-card dt{margin-bottom:2px;color:var(--text);font-size:13px;font-weight:700}.project-card dd{margin:0;font-size:14px;line-height:1.6}.cases{background:radial-gradient(circle at 76% 18%,#0071e314,#0071e300 34%),linear-gradient(180deg,#fff,var(--surface-2))}.case-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:42px}.case-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border:1px solid rgba(216,221,230,.86);border-radius:999px;color:var(--muted);background:#ffffffc7;font-size:14px;font-weight:700;white-space:nowrap;transition:color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease}.case-link:hover{border-color:#0071e357;color:var(--blue);box-shadow:var(--shadow-soft);transform:translateY(-2px)}.case-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.case-card{position:relative;display:flex;flex-direction:column;min-height:360px;padding:26px;overflow:hidden;border:1px solid hsla(0,0%,89.8%,.9);border-radius:var(--radius);background:#ffffffe0;box-shadow:var(--shadow-soft);transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}.case-card:first-child,.case-card:nth-child(2){grid-column:span 3}.case-card:nth-child(n+3){grid-column:span 2}.case-card:before{position:absolute;top:0;right:0;left:0;height:3px;background:linear-gradient(90deg,#0071e329,#0071e3b8,#10a39b2e);content:""}.case-card:hover{border-color:#0071e352;box-shadow:var(--shadow);transform:translateY(-4px)}.case-scene{margin-bottom:16px;color:var(--blue);font-size:13px;font-weight:800}.case-outcome{display:grid;gap:8px;padding:16px 0;margin:auto 0 18px;border-top:1px solid hsla(0,0%,89.8%,.82)}.case-outcome span{color:var(--muted);font-size:12px;font-weight:800}.case-outcome strong{color:#27313d;font-size:14px;line-height:1.65}.partners{overflow:hidden}.partner-wall{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;padding:0;list-style:none}.partner-wall:before{position:absolute;top:-12px;bottom:-12px;left:-30%;width:26%;background:linear-gradient(100deg,#fff0,#0071e314,#fff0);animation:scan 7.5s ease-in-out infinite;content:"";pointer-events:none}@keyframes scan{0%,28%{transform:translate(0);opacity:0}48%{opacity:1}70%,to{transform:translate(600%);opacity:0}}.partner-wall li{display:flex;align-items:center;justify-content:center;gap:12px;min-height:92px;border:1px solid hsla(0,0%,89.8%,.86);border-radius:var(--radius);color:#42464d;background:#fff;font-size:18px;font-weight:700;transition:opacity .25s ease,transform .25s ease,border-color .25s ease,color .25s ease}.partner-wall span{display:inline-grid;width:34px;height:34px;place-items:center;border-radius:8px;color:var(--blue);background:var(--blue-soft);font-size:15px}.partner-wall:hover li{opacity:.42}.partner-wall li:hover{z-index:1;border-color:#0071e352;color:var(--text);opacity:1;transform:translateY(-3px)}.contact{padding-bottom:96px}.contact-panel{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:48px;align-items:center;padding:clamp(28px,5vw,56px);background:linear-gradient(135deg,#fffffff0,#f9f9fbdb),radial-gradient(circle at 92% 18%,#0071e314,#0071e300 34%)}.contact-actions{gap:12px}.contact-button{align-items:center;gap:12px;min-height:64px;padding:12px 14px;border:1px solid rgba(216,221,230,.86);border-radius:var(--radius);background:#ffffffe0;cursor:pointer;transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}.contact-button:hover{border-color:#0071e357;box-shadow:var(--shadow-soft);transform:translateY(-2px)}.contact-button span{display:inline-grid;flex:0 0 auto;width:34px;height:34px;place-items:center;border-radius:999px;background:var(--blue-soft);font-weight:700}.contact-button strong{overflow-wrap:anywhere;font-size:14px}.site-footer{padding:56px 24px 42px;color:var(--muted);background:radial-gradient(circle at 12% 8%,#0071e314,#0071e300 34%),linear-gradient(180deg,#f7f9fc,#f2f5f9);font-size:13px}.site-footer p{margin:0}.footer-shell{width:min(var(--container),100%);margin:0 auto}.footer-main{display:grid;grid-template-columns:minmax(280px,1fr) minmax(420px,.9fr);gap:clamp(36px,7vw,96px);align-items:start;padding:36px;border-radius:32px;background:#ffffffb8;box-shadow:0 24px 70px #12203814}.footer-brand-block{display:grid;max-width:480px;gap:18px}.footer-brand,.security-link{display:inline-flex;align-items:center;gap:10px}.footer-brand{width:-moz-fit-content;width:fit-content;color:var(--text);font-size:16px;font-weight:800}.footer-brand img{width:34px;height:34px;border-radius:8px}.footer-brand-block p{color:#59616f;font-size:15px;line-height:1.8}.footer-nav{display:grid;grid-template-columns:minmax(120px,.62fr) minmax(190px,1fr);gap:34px;justify-content:end}.footer-group{display:grid;gap:12px}.footer-group strong{margin-bottom:2px;color:var(--text);font-size:14px}.footer-group a{width:-moz-fit-content;width:fit-content;color:#697180;line-height:1.4;transition:color .2s ease,transform .2s ease}.footer-group a:hover{color:var(--blue);transform:translate(2px)}.footer-bottom{justify-content:space-between;gap:18px;padding:22px 8px 0;color:#747b88}.footer-bottom,.footer-legal{display:flex;align-items:center}.footer-legal{flex-wrap:wrap;justify-content:flex-end;gap:14px 18px}.security-link{transition:color .2s ease}.security-link:hover{color:var(--blue)}.security-link svg{width:16px;height:16px}.toast{--toast-accent:#14825f;--toast-soft:rgba(20,130,95,.12);--toast-heading:#155c47;position:fixed;z-index:9999;top:max(20px,env(safe-area-inset-top));left:50%;display:grid;grid-template-columns:38px minmax(0,1fr) 30px;align-items:center;gap:12px;width:-moz-max-content;width:max-content;min-width:320px;max-width:min(540px,calc(100% - 48px));min-height:62px;padding:10px 10px 10px 12px;border:0;border-radius:16px;color:#485365;background:#ffffffe0;box-shadow:0 22px 60px #1220382e,inset 0 0 0 1px #ffffffb8,inset 0 0 0 2px color-mix(in srgb,var(--toast-accent),transparent 92%);backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2);opacity:0;transform:translate(-50%,-12px) scale(.98);transition:opacity .22s ease,transform .22s ease;pointer-events:none}.toast-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;color:var(--toast-accent);background:var(--toast-soft)}.toast-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.toast-copy{display:grid;min-width:0;gap:2px;line-height:1.35}.toast-copy strong{color:var(--toast-heading);font-size:13px;font-weight:800}.toast-copy>span{overflow-wrap:anywhere;color:#596476;font-size:13px;font-weight:600}.toast-close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:0;border-radius:9px;color:#8a93a1;background:transparent;cursor:pointer;transition:color .18s ease,background .18s ease}.toast-close:hover{color:#3f4857;background:#4c586b14}.toast-close svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.toast.is-success{--toast-accent:#14825f;--toast-soft:rgba(20,130,95,.12);--toast-heading:#155c47}.toast.is-warning{--toast-accent:#bb7205;--toast-soft:rgba(187,114,5,.13);--toast-heading:#7a4a04}.toast.is-error{--toast-accent:#c74652;--toast-soft:rgba(199,70,82,.12);--toast-heading:#8c2d36}.toast.is-visible{opacity:1;transform:translate(-50%) scale(1);pointer-events:auto}.modal{position:fixed;inset:0;z-index:110;display:grid;place-items:center;padding:24px}.modal-backdrop{position:absolute;inset:0;border:0;background:#11111157;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer}.modal-card{position:relative;z-index:1;width:min(420px,100%);padding:28px;border:1px solid hsla(0,0%,89.8%,.95);border-radius:var(--radius);background:#fff;box-shadow:0 24px 80px #0003;transform-origin:center;animation:modal-in .22s ease both}@keyframes modal-in{0%{opacity:0;transform:scale(.97) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-close{position:absolute;top:12px;right:12px;display:inline-grid;width:36px;height:36px;place-items:center;border:1px solid hsla(0,0%,89.8%,.9);border-radius:999px;background:#fff;cursor:pointer}.qr-placeholder{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;width:180px;height:180px;padding:16px;margin-top:24px;border:1px solid var(--soft);border-radius:var(--radius);background:#fff}.qr-placeholder span{border-radius:3px;background:#111}.qr-placeholder span:nth-child(13),.qr-placeholder span:nth-child(19),.qr-placeholder span:nth-child(23),.qr-placeholder span:nth-child(2n),.qr-placeholder span:nth-child(7){background:#dfe7f2}.reveal{opacity:1;transform:none}.has-js .reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.has-js .reveal.is-visible{opacity:1;transform:translateY(0)}@media(max-width:980px){.case-grid,.contact-panel,.partner-wall,.project-panel,.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-card:nth-child(n){grid-column:auto}.case-head,.project-head{align-items:flex-start;flex-direction:column}.contact-panel{gap:32px}}@media(max-width:680px){body{font-size:15px}.section{padding:84px 20px}.hero{min-height:auto;padding-top:calc(var(--header-h) + 42px);padding-bottom:46px}h1{font-size:clamp(33px,8.8vw,42px);line-height:1.16}h2{font-size:30px}.hero-content,.hero-tags,.section-head,.section-head.compact{text-align:left}.hero-actions,.hero-tags{justify-content:flex-start}.button{width:100%}.case-grid,.contact-actions,.contact-panel,.partner-wall,.project-panel,.service-grid{grid-template-columns:1fr}.case-card,.project-card,.service-card{min-height:auto}.case-link,.tabs{width:100%}.tab{flex:1}.project-tabs .tab{flex:0 1 auto}.partner-wall{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-wall li{min-height:78px;font-size:16px}.contact-panel{padding:24px}.email-link{grid-column:auto}.toast{top:max(12px,env(safe-area-inset-top));width:calc(100% - 32px);min-width:0;max-width:420px}}.service-composition{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(520px,1.18fr);gap:54px 78px;align-items:start}.service-intro{position:sticky;top:calc(var(--header-h) + 44px);grid-column:1;padding-top:12px}.service-intro h2{max-width:560px}.service-intro p{color:var(--muted);font-size:18px}.service-proof{display:grid;gap:14px;margin-top:34px}.service-proof span{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid hsla(0,0%,89.8%,.9);color:#626974;font-size:14px}.service-proof strong{color:var(--text);font-size:22px;font-weight:760}.service-visual{grid-column:1;grid-row:2}.visual-panel{position:relative;min-height:350px;overflow:hidden;border:1px solid hsla(0,0%,89.8%,.9);border-radius:var(--radius);background:linear-gradient(135deg,#ffffffeb,#f5f8fceb),linear-gradient(160deg,#0071e314,#10a39b0d);box-shadow:0 20px 58px #1c2b3f14}.visual-panel:before{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,113,227,.08) 1px,transparent 0),linear-gradient(180deg,rgba(0,113,227,.07) 1px,transparent 0);background-size:52px 52px;-webkit-mask-image:linear-gradient(120deg,transparent,#000 28%,#000 74%,transparent);mask-image:linear-gradient(120deg,transparent,#000 28%,#000 74%,transparent);content:""}.visual-toolbar{position:relative;z-index:1;display:flex;gap:7px;padding:18px 20px}.visual-toolbar span{width:8px;height:8px;border-radius:999px;background:#b9c3cf}.quality-meter{position:relative;z-index:1;width:min(78%,360px);margin:18px auto 0;padding:22px;border:1px solid rgba(216,221,230,.82);border-radius:var(--radius);background:#ffffffc2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.quality-meter span,.quality-meter strong{display:block}.quality-meter strong{margin-bottom:8px;font-size:22px}.quality-meter span{color:var(--muted);font-size:13px}.flow-lanes{position:relative;z-index:1;display:grid;gap:14px;width:min(72%,330px);margin:30px auto 0}.flow-lanes i{height:8px;overflow:hidden;border-radius:999px;background:#d8dde6b3}.flow-lanes i:after{display:block;width:52%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),#10a39b);animation:lane-flow 4.8s ease-in-out infinite;content:""}.flow-lanes i:nth-child(2):after{width:72%;animation-delay:.35s}.flow-lanes i:nth-child(3):after{width:40%;animation-delay:.7s}@keyframes lane-flow{0%,to{transform:translate(-6%)}50%{transform:translate(92%)}}.signal-map{position:absolute;right:26px;bottom:24px;left:26px;z-index:1;display:grid;grid-template-columns:repeat(10,1fr);gap:8px}.signal-map span{height:28px;border:1px solid rgba(216,221,230,.68);border-radius:6px;background:#ffffff8a}.signal-map span:nth-child(3n){background:#0071e31f}.signal-map span:nth-child(5n){background:#10a39b21}.service-list{grid-column:2;grid-row:1/span 2;border-top:1px solid hsla(0,0%,89.8%,.92)}.service-row{display:grid;grid-template-columns:56px minmax(0,1fr);gap:24px;padding:30px 0;border-bottom:1px solid hsla(0,0%,89.8%,.92);transition:background .24s ease,transform .24s ease}.service-row:hover{background:linear-gradient(90deg,color-mix(in srgb,var(--accent),#fff 94%),transparent 74%);transform:translate(6px)}.service-index{color:color-mix(in srgb,var(--accent),#111 18%);font-size:13px;font-weight:800}.service-row h3{margin-bottom:8px;font-size:22px}.service-row p{max-width:720px;margin-bottom:16px;color:var(--muted)}.projects{background:#f5f5f7}.project-layout{display:grid;grid-template-columns:minmax(360px,.92fr) minmax(520px,1.08fr);gap:76px;align-items:center}.project-screen{position:relative;min-height:520px;overflow:hidden;border:1px solid rgba(17,17,17,.08);border-radius:var(--radius);color:#fff;background:linear-gradient(145deg,#111,#2d3137 58%,#f5f5f7 58.2%,#f5f5f7);box-shadow:0 24px 70px #14181d29}.project-screen:after{position:absolute;right:0;bottom:0;width:74%;height:42%;background:linear-gradient(90deg,rgba(0,113,227,.12) 1px,transparent 0),linear-gradient(180deg,rgba(0,113,227,.12) 1px,transparent 0);background-size:32px 32px;content:""}.project-screen-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:28px;color:#ffffffc7;font-size:13px}.project-screen-top strong{color:#fff}.project-chart{position:relative;z-index:1;display:flex;align-items:end;gap:18px;height:220px;padding:20px 34px 0}.project-chart span{flex:1;border-radius:8px 8px 0 0;background:linear-gradient(180deg,#fffffff5,#0071e3b8);opacity:.94}.project-chart span:first-child{height:42%}.project-chart span:nth-child(2){height:74%}.project-chart span:nth-child(3){height:58%}.project-chart span:nth-child(4){height:86%}.project-flow{position:absolute;right:28px;bottom:28px;left:28px;z-index:1;display:grid;gap:10px}.project-flow i{display:flex;align-items:center;min-height:46px;padding:0 16px;border:1px solid rgba(216,221,230,.72);border-radius:var(--radius);color:#353a42;background:#ffffffe0;font-style:normal;font-weight:700}.project-content .project-head{align-items:flex-start;flex-direction:column;gap:26px;margin-bottom:28px}.project-timeline{display:grid;border-top:1px solid rgba(216,221,230,.9);animation:panel-in .34s ease both}.project-row{display:grid;grid-template-columns:48px minmax(0,1fr);gap:22px;padding:28px 0;border-bottom:1px solid rgba(216,221,230,.9);transform-style:preserve-3d;transition:transform .22s ease,background .22s ease}.project-row:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.76),transparent 78%);transform:translate(5px)}.project-step{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid rgba(0,113,227,.18);border-radius:999px;color:var(--blue);background:#fff;font-size:12px;font-weight:800}.project-row dl{display:grid;grid-template-columns:minmax(120px,.38fr) minmax(0,1fr);gap:18px;margin:16px 0 18px}.project-row dt{margin-bottom:2px;color:var(--text);font-size:13px;font-weight:700}.project-row dd{margin:0;color:var(--muted);font-size:14px}.cases{background:#fff}.case-showcase{display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:70px;align-items:center;padding:22px 0 74px;border-bottom:1px solid hsla(0,0%,89.8%,.9)}.case-story h3{margin-bottom:18px;font-size:clamp(28px,3.2vw,42px);line-height:1.16}.case-story>p:not(.eyebrow,.case-scene){color:var(--muted);font-size:18px}.case-art{position:relative;min-height:430px;overflow:hidden;border-radius:var(--radius);background:linear-gradient(120deg,#1111110a,#0071e314),linear-gradient(180deg,#f9f9fb,#fff)}.case-art:before{position:absolute;inset:42px;border:1px solid rgba(216,221,230,.82);border-radius:var(--radius);background:linear-gradient(90deg,rgba(0,113,227,.08) 1px,transparent 0),linear-gradient(180deg,rgba(0,113,227,.08) 1px,transparent 0);background-size:44px 44px;content:""}.case-art-card{position:absolute;z-index:1;width:min(310px,66%);padding:20px;border:1px solid rgba(216,221,230,.9);border-radius:var(--radius);background:#ffffffe6;box-shadow:var(--shadow-soft)}.case-art-card.primary{top:72px;left:56px}.case-art-card.secondary{right:54px;bottom:78px}.case-art-card span,.case-art-card strong{display:block}.case-art-card span{margin-bottom:8px;color:var(--blue);font-size:12px;font-weight:800}.case-art-card strong{margin-bottom:18px;font-size:22px}.case-art-card i{display:block;height:8px;border-radius:999px;background:linear-gradient(90deg,var(--blue),rgba(16,163,155,.72))}.case-orbit{position:absolute;inset:0;z-index:0}.case-orbit span{position:absolute;width:72px;height:72px;border:1px solid rgba(0,113,227,.18);border-radius:var(--radius);background:#ffffff6b}.case-orbit span:first-child{top:48px;right:80px}.case-orbit span:nth-child(2){bottom:60px;left:86px}.case-orbit span:nth-child(3){top:48%;left:44%;width:42px;height:42px}.case-link{margin-top:22px}.case-rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;padding-top:34px}.case-card{min-height:auto;padding:30px 0;border:0;border-bottom:1px solid hsla(0,0%,89.8%,.88);border-radius:0;background:transparent;box-shadow:none}.case-card:before{content:none}.case-card:hover{border-color:#0071e33d;box-shadow:none;transform:translateY(-2px)}.case-card h3{font-size:22px}.case-card>p:not(.case-scene){color:var(--muted)}.case-outcome{padding:14px 0 0;margin:16px 0 18px;border-top:1px solid hsla(0,0%,89.8%,.88)}.partners{background:linear-gradient(180deg,#f9f9fb,#fff)}.partner-stage{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:74px;align-items:center}.partner-copy p{color:var(--muted);font-size:18px}.partner-stage .partner-wall{width:auto;margin:0}.partner-wall{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid rgba(216,221,230,.9);border-left:1px solid rgba(216,221,230,.9)}.partner-wall:before{content:none}.partner-wall li{justify-content:flex-start;min-height:104px;padding:20px;border:0;border-right:1px solid rgba(216,221,230,.9);border-bottom:1px solid rgba(216,221,230,.9);border-radius:0;background:#ffffff94}.partner-wall span{border-radius:var(--radius)}.contact{padding-bottom:104px;color:var(--text);background:radial-gradient(circle at 82% 18%,#0071e31a,#0071e300 36%),linear-gradient(180deg,#f7f9fc,#fff 58%,#f3f7ff)}.contact-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(480px,520px);gap:72px;align-items:center}.contact-copy h2{max-width:720px;color:var(--text)}.contact-copy p{max-width:720px;color:var(--muted);font-size:18px}.handoff-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:42px;border-top:0}.handoff-steps span{padding:18px;border:0;border-radius:18px;color:var(--text);background:#ffffffc7;box-shadow:0 18px 44px #12203814;font-weight:700}.contact .contact-panel{display:block;width:min(520px,100%);margin:0;padding:0;border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;justify-self:end}.contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:min(520px,100%)}.contact-button{position:relative;display:flex;align-items:flex-start;flex-direction:column;justify-content:space-between;gap:20px;width:100%;min-height:148px;padding:22px;border:0;border-radius:24px;color:var(--text);background:#ffffffd1;text-decoration:none;box-shadow:0 16px 38px #12203814}.contact-button:hover{box-shadow:0 22px 54px #1220381f;background:#fff}.contact-button:focus-visible{outline:3px solid rgba(0,113,227,.24);outline-offset:4px}.contact-button span{color:var(--blue);background:#0071e31a}.contact-button .contact-icon{display:inline-grid;flex:0 0 auto;width:58px;height:58px;place-items:center;border-radius:14px;background:transparent;box-shadow:none}.contact-button .contact-icon img{width:42px;height:42px;border-radius:10px;-o-object-fit:contain;object-fit:contain}.contact-button strong{color:inherit;font-size:17px;line-height:1.35}.wechat-link{z-index:3}.contact-button .wechat-qr-preview{position:absolute;top:auto;right:auto;bottom:calc(100% + 16px);left:50%;display:grid;width:180px;height:auto;padding:12px;place-items:center;border-radius:28px;background:#fffffff5;box-shadow:0 28px 70px #1220382e;opacity:0;pointer-events:none;transform:translate(-50%,10px) scale(.96);transition:opacity .22s ease,transform .22s ease}.contact-button .wechat-qr-preview img{width:156px;height:156px;border-radius:20px;-o-object-fit:cover;object-fit:cover}.wechat-link:focus-visible .wechat-qr-preview,.wechat-link:hover .wechat-qr-preview{opacity:1;transform:translate(-50%) scale(1)}.email-link{grid-column:1/-1;align-items:center;flex-direction:row;justify-content:flex-start;min-height:92px;padding:18px 22px}.feature-image{position:relative;display:block;overflow:hidden;border-radius:var(--image-radius);background:#f5f7fb;box-shadow:0 28px 80px #1220381a}.feature-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.service-composition{grid-template-columns:repeat(12,minmax(0,1fr));gap:36px;align-items:stretch}.service-intro{position:relative;top:auto;grid-column:1/span 5;grid-row:1;align-self:center}.service-visual{grid-column:6/-1;grid-row:1}.service-image{height:520px}.service-proof{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.service-proof span{display:grid;gap:4px;justify-content:start;padding:16px;border:0;border-radius:var(--radius);background:#f5f5f7db}.service-proof strong{font-size:18px}.service-list{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;border:0}.service-row{grid-template-columns:1fr;gap:16px;min-height:260px;padding:24px;border:0;border-radius:var(--radius);background:linear-gradient(145deg,color-mix(in srgb,var(--accent),#fff 94%),#fffffff5),#fff;box-shadow:var(--shadow-soft)}.service-row:hover{background:linear-gradient(145deg,color-mix(in srgb,var(--accent),#fff 90%),#fff),#fff;box-shadow:var(--shadow);transform:translateY(-4px)}.project-layout{grid-template-columns:minmax(390px,.95fr) minmax(520px,1.05fr);align-items:flex-start}.project-visual{position:sticky;top:calc(var(--header-h) + 44px)}.project-image{height:min(560px,calc(100vh - 150px));background:#111}.project-image img{-o-object-position:center;object-position:center}.project-timeline{gap:14px;border:0}.project-empty{padding:28px;margin:0;border-radius:var(--radius);color:var(--muted)}.project-empty,.project-row{background:#ffffffad}.project-row{grid-template-columns:44px minmax(0,1fr);padding:22px;border:0;border-radius:var(--radius);box-shadow:0 10px 30px #1220380b}.project-row:hover{background:#fff;box-shadow:var(--shadow-soft);transform:translateY(-3px)}.projects-page{min-height:calc(100vh - var(--header-h));padding-top:calc(var(--header-h) + 28px);padding-bottom:48px;background:radial-gradient(circle at 82% 4%,#0071e317,#0071e300 30%),linear-gradient(180deg,#f6f8fc,#fff 48%,#f5f8ff)}.project-page-shell{width:min(1160px,100%);margin:0 auto}.projects-page .project-content{width:100%}.projects-page .section-head{width:auto;margin:0}.projects-page .project-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;padding:22px 26px;margin-bottom:12px;border:1px solid rgba(220,227,238,.88);border-radius:22px;background:#ffffffc2;box-shadow:0 12px 32px #1220380b}.projects-page .project-head h1{max-width:520px;margin:0 0 5px;font-size:clamp(28px,3vw,38px);line-height:1.18}.projects-page .project-head p:not(.eyebrow){max-width:640px;margin:0;color:var(--muted);font-size:14px;line-height:1.6}.projects-page .project-tabs{width:auto;max-width:100%;padding:4px;border:0;border-radius:14px;background:#f1f5fb;box-shadow:inset 0 0 0 1px #d8dfeacc}.projects-page .project-tabs .tab{min-height:38px;padding:0 13px;border-radius:10px;font-size:13px}.projects-page .project-tabs .tab small{min-width:20px;height:20px;font-size:11px}.project-signing-status{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px 18px;margin-bottom:18px;border-radius:18px;color:#6c4a0b;background:#fff8e6db;box-shadow:0 14px 36px #58411712}.project-signing-status.is-loading{color:#315b91;background:#edf5ffe0}.project-signing-status.is-verified{color:#0d645d;background:#e8f8f4e6}.project-signing-status.has-error{color:#9a3e37;background:#fff0efe6}.project-signing-status-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;background:#ffffffc2}.project-signing-status-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}.project-signing-status>div{display:grid;gap:2px;min-width:0}.project-signing-status>div>span{opacity:.76;font-size:11px;font-weight:800}.project-signing-status strong{color:currentColor;font-size:15px}.project-signing-status p{margin:2px 0 0;color:#687487;font-size:12px;line-height:1.55}.project-signing-status button{min-height:40px;padding:0 15px;border:0;border-radius:12px;color:#fff;background:#1d6fd8;font:inherit;font-size:13px;font-weight:800;cursor:pointer;box-shadow:0 9px 22px #1d6fd82e}.project-signing-status-approved{color:#0d746a;font-size:12px;font-weight:800}.project-tools{z-index:5;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:10px 12px;margin-bottom:12px;border:1px solid rgba(220,227,238,.9);border-radius:18px;background:#ffffffc7;box-shadow:0 8px 22px #1220380a}.project-search,.project-tools{position:relative;align-items:center}.project-search{display:flex;gap:10px;min-width:0;padding:0 13px;border-radius:12px;background:#f5f7fb;box-shadow:inset 0 0 0 1px #d8dde6b8}.project-count,.project-search span{color:#5f6673;font-size:13px;font-weight:700}.project-search span{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.project-search input{width:100%;min-height:42px;padding:0;border:0;border-radius:0;color:var(--text);background:transparent;font:inherit;outline:none;box-shadow:none;transition:background .2s ease}.project-search:focus-within{background:#fff;box-shadow:inset 0 0 0 2px #0071e357}.project-filter-row{display:flex;align-items:center;justify-content:flex-end;gap:12px}.project-count{flex:0 0 auto}.project-filter-control{position:relative;flex:0 0 auto;max-width:min(100%,360px)}.project-filter-trigger{display:grid;grid-template-columns:auto minmax(0,auto) auto 10px;align-items:center;gap:9px;min-height:42px;max-width:100%;padding:0 14px;border:0;border-radius:14px;color:#465163;background:#f3f6fb;font:inherit;cursor:pointer;transition:color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease}.project-filter-control.is-open .project-filter-trigger,.project-filter-trigger:hover{color:var(--blue);background:#fff;box-shadow:0 10px 28px #12203817;transform:translateY(-1px)}.project-filter-trigger-label{color:#7b8493;font-size:12px;font-weight:700}.project-filter-trigger strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.project-filter-trigger small{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;border-radius:8px;color:#6c7584;background:#e7ebf2;font-size:11px;font-weight:800}.project-filter-chevron{width:8px;height:8px;border-right:1.5px solid;border-bottom:1.5px solid;transform:translateY(-2px) rotate(45deg);transition:transform .2s ease}.project-filter-control.is-open .project-filter-chevron{transform:translateY(2px) rotate(225deg)}.project-filter-menu{position:absolute;z-index:30;top:calc(100% + 10px);right:0;width:min(680px,calc(100vw - 56px));padding:18px;border-radius:20px;background:#fffffffa;box-shadow:0 24px 70px #12203829;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.project-filter-menu-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.project-filter-menu-head>div{display:flex;align-items:baseline;gap:10px}.project-filter-menu-head strong{color:var(--text);font-size:14px}.project-filter-menu-head span{color:#8a93a2;font-size:12px;font-weight:600}.project-filter-menu-head button{padding:5px 0;border:0;color:var(--blue);background:transparent;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.project-filter-options{display:flex;flex-wrap:wrap;gap:8px;max-height:214px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.project-filter-chip{min-height:32px;padding:0 11px;border:0;border-radius:10px;color:#4b5565;background:#f3f6fb;font:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:color .2s ease,background .2s ease,transform .2s ease}.project-filter-chip:hover{color:var(--blue);background:#0071e31a;transform:translateY(-1px)}.project-filter-chip.is-active{color:#fff;background:var(--blue)}.project-tag-menu-enter-active,.project-tag-menu-leave-active{transition:opacity .18s ease,transform .18s ease;transform-origin:top right}.project-tag-menu-enter-from,.project-tag-menu-leave-to{opacity:0;transform:translateY(-6px) scale(.98)}.projects-page .project-timeline{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:9px}.projects-page .project-row{align-items:flex-start;grid-template-columns:36px minmax(0,1fr);gap:14px;padding:16px 18px;border:1px solid rgba(224,230,239,.86);border-radius:18px;background:#ffffffb8;box-shadow:0 6px 18px #12203809}.projects-page .project-row>div{display:flex;flex-direction:column;height:100%;min-width:0}.projects-page .project-row:hover{border-color:#0071e333;box-shadow:0 12px 26px #12203812;transform:translateY(-2px)}.projects-page .project-step{width:30px;height:30px;font-size:11px}.projects-page .project-row .card-top{margin-bottom:5px}.projects-page .project-row .card-top p{font-size:12px}.projects-page .project-row .card-top span{min-height:22px;padding:3px 8px;font-size:11px}.projects-page .project-row h3{margin:0;color:#1e293b;font-size:20px;line-height:1.35}.projects-page .project-row dl{grid-template-columns:minmax(160px,.9fr) minmax(0,1fr);gap:12px;margin:10px 0 11px}.projects-page .project-row dt{margin-bottom:1px;color:#778294;font-size:11px}.projects-page .project-row dd{color:#465264;font-size:13px;line-height:1.5}.projects-page .project-row dl>div:first-child dd{font-size:12px;white-space:nowrap}.projects-page .project-row dl>div:nth-child(2) dd{display:-webkit-box;min-height:39px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.projects-page .project-row .tags{gap:6px}.projects-page .project-row .tags li{min-height:24px;padding:3px 9px;font-size:11px}.project-row-interactive{cursor:pointer}.project-row-interactive:focus-visible{background:#fff;box-shadow:0 0 0 3px #0071e333,var(--shadow-soft);outline:none}.project-row-bottom{display:grid;gap:8px;margin-top:auto}.project-detail-trigger{display:inline-flex;justify-self:end;align-items:center;gap:7px;min-height:24px;color:var(--blue);font-size:12px;font-weight:800;opacity:.76;transition:gap .2s ease,opacity .2s ease}.project-detail-trigger svg{width:17px;height:17px}.project-row-interactive:focus-visible .project-detail-trigger,.project-row-interactive:hover .project-detail-trigger{gap:10px;opacity:1}.projects-page .project-empty{background:#ffffffc7;text-align:center}.project-data-state{display:grid;justify-items:center;gap:9px;min-height:260px;padding:48px 24px;border-radius:26px;background:#fffc;box-shadow:0 18px 44px #12203812;text-align:center}.project-data-state-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;margin-bottom:4px;border-radius:13px;color:var(--blue);background:var(--blue-soft);font-size:18px;font-weight:800}.project-data-state:not(.project-data-state-error) .project-data-state-icon:before{width:18px;height:18px;border:2px solid rgba(0,113,227,.22);border-top:2px solid var(--blue);border-radius:50%;content:"";animation:project-data-spin .8s linear infinite}.project-data-state strong{color:var(--text);font-size:17px}.project-data-state p{max-width:420px;margin:0;color:var(--muted);font-size:14px;line-height:1.7}.project-data-state .button{min-width:120px;margin-top:10px}.project-data-state-error .project-data-state-icon{color:#c2410c;background:#fff1e8}@keyframes project-data-spin{to{transform:rotate(1turn)}}.project-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;margin-top:12px;border:1px solid rgba(220,227,238,.9);border-radius:18px;background:#ffffffc7;box-shadow:0 8px 22px #1220380a}.project-pagination button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border:0;border-radius:999px;color:#4b5565;background:#f3f6fb;font:inherit;font-size:13px;font-weight:800;white-space:nowrap;cursor:pointer;transition:color .2s ease,background .2s ease,transform .2s ease,opacity .2s ease}.project-pagination>button{min-width:82px}.project-pagination button:hover:not(:disabled){color:var(--blue);background:#0071e31a;transform:translateY(-1px)}.project-pagination button:disabled{opacity:.38;cursor:not-allowed}.project-page-range{flex:0 0 auto;color:#5f6673;font-size:13px;font-weight:700}.project-page-buttons{display:flex;flex:1 1 auto;flex-wrap:wrap;justify-content:center;gap:6px}.project-page-buttons button{min-width:38px;padding:0 12px}.project-page-buttons button.is-active{color:#fff;background:var(--blue)}.project-page-gap{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:38px;color:#8b94a3;font-size:13px;font-weight:800}.app-modal-card--project-detail{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:min(820px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);padding:0;overflow:hidden;border-radius:28px}.app-modal-card--project-detail .app-modal-header{align-items:center;padding:28px 32px 20px;margin:0;background:#fffffff5}.app-modal-card--project-detail .app-modal-title{max-width:calc(100% - 70px);font-size:clamp(24px,2.6vw,34px)}.app-modal-card--project-detail .app-modal-body{min-height:0;padding:0 32px 36px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;background:#fff}.app-modal-card--project-detail .app-modal-footer{min-height:84px;padding:16px 32px;margin:0;background:#f5f8fc}.project-detail-modal{min-width:0}.project-detail-summary{position:relative;padding:24px 26px;border-radius:20px;background:#f5f8fc}.project-detail-status{display:inline-flex;align-items:center;min-height:28px;padding:4px 11px;border-radius:10px;color:var(--blue-dark);background:#e6f2ff;font-size:12px;font-weight:800}.project-detail-summary dl{display:grid;grid-template-columns:minmax(110px,.34fr) minmax(150px,.58fr) minmax(0,1.3fr);gap:24px;margin:20px 0 18px}.project-detail-summary dt{margin-bottom:5px;color:#7a8494;font-size:12px;font-weight:700}.project-detail-summary dd{margin:0;color:#252d3d;font-size:14px;font-weight:700;line-height:1.65}.project-detail-tags li{border:0;border-radius:10px;background:#fff;font-size:12px;font-weight:700}.project-questionnaire-approval{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 18px;margin-top:16px;border:1px solid #d8e7fb;border-radius:18px;color:#315b91;background:#f4f8ff}.project-questionnaire-approval.is-approved{border-color:#c6e9e1;color:#08796f;background:#effaf7}.project-questionnaire-approval.is-resubmit{border-color:#f1d8d3;color:#9b5149;background:#fff6f4}.project-questionnaire-approval-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:13px;color:currentColor;background:#ffffffd1}.project-questionnaire-approval-icon svg{width:22px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}.project-questionnaire-approval h3{margin:0;color:currentColor;font-size:15px}.project-questionnaire-approval p{margin:4px 0 0;color:#69778c;font-size:12px;line-height:1.55}.project-questionnaire-approval .button{min-height:38px;padding:0 14px;white-space:nowrap}.project-requirement-document{padding:38px 10px 8px}.project-requirement-document>header{margin-bottom:28px}.project-requirement-document>header .eyebrow{margin-bottom:7px}.project-requirement-document>header h3{margin:0;color:#1c2433;font-size:clamp(24px,3vw,34px)}.project-markdown-content{max-width:860px;color:#485365;font-size:15px;line-height:1.9}.project-markdown-content>:first-child{margin-top:0}.project-markdown-content>:last-child{margin-bottom:0}.project-markdown-content h1,.project-markdown-content h2,.project-markdown-content h3,.project-markdown-content h4{margin:34px 0 13px;color:#202838;letter-spacing:0;line-height:1.42}.project-markdown-content h1{font-size:26px}.project-markdown-content h2{font-size:21px}.project-markdown-content h3,.project-markdown-content h4{font-size:18px}.project-markdown-content p{margin:0 0 14px}.project-markdown-content ol,.project-markdown-content ul{display:grid;gap:8px;padding-left:24px;margin:12px 0 20px}.project-markdown-content li{padding-left:4px}.project-markdown-content blockquote{padding:18px 20px;margin:20px 0;border-radius:14px;color:#3d5068;background:#f2f7fd}.project-markdown-content blockquote p{margin:0}.project-markdown-content code{padding:2px 6px;border-radius:6px;color:#174a7d;background:#edf4fb;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9em}.project-markdown-content pre{max-width:100%;padding:18px;overflow-x:auto;border-radius:14px;color:#ecf4ff;background:#172231}.project-markdown-content pre code{padding:0;color:inherit;background:transparent}.project-markdown-content a{color:var(--blue);font-weight:700;overflow-wrap:anywhere}.project-markdown-content table{display:block;width:100%;margin:20px 0;overflow-x:auto;border-collapse:collapse}.project-markdown-content td,.project-markdown-content th{min-width:120px;padding:11px 14px;border:1px solid #e3e9f1;text-align:left}.project-markdown-content th{color:#27364a;background:#f4f7fb}.project-markdown-content hr{display:none}.project-requirement-embed{overflow:hidden;border:1px solid #e3eaf3;border-radius:20px;background:#f3f7fc}.project-requirement-embed-header{display:flex;gap:14px;align-items:center;padding:16px 18px;background:#f3f7fc}.project-requirement-embed-icon{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;color:#fff;background:var(--blue)}.project-requirement-embed-icon svg{width:19px;height:19px}.project-requirement-embed-header>div{display:grid;gap:3px;min-width:0}.project-requirement-embed-header small{color:#778295;font-size:11px;font-weight:700}.project-requirement-embed-header strong{overflow:hidden;color:#202838;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.project-requirement-frame{display:block;width:100%;height:min(58vh,620px);min-height:420px;border:0;background:#fff}.project-requirement-section{display:grid;grid-template-columns:42px minmax(0,1fr);gap:20px;padding:24px 0}.project-requirement-section>span{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:11px;color:var(--blue);background:var(--blue-soft);font-size:11px;font-weight:800}.project-requirement-section h4{margin:2px 0 12px;color:#202838;font-size:18px;line-height:1.4}.project-requirement-section p{max-width:800px;margin:0 0 12px;color:#586273;font-size:15px;line-height:1.9}.project-requirement-section ul{display:grid;gap:10px;padding:4px 0 0;margin:0;list-style:none}.project-requirement-section li{position:relative;padding-left:18px;color:#3f495a;font-size:14px;line-height:1.75}.project-requirement-section li:before{position:absolute;top:.72em;left:0;width:6px;height:6px;border-radius:50%;background:var(--blue);content:""}.project-group-button{gap:9px}.project-group-button svg{width:18px;height:18px}.project-access-note{display:flex;gap:10px;align-items:center;padding:13px 15px;border-radius:14px;color:#72511b;background:#fff8e9}.project-access-note.is-verified{color:#11675f;background:#eaf8f5}.project-access-note>span{flex:0 0 auto;width:9px;height:9px;border-radius:3px;background:currentColor}.project-access-note p{flex:1 1 auto;margin:0;color:currentColor;font-size:13px;line-height:1.55}.project-access-note button{padding:5px 0;border:0;color:#116cc6;background:transparent;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.app-modal-card--questionnaire{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:min(760px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);padding:0;overflow:hidden;border-radius:26px}.app-modal-card--questionnaire .app-modal-header{padding:26px 30px 18px;margin:0}.app-modal-card--questionnaire .app-modal-title{max-width:calc(100% - 68px);font-size:clamp(22px,2.4vw,30px)}.app-modal-card--questionnaire .app-modal-body{min-height:0;padding:0 30px 30px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.app-modal-card--questionnaire .app-modal-footer{min-height:82px;padding:14px 30px;margin:0;background:#f5f8fc}.project-questionnaire{min-width:0}.questionnaire-overview{display:flex;gap:20px;align-items:flex-end;justify-content:space-between;padding:18px 20px;border-radius:16px;background:#f4f7fb}.questionnaire-overview>div{display:grid;gap:6px}.questionnaire-overview .eyebrow{margin:0}.questionnaire-overview strong{color:#263246;font-size:14px;line-height:1.6}.questionnaire-overview>span{flex:0 0 auto;color:var(--blue);font-size:14px;font-weight:800}.questionnaire-progress{height:5px;margin:16px 2px 30px;overflow:hidden;border-radius:5px;background:#e7edf5}.questionnaire-progress span{display:block;height:100%;border-radius:inherit;background:var(--blue);transition:width .25s ease}.questionnaire-question{max-width:760px;margin:0 auto}.questionnaire-question>header>div{display:flex;gap:8px;align-items:center}.questionnaire-question>header>div small,.questionnaire-question>header>div span{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:8px;font-size:11px;font-weight:800}.questionnaire-question>header>div span{color:var(--blue-dark);background:var(--blue-soft)}.questionnaire-question>header>div small{color:#637086;background:#eef1f5}.questionnaire-question h3{margin:14px 0 8px;color:#1f2838;font-size:clamp(21px,2.5vw,28px);line-height:1.45}.questionnaire-question header>p{margin:0;color:#748095;font-size:14px;line-height:1.7}.questionnaire-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:26px}.questionnaire-options label{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:center;min-height:66px;padding:14px 16px;border-radius:14px;background:#f4f7fb;cursor:pointer;transition:background .18s ease,box-shadow .18s ease,transform .18s ease}.questionnaire-options label:hover{background:#edf4fc;transform:translateY(-1px)}.questionnaire-options label.is-selected{background:#e8f3ff;box-shadow:inset 0 0 0 2px #0071e38c}.questionnaire-options input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.questionnaire-options label>span{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;color:#526078;background:#fff;font-size:13px;font-weight:800}.questionnaire-options label.is-selected>span{color:#fff;background:var(--blue)}.questionnaire-options label>strong{color:#293447;font-size:14px;line-height:1.55}.questionnaire-text-answer{display:grid;gap:9px;margin-top:26px}.questionnaire-text-answer>span{color:#303b4e;font-size:13px;font-weight:800}.questionnaire-text-answer textarea{width:100%;min-height:150px;padding:16px 18px;resize:vertical;border:1px solid #dbe3ee;border-radius:14px;outline:0;color:#202a3a;background:#f7f9fc;font:inherit;font-size:15px;line-height:1.7;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.questionnaire-text-answer textarea:focus{border-color:#0071e394;background:#fff;box-shadow:0 0 0 4px #0071e31a}.questionnaire-text-answer small{color:#7a8698;font-size:12px}.questionnaire-submitter{padding:18px;margin-top:18px;border:1px solid #dce6f2;border-radius:16px;background:#f7faff}.questionnaire-submitter h3{margin:0;color:#253248;font-size:16px}.questionnaire-submitter>p{margin:7px 0 14px;color:#718096;font-size:13px;line-height:1.6}.questionnaire-submitter>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.questionnaire-submitter label{display:grid;gap:7px}.questionnaire-submitter label>span{color:#4b5a70;font-size:12px;font-weight:800}.questionnaire-submitter input{width:100%;min-height:42px;padding:0 12px;border:1px solid #d9e2ef;border-radius:10px;outline:0;color:#202a3a;background:#fff;font:inherit;font-size:14px}.questionnaire-submitter input:focus{border-color:#0071e39e;box-shadow:0 0 0 3px #0071e31a}.questionnaire-result{display:grid;justify-items:center;max-width:700px;padding:28px 0 10px;margin:0 auto;text-align:center}.questionnaire-result-icon{display:inline-flex;align-items:center;justify-content:center;width:62px;height:62px;margin-bottom:18px;border-radius:18px;color:#8a5a00;background:#fff2d9}.questionnaire-result.is-passed .questionnaire-result-icon{color:#08796f;background:#daf4ef}.questionnaire-result-icon svg{width:29px;height:29px;stroke-width:2.2}.questionnaire-result .eyebrow{margin:0 0 8px}.questionnaire-result h3{margin:0;color:#1f2838;font-size:29px}.questionnaire-result>p:not(.eyebrow,.questionnaire-rule-note){max-width:560px;margin:12px 0 0;color:#657186;line-height:1.75}.questionnaire-score-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;margin-top:28px}.questionnaire-score-board>div{display:grid;gap:7px;padding:17px;border-radius:14px;background:#f4f7fb}.questionnaire-score-board span{color:#788398;font-size:12px;font-weight:700}.questionnaire-score-board strong{color:#263247;font-size:21px}.questionnaire-rule-note{margin:14px 0 0;color:#758195;font-size:12px}@media(max-width:760px){.project-signing-status{grid-template-columns:42px minmax(0,1fr);gap:12px;padding:14px;border-radius:16px}.project-signing-status-icon{width:42px;height:42px;border-radius:12px}.project-signing-status button,.project-signing-status-approved{grid-column:2;justify-self:start}.project-access-note{align-items:flex-start;flex-wrap:wrap}.project-access-note button{margin-left:19px}.project-row-bottom{align-items:flex-start;flex-direction:column;gap:12px}.app-modal-card--project-detail{height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);border-radius:22px}.app-modal-card--project-detail .app-modal-header{padding:20px 20px 16px}.app-modal-card--project-detail .app-modal-title{max-width:calc(100% - 58px);font-size:22px}.app-modal-card--project-detail .app-modal-close{width:40px;height:40px}.app-modal-card--project-detail .app-modal-body{padding:0 20px 28px}.app-modal-card--project-detail .app-modal-footer{min-height:auto;padding:14px 20px 18px}.project-detail-summary{padding:20px;border-radius:18px}.project-detail-summary dl{grid-template-columns:1fr;gap:14px;margin-top:16px}.project-requirement-document{padding-top:30px}.project-requirement-embed{border-radius:16px}.project-requirement-embed-header{padding:13px 14px}.project-requirement-frame{height:54vh;min-height:360px}.app-modal-card--questionnaire{height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);border-radius:22px}.app-modal-card--questionnaire .app-modal-header{padding:20px 20px 15px}.app-modal-card--questionnaire .app-modal-title{font-size:21px}.app-modal-card--questionnaire .app-modal-body{padding:0 20px 24px}.app-modal-card--questionnaire .app-modal-footer{gap:9px;min-height:auto;padding:13px 20px 17px}.app-modal-card--questionnaire .app-modal-footer .button{min-width:0;min-height:48px;padding-inline:17px;font-size:14px}.questionnaire-overview{align-items:flex-start;padding:15px 16px}.questionnaire-overview strong{font-size:13px}.questionnaire-progress{margin-bottom:24px}.questionnaire-options{grid-template-columns:1fr;margin-top:22px}.questionnaire-question h3{font-size:21px}.questionnaire-result{padding-top:16px}.questionnaire-result h3{font-size:25px}.questionnaire-score-board{grid-template-columns:1fr}.questionnaire-score-board>div{grid-template-columns:1fr auto;align-items:center;padding:13px 15px}.project-requirement-section{grid-template-columns:34px minmax(0,1fr);gap:14px;padding:20px 0}.project-requirement-section>span{width:30px;height:30px}.project-requirement-section p{font-size:14px;line-height:1.82}}.auth-page,.profile-page{min-height:calc(100vh - var(--header-h));padding-top:calc(var(--header-h) + 64px);background:radial-gradient(circle at 78% 14%,#0071e31f,#0071e300 34%),radial-gradient(circle at 12% 78%,#10a39b14,#10a39b00 32%),linear-gradient(180deg,#f7f9fc,#fff 56%,#f3f7ff)}.auth-shell{display:grid;grid-template-columns:minmax(0,.95fr) minmax(420px,.72fr);gap:72px;align-items:center}.auth-copy h1,.profile-empty h1,.profile-hero h1{max-width:680px;margin-bottom:20px;font-size:clamp(40px,5vw,62px);line-height:1.08}.auth-copy p:not(.eyebrow),.profile-empty p,.profile-hero p:not(.eyebrow){max-width:620px;color:var(--muted);font-size:18px}.auth-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:44px}.auth-proof span{display:grid;gap:6px;min-height:96px;padding:18px;border-radius:22px;color:#343b46;background:#ffffffc2;box-shadow:0 18px 44px #1220380f;font-weight:700}.auth-proof strong{color:var(--blue);font-size:13px}.auth-card{position:relative;overflow:hidden;padding:32px;border-radius:32px;background:#ffffffdb;box-shadow:0 28px 80px #1220381f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.auth-mode-switch{position:absolute;top:18px;right:18px;display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:6px 9px 6px 12px;border:1px solid rgba(0,113,227,.16);border-radius:12px;color:var(--blue);background:#eef6ffe6;cursor:pointer;font:inherit;font-size:12px;font-weight:800;transition:border-color .2s ease,background .2s ease,transform .2s ease}.auth-mode-switch:hover{border-color:#0071e357;background:#fff;transform:translateY(-1px)}.auth-mode-switch svg{width:23px;height:23px;fill:currentColor;stroke:currentColor;stroke-width:1.7}.auth-mode-switch svg:first-of-type path{stroke:none}.auth-card-head{padding-right:108px}.auth-card-head h2{margin-bottom:28px;font-size:28px}.auth-fields{display:grid;gap:18px}.auth-field{display:grid;gap:10px}.auth-field span{color:#4b5565;font-size:13px;font-weight:800}.auth-field input{width:100%;min-height:54px;padding:0 16px;border:0;border-radius:16px;color:var(--text);background:#f5f7fb;font:inherit;outline:none;box-shadow:inset 0 0 0 1px #d8dde6b8;transition:box-shadow .2s ease,background .2s ease}.auth-field input:focus{background:#fff;box-shadow:inset 0 0 0 2px #0071e357}.auth-code-row{display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:10px}.auth-code-row button{min-height:54px;border:0;border-radius:16px;color:#fff;background:var(--text);font-size:14px;font-weight:800;cursor:pointer;transition:opacity .2s ease,transform .2s ease,background .2s ease}.auth-code-row button:hover:not(:disabled){background:var(--blue);transform:translateY(-1px)}.auth-code-row button:disabled,.auth-submit:disabled{opacity:.42;cursor:not-allowed;transform:none}.auth-alert{padding:12px 14px;margin:18px 0 0;border-radius:16px;font-size:14px;font-weight:700}.auth-alert.is-error{color:#a23a3a;background:#ffebebdb}.auth-alert.is-success{color:#176f48;background:#e5f8efe0}.auth-submit{width:100%;margin-top:20px;cursor:pointer}.auth-secondary-link{display:inline-flex;margin-top:18px;color:var(--blue);font-size:14px;font-weight:800}.profile-shell{display:grid;gap:26px}.profile-hero{display:grid;grid-template-columns:84px minmax(0,1fr);gap:24px;align-items:center;padding:34px;border-radius:34px;background:#ffffffd1;box-shadow:0 28px 80px #1220381a}.auth-card-head-feishu h2{margin-bottom:18px}.feishu-login-stage{display:grid;justify-items:center;min-height:348px}.feishu-qr-shell{display:grid;width:270px;height:270px;place-items:center;padding:5px;border:1px solid #e3e8f1;border-radius:22px;background:#fff;box-shadow:0 16px 38px #12203814}.feishu-qr-shell img{display:block;width:260px;height:260px;border-radius:16px}.feishu-qr-error,.feishu-qr-placeholder{display:grid;place-items:center;align-content:center;gap:14px;padding:24px;color:#6b7485;font-size:14px;font-weight:700;text-align:center}.feishu-qr-placeholder span{width:34px;height:34px;border:3px solid #d9e5f5;border-top:3px solid var(--blue);border-radius:999px;animation:auth-spinner .8s linear infinite}.feishu-qr-error svg{width:42px;height:42px;fill:none;stroke:#9aa5b6;stroke-linecap:round;stroke-width:1.6}.feishu-qr-error button,.portal-captcha-loading button{padding:8px 14px;border:0;border-radius:10px;color:var(--blue);background:var(--blue-soft);cursor:pointer;font:inherit;font-size:13px;font-weight:800}.feishu-login-status{display:inline-flex;align-items:center;gap:8px;margin-top:17px;color:#3f4858;font-size:14px;font-weight:800}.feishu-status-dot{width:8px;height:8px;border-radius:999px;background:#10a39b;box-shadow:0 0 0 5px #10a39b1a}.feishu-login-status.has-error{color:#a23a3a}.feishu-login-status.has-error .feishu-status-dot{background:#d65a5a;box-shadow:0 0 0 5px #d65a5a1a}.feishu-login-help{margin:10px 0 0;color:#7a8495;font-size:13px}.feishu-browser-link{margin-top:10px;color:var(--blue);font-size:13px;font-weight:800}.feishu-expiry{margin-top:5px;color:#a0a8b6;font-size:11px}.feishu-mobile-verify{display:grid;min-height:344px;align-content:center;text-align:center}.feishu-state-icon{display:grid;width:54px;height:54px;place-items:center;margin:0 auto 14px;border-radius:999px;color:#fff;background:#10a39b;font-size:24px;font-weight:900}.feishu-mobile-verify h3{margin:0;font-size:22px}.feishu-mobile-verify>p{margin:8px 0 22px;color:var(--muted);font-size:14px}.feishu-mobile-verify .auth-field{text-align:left}.portal-captcha{display:grid;gap:18px}.portal-captcha>p{margin:0;color:#697386;font-size:14px}.portal-captcha-image{position:relative;width:100%;overflow:hidden;border-radius:14px;background:#eef2f7;aspect-ratio:5/3;-webkit-user-select:none;-moz-user-select:none;user-select:none}.portal-captcha-image>img:first-child{display:block;width:100%;height:100%}.portal-captcha-template{position:absolute;top:0;left:0;height:100%;pointer-events:none;will-change:transform}.portal-captcha-track{position:relative;height:48px;overflow:hidden;border:1px solid #dfe5ee;border-radius:13px;background:#f4f6f9;-webkit-user-select:none;-moz-user-select:none;user-select:none}.portal-captcha-fill{position:absolute;inset:0 auto 0 0;background:#0071e31a}.portal-captcha-hint{position:absolute;inset:0;display:grid;place-items:center;color:#818b9b;font-size:13px;font-weight:700;pointer-events:none}.portal-captcha-handle{position:absolute;top:-1px;left:-1px;display:grid;width:48px;height:48px;place-items:center;border:0;border-radius:13px;color:#fff;background:var(--blue);box-shadow:0 7px 16px #0071e33d;cursor:grab;touch-action:none;will-change:transform}.portal-captcha-handle:active,.portal-captcha-track.is-dragging .portal-captcha-handle{cursor:grabbing}.portal-captcha-handle:disabled{cursor:wait;opacity:.72}.portal-captcha-handle svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.portal-captcha-loading{display:grid;min-height:210px;place-items:center;align-content:center;gap:14px;border-radius:14px;color:#778196;background:#f5f7fa;font-size:14px;font-weight:700}@keyframes auth-spinner{to{transform:rotate(1turn)}}.profile-avatar{display:grid;width:84px;height:84px;place-items:center;border-radius:24px;color:#fff;background:linear-gradient(145deg,var(--blue),#10a39b);font-size:30px;font-weight:900}.profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.profile-card{min-height:188px;padding:24px;border-radius:26px;background:#ffffffc2;box-shadow:0 18px 44px #12203812}.profile-card span{display:block;margin-bottom:16px;color:#647084;font-size:13px;font-weight:800}.profile-card strong{display:block;margin-bottom:18px;color:var(--text);font-size:clamp(22px,2.4vw,30px);line-height:1.16;overflow-wrap:anywhere}.profile-card p{margin:0;color:var(--muted)}.profile-actions{display:flex;flex-wrap:wrap;gap:12px}.profile-actions .button{cursor:pointer}.profile-empty{display:grid;min-height:520px;place-content:center;justify-items:start;border-radius:34px}.profile-workspace{padding:calc(var(--header-h) + 22px) 22px 72px;background:#f6f8fc}.profile-dashboard-shell{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:24px;width:min(1640px,100%);margin:0 auto}.profile-loading,.profile-panel,.profile-summary-card{border-radius:16px;background:#ffffffeb;box-shadow:0 16px 46px #13223d0f}.profile-summary-card{position:sticky;top:calc(var(--header-h) + 20px);overflow:visible;min-height:560px;border:1px solid rgba(225,230,240,.82)}.profile-cover{position:relative;overflow:hidden;border-radius:16px 16px 0 0;background:radial-gradient(circle at 82% 36%,rgba(0,113,227,.16),transparent 28%),linear-gradient(135deg,#f8fbff,#edf6ff 58%,#f5fbfa)}.profile-cover span,.profile-cover:after,.profile-cover:before{position:absolute;display:block;content:""}.profile-cover:before{inset:16px -24px auto auto;width:176px;height:84px;border:1px solid rgba(0,113,227,.22);border-radius:52px;transform:rotate(-22deg)}.profile-cover:after{right:58px;bottom:-36px;width:118px;height:118px;border-radius:40px;transform:rotate(18deg)}.profile-cover span{left:-36px;top:-44px;width:178px;height:178px;border-radius:999px;background:#ffffff85}.profile-summary-body{position:relative;z-index:1;padding:0 24px 26px;border-radius:0 0 16px 16px;background:#ffffffeb}.profile-photo-wrap{position:relative;z-index:3;display:flex;margin-top:-46px;margin-bottom:10px;pointer-events:none}.profile-photo{display:grid;width:92px;height:92px;place-items:center;border:5px solid #fff;border-radius:999px;color:#fff;background:radial-gradient(circle at 34% 28%,hsla(0,0%,100%,.38),transparent 18%),linear-gradient(145deg,var(--blue),var(--blue-dark) 62%,#10a39b);font-size:34px;font-weight:900;line-height:1}.profile-identity{display:flex;justify-content:space-between;gap:16px;margin-top:14px}.profile-identity h1{margin:0 0 6px;color:#202637;font-size:18px;line-height:1.2}.profile-identity span{display:inline-flex;padding:3px 8px;border-radius:8px;color:var(--blue-dark);background:var(--blue-soft);font-size:12px;font-weight:800}.profile-completion{display:flex;align-items:flex-end;align-self:end;gap:6px;white-space:nowrap}.profile-completion small{color:#778197;font-size:12px;font-weight:700}.profile-completion strong{color:var(--blue);font-size:20px;line-height:1}.profile-progress{height:11px;margin-top:18px;overflow:hidden;border-radius:999px;background:#eef1f6}.profile-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),#10a39b);transition:width .28s ease}.profile-progress-note{margin:10px 0 14px;color:#8a94a6;font-size:12px}.profile-progress-note:before{content:"ⓘ "}.profile-tag-row,.skill-chip-row{display:flex;flex-wrap:wrap;gap:8px}.profile-tag-row span,.skill-chip-row button{min-height:28px;padding:4px 10px;border:0;border-radius:8px;color:#4a5262;background:#f3f5f8;font-size:12px;font-weight:800}.profile-income-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px}.profile-income-grid div{min-height:72px;padding:13px 14px;border:1px solid #e8edf5;border-radius:10px;background:#fff}.profile-income-grid span{display:block;color:#8790a3;font-size:12px;font-weight:700}.profile-income-grid strong{display:block;margin-top:5px;color:#1f2533;font-size:23px;line-height:1.15}.resume-block{display:grid;gap:12px;margin-top:18px}.resume-block-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.resume-block-head strong{color:#1f2533;font-size:15px}.resume-block-head span{padding:4px 8px;border-radius:7px;color:var(--blue);background:var(--blue-soft);font-size:12px;font-weight:800}.resume-upload{display:grid;min-height:158px;place-items:center;align-content:center;gap:6px;padding:18px;border:1px dashed #cad6ec;border-radius:10px;color:#4d586b;background:#f7faff;cursor:pointer;text-align:center;transition:border-color .2s ease,background .2s ease}.resume-upload.is-uploading{cursor:wait;opacity:.72}.resume-upload input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.resume-upload svg{width:30px;height:30px;color:var(--blue)}.resume-upload span{color:#283144;font-size:13px;font-weight:800}.resume-upload small{color:#7f899b;font-size:12px}.resume-file-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #e3eaf5;border-radius:12px;background:#fff}.resume-file-card strong{display:block;overflow:hidden;color:#263044;font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.resume-file-card span{display:block;margin-top:2px;color:#7b8596;font-size:12px}.resume-file-card>div:last-child{display:inline-flex;gap:8px}.resume-file-card a,.resume-file-card button{display:inline-flex;min-height:32px;align-items:center;justify-content:center;padding:0 10px;border:1px solid #d8e1ef;border-radius:8px;color:#2f3a4d;background:#fff;cursor:pointer;font:inherit;font-size:12px;font-weight:800;text-decoration:none;transition:border-color .2s ease,color .2s ease,background .2s ease}.resume-file-card a:hover,.resume-file-card button:hover{border-color:#0071e361;color:var(--blue);background:#f7fbff}.resume-preview-shell{overflow:hidden;border:1px solid #e2e8f3;border-radius:18px;background:#f6f8fb}.resume-preview-shell iframe{width:100%;height:min(68vh,720px);border:0;background:#fff}.resume-preview-fallback{display:grid;min-height:360px;place-items:center;align-content:center;gap:12px;padding:36px;text-align:center}.resume-preview-fallback svg{width:44px;height:44px;color:var(--blue);fill:#0071e314}.resume-preview-fallback strong{color:#1f2636;font-size:18px}.resume-preview-fallback p{max-width:430px;margin:0;color:#687386}.profile-detail-area{display:grid;gap:16px}.entry-actions svg,.profile-ghost-button svg,.profile-panel-head svg{width:18px;height:18px}.profile-loading{padding:16px 18px;color:#647084;font-size:14px;font-weight:800}.profile-panel{padding:26px;border:1px solid rgba(224,229,239,.9)}.profile-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.profile-panel-head h2{display:inline-flex;align-items:center;gap:8px;margin:0;color:#1e2533;font-size:18px;line-height:1.25}.profile-panel-head p{margin:6px 0 0;color:#9aa3b3;font-size:13px}.profile-ghost-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:0 13px;border:1px solid #d7deeb;border-radius:6px;color:#354052;background:#fff;cursor:pointer;font-size:14px;font-weight:800;transition:border-color .2s ease,color .2s ease,transform .2s ease}.profile-ghost-button:hover{color:var(--blue);transform:translateY(-1px)}.basic-info-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:18px 80px;margin:0}.basic-info-grid div{display:grid;grid-template-columns:86px minmax(0,1fr);gap:12px;align-items:center}.basic-info-grid dt{color:#657086;font-size:14px;font-weight:800}.basic-info-grid dd{margin:0;color:#283144;font-size:14px;font-weight:700;overflow-wrap:anywhere}.basic-info-grid dd.is-empty{color:#a2abba}.profile-verification-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:center;padding:17px 18px;margin-top:22px;border-radius:14px;background:#f3f8fe}.profile-verification-row.is-verified{background:#f1faf7}.profile-verification-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:12px;color:var(--blue);background:#fff;box-shadow:0 8px 20px #1b529114}.profile-verification-row.is-verified .profile-verification-icon{color:#0a8d72}.linglingtong-guide-prerequisite svg,.profile-verification-action svg,.profile-verification-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}.profile-verification-copy{min-width:0}.profile-verification-copy>div{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.profile-verification-copy strong{color:#253047;font-size:15px}.profile-verification-copy span{padding:4px 9px;border-radius:999px;color:#a36300;background:#fff1d6;font-size:12px;font-weight:800}.profile-verification-copy span.is-verified{color:#08765f;background:#dff5ed}.profile-verification-copy small{color:#7a8496;font-size:12px}.profile-verification-copy p{margin:5px 0 0;color:#6b768a;font-size:13px;line-height:1.55}.profile-verification-copy .profile-verification-missing{color:#9b6718}.profile-verification-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:0 15px;border:0;border-radius:10px;color:#fff;background:var(--blue);cursor:pointer;font:inherit;font-size:14px;font-weight:800;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.profile-verification-action:hover{background:var(--blue-dark);box-shadow:0 12px 24px #0071e32e;transform:translateY(-1px)}.profile-verification-action svg{width:17px;height:17px}.app-modal-card--linglingtong-guide{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:min(900px,calc(100vh - 32px));overflow:hidden;padding:0}.app-modal-card--linglingtong-guide .app-modal-header{padding:24px 28px 16px;margin:0}.app-modal-card--linglingtong-guide .app-modal-body{min-height:0;overflow:auto;padding:0 28px 24px}.app-modal-card--linglingtong-guide .app-modal-footer{padding:16px 28px 20px;margin:0;background:#f7f9fc}.linglingtong-guide{display:grid;gap:18px}.linglingtong-guide-progress{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.linglingtong-guide-progress button{display:grid;justify-items:center;gap:7px;min-width:0;padding:0;border:0;color:#8b95a7;background:transparent;cursor:pointer;font:inherit}.linglingtong-guide-progress button span{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:#edf1f7;font-size:12px;font-weight:900;transition:color .2s ease,background .2s ease,box-shadow .2s ease}.linglingtong-guide-progress button small{max-width:100%;overflow:hidden;font-size:11px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.linglingtong-guide-progress button.is-active,.linglingtong-guide-progress button.is-complete{color:var(--blue)}.linglingtong-guide-progress button.is-active span{color:#fff;background:var(--blue);box-shadow:0 8px 18px #0071e338}.linglingtong-guide-progress button.is-complete span{color:var(--blue);background:var(--blue-soft)}.linglingtong-guide-prerequisite{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:10px;color:#8b5b12;background:#fff7e8}.linglingtong-guide-prerequisite svg{flex:0 0 auto;width:19px;height:19px;margin-top:1px}.linglingtong-guide-prerequisite p{margin:0;font-size:13px;line-height:1.6}.linglingtong-guide-stage{display:grid;grid-template-columns:minmax(220px,.68fr) minmax(0,1.72fr);gap:18px;min-height:470px}.linglingtong-guide-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:28px;border-radius:16px;background:#f3f7fc}.linglingtong-guide-copy>span{color:var(--blue);font-size:12px;font-weight:900;text-transform:uppercase}.linglingtong-guide-copy h3{margin:14px 0 10px;color:#192237;font-size:clamp(23px,2.4vw,30px);line-height:1.28}.linglingtong-guide-copy p{margin:0;color:#616d82;font-size:15px;line-height:1.8}.linglingtong-guide-copy small{margin-top:auto;padding-top:28px;color:#9099a9;font-size:12px}.linglingtong-guide-visual{display:grid;min-width:0;min-height:470px;place-items:center;padding:18px;margin:0;overflow:auto;border-radius:16px;background:#eef3f8}.linglingtong-guide-visual img{display:block;width:auto;max-width:100%;max-height:56vh;-o-object-fit:contain;object-fit:contain}.linglingtong-guide-visual img.is-step-1,.linglingtong-guide-visual img.is-step-5{max-width:min(430px,100%)}.linglingtong-guide-counter{margin-right:auto;color:#737e91;font-size:13px;font-weight:800}@media(max-width:700px){.profile-verification-row{grid-template-columns:44px minmax(0,1fr);padding:15px}.profile-verification-icon{width:44px;height:44px}.profile-verification-action{grid-column:1/-1;width:100%}.app-modal-card--linglingtong-guide .app-modal-header{padding:20px 18px 14px}.app-modal-card--linglingtong-guide .app-modal-body{padding:0 18px 16px}.app-modal-card--linglingtong-guide .app-modal-footer{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px 18px 18px}.app-modal-card--linglingtong-guide .app-modal-footer .button:last-child{grid-column:2}.linglingtong-guide-counter{grid-column:1/-1;margin-right:0}.linglingtong-guide-progress{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;padding-bottom:0}.linglingtong-guide-progress button{min-width:0}.linglingtong-guide-progress button small{display:none}.linglingtong-guide-stage{grid-template-columns:1fr;min-height:0}.linglingtong-guide-copy{padding:20px}.linglingtong-guide-copy h3{font-size:24px}.linglingtong-guide-copy small{margin-top:18px;padding-top:0}.linglingtong-guide-visual{min-height:300px;padding:12px}.linglingtong-guide-visual img{max-height:none}}.profile-entry-list{display:grid;gap:14px}.profile-entry-row{display:grid;grid-template-columns:16px minmax(180px,1.2fr) minmax(180px,1fr) auto;gap:18px;align-items:center;min-height:54px}.profile-entry-row.is-single{grid-template-columns:minmax(0,1fr) auto;padding-top:4px}.profile-entry-row strong{display:block;color:#252c3d;font-size:14px}.entry-secondary,.profile-entry-row span{display:block;color:#69748a;font-size:13px;font-weight:700}.entry-dot{width:9px;height:9px;border-radius:999px;background:var(--blue)}.entry-actions{display:inline-flex;gap:8px}.entry-actions button{display:grid;width:30px;height:30px;place-items:center;border:0;border-radius:8px;color:#394255;background:transparent;cursor:pointer}.entry-actions button:hover{background:#f3f5fa}.entry-actions button.is-danger{color:#ff4d4f}.profile-empty-state{display:grid;min-height:72px;place-items:center;border-radius:12px;color:#98a2b5;background:#f8faff;font-size:14px;font-weight:800}.skill-chip-row button{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.skill-chip-row button span{color:var(--blue);font-size:16px;line-height:1}.profile-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.profile-form-grid.is-single{grid-template-columns:1fr}.profile-form-grid label{display:grid;gap:8px}.profile-form-hint{grid-column:1/-1;margin:-2px 0 0;color:#7a8495;font-size:13px;line-height:1.7}.profile-form-grid label span{color:#4e5a70;font-size:13px;font-weight:800}.profile-form-grid input{min-height:46px;width:100%;padding:0 13px;border:0;border-radius:12px;color:#222a3b;background:#f6f8fb;font:inherit;outline:none;box-shadow:inset 0 0 0 1px #e2e7f1}.profile-form-grid input:focus{background:#fff}.profile-workspace{--profile-accent:var(--blue);--profile-accent-dark:var(--blue-dark);--profile-accent-soft:var(--blue-soft);--profile-accent-2:#10a39b;background:radial-gradient(circle at 82% 12%,rgba(0,113,227,.08),transparent 30%),linear-gradient(180deg,#f6f9fd,#eef3f9)}.profile-dashboard-shell{align-items:start}.profile-detail-area{align-items:start;align-content:start}.profile-cover{height:96px;background:radial-gradient(circle at 82% 24%,rgba(0,113,227,.14),transparent 28%),radial-gradient(circle at 26% 18%,rgba(16,163,155,.1),transparent 30%),linear-gradient(135deg,#f8fbff,#edf6ff 58%,#f5fbfa)}.profile-cover:before{border-color:#0071e338}.profile-cover:after{background:#0071e314}.profile-cover span{background:#fff9}.profile-photo{background:radial-gradient(circle at 34% 28%,hsla(0,0%,100%,.4),transparent 18%),linear-gradient(145deg,var(--profile-accent),var(--profile-accent-dark) 58%,var(--profile-accent-2));box-shadow:0 18px 34px #0071e32e}.profile-identity span{color:var(--profile-accent-dark);background:var(--profile-accent-soft)}.profile-completion strong{color:var(--profile-accent)}.profile-progress span{background:linear-gradient(90deg,var(--profile-accent),var(--profile-accent-2))}.resume-upload:focus-within,.resume-upload:hover{border-color:#0071e366;background:#f7fbff}.resume-upload svg{color:var(--profile-accent);fill:#0071e314}.profile-ghost-button:hover{border-color:#0071e357;color:var(--profile-accent)}.entry-dot{background:var(--profile-accent);box-shadow:0 0 0 6px #0071e31f}.skill-chip-row button span{color:var(--profile-accent)}.profile-form-grid input:focus{box-shadow:inset 0 0 0 2px #0071e347}.case-showcase{position:relative;display:grid;grid-template-columns:minmax(360px,.82fr) minmax(520px,1.18fr);gap:64px;align-items:center;min-height:auto;padding:0;border:0}.case-art{min-height:540px;overflow:hidden;border-radius:var(--image-radius);background:#f5f7fb}.case-art-card,.case-art:before,.case-orbit{display:none}.case-image{height:540px;min-height:0;box-shadow:0 28px 80px #1220381a}.case-image img{-o-object-position:center;object-position:center}.case-story{width:auto;max-width:560px;padding:0;margin:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.case-story h2{margin-bottom:26px}.case-link{border:0;background:var(--blue);color:#fff}.case-link:hover{color:#fff;background:var(--blue-dark)}.case-rail{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-top:34px;align-items:stretch}.case-card{min-height:330px;padding:24px;border:0;border-radius:var(--radius);background:#f8f9fceb;box-shadow:none}.case-card,.case-rail .case-card{grid-column:auto}.case-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.62fr);gap:18px 48px;min-height:0;padding:34px;background:linear-gradient(135deg,#f5f7fbf0,#fffffffa 62%),#fff;box-shadow:var(--shadow-soft)}.case-card:first-child .case-scene,.case-card:first-child h3,.case-card:first-child>p:not(.case-scene){grid-column:1}.case-card:first-child .case-outcome{grid-column:2;grid-row:1/span 3;align-self:stretch;margin:0;padding:24px;border-radius:var(--radius);background:#ffffffc7}.case-card:first-child .tags{grid-column:1/-1;margin-top:12px}.case-card:nth-child(n+2){grid-column:auto;display:flex;flex-direction:column}.case-card:hover{background:#fff;box-shadow:var(--shadow-soft)}.case-card .case-outcome{padding:16px;margin:auto 0 18px;border:0;border-radius:var(--radius);background:#ffffffb3}.partners{text-align:center}.partner-stage{display:block}.partner-copy{max-width:760px;margin:0 auto 44px}.partner-stage .partner-wall{width:min(860px,100%);margin:0 auto}.partner-wall{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;border:0}.partner-wall:hover li{opacity:1}.partner-wall .partner-card{display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;align-items:center;justify-content:flex-start;min-height:108px;padding:20px;border:0;border-radius:20px;background:linear-gradient(145deg,#ffffffeb,#f7f9fceb),#fff;box-shadow:0 14px 36px #1220380e}.partner-wall .partner-card:hover{color:var(--text);opacity:1;box-shadow:0 18px 44px #12203814;transform:translateY(-3px)}.partner-logo{display:inline-grid;flex:0 0 auto;place-items:center;width:64px;height:64px;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1px #d8dde6b8}.partner-logo img{width:42px;height:42px;-o-object-fit:contain;object-fit:contain}.partner-meta{display:grid;min-width:0;gap:4px;text-align:left}.partner-meta strong{color:#1d1d1f;font-size:17px;line-height:1.3;white-space:normal}.partner-meta small{color:var(--muted);font-size:13px;font-weight:600;line-height:1.35;white-space:normal}.handoff-steps{gap:12px;border:0}.handoff-steps span{padding:15px 16px;color:var(--text);background:#ffffffc7;box-shadow:0 18px 44px #12203814}.contact .contact-panel,.handoff-steps span{border:0;border-radius:var(--radius)}@media(max-width:1100px){.auth-shell,.case-showcase,.contact-stage,.partner-stage,.project-layout,.service-composition{grid-template-columns:1fr}.service-intro,.service-list,.service-visual{grid-column:auto;grid-row:auto}.service-list{grid-template-columns:repeat(2,minmax(0,1fr))}.project-visual,.service-intro{position:relative;top:auto}.project-content{order:1}.project-visual{order:2}.project-visual,.service-visual{max-width:760px}.auth-shell,.case-showcase,.contact-stage,.partner-stage,.project-layout{gap:42px}.auth-card{width:min(560px,100%);justify-self:center}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-dashboard-shell{grid-template-columns:1fr}.profile-summary-card{position:relative;top:auto}.project-tabs{width:100%;justify-content:flex-start;max-width:100%}.projects-page .project-head{grid-template-columns:1fr;align-items:start}.case-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-main{grid-template-columns:1fr}.footer-nav{justify-content:start}}@media(max-width:760px){.service-composition{gap:34px}.service-list{grid-template-columns:1fr}.case-story>p:not(.eyebrow,.case-scene),.contact-copy p,.partner-copy p,.service-intro p{font-size:16px}.service-proof span{align-items:flex-start;flex-direction:column;gap:4px}.case-image,.project-image,.service-image{height:auto;min-height:0;aspect-ratio:1.22}.case-art,.project-screen,.visual-panel{min-height:320px}.quality-meter{width:calc(100% - 44px)}.signal-map{grid-template-columns:repeat(5,1fr)}.project-row,.service-row{grid-template-columns:1fr;gap:14px}.project-row:hover,.service-row:hover{transform:none}.case-rail,.handoff-steps,.project-row dl,.projects-page .project-timeline{grid-template-columns:1fr}.auth-page,.profile-page,.projects-page{padding-top:calc(var(--header-h) + 36px)}.profile-workspace{padding:calc(var(--header-h) + 16px) 14px 48px}.profile-dashboard-shell{gap:16px}.profile-panel,.profile-summary-body{padding:20px}.profile-identity,.profile-panel-head{flex-direction:column}.basic-info-grid,.profile-form-grid{grid-template-columns:1fr;gap:14px}.basic-info-grid div{grid-template-columns:82px minmax(0,1fr)}.profile-entry-row{grid-template-columns:minmax(0,1fr);gap:10px}.entry-dot{display:none}.entry-actions{justify-content:flex-start}.auth-proof,.profile-grid{grid-template-columns:1fr}.auth-card{padding:22px;border-radius:26px}.auth-mode-switch{top:14px;right:14px}.auth-mode-switch span{display:none}.auth-card-head{padding-right:44px}.auth-code-row{grid-template-columns:1fr}.feishu-qr-shell{width:min(270px,100%);height:auto;aspect-ratio:1}.feishu-qr-shell img{width:100%;height:auto}.profile-hero{grid-template-columns:1fr;padding:24px;border-radius:28px}.profile-avatar{width:72px;height:72px;border-radius:20px;font-size:26px}.profile-empty{min-height:420px}.projects-page .project-head{gap:16px}.projects-page .project-head h1{font-size:clamp(28px,8vw,36px)}.project-tools{grid-template-columns:1fr;padding:16px;border-radius:22px}.project-filter-row{align-items:center;justify-content:space-between}.project-filter-control{min-width:0;margin-left:auto}.project-filter-trigger strong{max-width:138px}.project-filter-menu{width:min(560px,calc(100vw - 48px))}.project-filter-options{max-height:260px}.questionnaire-submitter>div{grid-template-columns:1fr}.project-pagination{align-items:stretch;flex-direction:column;border-radius:22px}.project-page-buttons{justify-content:flex-start}.project-page-range{order:-1}.project-chart{gap:12px;height:170px;padding-right:24px;padding-left:24px}.project-flow{right:18px;bottom:18px;left:18px}.case-showcase{display:block;min-height:auto;padding-bottom:0}.case-card:first-child{grid-template-columns:1fr;gap:16px;padding:24px}.case-card:first-child .case-outcome,.case-card:first-child .case-scene,.case-card:first-child .tags,.case-card:first-child h3,.case-card:first-child>p:not(.case-scene){grid-column:auto;grid-row:auto}.case-card{min-height:auto}.case-art{min-height:0;margin-top:28px}.case-story{width:100%;padding:0;margin:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.case-art-card.primary{top:44px;left:22px}.case-art-card.secondary{right:22px;bottom:44px}.partner-wall{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-wall .partner-card{grid-template-columns:1fr;gap:12px;align-items:flex-start;min-height:86px;padding:16px}.contact{padding-bottom:72px}.site-footer{padding:36px 20px 30px}.footer-main{gap:30px;padding:26px;border-radius:26px}.footer-nav{grid-template-columns:1fr;gap:26px}.footer-bottom{padding-top:18px}.footer-bottom,.footer-legal{align-items:flex-start;flex-direction:column}.footer-legal{gap:10px}.contact-actions{grid-template-columns:1fr}.contact-button{align-items:center;flex-direction:row;justify-content:flex-start;min-height:92px;padding:18px 20px}.email-link{grid-column:auto}.contact-button .wechat-qr-preview{display:none}}@media(max-width:420px){.partner-wall{grid-template-columns:1fr}.partner-wall .partner-card{grid-template-columns:72px minmax(0,1fr);align-items:center}}@media(prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.hero-media canvas{display:none}.hero-media{transform:none!important}}:where(.section-inner,.section-head,.hero-content,.project-page-shell,.footer-shell){min-width:0}:where(img,video,canvas,iframe){max-width:100%}:where(h1,h2,h3,h4,p,strong,small,a,button,dt,dd,span){overflow-wrap:anywhere}:where(.button,button,input,select,textarea){max-width:100%}.projects-page,.section{padding-right:clamp(18px,4vw,48px);padding-left:clamp(18px,4vw,48px)}.nav-shell{width:min(var(--container),calc(100% - clamp(28px,6vw,96px)))}.app-modal{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.account-main,.app-modal-card,.panel,.project-detail-modal,.project-markdown-content,.project-questionnaire{min-width:0}@media(min-width:1200px){.section{padding-top:clamp(104px,8vw,136px);padding-bottom:clamp(104px,8vw,136px)}.hero{min-height:min(780px,84vh)}.projects-page{padding-top:calc(var(--header-h) + 56px)}}@media(min-width:768px)and (max-width:1199px){.section{padding-top:clamp(78px,9vw,112px);padding-bottom:clamp(78px,9vw,112px)}.contact-stage{grid-template-columns:minmax(0,1fr);gap:36px}.contact-copy{max-width:820px}.contact-copy h2{max-width:780px;font-size:clamp(36px,4.6vw,48px);text-wrap:balance}.contact .contact-panel,.contact-actions{width:100%}.contact .contact-panel{justify-self:stretch}.contact-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-actions .email-link{grid-column:auto;align-items:flex-start;flex-direction:column;min-height:148px;padding:22px}.hero{min-height:min(720px,88vh)}.hero-content{max-width:920px}.hero-title{max-width:760px;font-size:clamp(38px,6vw,58px)}.project-page-shell{width:min(920px,100%)}.projects-page .project-head{gap:18px}.project-tabs{flex-wrap:wrap}.project-tools{padding:18px}.project-filter-menu{width:min(620px,calc(100vw - 48px))}.app-modal-card--project-detail,.app-modal-card--questionnaire{width:min(900px,calc(100vw - 48px))}.auth-page,.profile-page{padding-top:calc(var(--header-h) + 48px)}.auth-shell{gap:36px}.auth-copy h1,.profile-empty h1,.profile-hero h1{font-size:clamp(36px,5vw,52px)}.site-footer{padding-right:28px;padding-left:28px}}@media(max-width:767px){body{min-width:0}.section{padding-right:18px;padding-left:18px}.hero{min-height:max(620px,100svh);padding-top:calc(var(--header-h) + 34px);padding-bottom:40px}.hero-media img{-o-object-position:64% center;object-position:64% center}.hero-media:after{background:linear-gradient(90deg,#fffffff5,#ffffffc7 70%,#ffffff94)}.hero-title{max-width:100%;margin-bottom:18px;font-size:clamp(34px,10vw,48px);line-height:1.15}.contact-copy p,.hero-copy,.partner-copy p,.section-head p{font-size:16px;line-height:1.75}.hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}.hero-actions .button{width:100%;min-width:0;min-height:46px;padding-right:12px;padding-left:12px}.hero-tags li,.tags li{max-width:100%;white-space:normal}.handoff-steps,.service-proof{grid-template-columns:1fr}.handoff-steps span,.service-proof span{min-height:0}.case-art,.project-screen,.visual-panel{min-height:240px}.projects-page{padding-top:calc(var(--header-h) + 24px);padding-right:14px;padding-left:14px}.project-page-shell{width:100%}.projects-page .project-head h1{max-width:100%;font-size:clamp(28px,9vw,40px)}.projects-page .project-head p:not(.eyebrow){font-size:15px}.project-tabs{gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.project-tabs::-webkit-scrollbar{display:none}.project-tabs .tab{flex:0 0 auto}.project-questionnaire-approval,.project-signing-status{grid-template-columns:40px minmax(0,1fr)}.project-questionnaire-approval{gap:12px;padding:14px}.project-questionnaire-approval .button,.project-signing-status button,.project-signing-status-approved{grid-column:2;justify-self:start}.project-filter-row{align-items:stretch;flex-direction:column;gap:10px}.project-filter-control,.project-filter-trigger{width:100%;max-width:none}.project-filter-menu{right:auto;left:0;width:100%;max-width:calc(100vw - 28px);padding:14px}.project-filter-options{max-height:min(42vh,260px)}.project-row{padding:18px}.project-row-bottom{align-items:stretch}.project-detail-trigger{align-self:flex-start}.project-pagination{align-items:stretch;flex-direction:column;gap:10px;padding:12px}.project-page-range{text-align:center}.project-page-buttons{justify-content:center;overflow-x:auto;padding-bottom:2px}.app-modal-card{width:100%;max-height:calc(100svh - 24px);border-radius:20px}.app-modal-header{gap:10px;margin-bottom:18px}.app-modal-title{font-size:21px}.app-modal-body{min-width:0}.app-modal-footer{grid-template-columns:1fr}.app-modal-footer .button{min-height:46px}.app-modal-card--project-detail,.app-modal-card--questionnaire{height:calc(100svh - 24px);max-height:calc(100svh - 24px)}.project-detail-summary,.questionnaire-overview{padding:16px}.project-detail-summary dl{gap:12px}.project-markdown-content{font-size:14px;line-height:1.8}.project-markdown-content pre{margin-right:-2px;margin-left:-2px;padding:14px;font-size:12px}.project-requirement-frame{min-height:300px;height:56svh}.auth-page,.profile-page{padding-top:calc(var(--header-h) + 24px)}.auth-shell{gap:24px}.auth-copy h1,.profile-empty h1,.profile-hero h1{font-size:clamp(34px,10vw,46px)}.auth-copy p:not(.eyebrow),.profile-empty p,.profile-hero p:not(.eyebrow){font-size:16px}.auth-proof{grid-template-columns:1fr;margin-top:26px}.auth-proof span{min-height:0}.auth-card{width:100%;padding:22px 18px;border-radius:22px}.auth-card-head h2{font-size:24px}.auth-code-row{grid-template-columns:minmax(0,1fr) minmax(92px,118px)}.feishu-qr-shell{width:min(270px,100%);min-height:0}.site-footer{padding-right:14px;padding-left:14px}.footer-main{padding:22px 18px;border-radius:22px}.footer-bottom,.footer-legal{width:100%}.contact-button strong,.footer-group a,.security-link{overflow-wrap:anywhere}}@media(max-width:420px){.hero-actions{grid-template-columns:1fr}.hero-actions .button{min-height:44px}.project-signing-status button,.project-signing-status-approved{grid-column:1/-1}.auth-code-row{grid-template-columns:1fr}.auth-code-row button{width:100%}}
