*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px;line-height:1.6;-webkit-text-size-adjust:100%}
body{font-family:'PingFang SC','Noto Sans SC','Microsoft YaHei',-apple-system,BlinkMacSystemFont,sans-serif;color:#1A1A1A;background:#F9F9F9;min-height:100vh;display:flex;flex-direction:column}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
:focus-visible{outline:3px solid #FF6B35;outline-offset:2px;border-radius:4px}
:root{--color-primary-orange:#FF6B35;--color-primary-blue:#1E90FF;--color-orange-gradient-start:#FF6B35;--color-orange-gradient-end:#FF8C42;--color-blue-dark:#0A3D62;--color-blue-light:#E8F4FD;--color-bg-light:#F9F9F9;--color-text-dark:#1A1A1A;--color-text-light:#FFFFFF;--color-accent-purple:#8E44AD;--color-success-green:#27AE60;--color-warning-amber:#F39C12;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:30px;--radius-full:9999px;--shadow-sm:0 2px 8px rgba(0,0,0,0.06);--shadow-md:0 4px 20px rgba(0,0,0,0.08);--shadow-lg:0 8px 40px rgba(0,0,0,0.12);--transition-fast:0.18s cubic-bezier(0.25,0.46,0.45,0.94);--transition-base:0.28s cubic-bezier(0.25,0.46,0.45,0.94);--font-heading:'PingFang SC','Noto Sans SC','Microsoft YaHei',sans-serif;--font-body:'PingFang SC','Noto Sans SC','Microsoft YaHei',sans-serif;--max-width:1200px;--header-height:68px}
.skip-link{position:fixed;top:-60px;left:16px;z-index:10000;padding:10px 24px;background:#FF6B35;color:#FFFFFF;border-radius:0 0 12px 12px;font-weight:600;font-size:0.95rem;transition:top 0.28s cubic-bezier(0.25,0.46,0.45,0.94)}
.skip-link:focus{top:0;outline:none;box-shadow:0 4px 20px rgba(255,107,53,0.35)}
.site-header{position:sticky;top:0;z-index:1000;background:#FFFFFF;box-shadow:0 2px 16px rgba(0,0,0,0.06);border-bottom:1px solid rgba(0,0,0,0.04)}
.header-inner{max-width:var(--max-width);margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:var(--header-height);position:relative}
.brand{flex-shrink:0}
.brand-link{font-family:var(--font-heading);font-weight:900;font-size:1.6rem;letter-spacing:-0.01em;background:linear-gradient(135deg,var(--color-primary-orange),var(--color-orange-gradient-end));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transition:opacity var(--transition-fast)}
.brand-link:hover{opacity:0.82}
.nav-toggle{display:none;background:none;border:2px solid #E0E0E0;border-radius:var(--radius-sm);width:44px;height:44px;cursor:pointer;align-items:center;justify-content:center;transition:border-color var(--transition-fast);position:relative}
.nav-toggle:hover{border-color:var(--color-primary-orange)}
.nav-toggle-icon,.nav-toggle-icon::before,.nav-toggle-icon::after{display:block;width:22px;height:2.5px;background:#1A1A1A;border-radius:2px;transition:transform 0.28s cubic-bezier(0.25,0.46,0.45,0.94),background 0.28s}
.nav-toggle-icon{position:relative}
.nav-toggle-icon::before,.nav-toggle-icon::after{content:'';position:absolute;left:0}
.nav-toggle-icon::before{top:-7px}
.nav-toggle-icon::after{top:7px}
.nav-toggle[aria-expanded="true"] .nav-toggle-icon{background:transparent}
.nav-toggle[aria-expanded="true"] .nav-toggle-icon::before{transform:translateY(7px) rotate(45deg);background:var(--color-primary-orange)}
.nav-toggle[aria-expanded="true"] .nav-toggle-icon::after{transform:translateY(-7px) rotate(-45deg);background:var(--color-primary-orange)}
.nav{display:flex;align-items:center}
.nav-list{display:flex;gap:2px;align-items:center}
.nav-item{margin:0}
.nav-link{display:block;padding:10px 18px;font-family:var(--font-body);font-weight:500;font-size:0.95rem;color:#2C2C2C;border-radius:var(--radius-lg);transition:background var(--transition-fast),color var(--transition-fast);position:relative;letter-spacing:0.02em}
.nav-link:hover{background:rgba(255,107,53,0.08);color:var(--color-primary-orange)}
.nav-link[aria-current="page"]{color:var(--color-primary-orange);font-weight:700;background:rgba(255,107,53,0.06)}
.nav-link[aria-current="page"]::after{content:'';position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:20px;height:3px;background:var(--color-primary-orange);border-radius:var(--radius-full)}
.scroll-progress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--color-primary-orange),var(--color-primary-blue));width:0%;z-index:1002;border-radius:0 2px 2px 0;transition:width 0.1s linear;will-change:width}
.site-footer{background:var(--color-blue-dark);color:rgba(255,255,255,0.92);padding:48px 0 0;margin-top:auto;border-top:4px solid var(--color-primary-orange)}
.footer-inner{max-width:var(--max-width);margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1.4fr 1fr 1.4fr;gap:40px}
.footer-brand-name{font-family:var(--font-heading);font-weight:900;font-size:1.5rem;background:linear-gradient(135deg,var(--color-primary-orange),var(--color-orange-gradient-end));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}
.footer-tagline{font-size:0.95rem;line-height:1.6;color:rgba(255,255,255,0.7);margin-bottom:10px}
.footer-note{font-size:0.85rem;color:rgba(255,255,255,0.55);line-height:1.5;font-style:italic}
.footer-heading{font-family:var(--font-heading);font-weight:700;font-size:1.05rem;color:#FFFFFF;margin-bottom:16px;letter-spacing:0.05em;text-transform:uppercase;position:relative;padding-bottom:8px}
.footer-heading::after{content:'';position:absolute;bottom:0;left:0;width:32px;height:3px;background:var(--color-primary-orange);border-radius:var(--radius-full)}
.footer-link-list{display:flex;flex-direction:column;gap:10px}
.footer-link-list a{color:rgba(255,255,255,0.78);font-size:0.95rem;transition:color var(--transition-fast),padding-left var(--transition-fast);padding:2px 0}
.footer-link-list a:hover{color:var(--color-primary-orange);padding-left:6px}
.footer-contact p{font-size:0.92rem;color:rgba(255,255,255,0.78);margin-bottom:8px;line-height:1.6}
.footer-contact a{color:var(--color-primary-blue);transition:color var(--transition-fast)}
.footer-contact a:hover{color:var(--color-primary-orange);text-decoration:underline}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.08);margin-top:36px;padding:18px 24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 24px;font-size:0.85rem;color:rgba(255,255,255,0.5)}
.footer-icp,.footer-copy{margin:0}
.back-to-top{position:fixed;bottom:32px;right:32px;z-index:999;width:50px;height:50px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary-orange),var(--color-orange-gradient-end));color:#FFFFFF;font-size:1.6rem;font-weight:700;border:none;cursor:pointer;box-shadow:0 6px 24px rgba(255,107,53,0.35);display:flex;align-items:center;justify-content:center;transition:transform var(--transition-base),opacity var(--transition-base),box-shadow var(--transition-base);opacity:0;transform:translateY(20px) scale(0.8);pointer-events:none;line-height:1}
.back-to-top[data-visible="true"]{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.back-to-top:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 10px 32px rgba(255,107,53,0.45)}
.back-to-top:active{transform:translateY(0) scale(0.95)}
@media(max-width:768px){.nav-toggle{display:flex}.nav{position:absolute;top:var(--header-height);left:0;right:0;background:#FFFFFF;box-shadow:0 12px 32px rgba(0,0,0,0.1);border-radius:0 0 var(--radius-md) var(--radius-md);padding:12px 16px 20px;max-height:0;overflow:hidden;opacity:0;visibility:hidden;transition:max-height 0.35s cubic-bezier(0.25,0.46,0.45,0.94),opacity 0.28s,visibility 0.28s}.nav[data-open]{max-height:420px;opacity:1;visibility:visible}.nav-list{flex-direction:column;gap:2px;width:100%}.nav-link{padding:12px 20px;font-size:1.05rem;border-radius:var(--radius-sm);width:100%}.nav-link[aria-current="page"]{background:rgba(255,107,53,0.08)}.nav-link[aria-current="page"]::after{display:none}.footer-inner{grid-template-columns:1fr;gap:28px}.footer-heading::after{width:28px}.footer-bottom{flex-direction:column;text-align:center;padding:16px 24px}.back-to-top{bottom:20px;right:20px;width:44px;height:44px;font-size:1.4rem}}
@media(min-width:769px)and (max-width:1024px){.footer-inner{grid-template-columns:1fr 1fr;gap:32px}.footer-brand{grid-column:1/-1}.nav-link{padding:8px 14px;font-size:0.9rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:0.01ms!important;animation-duration:0.01ms!important;animation-iteration-count:1!important}.back-to-top{transition:none!important}.nav{transition:none!important}.skip-link{transition:none!important}}
