:root{--navy:#071a33;--navy-2:#0c2748;--navy-3:#153a63;--ink:#121c2c;--muted:#5a6b80;--line:#d7e1ed;--paper:#f2f5f9;--white:#fff;--gold:#c9a227;--gold-2:#dfbf5c;--danger:#c44536;--ok:#1f8a5b;--shadow:0 20px 48px #071a331a;--radius:12px;--header-h:72px;--max:1140px;--font-display:"Instrument Sans", "Noto Sans SC", sans-serif;--font-body:"Noto Sans SC", "Instrument Sans", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;line-height:1.75}h1,h2,h3,.brand-name,.hero-brand{font-family:var(--font-display);letter-spacing:-.02em}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea,select{font-family:inherit}#app{flex-direction:column;min-height:100vh;display:flex}.site-main{flex:1;min-height:calc(100vh - 280px)}.container{width:min(var(--max), calc(100% - 48px));margin:0 auto}.btn{letter-spacing:.06em;cursor:pointer;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 26px;font-size:14px;font-weight:600;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s,color .2s;display:inline-flex}.btn-gold{background:linear-gradient(135deg, var(--gold-2), var(--gold));color:var(--navy)}.btn-gold:hover{transform:translateY(-1px);box-shadow:0 14px 30px #c9a2274d}.btn-ghost{color:var(--white);background:0 0;border-color:#ffffff57}.btn-ghost:hover{border-color:var(--gold-2);color:var(--gold-2)}.btn-navy{background:var(--navy);color:var(--white)}.btn-navy:hover{background:var(--navy-2)}.btn-line{color:var(--navy);border-color:var(--line);background:0 0}.btn-line:hover{border-color:var(--navy);background:var(--paper)}.btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.section{padding:100px 0}.section-tight{padding:72px 0}.section-kicker{color:var(--gold);font-family:var(--font-display);letter-spacing:.24em;text-transform:uppercase;align-items:center;gap:10px;font-size:12px;font-weight:600;display:inline-flex}.section-kicker:before{content:"";background:currentColor;width:22px;height:1px}.section-title{margin:14px 0 16px;font-size:clamp(28px,4.2vw,42px);font-weight:700;line-height:1.18}.section-desc{color:var(--muted);max-width:560px;margin:0;font-size:16px}.grid-2{grid-template-columns:1.05fr .95fr;align-items:center;gap:64px;display:grid}.grid-2.top{align-items:start}.grid-3{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}.header{z-index:50;height:var(--header-h);border-bottom:1px solid #0000;align-items:center;transition:background .28s,box-shadow .28s,border-color .28s;display:flex;position:fixed;top:0;left:0;right:0}.header .container{justify-content:space-between;align-items:center;display:flex}.header.solid,.header.scrolled{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#071a33f0;border-bottom-color:#ffffff0f;box-shadow:0 10px 28px #0000002e}.brand{color:var(--white)}.brand-name{letter-spacing:.14em;font-size:18px;font-weight:700;line-height:1.2;display:block}.brand-sub{opacity:.55;letter-spacing:.28em;font-size:10px;font-weight:500;font-family:var(--font-display);margin-top:3px;display:block}.nav{align-items:center;gap:30px;display:flex}.nav a{color:#ffffffc7;font-size:14px;font-weight:500;transition:color .2s;position:relative}.nav a:not(.btn):hover,.nav a:not(.btn).active{color:var(--gold-2)}.nav .btn{margin-left:6px}.menu-btn{color:#fff;background:0 0;border:1px solid #ffffff38;border-radius:6px;width:42px;height:42px;font-size:18px;display:none}.hero{min-height:100dvh;color:var(--white);align-items:center;display:flex;position:relative;overflow:hidden}.hero-bg{background:linear-gradient(108deg,#071a33f5 0%,#071a33d1 46%,#0c27488c 100%),radial-gradient(at 82% 38%,#c9a2273d,#0000 40%),linear-gradient(165deg,#091f3c,#071a33 42%,#12345c);position:absolute;inset:0}.hero-bg:before{content:"";opacity:.65;background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-size:72px 72px;animation:32s linear infinite gridDrift;position:absolute;inset:0}.hero-orb{filter:blur(8px);pointer-events:none;background:radial-gradient(circle,#c9a22738,#0000 68%);border-radius:50%;width:420px;height:420px;animation:9s ease-in-out infinite orbFloat;position:absolute;top:18%;right:8%}.hero-bg:after{content:"知行";font-family:var(--font-display);letter-spacing:.08em;color:#ffffff09;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(120px,22vw,260px);font-weight:700;line-height:.9;position:absolute;bottom:-6%;right:-2%}@keyframes gridDrift{0%{transform:translate(0,0)}to{transform:translateY(72px)}}@keyframes orbFloat{0%,to{opacity:.85;transform:translate(0,0)scale(1)}50%{opacity:1;transform:translate(-18px,22px)scale(1.08)}}.hero-inner{z-index:2;max-width:760px;padding:118px 0 96px;position:relative}.hero-brand{letter-spacing:.08em;margin:0;font-size:clamp(52px,10vw,92px);font-weight:700;line-height:1.02;animation:.85s both heroRise}.hero-slogan{color:var(--gold-2);letter-spacing:.1em;margin:22px 0 0;font-size:clamp(20px,3vw,28px);font-weight:500;animation:.85s .1s both heroRise}.hero-intro{color:#ffffffbd;max-width:540px;margin:26px 0 0;font-size:17px;line-height:1.8;animation:.85s .2s both heroRise}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:42px;animation:.85s .3s both heroRise;display:flex}@keyframes heroRise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1);transform:translateY(28px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1);transform:translate(-24px)}.reveal-left.is-visible{opacity:1;transform:translate(0)}.page-hero .container>*{animation:.7s cubic-bezier(.22,1,.36,1) both heroRise}.page-hero .crumb{animation-delay:50ms}.page-hero h1{animation-delay:.12s}.page-hero p{animation-delay:.2s}.nav a:not(.btn):after{content:"";background:var(--gold);transform-origin:0;height:2px;transition:transform .28s;position:absolute;bottom:-8px;left:0;right:0;transform:scaleX(0)}.nav a:not(.btn).active:after,.nav a:not(.btn):hover:after{transform:scaleX(1)}.service-card .link{align-items:center;gap:4px;transition:color .2s,transform .25s;display:inline-flex}.service-card:hover .link{transform:translate(4px)}.btn{position:relative;overflow:hidden}.btn:after{content:"";pointer-events:none;background:linear-gradient(120deg,#0000 20%,#ffffff38 50%,#0000 80%);transition:transform .55s;position:absolute;inset:0;transform:translate(-120%)}.btn:hover:after{transform:translate(120%)}.timeline article{transition:transform .25s}.fade-enter-active{transition:opacity .28s,transform .28s}.fade-leave-active{transition:opacity .18s,transform .18s}.fade-enter-from{opacity:0;transform:translateY(10px)}.fade-leave-to{opacity:0;transform:translateY(-6px)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal,.reveal-left{opacity:1;transform:none}}.about-band{background:var(--paper)}.about-meta{color:var(--muted);margin:18px 0 0;font-size:14px}.about-panel{color:#fff;background:linear-gradient(150deg,#c9a22724,#0000 42%),linear-gradient(135deg,#12345c,#071a33);min-height:340px;padding:44px 40px;position:relative;overflow:hidden}.about-panel .est{font-family:var(--font-display);letter-spacing:.28em;color:var(--gold-2);font-size:12px;font-weight:600}.about-panel h3{letter-spacing:.1em;margin:18px 0 12px;font-size:34px}.about-panel p{color:#ffffffb8;max-width:280px;margin:0;font-size:14px}.about-panel .mark{font-family:var(--font-display);opacity:.07;font-size:210px;font-weight:700;line-height:1;position:absolute;bottom:-42px;right:-8px}.method-row{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:0;margin-top:48px;display:grid}.method-row article{border-right:1px solid var(--line);padding:28px 22px 0}.method-row article:last-child{border-right:0}.method-row b{font-family:var(--font-display);letter-spacing:.16em;color:var(--gold);margin-bottom:10px;font-size:13px;display:block}.method-row p{color:var(--muted);margin:0;font-size:14px;line-height:1.65}.services-page .services-intro{margin-bottom:40px}.services-grid{align-items:stretch}.service-card{flex-direction:column;min-height:248px;padding:28px 26px 26px;transition:transform .3s cubic-bezier(.22,1,.36,1),border-color .25s,box-shadow .3s;display:flex}.service-card:hover{box-shadow:var(--shadow);border-color:#c4d2e4;transform:translateY(-6px)}.service-card-top{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.service-card .no{font-family:var(--font-display);letter-spacing:.16em;color:var(--gold);font-size:13px;font-weight:600}.icon-box{width:44px;height:44px;color:var(--navy-3);background:#eef3fa;border-radius:10px;place-items:center;margin-bottom:0;transition:transform .25s,background .25s;display:grid}.service-card:hover .icon-box{background:#e5eef8;transform:scale(1.06)}.service-card h3{margin:0 0 12px;font-size:20px;font-weight:700}.service-card p{color:var(--muted);flex:1;margin:0 0 22px;font-size:14px;line-height:1.7}.link{color:var(--navy);letter-spacing:.04em;font-size:13px;font-weight:600}.service-card:hover .link{color:var(--gold)}.services-head{justify-content:space-between;align-items:end;gap:24px;margin-bottom:40px;display:flex}.detail-section{padding-top:72px}.detail-layout{grid-template-columns:1.35fr .75fr;align-items:start;gap:48px;display:grid}.detail-meta{align-items:center;gap:16px;margin-bottom:28px;display:flex}.detail-heading{margin:8px 0 0;font-size:28px;font-weight:700}.detail-body{color:#243246;max-width:none;font-size:16.5px;line-height:1.9}.detail-body p{border-left:2px solid #0000;margin:0 0 20px;padding-left:16px}.detail-body p:first-child{border-left-color:var(--gold);color:var(--ink);font-size:17.5px}.detail-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:12px;margin-top:36px;padding-top:28px;display:flex}.detail-aside{top:calc(var(--header-h) + 24px);gap:18px;display:grid;position:sticky}.aside-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:24px 22px}.aside-panel h3{margin:10px 0;font-size:20px}.aside-panel>p{color:var(--muted);margin:0 0 18px;font-size:14px;line-height:1.7}.aside-btn{width:100%}.aside-list{background:var(--white)}.aside-list h3{margin-bottom:4px}.service-aside{border-top:1px solid var(--line);gap:0;margin-top:12px;display:grid}.service-aside a{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:16px 0;transition:color .2s,transform .2s;display:flex}.service-aside a:last-child{border-bottom:0}.service-aside a:hover{color:var(--gold);transform:translate(3px)}.aside-icon{width:32px;height:32px;color:var(--navy-3);background:#eef3fa;border-radius:8px;flex:none;place-items:center;margin-top:2px;display:grid}.service-aside strong{color:var(--ink);font-size:14px;display:block}.service-aside a:hover strong{color:var(--gold)}.service-aside p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:4px 0 0;font-size:12px;font-weight:400;line-height:1.55;display:-webkit-box;overflow:hidden}.cta{color:#fff;background:radial-gradient(at 12% 0,#c9a2272e,#0000 42%),linear-gradient(105deg,#071a33,#12345c)}.cta .container{justify-content:space-between;align-items:center;gap:28px;display:flex}.cta h2{margin:10px 0 0;font-size:clamp(24px,3.4vw,36px)}.page-hero{color:var(--white);background:linear-gradient(135deg,#071a33f0,#0c2748e0),radial-gradient(at 78% 28%,#c9a22733,#0000 44%),linear-gradient(160deg,#071a33,#12345c);padding:140px 0 72px;position:relative;overflow:hidden}.page-hero:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:56px 56px;position:absolute;inset:0}.page-hero .container{z-index:1;position:relative}.page-hero h1{margin:14px 0 12px;font-size:clamp(32px,5vw,48px)}.page-hero p{color:#ffffffb8;max-width:560px;margin:0;font-size:16px}.page-hero-actions{flex-wrap:wrap;gap:12px;margin-top:28px;animation:.7s cubic-bezier(.22,1,.36,1) .28s both heroRise;display:flex}.crumb{color:#ffffff7a;font-size:13px;font-family:var(--font-display);letter-spacing:.04em;flex-wrap:wrap;align-items:center;gap:8px;display:flex}.crumb a:hover,.crumb span:not(.crumb-sep){color:var(--gold-2)}.crumb-sep{opacity:.45}.facts{grid-template-columns:1fr 1fr;gap:0;display:grid}.facts div{border-bottom:1px solid var(--line);padding:16px 0}.facts b{color:var(--muted);letter-spacing:.04em;margin-bottom:6px;font-size:12px;font-weight:500;display:block}.facts span{word-break:break-all;font-size:15px;font-weight:600}.timeline{gap:0;margin-top:40px;display:grid;position:relative}.timeline article{border-left:1px solid #e2d3a4;grid-template-columns:88px 1fr;gap:24px;padding:0 0 36px 28px;display:grid;position:relative}.timeline article:last-child{padding-bottom:0}.timeline article:before{content:"";background:var(--gold);border-radius:50%;width:9px;height:9px;position:absolute;top:8px;left:-5px}.timeline .year{font-family:var(--font-display);color:var(--gold);font-size:18px;font-weight:700;line-height:1.2}.timeline h3{margin:0 0 8px;font-size:18px}.timeline p{color:var(--muted);margin:0;font-size:14px}.article-body{color:#243246;max-width:680px;font-size:16px}.article-body p{margin:0 0 16px}.article-body p:last-child{margin-bottom:0}.form-panel{gap:16px;padding:8px 0;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}label{margin-bottom:7px;font-size:13px;font-weight:600;display:block}input,textarea{border:1px solid var(--line);background:#fff;border-radius:6px;outline:none;width:100%;padding:13px 14px;font-size:14px;transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus{border-color:var(--navy-3);box-shadow:0 0 0 3px #12345c1a}input.is-invalid,textarea.is-invalid{border-color:var(--danger)}textarea{resize:vertical;min-height:150px}.field-hint{color:var(--danger);min-height:16px;margin:6px 0 0;font-size:12px}.form-msg{min-height:22px;font-size:14px}.form-msg.ok{color:var(--ok)}.form-msg.err{color:var(--danger)}.contact-info{gap:22px;padding:8px 0;display:grid}.contact-info dt{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:11px;font-family:var(--font-display);margin:0}.contact-info dd{margin:6px 0 0;font-size:16px;font-weight:600}.contact-info a{border-bottom:1px solid #0000}.contact-info a:hover{color:var(--gold);border-bottom-color:var(--gold)}.footer{color:#ffffffc7;background:#061427;padding:64px 0 24px}.footer-grid{grid-template-columns:1.5fr .7fr 1fr;gap:40px;display:grid}.footer h4{color:#fff;letter-spacing:.06em;margin:0 0 16px;font-size:15px}.footer a:hover{color:var(--gold-2)}.footer p{color:#ffffff8c;margin:0 0 10px;font-size:14px;line-height:1.7}.footer-bottom{color:#fff6;border-top:1px solid #ffffff14;justify-content:space-between;gap:12px;margin-top:40px;padding-top:18px;font-size:13px;display:flex}.state-box{color:var(--muted);padding:48px 0}.state-box p{margin:0 0 20px}.skeleton{background:linear-gradient(90deg,#e8eef5 25%,#f5f8fc 50%,#e8eef5 75%) 0 0/200% 100%;border-radius:4px;height:14px;margin-bottom:14px;animation:1.2s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.not-found{text-align:center;padding:160px 0 100px}.not-found h1{letter-spacing:.08em;margin:0 0 12px;font-size:clamp(40px,8vw,72px)}.not-found p{color:var(--muted);max-width:420px;margin:0 auto 28px}@media (width<=960px){.container{width:min(var(--max), calc(100% - 32px))}.grid-2,.grid-3,.footer-grid,.cta .container,.form-row,.facts,.method-row,.services-head,.detail-layout{grid-template-columns:1fr}.nav{display:none}.nav.open{top:var(--header-h);background:#071a33;border-bottom:1px solid #ffffff14;flex-direction:column;align-items:stretch;gap:18px;padding:18px 24px 28px;display:flex;position:absolute;left:0;right:0}.nav.open .btn{width:100%;margin-left:0}.nav a.active:after,.nav.open a:not(.btn):after{display:none}.menu-btn{place-items:center;display:grid}.section{padding:72px 0}.hero-inner{padding:108px 0 72px}.method-row article{border-right:0;border-bottom:1px solid var(--line);padding:20px 0}.method-row article:last-child{border-bottom:0}.cta .container,.footer-bottom,.services-head{flex-direction:column;align-items:flex-start}.detail-aside{position:static}.page-hero-actions .btn-ghost{border-color:#ffffff57}.timeline article{grid-template-columns:1fr;gap:8px}}
