/* V6.1 — Dify-referenced typography, original Junqian frosted-glass surfaces.
   Söhne is used only when installed locally; the distributable fallback is Inter.
   CJK glyphs use the platform Chinese sans-serif. See fonts/README.md. */
@font-face{font-family:'JQ Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('fonts/InterVariable.woff2') format('woff2')}
:root{--font-sans:'Söhne','JQ Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,'PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;--font-mono:'Söhne Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,'PingFang SC','Microsoft YaHei',monospace;--glass-fill:rgba(255,255,255,.59);--glass-border:rgba(255,255,255,.9);--glass-shadow:0 14px 42px rgba(33,79,146,.07),inset 0 1px 0 rgba(255,255,255,.95)}
body{font-family:var(--font-sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-kerning:normal;font-optical-sizing:auto}
h1,h2,h3,h4{font-family:var(--font-sans);font-weight:500;letter-spacing:-.024em}
h2{font-size:44px;line-height:1.23}.hero-copy h1{font-size:clamp(54px,5.4vw,72px);font-weight:500;letter-spacing:-.03em;line-height:1.19;margin-bottom:28px}.hero-description{font-size:17px;line-height:1.7;color:#475975}.hero-note{font-size:12px;color:#5f718c}.hero-label,.eyebrow,.tile-number,.canvas-version,.canvas-caption,.step::before{font-family:var(--font-mono);font-weight:400}.eyebrow{font-size:11px;letter-spacing:.1em}.hero-label{font-size:11px;letter-spacing:.075em}.service-tile h3,.card h3{font-weight:500;font-size:22px;letter-spacing:-.024em}.service-tile p{font-size:14px;line-height:1.75;color:#54647c}.tile-number{font-size:10px}.tile-bottom{color:#60738e;font-size:11px}.section-heading p:not(.eyebrow){font-size:15px;line-height:1.7}.stage-copy h3{font-weight:500;letter-spacing:-.024em}.trust-grid h3{font-weight:500}.trust-year{font-weight:500;letter-spacing:-.05em}.contact-copy h2{line-height:1.25}.contact-phone{font-weight:500}.btn{font-weight:500;letter-spacing:-.012em}.nav-services summary,#primary-nav{font-size:14px;font-weight:500;letter-spacing:-.024em}.faq-list summary{font-weight:500;font-size:16px}.faq-list details p{line-height:1.8}.page-hero h1{font-weight:500;letter-spacing:-.03em;line-height:1.22}.page-hero p{line-height:1.7}.stage-tabs button{font-weight:500}.v6-footer .footer-links,.v6-footer p{line-height:1.8}
/* Background light sits behind translucent panels, rather than on top of text. */
.v6-hero{position:relative;isolation:isolate;background:linear-gradient(125deg,#fff 2%,#f3f7ff 49%,#eaf1ff 100%)}
.v6-hero::before,.v6-hero::after{content:'';position:absolute;pointer-events:none;z-index:-1;border-radius:50%}
.v6-hero::before{width:580px;height:580px;right:-100px;top:-90px;background:radial-gradient(circle at 40% 50%,rgba(107,160,255,.37),rgba(196,216,255,.28) 48%,transparent 70%);filter:blur(30px)}
.v6-hero::after{width:510px;height:430px;right:270px;top:200px;background:radial-gradient(ellipse,rgba(144,208,250,.25),rgba(212,232,255,.2) 44%,transparent 70%);filter:blur(36px)}
.hero-layout{position:relative;padding-top:100px;padding-bottom:90px;gap:44px}.local-strip{border-color:rgba(141,170,218,.25)}
.v6-header{background:rgba(255,255,255,.66);-webkit-backdrop-filter:blur(26px) saturate(160%);backdrop-filter:blur(26px) saturate(160%);border-bottom:1px solid rgba(255,255,255,.9);box-shadow:0 1px 0 #b5c7e533,0 8px 30px #19458206}
.nav-dropdown{background:rgba(251,253,255,.86);-webkit-backdrop-filter:blur(28px) saturate(160%);backdrop-filter:blur(28px) saturate(160%);border-color:#ffffffef;box-shadow:0 16px 50px #2148751c,inset 0 1px 0 #fff}
.btn-secondary,.menu-toggle,.back-top{background:rgba(255,255,255,.65);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-color:rgba(151,177,216,.34);box-shadow:inset 0 1px 0 #fff,0 4px 14px #294d8405}
.service-canvas{background:linear-gradient(145deg,rgba(255,255,255,.68),rgba(242,248,255,.36));border:1px solid rgba(255,255,255,.94);-webkit-backdrop-filter:blur(24px) saturate(160%);backdrop-filter:blur(24px) saturate(160%);box-shadow:0 32px 85px #2454aa1b,0 4px 16px #3267c509,inset 0 1px 0 #fff;transform:perspective(1400px) rotateY(-3deg) rotateX(1deg)}
.canvas-top{background:linear-gradient(120deg,#ffffff7a,#ffffff1a);border-color:#ffffffb3}.canvas-bottom{background:#ffffff4d;border-color:#ffffffb3;color:#516887}.canvas-top{color:#536985}.canvas-body{background-image:radial-gradient(#a7bfe580 .8px,transparent .8px),radial-gradient(ellipse at 68% 55%,#a5c4ff5c,transparent 70%);background-size:16px 16px,100% 100%}
.flow-node{background:rgba(255,255,255,.69);-webkit-backdrop-filter:blur(14px) saturate(145%);backdrop-filter:blur(14px) saturate(145%);border-color:#ffffffed;box-shadow:0 8px 24px #22467b0a,inset 0 1px 0 #fff}.flow-node small{color:#5f718b}.flow-node strong{font-weight:500;font-size:13px}.flow-center{background:linear-gradient(145deg,#ffffffa6,#ebf4ff75);border-color:#ffffff;box-shadow:0 10px 35px #075cff1c,inset 0 1px 0 #fff}.flow-center p{font-weight:500}.node-icon{background:linear-gradient(140deg,#ffffffd9,#dcecff8c);border-color:#ffffffbc}.canvas-path{border-color:#83acf0}.canvas-caption{color:#637b9d}
.services-section,.trust-section{position:relative;isolation:isolate;background:#f9fbff;overflow:hidden}
.services-section::before,.trust-section::before{content:'';position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse at 13% 35%,#d2e2ff91,transparent 50%),radial-gradient(ellipse at 92% 78%,#d9edffab,transparent 55%)}
.service-tile{background:linear-gradient(145deg,rgba(255,255,255,.73),rgba(255,255,255,.38));border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(20px) saturate(145%);backdrop-filter:blur(20px) saturate(145%)}
.service-tile:hover{background:linear-gradient(145deg,#ffffffd9,#ffffff91);border-color:#fff;box-shadow:0 22px 50px #174eac12,inset 0 1px 0 #fff;transform:translateY(-4px)}.service-icon{background:linear-gradient(145deg,#ffffffa8,#e1ecff85);border-color:#ffffffd9;box-shadow:inset 0 1px 0 #fff}.tile-bottom{border-color:#a7c0e52e}
.stage-section{background:radial-gradient(ellipse at 65% 30%,#e4efff,transparent 70%),#f4f8ff;border-color:#e4edf9}.stage-tabs{background:rgba(210,226,250,.4);border:1px solid #ffffffb3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.stage-tabs button[aria-selected=true]{background:rgba(255,255,255,.86);box-shadow:0 3px 10px #2b508513,inset 0 1px 0 #fff}.stage-panel{background:var(--glass-fill);border-color:#fff;box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.stage-visual{background:radial-gradient(ellipse at 40% 32%,#bcd6ff75,transparent 75%),linear-gradient(140deg,#eaf3ff4d,#ffffff26)}.stage-visual>div{background:#ffffffa6;border-color:#ffffff;box-shadow:0 7px 20px #214c8510,inset 0 1px 0 #fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.stage-visual>div:nth-child(4){background:linear-gradient(120deg,#075cff,#347dff);border-color:#82aeff;box-shadow:0 8px 22px #075cff26,inset 0 1px 0 #ffffff66}
.trust-grid article{background:var(--glass-fill);border-color:#fff;box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%)}.trust-grid .trust-local{background:linear-gradient(145deg,#ffffff7a,#e1eeff75)}.trust-grid p:not(.eyebrow){color:#54647c}.role-chips span{background:#ffffff80;border-color:#fff;color:#4d6487}.local-art{opacity:.9}.local-art i{background:linear-gradient(130deg,#a9cbff55,#eff6ff80);border-color:#ffffffad;box-shadow:inset 0 1px 0 #fff}
.v6-contact{position:relative;background:radial-gradient(ellipse at 85% 65%,#bcd8ff99,transparent 52%),radial-gradient(ellipse at 20% 15%,#e2edff,transparent 65%),#f0f6ff}.consult-card{background:linear-gradient(140deg,#ffffffbf,#ffffff75);border-color:#fff;box-shadow:0 20px 60px #2155a012,inset 0 1px 0 #fff;-webkit-backdrop-filter:blur(24px) saturate(150%);backdrop-filter:blur(24px) saturate(150%)}.consult-card select,.consult-card textarea{background:#ffffff87;border-color:#b2c8e654}.contact-detail{border-color:#a3bfe54d}.mobile-bar{background:rgba(255,255,255,.69);-webkit-backdrop-filter:blur(22px) saturate(155%);backdrop-filter:blur(22px) saturate(155%);border-color:#ffffffcc;box-shadow:0 -1px 0 #aec4e54d}
.page-hero{background:radial-gradient(ellipse at 85% 60%,#d9e8ffb3,transparent 60%),linear-gradient(115deg,#fcfdff,#eff5ff)}.page-card,.about-card,.card,.advantage,.contact-location{background:var(--glass-fill);border-color:rgba(226,234,247,.8);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.section-blue{background:radial-gradient(ellipse at 20% 80%,#e3efff,transparent 70%),#f7faff}.cert-box{background:#fff}
@media(max-width:1100px){.hero-copy h1{font-size:60px}.hero-layout{gap:32px}.flow-node strong{font-size:12px}.section-heading h2{font-size:40px}}
@media(max-width:900px){.hero-copy h1{font-size:48px}.hero-description{font-size:15px}.hero-label{font-size:10px}.hero-note{font-size:11px}.hero-layout{padding-top:65px;padding-bottom:60px}.section-heading h2,h2{font-size:36px}.section-heading p:not(.eyebrow){font-size:14px}.flow-node strong{font-size:11px}.service-tile h3{font-size:22px}.js .menu-toggle{background:rgba(255,255,255,.62)}.v6-hero::before{width:420px;height:420px;right:-100px;top:0}.v6-hero::after{width:320px;height:320px;right:100px;top:200px}.nav-services summary,#primary-nav{font-size:13px}}
@media(max-width:650px){.hero-copy h1{font-size:48px;font-weight:500;letter-spacing:-.03em;line-height:1.2;margin-bottom:23px}.hero-description{font-size:15px;line-height:1.75}.hero-description br{display:none}.hero-layout{padding-top:48px;padding-bottom:35px;gap:38px}.hero-note{font-size:10px}.hero-label{font-size:10px;letter-spacing:.055em}.hero-buttons .btn{font-weight:500}.section-heading h2,h2{font-size:32px;letter-spacing:-.024em}.section-heading p:not(.eyebrow){font-size:14px}.eyebrow{font-size:10px}.service-tile h3{font-size:22px}.service-tile p{font-size:14px}.tile-bottom{font-size:10px}.page-hero h1{font-size:34px}.faq-list summary{font-size:15px}.faq-list details p{font-size:14px}.contact-phone{font-size:32px}.contact-copy>p:not(.eyebrow){font-size:14px}.v6-hero::before{width:390px;height:460px;right:-170px;top:370px}.v6-hero::after{width:300px;height:400px;right:20px;top:500px}.service-canvas{transform:none;-webkit-backdrop-filter:blur(16px) saturate(145%);backdrop-filter:blur(16px) saturate(145%)}.v6-header,.nav-dropdown{-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%)}.service-tile,.stage-panel,.trust-grid article,.consult-card{-webkit-backdrop-filter:blur(12px) saturate(135%);backdrop-filter:blur(12px) saturate(135%)}.flow-node strong{font-size:11px}.tile-number{font-size:10px}.canvas-top{font-size:9px}.canvas-bottom{font-size:8px}}
@media(max-width:360px){.hero-copy h1{font-size:42px}.hero-description{font-size:14px}.hero-buttons .btn{gap:13px;padding-inline:17px}.contact-phone{font-size:29px}.section-heading h2,h2{font-size:30px}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.v6-header,.nav-dropdown,.mobile-bar{background:#f8fbff}.service-canvas,.service-tile,.flow-node,.stage-panel,.trust-grid article,.consult-card,.page-card,.about-card,.card,.advantage,.contact-location{background:#f9fbff}}
@media(prefers-reduced-transparency:reduce){.v6-header,.nav-dropdown,.mobile-bar,.service-canvas,.service-tile,.flow-node,.stage-panel,.trust-grid article,.consult-card,.page-card,.about-card,.card,.advantage,.contact-location{background:#fafcff;-webkit-backdrop-filter:none;backdrop-filter:none}}
@media print{.v6-hero,.services-section,.trust-section,.stage-section,.v6-contact{background:#fff}.v6-hero::before,.v6-hero::after,.services-section::before,.trust-section::before{display:none}.service-canvas,.service-tile,.flow-node,.stage-panel,.trust-grid article,.consult-card,.page-card,.about-card,.card,.advantage{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}}
/* Keep absolute-positioned diagram cards apart on 320–360px phones. */
@media(max-width:360px){.canvas-body{height:340px}.flow-center{top:140px}.path-one{height:107px}.path-two{height:64px}.path-three{height:50px}}
