:root{color-scheme:light;--color-primary: #3366d6;--color-primary-deep: #2454c4;--color-accent: #1f9d8a;--color-background: #f4f7fd;--color-surface: #ffffff;--color-text: #1f2b45;--color-muted-text: #54617c;--color-weak: #7f8ba3;--color-border: #e1e8f4;--color-border-strong: #c6d2e8;--color-focus: #5b80d8;--blue-glow: rgba(63, 108, 224, .16);--font-body: "PingFang SC", "Microsoft YaHei", ui-sans-serif, system-ui, sans-serif;--font-display: "PingFang SC", "Microsoft YaHei", ui-sans-serif, system-ui, sans-serif;--radius: 0;--radius-sm: 0;--radius-md: 0;--radius-lg: 0;--space-unit: .25rem;--content-width: 76rem;--top-line: #cdd6e6;--accent-line: #3e63c7}*{box-sizing:border-box}html{background:var(--color-background);color:var(--color-text);font-family:var(--font-body);scroll-behavior:smooth}body{margin:0;min-height:100dvh;line-height:1.7;font-weight:350}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.skip-link{left:1rem;position:fixed;top:1rem;transform:translateY(-300%);z-index:100;background:var(--color-surface);padding:.5rem 1rem}.skip-link:focus{transform:translateY(0)}.line-top,.line-bottom{position:fixed;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--top-line) 12%,var(--top-line) 88%,transparent);z-index:50;pointer-events:none}.line-top{top:0}.line-bottom{bottom:0}.site-header{position:sticky;top:0;z-index:40;background:#f6f7fbdb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border)}.nav-inner{max-width:var(--content-width);margin:0 auto;padding:1.1rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:.6rem;font-weight:600;letter-spacing:.05em}.brand .dot{width:8px;height:8px;background:var(--color-primary)}.nav-links{display:flex;gap:2.2rem;font-size:.92rem;color:var(--color-muted-text)}.nav-links a:hover{color:var(--color-text)}.nav-cta{border:1px solid var(--color-border-strong);padding:.5rem 1.1rem;font-size:.9rem;color:var(--color-text)}.nav-cta:hover{border-color:var(--color-primary);color:var(--color-primary)}.section{max-width:var(--content-width);margin:0 auto;padding:6.5rem 1.5rem;scroll-margin-top:4rem}.sec-head{display:flex;align-items:center;gap:.9rem;margin-bottom:3.2rem}.sec-head .idx{color:var(--color-primary);font-size:.85rem;letter-spacing:.2em}.sec-head .rule{height:1px;flex:0 0 3rem;background:var(--color-border-strong)}.sec-head h2{font-size:1.7rem;font-weight:450;letter-spacing:.04em;margin:0}.sec-head .sub{margin-left:auto;color:var(--color-weak);font-size:.9rem}.hero{min-height:92vh;display:flex;align-items:center;position:relative;overflow:hidden;border-bottom:1px solid var(--color-border);background:radial-gradient(1000px 480px at 82% -10%,rgba(63,108,224,.18),transparent 60%),radial-gradient(760px 420px at 12% 108%,rgba(79,155,255,.12),transparent 60%),var(--color-background)}.hero-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(90,130,220,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(90,130,220,.12) 1px,transparent 1px);background-size:88px 88px;opacity:.5;-webkit-mask-image:radial-gradient(ellipse at 50% 40%,#000 0%,transparent 72%);mask-image:radial-gradient(ellipse at 50% 40%,#000 0%,transparent 72%)}.hero-glow{position:absolute;right:-8%;top:12%;width:560px;height:560px;background:radial-gradient(circle,rgba(63,108,224,.26),rgba(79,155,255,.08) 45%,transparent 68%);animation:breath 8s ease-in-out infinite}.hero-glow:after{content:"";position:absolute;left:-260px;bottom:-60px;width:320px;height:320px;background:radial-gradient(circle,rgba(31,157,138,.12),transparent 65%)}@keyframes breath{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:.85}}.hero-dots{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;opacity:.5}.hero-dots i{position:absolute;width:4px;height:4px;background:var(--color-primary);border-radius:50%;animation:floatUp 12s linear infinite}.hero-dots i:nth-child(1){left:8%;top:72%;animation-delay:0s}.hero-dots i:nth-child(2){left:18%;top:30%;width:3px;height:3px;animation-delay:2s}.hero-dots i:nth-child(3){left:30%;top:82%;animation-delay:4s}.hero-dots i:nth-child(4){left:45%;top:22%;width:5px;height:5px;animation-delay:6s}.hero-dots i:nth-child(5){left:58%;top:78%;animation-delay:8s}.hero-dots i:nth-child(6){left:70%;top:35%;width:3px;height:3px;animation-delay:1s}.hero-dots i:nth-child(7){left:84%;top:68%;animation-delay:5s}.hero-dots i:nth-child(8){left:92%;top:40%;animation-delay:7s}@keyframes floatUp{0%{transform:translateY(0);opacity:0}15%{opacity:1}85%{opacity:1}to{transform:translateY(-46vh);opacity:0}}.hero-inner{position:relative;z-index:2;max-width:var(--content-width);margin:0 auto;padding:0 1.5rem;width:100%}.hero .eyebrow{color:var(--color-primary);letter-spacing:.35em;font-size:.82rem;margin-bottom:2rem}.hero h1{font-size:clamp(2.4rem,5vw,4.2rem);font-weight:380;line-height:1.15;letter-spacing:.04em;max-width:20em}.hero h1 .thin{color:var(--color-weak)}.hero .lead{margin:1.8rem 0 2.6rem;color:var(--color-muted-text);font-size:1.1rem;max-width:32em}.hero-actions{display:flex;gap:1rem;align-items:center}.btn-primary{background:linear-gradient(135deg,#3f73ea 0%,var(--color-primary-deep) 100%);color:#fff;padding:.8rem 2rem;font-size:.98rem;border:none;cursor:pointer;box-shadow:0 6px 20px #3366d647;transition:transform .2s,box-shadow .2s,filter .2s}.btn-primary:hover{background:linear-gradient(135deg,#4a7ff0,#2b59cf);box-shadow:0 10px 28px #3366d65c;transform:translateY(-2px)}.btn-ghost{border:1px solid var(--color-border-strong);color:var(--color-text);padding:.8rem 2rem;font-size:.98rem;transition:border-color .2s,color .2s}.btn-ghost:hover{border-color:var(--color-primary);color:var(--color-primary)}.hero-stats{display:flex;gap:3.5rem;margin-top:5rem;border-top:1px solid var(--color-border);padding-top:2.2rem}.hero-stats .num{font-size:2.2rem;font-weight:400;letter-spacing:.03em}.hero-stats .num b{color:var(--color-accent);font-weight:450}.hero-stats .lbl{color:var(--color-weak);font-size:.85rem}.about-wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:4rem;align-items:start}.about-copy{color:var(--color-muted-text);font-size:1rem}.about-copy strong{color:var(--color-text);font-weight:500}.about-copy p+p{margin-top:1.2rem}.about-pills{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.pill{border:1px solid var(--color-border-strong);padding:.45rem 1.1rem;font-size:.85rem;color:var(--color-muted-text)}.pill:before{content:"·";color:var(--color-primary);margin-right:.5rem}.about-facts{border-left:1px solid var(--color-border-strong);padding-left:2.2rem;display:flex;flex-direction:column;gap:2rem;background:linear-gradient(90deg,rgba(63,108,224,.04),transparent)}.fact{display:flex;align-items:baseline;gap:1rem}.fact .f-num{font-size:1.9rem;color:var(--color-primary);font-weight:400;background:linear-gradient(135deg,#3f73ea,var(--color-primary-deep));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.fact .f-txt{color:var(--color-muted-text);font-size:.92rem}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}.service-card{border:1px solid var(--color-border);padding:2.2rem 1.8rem;background:linear-gradient(180deg,#fff,#fbfdff);transition:border-color .2s,box-shadow .25s,transform .25s}.service-card:hover{border-color:#3366d680;box-shadow:0 14px 34px #3f6ce01f;transform:translateY(-4px)}.service-card .no{font-size:.8rem;color:var(--color-weak);letter-spacing:.2em}.service-card .sep{height:1px;background:var(--color-accent-line);width:2.2rem;margin:1.3rem 0}.service-card h3{font-size:1.15rem;font-weight:500;margin:0 0 .8rem}.service-card p{color:var(--color-muted-text);font-size:.9rem;margin:0}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.case-tip{text-align:center;color:var(--color-weak);padding:3.5rem 0}.case-card{border:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden;cursor:pointer;background:linear-gradient(180deg,#fff,#fbfdff);transition:border-color .2s,box-shadow .25s,transform .25s;opacity:.78;-webkit-user-select:none;user-select:none}.case-card:hover,.case-card:focus-visible{border-color:#3366d68c;box-shadow:0 14px 34px #3f6ce024;transform:translateY(-4px);opacity:1;outline:none}.case-card .case-cover{width:100%;aspect-ratio:16 / 9;overflow:hidden;background:#f0f4fd}.case-card .case-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.case-card:hover .case-cover img{transform:scale(1.04)}.case-card>.tag{align-self:flex-start;margin:0 0 -.2rem;font-size:.72rem;color:var(--color-accent);border:1px solid var(--color-border-strong);padding:.15rem .65rem;letter-spacing:.1em;background:#fff}.case-card h3{font-size:1.15rem;font-weight:500;margin:.9rem 0 .5rem;padding:0 1.8rem;color:var(--color-text)}.case-card p{color:var(--color-muted-text);font-size:.88rem;margin:0;padding:0 1.8rem;flex:1}.case-card .line{height:1px;background:var(--color-border);margin:1.4rem 1.8rem 0}.case-card .more{display:flex;align-items:center;justify-content:space-between;padding:0 1.8rem 1.4rem;margin-top:.9rem;color:var(--color-weak);font-size:.82rem;opacity:.85;transition:color .2s}.case-card:hover .more{color:var(--color-primary)}.case-card .arrow{letter-spacing:.02em}.case-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f172a8c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:1.5rem}.case-modal-card{width:100%;max-width:640px;max-height:88vh;overflow:auto;background:#fff;border-radius:10px;box-shadow:0 30px 70px #14285a47;position:relative}.case-modal-close{position:absolute;top:.8rem;right:.9rem;z-index:2;width:34px;height:34px;border:none;background:#ffffffe6;border-radius:50%;font-size:1.3rem;line-height:1;color:#33415c;cursor:pointer;box-shadow:0 2px 8px #0000001f}.case-modal-cover{width:100%;max-height:300px;overflow:hidden;background:#eef2fb}.case-modal-cover img{width:100%;height:100%;max-height:300px;object-fit:cover;display:block}.case-modal-body{padding:1.8rem 2rem 2.4rem}.case-modal-body>.tag{font-size:.75rem;color:var(--color-accent);border:1px solid var(--color-border-strong);padding:.2rem .7rem;letter-spacing:.1em}.case-modal-body h2{font-size:1.6rem;font-weight:600;margin:.9rem 0 .6rem;color:var(--color-text)}.case-modal-meta{display:flex;gap:1.4rem;flex-wrap:wrap;color:var(--color-weak);font-size:.85rem;border-bottom:1px solid var(--color-border);padding-bottom:1.1rem;margin-bottom:1.2rem}.case-modal-detail{color:var(--color-text);font-size:.98rem;line-height:1.85}.case-modal-detail h2,.case-modal-detail h3{margin:1.2rem 0 .5rem;color:var(--color-text)}.case-modal-detail img{max-width:100%;border-radius:6px;margin:.8rem 0}.case-modal-detail a{color:var(--color-primary);text-decoration:underline}.case-modal-detail li{margin-left:1.3rem}.case-modal-detail code{background:#f0f4fd;padding:.15rem .4rem;border-radius:4px;font-size:.9em}@media (max-width: 800px){.case-card h3,.case-card p{padding:0 1.2rem}.case-card .line{margin:1.2rem 1.2rem 0}.case-card .more{padding:0 1.2rem 1.1rem}}.tech-wrap{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.tech-note{color:var(--color-muted-text);font-size:.95rem;border:1px solid var(--color-border);background:linear-gradient(160deg,#fff,#eef4ff);padding:2rem 2.2rem;position:relative;overflow:hidden}.tech-note:before{content:"";position:absolute;right:-30px;top:-30px;width:130px;height:130px;background:radial-gradient(circle,rgba(63,108,224,.14),transparent 70%)}.tech-note .hl{color:var(--color-accent)}.tech-list{display:flex;flex-direction:column}.tech-row{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 0;border-bottom:1px solid var(--color-border)}.tech-row:last-child{border-bottom:none}.tech-row .t-name{font-size:1rem}.tech-row .t-level{color:var(--color-primary);letter-spacing:.15em;font-size:.85rem}.contact-wrap{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.contact-info .c-item{display:flex;align-items:center;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--color-border)}.contact-info .c-item .k{color:var(--color-weak);font-size:.85rem;width:3.5rem}.contact-info .c-item .v{color:var(--color-text);font-size:.95rem}.contact-form{border:1px solid var(--color-border);padding:2rem;background:var(--color-surface)}.contact-form h3{margin:0 0 1.4rem;font-weight:500}.form-row{margin-bottom:1.2rem}.form-row label{display:block;font-size:.85rem;color:var(--color-muted-text);margin-bottom:.4rem}.form-row input,.form-row textarea{width:100%;background:var(--color-background);border:1px solid var(--color-border-strong);color:var(--color-text);padding:.75rem .9rem;border-radius:0}.form-row input:focus,.form-row textarea:focus{border-color:var(--color-primary);outline:none}.form-row textarea{resize:vertical;min-height:6rem}.btn-primary.submit{width:100%;margin-top:.4rem}.site-footer{border-top:1px solid var(--color-border);padding:2.2rem 1.5rem}.footer-inner{max-width:var(--content-width);margin:0 auto;display:flex;justify-content:space-between;align-items:center;color:var(--color-weak);font-size:.85rem}@media (max-width: 900px){.service-grid,.case-grid{grid-template-columns:repeat(2,1fr)}.about-wrap,.tech-wrap,.contact-wrap{grid-template-columns:1fr;gap:3rem}.nav-links{display:none}.hero-stats{flex-wrap:wrap;gap:2rem}}@media (max-width: 560px){.service-grid,.case-grid{grid-template-columns:1fr}.sec-head{flex-wrap:wrap}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.form-tip{font-size:.88rem;margin-bottom:1rem;padding:.6rem .9rem}.form-tip.ok{color:#1f7a5f;background:#1f9d8a14;border:1px solid rgba(31,157,138,.3)}.form-tip.err{color:#b3362c;background:#b3362c0f;border:1px solid rgba(179,54,44,.25)}.btn-primary.submit:disabled{opacity:.6;cursor:not-allowed}
