/* 官网独立视觉系统：纯白底色、Logo 绿 #07C160、真实小程序界面。样式仅在官网加载。 */
:root {
  --ec-ink:#18251e;
  --ec-muted:#68736d;
  --ec-green:#07c160;
  --ec-green-hover:#06ad56;
  --ec-green-text:#078342;
  --ec-green-soft:#edfbf3;
  --ec-button-text:#073b22;
  --ec-deep:#073b22;
  --ec-paper:#ffffff;
  --ec-sage:#ffffff;
  --ec-line:#e3eae6;
  --ec-header:80px;
  --ec-font:"SF Pro Display","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:104px;
}
body.qun-home {
  margin:0;
  background:var(--ec-paper);
  color:var(--ec-ink);
  font-family:var(--ec-font);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
body.ec-modal-open {
  overflow:hidden;
}
a {
  color:inherit;
  text-decoration:none;
}
button {
  font:inherit;
  color:inherit;
}
img {
  display:block;
  max-width:100%;
  height:auto;
}
h1,h2,h3,p,figure {
  margin:0;
}
button,a,summary {
  -webkit-tap-highlight-color:transparent;
}
button {
  cursor:pointer;
}
button:disabled {
  cursor:default;
}
summary {
  cursor:pointer;
}
::selection {
  background:#cdf5e0;
  color:var(--ec-deep);
}
:focus-visible {
  outline:3px solid #07c160;
  outline-offset:6px;
}
main:focus {
  outline:none;
}
[hidden] {
  display:none!important;
}
.ec-container {
  width:min(1200px,calc(100% - 112px));
  margin-inline:auto;
}
.ec-section {
  padding-block:112px;
}
.ec-eyebrow {
  font-size:13px;
  font-weight:600;
  letter-spacing:.16em;
  color:var(--ec-green-text);
  margin-bottom:22px;
}
.ec-section-heading {
  margin-bottom:52px;
}
.ec-section-heading h2,.ec-detail-copy h2 {
  font-size:42px;
  line-height:1.4;
  letter-spacing:-1.5px;
  font-weight:600;
}
.ec-section-heading p:not(.ec-eyebrow) {
  margin-top:20px;
  color:var(--ec-muted);
  line-height:1.9;
}
.ec-section-heading--split {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:50px;
}
.ec-section-heading--split>p {
  font-size:15px;
  margin-bottom:7px;
}
.ec-button {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:28px;
  min-height:54px;
  padding:14px 25px;
  border:1px solid var(--ec-green);
  border-radius:999px;
  background:var(--ec-green);
  color:var(--ec-button-text);
  font-size:14px;
  font-weight:600;
  line-height:1.4;
  transition:background .2s,transform .2s,box-shadow .2s;
  white-space:nowrap;
}
.ec-button:hover {
  background:var(--ec-green-hover);
  border-color:var(--ec-green-hover);
  transform:translateY(-2px);
  box-shadow:0 8px 16px #07c1601a;
}
.ec-button--small {
  min-height:42px;
  padding:10px 19px;
  font-size:13px;
  gap:20px;
}
.ec-text-link {
  display:inline-flex;
  align-items:center;
  gap:22px;
  font-size:14px;
  font-weight:600;
  color:var(--ec-ink);
}
.ec-text-link>span,.ec-button>span {
  display:inline-block;
  transition:transform .2s;
}
.ec-text-link:hover>span,.ec-button:hover>span {
  transform:translate(3px,-2px);
}
.ec-actions {
  display:flex;
  align-items:center;
  gap:30px;
  flex-wrap:wrap;
}
.ec-skip {
  position:fixed;
  left:20px;
  top:-100px;
  z-index:100;
  background:white;
  padding:12px 20px;
}
.ec-skip:focus {
  top:12px;
}
/* 清晰的导航层级，桌面下拉与手机折叠菜单共用原生 details。 */
.ec-header {
  position:sticky;
  top:0;
  z-index:30;
  height:var(--ec-header);
  background:#fffffff5;
  backdrop-filter:blur(18px);
  border-bottom:1px solid transparent;
  transition:border-color .2s;
}
.is-scrolled .ec-header {
  border-color:var(--ec-line);
}
.ec-header__inner {
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}
.ec-brand {
  display:inline-flex;
  align-items:center;
  gap:11px;
  flex-shrink:0;
}
.ec-brand>img {
  border-radius:50%;
}
.ec-brand>span {
  font-size:22px;
  line-height:1.1;
  font-weight:650;
  letter-spacing:-.5px;
}
.ec-brand small {
  display:block;
  font-size:9px;
  font-weight:500;
  letter-spacing:1.3px;
  color:var(--ec-muted);
  margin-top:6px;
}
.ec-nav {
  display:flex;
  align-items:center;
  gap:30px;
  font-size:13px;
  font-weight:500;
}
.ec-nav>a,.ec-nav-menu>summary {
  padding-block:28px;
  white-space:nowrap;
}
.ec-nav>a:hover,.ec-nav-menu>summary:hover {
  color:var(--ec-green-text);
}
.ec-nav-menu>summary {
  list-style:none;
  display:flex;
  gap:6px;
  align-items:center;
}
.ec-nav-menu>summary::-webkit-details-marker {
  display:none;
}
.ec-nav-menu>summary span {
  font-size:16px;
  transition:transform .2s;
}
.ec-nav-menu[open]>summary span {
  transform:rotate(180deg);
}
.ec-nav-dropdown {
  position:absolute;
  top:calc(100% - 1px);
  left:50%;
  transform:translateX(-50%);
  width:min(1040px,calc(100vw - 80px));
  background:#fff;
  padding:30px 36px;
  border:1px solid var(--ec-line);
  border-radius:0 0 20px 20px;
  box-shadow:0 24px 45px #12271b12;
}
.ec-nav-dropdown .ec-eyebrow {
  margin-bottom:14px;
}
.ec-menu-types {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px 20px;
}
.ec-menu-types .ec-type {
  padding:12px 5px;
  border:none;
}
.ec-menu-types .ec-type__icon {
  width:34px;
  height:34px;
  border-radius:10px;
}
.ec-menu-types .ec-type__icon img {
  width:19px;
}
.ec-menu-types .ec-type strong {
  font-size:13px;
}
.ec-menu-types .ec-type small {
  font-size:11px;
}
.ec-menu-types .ec-type__arrow {
  display:none;
}
.ec-nav-dropdown--scenes {
  width:700px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:25px;
}
.ec-nav-dropdown--scenes>a {
  padding:16px 8px;
}
.ec-nav-dropdown--scenes strong,.ec-nav-dropdown--scenes small {
  display:block;
}
.ec-nav-dropdown--scenes small {
  font-size:12px;
  color:var(--ec-muted);
  margin-top:6px;
}
.ec-nav-dropdown--scenes>a:hover {
  color:var(--ec-green-text);
}
.ec-menu-toggle {
  display:none;
}
/* 首屏：完整的白色画布，以真实界面和 Logo 绿建立产品识别。 */
.ec-hero {
  background:var(--ec-sage);
  overflow:hidden;
  position:relative;
}
.ec-hero__inner {
  display:grid;
  grid-template-columns:45% 55%;
  align-items:center;
  min-height:min(710px,calc(100svh - 132px));
  padding-top:35px;
  padding-bottom:30px;
}
.ec-hero__copy {
  position:relative;
  z-index:3;
}
.ec-hero__intro {
  font-size:12px;
  letter-spacing:.13em;
  margin-bottom:24px;
}
.ec-hero h1 {
  font-size:84px;
  line-height:1.15;
  font-weight:650;
  letter-spacing:-4px;
}
.ec-hero h1>span {
  display:block;
  margin-top:23px;
  font-size:43px;
  line-height:1.4;
  letter-spacing:-1.8px;
  font-weight:500;
}
.ec-hero__lead {
  font-size:14px;
  color:var(--ec-muted);
  line-height:1.95;
  margin:25px 0 31px;
}
.ec-hero__note {
  font-size:11px;
  color:#77827b;
  letter-spacing:.03em;
  margin-top:20px;
}
.ec-hero__visual {
  height:570px;
  position:relative;
  min-width:0;
  margin-right:-35px;
}
.ec-hero__orbit {
  position:absolute;
  inset:18px -100px 0 -14px;
  border-radius:50%;
  background:transparent;
  transform:rotate(-25deg);
}
.ec-hero__orbit::after {
  content:"";
  position:absolute;
  inset:40px -45px;
  border:1px solid #d5f0e180;
  border-radius:50%;
}
.ec-hero__phone {
  position:absolute;
  transform-origin:50% 65%;
}
.ec-hero__phone--main {
  width:247px;
  left:calc(50% - 124px);
  top:17px;
  z-index:3;
  transform:rotate(-3deg);
}
.ec-hero__phone--left {
  width:209px;
  left:0;
  top:77px;
  z-index:1;
  transform:rotate(-13deg);
}
.ec-hero__phone--right {
  width:209px;
  right:-4px;
  top:102px;
  z-index:2;
  transform:rotate(11deg);
}
.ec-hero__phone .ec-shot figcaption {
  display:none;
}
.ec-hero__phone .ec-shot__frame {
  padding:6px;
  border-radius:30px;
  box-shadow:0 24px 42px #12271b1c,0 2px 4px #12271b0f;
}
.ec-hero__phone .ec-shot img {
  border-radius:24px;
}
.ec-hero__phone .ec-shot__zoom {
  font-size:10px;
}
.ec-hero__visual-note {
  position:absolute;
  right:18px;
  bottom:0;
  z-index:5;
  font-size:11px;
  letter-spacing:.1em;
  color:#748078;
}
.ec-hero__bottom {
  height:52px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-top:1px solid var(--ec-line);
  font-size:10px;
  letter-spacing:.12em;
  color:#748078;
}
.ec-hero__bottom a {
  display:flex;
  gap:24px;
}
.ec-hero__copy {
  animation:ec-enter .8s both;
}
.ec-hero__phone--main {
  animation:ec-phone-main 1s .15s both;
}
.ec-hero__phone--left {
  animation:ec-phone-left 1s .3s both;
}
.ec-hero__phone--right {
  animation:ec-phone-right 1s .4s both;
}
@keyframes ec-enter {
  from {
    opacity:0;
    translate:0 24px;
  }
  to {
    opacity:1;
    translate:0 0;
  }
}
@keyframes ec-phone-main {
  from {
    opacity:0;
    translate:0 45px;
    rotate:4deg;
  }
  to {
    opacity:1;
    translate:0 0;
    rotate:0deg;
  }
}
@keyframes ec-phone-left {
  from {
    opacity:0;
    translate:65px 30px;
    rotate:9deg;
  }
  to {
    opacity:1;
    translate:0 0;
    rotate:0deg;
  }
}
@keyframes ec-phone-right {
  from {
    opacity:0;
    translate:-60px 30px;
    rotate:-9deg;
  }
  to {
    opacity:1;
    translate:0 0;
    rotate:0deg;
  }
}
/* 产品截图始终完整显示，点击原生对话框放大阅读。 */
.ec-shot {
  width:100%;
  margin:0;
}
.ec-shot__frame {
  position:relative;
  display:block;
  padding:7px;
  background:#fff;
  border:1px solid var(--ec-line);
  border-radius:28px;
  box-shadow:0 20px 45px #12271b12;
  overflow:hidden;
  transition:transform .35s,box-shadow .35s;
  cursor:zoom-in;
}
.ec-shot__frame:hover {
  transform:translateY(-5px);
  box-shadow:0 26px 50px #12271b1c;
}
.ec-shot img {
  width:100%;
  height:auto;
  border-radius:20px;
}
.ec-shot figcaption {
  text-align:center;
  color:var(--ec-muted);
  font-size:11px;
  line-height:1.6;
  margin:18px -15px 0;
}
.ec-shot figcaption>span {
  color:var(--ec-green-text);
}
.ec-shot__zoom {
  position:absolute;
  bottom:19px;
  left:50%;
  transform:translate(-50%,5px);
  opacity:0;
  transition:opacity .2s,transform .2s;
  background:#073b22f2;
  color:white;
  white-space:nowrap;
  border-radius:20px;
  padding:7px 14px;
  font-size:11px;
}
.ec-shot__frame:hover .ec-shot__zoom,.ec-shot__frame:focus-visible .ec-shot__zoom {
  opacity:1;
  transform:translate(-50%,0);
}
/* 功能目录以分隔线组织，图标沿用 Phosphor 官方 Bold。 */
.ec-types-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  column-gap:30px;
}
.ec-type {
  display:flex;
  align-items:center;
  gap:14px;
  padding:24px 0;
  border-bottom:1px solid var(--ec-line);
  position:relative;
  transition:color .2s;
}
.ec-type__icon {
  width:42px;
  height:42px;
  background:var(--ec-green);
  border-radius:13px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  transition:transform .25s,background .25s;
}
.ec-type__icon img {
  width:23px;
  height:23px;
}
.ec-type strong {
  display:block;
  font-size:15px;
  font-weight:600;
}
.ec-type small {
  display:block;
  font-size:11px;
  color:var(--ec-muted);
  margin-top:3px;
}
.ec-type__arrow {
  font-size:16px;
  color:#85988d;
  margin-left:auto;
  transition:transform .25s;
}
.ec-type:hover {
  color:var(--ec-green-text);
}
.ec-type:hover .ec-type__icon {
  background:var(--ec-green-hover);
  transform:translateY(-3px);
}
.ec-type:hover .ec-type__arrow {
  transform:translate(2px,-3px);
}
/* 四步产品演示：选择步骤切换截图，不强制自动播放。 */
.ec-tour {
  background:var(--ec-paper);
}
.ec-tour__grid {
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:85px;
  align-items:start;
}
.ec-tour__tabs {
  padding-top:28px;
  position:sticky;
  top:120px;
}
.ec-tour-tab {
  display:grid;
  grid-template-columns:36px 1fr 22px;
  gap:17px;
  text-align:left;
  padding:25px 22px 25px 0;
  width:100%;
  border:none;
  border-top:1px solid var(--ec-line);
  background:transparent;
  transition:padding .3s,background .3s;
  border-radius:0;
}
.ec-tour-tab:last-child {
  border-bottom:1px solid var(--ec-line);
}
.ec-tour-tab__number {
  font-size:11px;
  font-weight:600;
  padding-top:5px;
  color:#76877d;
}
.ec-tour-tab small {
  font-size:11px;
  color:var(--ec-muted);
  display:block;
  margin-bottom:5px;
}
.ec-tour-tab strong {
  display:block;
  font-size:21px;
  line-height:1.5;
  font-weight:550;
}
.ec-tour-tab__description {
  display:none;
  font-size:13px;
  line-height:1.9;
  color:var(--ec-muted);
  margin-top:15px;
  max-width:320px;
}
.ec-tour-tab__arrow {
  padding-top:7px;
  color:#85988d;
}
.ec-tour-tab.is-active {
  padding-left:22px;
  background:var(--ec-green-soft);
  border-color:transparent;
  border-radius:12px;
}
.ec-tour-tab.is-active+.ec-tour-tab {
  border-color:transparent;
}
.ec-tour-tab.is-active .ec-tour-tab__number,.ec-tour-tab.is-active strong,.ec-tour-tab.is-active .ec-tour-tab__arrow {
  color:var(--ec-green-text);
}
.ec-tour-tab.is-active .ec-tour-tab__description {
  display:block;
}
.ec-tour__stage {
  min-width:0;
  position:relative;
}
.ec-tour-panel {
  display:flex;
  align-items:center;
  flex-direction:column;
  position:relative;
  min-height:653px;
  animation:ec-enter .45s both;
}
.ec-tour-panel>.ec-shot {
  width:255px;
  position:relative;
  z-index:1;
}
.ec-tour-panel .ec-shot figcaption {
  font-size:10px;
}
.ec-tour-panel__number {
  position:absolute;
  top:60px;
  left:0;
  font-size:250px;
  line-height:1;
  font-weight:600;
  letter-spacing:-22px;
  color:#e4f8ed;
  pointer-events:none;
}
.ec-tour-panel__caption {
  margin-top:20px;
  text-align:center;
  position:relative;
  z-index:1;
  font-size:13px;
  color:var(--ec-muted);
}
.ec-tour-panel__caption .ec-text-link {
  font-size:12px;
  margin-top:12px;
}
/* 图片与签字、场景、模板叙事。 */
.ec-media-story {
  display:grid;
  grid-template-columns:1.12fr 1fr;
  gap:90px;
  align-items:center;
}
.ec-media-story__visual {
  display:flex;
  gap:22px;
  align-items:center;
  background:var(--ec-paper);
  padding:50px 32px;
  border-radius:6px;
  min-width:0;
  position:relative;
}
.ec-media-story__phone {
  width:calc(50% - 11px);
}
.ec-media-story__phone:first-child {
  transform:translateY(-20px);
}
.ec-media-story__phone:last-child {
  transform:translateY(20px);
}
.ec-media-story__phone figcaption {
  font-size:10px;
  margin-inline:-8px;
}
.ec-media-story__phone figcaption span {
  display:none;
}
.ec-detail-copy>p:not(.ec-eyebrow):not(.ec-detail-note) {
  font-size:15px;
  line-height:1.95;
  color:var(--ec-muted);
  margin-top:25px;
}
.ec-detail-copy .ec-text-link {
  margin-top:24px;
}
.ec-check-list {
  padding:0;
  list-style:none;
  margin:26px 0 0;
  color:#4f6458;
  font-size:13px;
}
.ec-check-list li {
  padding:10px 0;
  border-bottom:1px solid var(--ec-line);
}
.ec-check-list li::before {
  content:"·";
  margin-right:12px;
  color:var(--ec-green-text);
  font-weight:bold;
}
.ec-scenes {
  background:var(--ec-paper);
}
.ec-scene-columns {
  display:grid;
  grid-template-columns:repeat(3,1fr);
}
.ec-scene-link {
  display:block;
  padding:12px 45px 4px;
  border-left:1px solid var(--ec-line);
  position:relative;
}
.ec-scene-link:first-child {
  padding-left:0;
  border-left:0;
}
.ec-scene-link:last-child {
  padding-right:0;
}
.ec-scene-link__number {
  font-size:11px;
  letter-spacing:.08em;
  color:#748078;
}
.ec-scene-link>img {
  width:32px;
  height:32px;
  box-sizing:content-box;
  padding:12px;
  background:var(--ec-green);
  border-radius:50%;
  margin:32px 0 25px;
  transition:transform .3s;
}
.ec-scene-link:hover>img {
  transform:translateY(-5px) rotate(-5deg);
}
.ec-scene-link h3 {
  font-size:27px;
  line-height:1.5;
  letter-spacing:-.8px;
  font-weight:550;
}
.ec-scene-link p {
  font-size:13px;
  line-height:1.9;
  color:var(--ec-muted);
  margin:20px 0 34px;
  max-width:285px;
}
.ec-scene-link .ec-text-link {
  font-size:12px;
  display:flex;
  justify-content:space-between;
}
.ec-template-story {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:95px;
  align-items:center;
  border-bottom:1px solid var(--ec-line);
}
.ec-template-story .ec-button {
  margin-top:32px;
}
.ec-template-story .ec-template-story__note {
  font-size:11px!important;
  margin-top:22px!important;
  color:#748078!important;
}
.ec-template-story__visual {
  position:relative;
  background:var(--ec-paper);
  padding:40px;
  display:flex;
  justify-content:flex-end;
  border-radius:50% 50% 5px 5px;
}
.ec-template-story__visual>.ec-shot {
  width:245px;
  position:relative;
  z-index:1;
}
.ec-template-story__word {
  font-size:74px;
  line-height:1.3;
  letter-spacing:-5px;
  color:#d5f4e3;
  position:absolute;
  left:0;
  top:24%;
  font-weight:650;
  z-index:0;
}
.ec-faq-grid {
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:100px;
}
.ec-faq-list {
  border-top:1px solid var(--ec-line);
}
.ec-faq-list details {
  border-bottom:1px solid var(--ec-line);
}
.ec-faq-list summary {
  padding:25px 28px 25px 0;
  font-size:16px;
  font-weight:550;
  position:relative;
  list-style:none;
}
.ec-faq-list summary::-webkit-details-marker {
  display:none;
}
.ec-faq-list summary::after {
  content:"+";
  position:absolute;
  right:2px;
  top:25px;
  font-weight:400;
  font-size:19px;
  color:var(--ec-green-text);
}
.ec-faq-list details[open] summary::after {
  content:"−";
}
.ec-faq-list details[open] summary {
  color:var(--ec-green-text);
}
.ec-faq-list details p {
  padding:0 28px 25px 0;
  font-size:13px;
  color:var(--ec-muted);
  line-height:1.95;
  animation:ec-enter .25s both;
}
/* 全站统一的开始入口与备案页脚。 */
.ec-cta {
  background:var(--ec-paper);
  color:var(--ec-ink);
  border-top:1px solid var(--ec-line);
  border-bottom:1px solid var(--ec-line);
  padding:80px 0;
}
.ec-cta__inner {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:60px;
}
.ec-cta .ec-eyebrow {
  color:var(--ec-green-text);
  margin-bottom:24px;
}
.ec-cta h2 {
  font-size:38px;
  line-height:1.5;
  letter-spacing:-1px;
  font-weight:500;
}
.ec-cta h2+p {
  font-size:14px;
  color:var(--ec-muted);
  margin-top:22px;
}
.ec-cta__note {
  display:block;
  margin-top:25px;
  font-size:11px;
  color:var(--ec-muted);
}
.ec-cta__code {
  margin:0 55px 0 0;
  text-align:center;
  flex-shrink:0;
}
.ec-cta__code>img {
  border:1px solid var(--ec-line);
  width:180px;
  height:180px;
  padding:10px;
  background:#fff;
  border-radius:15px;
}
.ec-cta__code figcaption {
  font-size:12px;
  color:var(--ec-green-text);
  margin-top:17px;
}
.ec-footer {
  padding:55px 0 28px;
}
.ec-footer__top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.ec-footer .ec-brand>span {
  font-size:20px;
}
.ec-footer .ec-brand small {
  font-size:10px;
  letter-spacing:0;
  font-weight:400;
  margin-top:9px;
}
.ec-footer nav {
  display:flex;
  gap:32px;
  font-size:12px;
}
.ec-footer nav a:hover {
  color:var(--ec-green-text);
}
.ec-screen-note {
  font-size:10px;
  color:#748078;
  margin-top:36px;
}
.ec-footer__legal {
  border-top:1px solid var(--ec-line);
  padding-top:21px;
  margin-top:20px;
  display:flex;
  align-items:center;
  gap:24px;
  font-size:10px;
  color:var(--ec-muted);
}
.ec-footer__legal>span {
  margin-right:auto;
}
.ec-footer__legal>a {
  display:inline-flex;
  align-items:center;
  gap:3px;
}
.ec-footer__legal img {
  display:inline;
  width:14px;
  height:14px;
}
/* 功能页与场景页：统一留白和交替截图，内容保持可索引。 */
.ec-subhero {
  background:var(--ec-sage);
  padding:58px 0 65px;
  overflow:hidden;
}
.ec-subhero__grid {
  display:grid;
  grid-template-columns:1.12fr 1fr;
  align-items:center;
  gap:90px;
}
.ec-breadcrumb {
  display:flex;
  gap:10px;
  font-size:11px;
  color:var(--ec-muted);
  margin-bottom:42px;
  flex-wrap:wrap;
}
.ec-breadcrumb a:hover {
  color:var(--ec-green-text);
}
.ec-subhero h1 {
  font-size:46px;
  font-weight:550;
  line-height:1.45;
  letter-spacing:-1.7px;
  text-wrap:pretty;
}
.ec-subhero .ec-eyebrow {
  margin-bottom:18px;
}
.ec-lead {
  font-size:15px;
  color:var(--ec-muted);
  line-height:1.9;
  margin-top:25px;
  max-width:535px;
}
.ec-tags {
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  margin:22px 0 32px;
  font-size:11px;
  color:#4f6458;
}
.ec-tags span {
  padding-left:10px;
  border-left:2px solid #9ce8be;
}
.ec-subhero__visual {
  display:flex;
  justify-content:center;
  position:relative;
  padding:20px 0 0;
}
.ec-subhero__visual::before {
  content:"";
  position:absolute;
  inset:10% -20px;
  background:var(--ec-paper);
  border-radius:50%;
}
.ec-subhero__visual>.ec-shot {
  width:245px;
  position:relative;
  z-index:1;
  transform:rotate(3deg);
}
.ec-subhero__visual .ec-shot figcaption {
  transform:rotate(-3deg);
}
.ec-detail-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:115px;
  align-items:center;
  padding:64px 0;
  border-bottom:1px solid var(--ec-line);
}
.ec-detail-row:last-child {
  border-bottom:none;
  padding-bottom:0;
}
.ec-detail-row--reverse .ec-detail-copy {
  order:2;
}
.ec-detail-row--reverse .ec-detail-visual {
  order:1;
}
.ec-step-number {
  display:block;
  font-size:12px;
  color:var(--ec-green-text);
  margin-bottom:24px;
}
.ec-detail-row h2 {
  font-size:32px;
  line-height:1.5;
  letter-spacing:-1px;
}
.ec-detail-note {
  font-size:13px;
  color:var(--ec-green-text);
  margin-top:26px;
  padding-left:15px;
  border-left:2px solid #9ce8be;
}
.ec-detail-visual {
  background:var(--ec-paper);
  padding:38px;
  display:flex;
  justify-content:center;
  border-radius:6px;
}
.ec-detail-visual>.ec-shot {
  width:237px;
}
.ec-scene-nav {
  display:flex;
  gap:36px;
  padding-block:26px;
  border-bottom:1px solid var(--ec-line);
  font-size:13px;
  flex-wrap:wrap;
}
.ec-scene-nav a {
  color:var(--ec-muted);
}
.ec-scene-nav a[aria-current],.ec-scene-nav .is-active {
  color:var(--ec-green-text);
  font-weight:600;
}
.ec-problem-list {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px;
  list-style:none;
  padding:0;
  margin:0;
}
.ec-problem-list>* {
  border-top:1px solid var(--ec-line);
  padding-top:22px;
}
.ec-problem-list span {
  font-size:12px;
  color:var(--ec-green-text);
  display:block;
  margin-bottom:13px;
}
.ec-problem-list p {
  font-size:15px;
  color:var(--ec-muted);
  line-height:1.9;
}
.ec-template-links {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0 36px;
}
.ec-template-links a {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding:20px 0;
  border-bottom:1px solid var(--ec-line);
  font-size:14px;
}
.ec-template-links small,.ec-template-links em {
  color:var(--ec-muted);
  font-size:11px;
  font-style:normal;
}
.ec-template-links a:hover {
  color:var(--ec-green-text);
}
/* 原生对话框提供焦点隔离、Esc 关闭与背景隔离。 */
.ec-dialog {
  border:1px solid var(--ec-line);
  border-radius:24px;
  padding:38px;
  color:var(--ec-ink);
  background:var(--ec-paper);
  max-width:calc(100vw - 32px);
  max-height:calc(100svh - 40px);
  overscroll-behavior:contain;
}
.ec-dialog::backdrop {
  background:#10271c66;
  backdrop-filter:blur(5px);
}
.ec-dialog[open] {
  animation:ec-dialog-enter .2s both;
}
.ec-dialog[open]::backdrop {
  animation:ec-backdrop-enter .2s both;
}
.ec-dialog.is-closing {
  animation:ec-dialog-leave .16s both;
}
.ec-dialog.is-closing::backdrop {
  animation:ec-backdrop-leave .16s both;
}
.ec-dialog__close {
  border:0;
  background:#f1f5f3;
  border-radius:999px;
  padding:8px 14px;
  font-size:12px;
  min-height:38px;
  flex-shrink:0;
}
.ec-dialog__close:hover {
  background:#e3f6ec;
}
.ec-qr-dialog {
  width:430px;
  text-align:center;
  padding-top:64px;
}
.ec-qr-dialog>.ec-dialog__close {
  position:absolute;
  right:16px;
  top:16px;
}
.ec-qr-dialog h2 {
  font-size:30px;
  font-weight:550;
}
.ec-qr-dialog>.ec-eyebrow {
  font-size:11px;
  margin-bottom:10px;
}
.ec-qr-dialog>p:not(.ec-eyebrow) {
  font-size:13px;
  color:var(--ec-muted);
  margin-top:12px;
}
.ec-dialog__qr {
  margin:26px auto;
  background:#fff;
  padding:10px;
  border-radius:14px;
  width:220px;
  height:220px;
}
.ec-qr-dialog>.ec-dialog__hint {
  font-size:11px!important;
}
.ec-image-dialog {
  padding:0;
  width:560px;
  border-radius:18px;
  overflow:hidden;
}
.ec-image-dialog__bar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:16px 22px;
  border-bottom:1px solid var(--ec-line);
}
.ec-image-dialog__bar h2 {
  font-size:14px;
  font-weight:550;
}
.ec-image-dialog__body {
  padding:20px;
  overflow:auto;
  max-height:calc(100svh - 126px);
  overscroll-behavior:contain;
}
.ec-image-dialog__body>img {
  width:390px;
  margin:auto;
  border-radius:8px;
}
@keyframes ec-dialog-enter {
  from {
    opacity:0;
    transform:translateY(12px) scale(.98);
  }
  to {
    opacity:1;
    transform:translateY(0) scale(1);
  }
}
@keyframes ec-dialog-leave {
  to {
    opacity:0;
    transform:translateY(8px) scale(.98);
  }
}
@keyframes ec-backdrop-enter {
  from {
    opacity:0;
  }
  to {
    opacity:1;
  }
}
@keyframes ec-backdrop-leave {
  to {
    opacity:0;
  }
}
@media(prefers-reduced-motion:no-preference) {
  [data-reveal].ec-reveal-ready {
    opacity:0;
    translate:0 24px;
    transition:opacity .65s,translate .65s;
  }
  [data-reveal].ec-reveal-ready.is-visible {
    opacity:1;
    translate:0 0;
  }
}
@media(min-width:1440px) {
  .ec-container {
    width:min(1280px,calc(100% - 144px));
  }
  .ec-hero__visual {
    margin-right:0;
  }
  .ec-hero__phone--left {
    left:22px;
  }
  .ec-hero__phone--right {
    right:10px;
  }
  .ec-hero__phone--main {
    width:262px;
    left:calc(50% - 131px);
    top:8px;
  }
  .ec-hero__visual {
    height:598px;
  }
  .ec-hero__inner {
    min-height:710px;
  }
}
@media(max-width:1100px) {
  .ec-container {
    width:calc(100% - 64px);
  }
  .ec-header__inner {
    gap:22px;
  }
  .ec-nav {
    gap:21px;
  }
  .ec-hero h1 {
    font-size:74px;
  }
  .ec-hero h1>span {
    font-size:37px;
  }
  .ec-hero__visual {
    height:520px;
    margin-right:0;
    scale:.92;
    transform-origin:center right;
  }
  .ec-hero__phone--main {
    width:235px;
    left:calc(50% - 110px);
  }
  .ec-hero__phone--left {
    width:193px;
    left:-20px;
  }
  .ec-hero__phone--right {
    width:190px;
    right:-26px;
  }
  .ec-hero__inner {
    min-height:640px;
  }
  .ec-hero__lead {
    font-size:13px;
  }
  .ec-actions {
    gap:20px;
  }
  .ec-types-grid {
    gap:0 22px;
  }
  .ec-type {
    gap:10px;
  }
  .ec-type small {
    font-size:10px;
  }
  .ec-tour__grid {
    gap:40px;
  }
  .ec-section {
    padding-block:90px;
  }
  .ec-media-story {
    gap:50px;
  }
  .ec-media-story__visual {
    padding-inline:22px;
    gap:16px;
  }
  .ec-section-heading h2,.ec-detail-copy h2 {
    font-size:36px;
  }
  .ec-scene-link {
    padding-inline:30px;
  }
  .ec-scene-link h3 {
    font-size:24px;
  }
  .ec-faq-grid {
    gap:60px;
  }
  .ec-template-story {
    gap:55px;
  }
  .ec-subhero__grid {
    gap:55px;
  }
  .ec-subhero h1 {
    font-size:38px;
  }
  .ec-detail-row {
    gap:70px;
  }
  .ec-cta h2 {
    font-size:33px;
  }
}
@media(max-width:860px) {
  :root {
    --ec-header:72px;
  }
  .ec-header__inner {
    gap:16px;
  }
  .ec-brand>span {
    font-size:20px;
  }
  .ec-brand>img {
    width:35px;
    height:35px;
  }
  .ec-menu-toggle {
    display:block;
    background:none;
    border:0;
    padding:10px 4px;
    font-size:12px;
    margin-left:auto;
    min-height:42px;
  }
  .ec-nav {
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    max-height:calc(100svh - var(--ec-header));
    overflow:auto;
    padding:16px 32px 26px;
    background:var(--ec-paper);
    border-bottom:1px solid var(--ec-line);
    box-shadow:0 18px 25px #12271b10;
  }
  .ec-nav.is-open {
    display:block;
  }
  .ec-nav>a,.ec-nav-menu>summary {
    display:flex;
    padding:15px 0;
    font-size:14px;
  }
  .ec-nav-menu>summary {
    justify-content:space-between;
  }
  .ec-nav-dropdown {
    position:static;
    transform:none;
    width:100%;
    padding:12px 0 20px;
    background:transparent;
    border:0;
    box-shadow:none;
  }
  .ec-menu-types {
    grid-template-columns:repeat(3,1fr);
    gap:0 12px;
  }
  .ec-nav-dropdown>.ec-eyebrow {
    display:none;
  }
  .ec-nav-dropdown--scenes {
    display:grid;
    grid-template-columns:repeat(3,1fr);
  }
  .ec-header .ec-button {
    font-size:12px;
    gap:12px;
    min-height:40px;
  }
  .ec-hero__inner {
    grid-template-columns:46% 54%;
    min-height:580px;
  }
  .ec-hero h1 {
    font-size:63px;
  }
  .ec-hero h1>span {
    font-size:31px;
  }
  .ec-hero__intro {
    font-size:10px;
    letter-spacing:.04em;
  }
  .ec-hero__visual {
    scale:.76;
    width:420px;
    justify-self:end;
    margin-right:-28px;
  }
  .ec-hero__lead {
    font-size:12px;
  }
  .ec-hero .ec-actions {
    gap:20px;
  }
  .ec-hero .ec-button {
    font-size:12px;
    gap:12px;
    padding-inline:18px;
    min-height:48px;
  }
  .ec-hero .ec-text-link {
    font-size:12px;
    gap:12px;
  }
  .ec-hero__note {
    font-size:10px;
  }
  .ec-types-grid {
    grid-template-columns:repeat(3,1fr);
  }
  .ec-section-heading h2,.ec-detail-copy h2 {
    font-size:32px;
  }
  .ec-section-heading--split {
    gap:25px;
  }
  .ec-section-heading--split>p {
    font-size:12px;
  }
  .ec-tour__grid {
    gap:30px;
  }
  .ec-tour-tab {
    gap:10px;
    grid-template-columns:25px 1fr 12px;
  }
  .ec-tour-tab strong {
    font-size:18px;
  }
  .ec-tour-tab__description {
    font-size:12px;
  }
  .ec-tour-tab.is-active {
    padding-left:12px;
    padding-right:12px;
  }
  .ec-tour-panel>.ec-shot {
    width:226px;
  }
  .ec-tour-panel {
    min-height:601px;
  }
  .ec-tour-panel__number {
    font-size:200px;
    letter-spacing:-15px;
  }
  .ec-media-story {
    gap:40px;
  }
  .ec-media-story__visual {
    padding:45px 18px;
    gap:14px;
  }
  .ec-media-story__phone {
    width:calc(50% - 7px);
  }
  .ec-shot__frame {
    border-radius:20px;
    padding:5px;
  }
  .ec-shot img {
    border-radius:15px;
  }
  .ec-media-story .ec-shot figcaption {
    font-size:9px;
  }
  .ec-detail-copy>p:not(.ec-eyebrow):not(.ec-detail-note) {
    font-size:13px;
  }
  .ec-check-list {
    font-size:11px;
  }
  .ec-scene-link {
    padding-inline:23px;
  }
  .ec-scene-link h3 {
    font-size:21px;
  }
  .ec-scene-link p {
    font-size:12px;
  }
  .ec-template-story__visual {
    padding:35px 22px;
  }
  .ec-template-story__visual>.ec-shot {
    width:220px;
  }
  .ec-template-story__word {
    font-size:64px;
    left:-12px;
  }
  .ec-faq-grid {
    gap:40px;
  }
  .ec-faq-list summary {
    font-size:14px;
  }
  .ec-subhero__grid {
    gap:45px;
  }
  .ec-subhero h1 {
    font-size:33px;
  }
  .ec-subhero__visual>.ec-shot {
    width:225px;
  }
  .ec-subhero .ec-lead {
    font-size:13px;
  }
  .ec-subhero .ec-breadcrumb {
    margin-bottom:28px;
    font-size:10px;
  }
  .ec-detail-row {
    gap:45px;
  }
  .ec-detail-row h2 {
    font-size:27px;
  }
  .ec-detail-visual {
    padding:30px;
  }
  .ec-detail-visual>.ec-shot {
    width:216px;
  }
  .ec-problem-list {
    gap:22px;
  }
  .ec-problem-list p {
    font-size:13px;
  }
  .ec-cta h2 {
    font-size:29px;
  }
  .ec-cta__code {
    margin-right:0;
  }
  .ec-cta__code>img {
  border:1px solid var(--ec-line);
    width:150px;
    height:150px;
  }
  .ec-cta__inner {
    gap:30px;
  }
  .ec-footer nav {
    gap:18px;
  }
  .ec-footer__legal {
    gap:15px;
    font-size:9px;
    flex-wrap:wrap;
  }
  .ec-footer__legal>span {
    width:100%;
  }
}
@media(max-width:620px) {
  :root {
    --ec-header:68px;
  }
  .ec-container {
    width:calc(100% - 40px);
  }
  html {
    scroll-padding-top:90px;
  }
  .ec-header__inner {
    gap:14px;
  }
  .ec-brand>span {
    font-size:19px;
  }
  .ec-brand small {
    font-size:8px;
    margin-top:5px;
  }
  .ec-brand>img {
    width:32px;
    height:32px;
    border-radius:50%;
  }
  .ec-header .ec-button {
    font-size:11px;
    padding:9px 13px;
    gap:8px;
    min-height:37px;
  }
  .ec-nav {
    padding:12px 20px 22px;
  }
  .ec-menu-types {
    grid-template-columns:repeat(2,1fr);
    column-gap:14px;
  }
  .ec-menu-types .ec-type {
    gap:10px;
  }
  .ec-nav-dropdown--scenes {
    grid-template-columns:1fr;
    gap:0;
  }
  .ec-nav-dropdown--scenes>a {
    padding:12px 0;
  }
  .ec-nav-dropdown--scenes small {
    margin-top:3px;
  }
  .ec-hero__inner {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    min-height:0;
    padding-top:32px;
    padding-bottom:0;
  }
  .ec-hero__copy {
    text-align:left;
  }
  .ec-hero__intro {
    font-size:10px;
    margin-bottom:13px;
  }
  .ec-hero h1 {
    font-size:60px;
    letter-spacing:-3px;
    line-height:1.1;
  }
  .ec-hero h1>span {
    font-size:28px;
    line-height:1.4;
    letter-spacing:-.7px;
    margin-top:12px;
  }
  .ec-hero h1>span>br {
    display:none;
  }
  .ec-hero__lead {
    font-size:12px;
    line-height:1.9;
    margin:16px 0 20px;
    max-width:340px;
  }
  .ec-desktop-break {
    display:none;
  }
  .ec-hero .ec-actions {
    gap:25px;
  }
  .ec-hero .ec-button {
    min-height:46px;
    font-size:12px;
    padding:12px 18px;
  }
  .ec-hero .ec-text-link {
    font-size:12px;
  }
  .ec-hero__note {
    margin-top:13px;
    font-size:10px;
  }
  .ec-hero__visual {
    scale:1;
    transform:none;
    align-self:center;
    width:100%;
    height:335px;
    margin:20px 0 0;
  }
  .ec-hero__orbit {
    inset:15px -45px -40px;
  }
  .ec-hero__phone--main {
    width:150px;
    left:calc(50% - 75px);
    top:4px;
  }
  .ec-hero__phone--left {
    width:127px;
    left:calc(50% - 167px);
    top:40px;
  }
  .ec-hero__phone--right {
    width:127px;
    right:calc(50% - 164px);
    top:52px;
  }
  .ec-hero__phone .ec-shot__frame {
    border-radius:20px;
    padding:4px;
    box-shadow:0 15px 25px #12271b1c;
  }
  .ec-hero__phone .ec-shot img {
    border-radius:15px;
  }
  .ec-hero__visual-note {
    display:none;
  }
  .ec-hero__bottom {
    position:relative;
    z-index:5;
    background:var(--ec-sage);
    height:42px;
    font-size:9px;
    width:100%;
    padding-inline:20px;
  }
  .ec-hero__bottom a {
    gap:15px;
  }
  .ec-section {
    padding-block:65px;
  }
  .ec-eyebrow {
    font-size:11px;
    letter-spacing:.09em;
    margin-bottom:16px;
  }
  .ec-section-heading {
    margin-bottom:30px;
  }
  .ec-section-heading h2,.ec-detail-copy h2 {
    font-size:29px;
    line-height:1.45;
    letter-spacing:-1px;
  }
  .ec-section-heading--split {
    display:block;
  }
  .ec-section-heading--split>p {
    font-size:12px;
    margin-top:18px;
    line-height:1.85;
  }
  .ec-types-grid {
    grid-template-columns:repeat(2,1fr);
    gap:0 18px;
  }
  .ec-type {
    padding:19px 0;
    gap:10px;
  }
  .ec-type__icon {
    width:35px;
    height:35px;
    border-radius:10px;
  }
  .ec-type__icon img {
    width:20px;
    height:20px;
  }
  .ec-type strong {
    font-size:13px;
  }
  .ec-type small {
    font-size:9px;
    letter-spacing:-.2px;
  }
  .ec-type__arrow {
    display:none;
  }
  .ec-tour__grid {
    display:flex;
    flex-direction:column;
    gap:28px;
  }
  .ec-tour__tabs {
    position:static;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:5px;
    padding-top:0;
    width:100%;
  }
  .ec-tour-tab {
    display:flex;
    flex-direction:column;
    gap:3px;
    align-items:center;
    text-align:center;
    padding:12px 4px;
    border-top:none;
    border-bottom:1px solid var(--ec-line);
    border-radius:8px;
  }
  .ec-tour-tab:last-child {
    border-bottom-color:var(--ec-line);
  }
  .ec-tour-tab__number {
    font-size:10px;
    padding:0;
  }
  .ec-tour-tab small {
    font-size:11px;
    margin:0;
  }
  .ec-tour-tab strong,.ec-tour-tab__description,.ec-tour-tab__arrow {
    display:none!important;
  }
  .ec-tour-tab.is-active {
    padding:12px 4px;
    border-bottom-color:transparent;
  }
  .ec-tour-tab.is-active small {
    color:var(--ec-green-text);
    font-weight:600;
  }
  .ec-tour__stage {
    width:100%;
  }
  .ec-tour-panel {
    min-height:625px;
  }
  .ec-tour-panel>.ec-shot {
    width:244px;
  }
  .ec-tour-panel__number {
    font-size:220px;
    left:0;
    top:55px;
  }
  .ec-tour-panel__caption {
    margin-top:19px;
  }
  .ec-tour-panel__caption p {
    font-size:12px;
  }
  .ec-media-story {
    display:flex;
    flex-direction:column;
    gap:38px;
  }
  .ec-media-story>.ec-detail-copy {
    order:-1;
    width:100%;
  }
  .ec-media-story__visual {
    width:100%;
    padding:40px 28px 45px;
    gap:20px;
  }
  .ec-media-story__phone {
    width:calc(50% - 10px);
  }
  .ec-media-story .ec-shot figcaption {
    font-size:9px;
  }
  .ec-detail-copy>p:not(.ec-eyebrow):not(.ec-detail-note) {
    font-size:13px;
    margin-top:20px;
  }
  .ec-check-list {
    font-size:12px;
    margin-top:20px;
  }
  .ec-scene-columns {
    grid-template-columns:1fr;
  }
  .ec-scene-link,.ec-scene-link:first-child,.ec-scene-link:last-child {
    border-left:0;
    border-top:1px solid var(--ec-line);
    padding:27px 0 30px;
    display:grid;
    grid-template-columns:1fr 56px;
    column-gap:20px;
  }
  .ec-scene-link__number {
    font-size:10px;
    grid-column:1;
  }
  .ec-scene-link>img {
    grid-column:2;
    grid-row:1/3;
    margin:10px 0 0;
    width:26px;
    height:26px;
    padding:11px;
    align-self:start;
  }
  .ec-scene-link h3 {
    font-size:24px;
    margin-top:15px;
    grid-column:1;
    grid-row:2;
  }
  .ec-scene-link p {
    grid-column:1/3;
    font-size:12px;
    max-width:none;
    margin:18px 0 22px;
  }
  .ec-scene-link .ec-text-link {
    grid-column:1/3;
    font-size:12px;
  }
  .ec-template-story {
    display:flex;
    flex-direction:column;
    gap:40px;
  }
  .ec-template-story>.ec-detail-copy {
    width:100%;
  }
  .ec-template-story__visual {
    width:100%;
    justify-content:center;
    padding:30px 30px 36px;
  }
  .ec-template-story__visual>.ec-shot {
    width:238px;
  }
  .ec-template-story__word {
    display:none;
  }
  .ec-template-story .ec-button {
    margin-top:25px;
    font-size:12px;
    min-height:48px;
  }
  .ec-template-story .ec-template-story__note {
    font-size:10px!important;
  }
  .ec-faq-grid {
    display:block;
  }
  .ec-faq-grid .ec-section-heading {
    margin-bottom:30px;
  }
  .ec-faq-list summary {
    font-size:14px;
    line-height:1.8;
    padding-block:21px;
  }
  .ec-faq-list summary::after {
    top:21px;
  }
  .ec-faq-list details p {
    font-size:12px;
  }
  .ec-cta {
    padding-block:54px;
  }
  .ec-cta__inner {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:30px;
  }
  .ec-cta h2 {
    font-size:27px;
    line-height:1.5;
    letter-spacing:-.8px;
  }
  .ec-cta h2+p {
    font-size:12px;
    margin-top:18px;
  }
  .ec-cta__note {
    font-size:10px;
    margin-top:16px;
  }
  .ec-cta__code {
    display:flex;
    align-items:center;
    gap:20px;
  }
  .ec-cta__code>img {
  border:1px solid var(--ec-line);
    width:122px;
    height:122px;
    border-radius:12px;
    padding:7px;
  }
  .ec-cta__code figcaption {
    font-size:11px;
    margin:0;
  }
  .ec-footer {
    padding:35px 0 23px;
  }
  .ec-footer__top {
    display:block;
  }
  .ec-footer .ec-brand small {
    font-size:10px;
  }
  .ec-footer nav {
    margin-top:28px;
    gap:20px;
    font-size:11px;
    flex-wrap:wrap;
  }
  .ec-screen-note {
    margin-top:27px;
    font-size:9px;
    line-height:1.8;
  }
  .ec-footer__legal {
    flex-direction:column;
    align-items:flex-start;
    gap:9px;
    font-size:9px;
    margin-top:16px;
    padding-top:18px;
  }
  .ec-footer__legal>span {
    width:auto;
  }
  .ec-subhero {
    padding:28px 0 45px;
  }
  .ec-subhero__grid {
    display:flex;
    flex-direction:column;
    gap:38px;
  }
  .ec-subhero__copy {
    width:100%;
  }
  .ec-subhero .ec-breadcrumb {
    font-size:10px;
    margin-bottom:26px;
  }
  .ec-subhero h1 {
    font-size:32px;
    line-height:1.5;
    letter-spacing:-.9px;
  }
  .ec-subhero .ec-lead {
    font-size:13px;
    line-height:1.9;
    margin-top:17px;
  }
  .ec-tags {
    font-size:10px;
    gap:8px 14px;
    margin:18px 0 24px;
  }
  .ec-subhero .ec-actions {
    gap:25px;
  }
  .ec-subhero .ec-button {
    font-size:12px;
    min-height:48px;
  }
  .ec-subhero .ec-text-link {
    font-size:12px;
  }
  .ec-subhero__visual {
    width:100%;
    padding:0;
  }
  .ec-subhero__visual::before {
    inset:8% 12px;
  }
  .ec-subhero__visual>.ec-shot {
    width:220px;
    transform:rotate(2deg);
  }
  .ec-subhero__visual .ec-shot figcaption {
    transform:rotate(-2deg);
  }
  .ec-detail-row {
    display:flex;
    flex-direction:column;
    gap:30px;
    padding:40px 0;
  }
  .ec-detail-row .ec-detail-copy {
    order:0;
    width:100%;
  }
  .ec-detail-row .ec-detail-visual {
    order:1;
    width:100%;
    padding:30px;
  }
  .ec-detail-row h2 {
    font-size:26px;
  }
  .ec-step-number {
    margin-bottom:16px;
  }
  .ec-detail-note {
    font-size:12px;
    margin-top:22px;
  }
  .ec-detail-visual>.ec-shot {
    width:220px;
  }
  .ec-scene-nav {
    gap:18px;
    font-size:11px;
    padding-block:22px;
  }
  .ec-problem-list {
    grid-template-columns:1fr;
    gap:23px;
  }
  .ec-problem-list>* {
    display:flex;
    gap:20px;
    padding-top:18px;
  }
  .ec-problem-list span {
    margin:2px 0 0;
    font-size:11px;
  }
  .ec-problem-list p {
    font-size:13px;
  }
  .ec-template-links {
    grid-template-columns:1fr;
    gap:0;
  }
  .ec-template-links a {
    font-size:13px;
    padding-block:18px;
  }
  .ec-dialog {
    padding:28px;
    border-radius:18px;
  }
  .ec-qr-dialog {
    padding-top:66px;
  }
  .ec-image-dialog {
    padding:0;
  }
  .ec-image-dialog__bar {
    padding:13px 15px;
  }
  .ec-image-dialog__bar h2 {
    font-size:12px;
  }
  .ec-image-dialog__body {
    padding:12px;
  }
  .ec-dialog__qr {
    width:200px;
    height:200px;
  }
  .ec-qr-dialog h2 {
    font-size:27px;
  }
  .ec-qr-dialog>p:not(.ec-eyebrow) {
    font-size:12px;
  }
  .ec-image-dialog__body>img {
    width:100%;
  }
}
@media(max-width:360px) {
  .ec-container {
    width:calc(100% - 32px);
  }
  .ec-header__inner {
    gap:9px;
  }
  .ec-header .ec-button {
    padding-inline:10px;
    gap:5px;
  }
  .ec-brand {
    gap:8px;
  }
  .ec-brand>span {
    font-size:18px;
  }
  .ec-hero h1 {
    font-size:55px;
  }
  .ec-hero h1>span {
    font-size:25px;
  }
  .ec-hero__visual {
    height:315px;
  }
  .ec-hero__phone--main {
    width:140px;
    left:calc(50% - 70px);
  }
  .ec-hero__phone--left {
    width:115px;
    left:calc(50% - 149px);
  }
  .ec-hero__phone--right {
    width:115px;
    right:calc(50% - 146px);
  }
  .ec-type strong {
    font-size:12px;
  }
  .ec-type small {
    font-size:8px;
  }
  .ec-type {
    gap:8px;
  }
  .ec-type__icon {
    width:31px;
    height:31px;
  }
  .ec-cta h2 {
    font-size:24px;
  }
  .ec-section-heading h2,.ec-detail-copy h2 {
    font-size:27px;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*::before,*::after {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
  [data-reveal] {
    opacity:1!important;
    translate:none!important;
  }
}
/* 较矮桌面视口仍完整容纳导航、主视觉和向下入口。 */
@media(min-width:861px) and (max-height:800px) {
  .ec-hero__inner {
    height:calc(100svh - var(--ec-header) - 52px);
    min-height:540px;
    padding-block:0;
  }
  .ec-hero__visual {
    scale:.88;
    transform-origin:center center;
  }
  .ec-hero__phone--right {
    right:7px;
  }
}
/* AI、宣传片与说明页沿用官网的留白、字体及真实界面展示。 */
.ec-ai-story {
  display:grid;
  grid-template-columns:1fr 1.1fr;
  align-items:center;
  gap:72px;
  border-bottom:1px solid var(--ec-line);
}
.ec-ai-story__visual {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:start;
  gap:22px;
}
.ec-ai-story__visual .ec-shot:nth-child(2) { margin-top:66px; }
.ec-film { padding-top:30px; }
.ec-film__player { border-radius:16px; overflow:hidden; background:var(--ec-deep); }
.ec-film__play { position:relative; display:block; width:100%; padding:0; border:0; background:var(--ec-deep); }
.ec-film__play>img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.ec-film__play>span {
  position:absolute;
  left:50%; top:50%; transform:translate(-50%,-50%);
  padding:16px 30px; border-radius:40px;
  background:#073b22ee; color:#fff;
  box-shadow:0 4px 24px #0002;
  transition:background .2s;
  white-space:nowrap;
}
.ec-film__play:hover>span { background:#075b31; }
.ec-film__play small { display:block; font-size:11px; font-weight:400; margin-top:4px; color:#d6ecdf; }
.ec-promo__video { display:block; width:100%; aspect-ratio:16/9; background:#000; }
.ec-film__error { padding:16px; color:var(--ec-muted); background:#fff; }
.ec-information { max-width:920px; min-height:55vh; }
.ec-information h1 { font-size:clamp(30px,4vw,46px); line-height:1.45; letter-spacing:-1px; }
.ec-information h2 { font-size:23px; margin:44px 0 14px; font-weight:600; }
.ec-information p { line-height:1.95; margin-bottom:18px; }
.ec-information .ec-lead { max-width:760px; margin-bottom:32px; }
.ec-information ul { padding-left:24px; line-height:2; color:var(--ec-muted); }
.ec-information a:not(.ec-button):not(.ec-text-link),.ec-analytics-dialog p a { color:var(--ec-green-text); text-decoration:underline; text-underline-offset:4px; }
.ec-information__links { margin:36px 0; border-top:1px solid var(--ec-line); }
.ec-information__links>a { display:flex; justify-content:space-between; gap:24px; padding:22px 0; border-bottom:1px solid var(--ec-line); text-decoration:none!important; }
.ec-information__links span { font-size:13px; color:var(--ec-muted); }
.ec-information__note { color:var(--ec-muted); font-size:13px; }
.ec-footer__operator,.ec-footer__policies { font-size:12px; color:var(--ec-muted); }
.ec-footer__operator { margin-top:14px; }
.ec-footer__policies { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:16px; }
.ec-footer__policies button { background:none; border:0; padding:0; color:inherit; font-size:inherit; }
.ec-footer__policies a:hover,.ec-footer__policies button:hover { color:var(--ec-green-text); }
.ec-qr-fallback { margin-top:24px; font-size:12px; color:var(--ec-muted); }
.ec-qr-fallback img { margin:20px auto; }
.ec-qr-fallback p { max-width:300px; margin-inline:auto; }
.ec-analytics-dialog { max-width:560px; padding:44px; }
.ec-analytics-dialog h2 { font-size:26px; margin-bottom:20px; }
.ec-analytics-dialog p { color:var(--ec-muted); margin-bottom:18px; font-size:14px; }
.ec-analytics-dialog .ec-actions { gap:14px; margin-top:24px; }
.ec-button--secondary { background:#f0f3f1; border-color:#f0f3f1; color:var(--ec-ink); }
.ec-button--secondary:hover { background:#e3eae6; border-color:#e3eae6; }
.ec-button:disabled { opacity:.5; transform:none; box-shadow:none; }
.ec-bulk-contact { display:flex; align-items:center; justify-content:space-between; gap:40px; padding-block:56px; margin-bottom:80px; border-top:1px solid var(--ec-line); }
.ec-bulk-contact h2 { font-size:28px; margin-bottom:16px; font-weight:600; }
.ec-bulk-contact p:not(.ec-eyebrow) { color:var(--ec-muted); max-width:620px; }
.qun-feature-page .ec-guide-shortcuts { display:flex; flex-wrap:wrap; gap:20px 40px; padding-bottom:60px; color:var(--ec-green-text); }
.ec-cta .ec-button { margin-top:22px; }
@media(min-width:861px) and (max-width:1100px) {
  .ec-nav { gap:18px; }
  .ec-header__inner { gap:18px; }
}
@media(max-width:860px) {
  .ec-ai-story { grid-template-columns:1fr; gap:44px; }
  .ec-ai-story__visual { max-width:540px; margin-inline:auto; gap:18px; }
  .ec-ai-story__visual .ec-shot { min-width:0; }
  .ec-ai-story__visual .ec-shot:nth-child(2) { margin-top:32px; }
  .ec-film { padding-top:0; }
  .ec-bulk-contact { flex-direction:column; align-items:flex-start; gap:24px; margin-bottom:48px; }
  .ec-bulk-contact h2 { font-size:24px; }
}
@media(max-width:620px) {
  .ec-information h2 { margin-top:32px; font-size:21px; }
  .ec-information__links>a { flex-direction:column; gap:8px; }
  .ec-analytics-dialog { padding:32px 24px; }
  .ec-analytics-dialog .ec-actions { gap:12px; }
  .ec-film__play>span { padding:12px 24px; font-size:14px; }
  .ec-footer__operator { line-height:1.8; }
  .ec-footer__policies { gap:12px 18px; }
}

/* 百度统计首访授权：只在配置了站点 ID 且用户尚未选择时显示。 */
.ec-consent { position:fixed; left:50%; bottom:20px; z-index:90; display:flex; align-items:center; gap:20px; width:min(720px, calc(100% - 32px)); padding:16px 20px; transform:translateX(-50%); background:var(--ec-paper); border:1px solid var(--ec-line); border-radius:16px; box-shadow:0 12px 32px #18251e1f; box-sizing:border-box; }
.ec-consent p { margin:0; font-size:13px; line-height:1.7; color:var(--ec-muted); }
.ec-consent p a { color:var(--ec-green-text); text-decoration:underline; }
.ec-consent .ec-actions { flex:none; flex-wrap:nowrap; gap:10px; margin:0; }
@media(max-width:620px) {
  .ec-consent { flex-direction:column; align-items:stretch; gap:12px; bottom:12px; padding:14px 16px; }
  .ec-consent .ec-actions { display:grid; grid-template-columns:1fr 1fr; }
}
