.pc-hero__grid {
  position:absolute;
  inset:0;
  background-image:linear-gradient(var(--line-1) 1px,transparent 1px),linear-gradient(90deg,var(--line-1) 1px,transparent 1px),var(--grad-ai-soft);
  background-size:var(--sp-16) var(--sp-16),var(--sp-16) var(--sp-16),100% 100%;
  opacity:.55;
}

/* Keep the desktop headline in two meaningful phrases. The break is hidden
   on narrow screens so the title can use the available width naturally. */
.pc-hero__break {
  display:none;
}

.pc-hero__layout,
.pc-modules__layout,
.pc-reports__layout,
.pc-security__layout {
  display:grid;
  min-width:0;
  align-items:start;
  gap:var(--sp-10);
}

.pc-hero__layout {
  align-items:center;
}

.pc-hero__trust {
  display:flex;
  margin:0 0 var(--sp-8);
  padding:0;
  flex-wrap:wrap;
  gap:var(--sp-2) var(--sp-5);
  color:var(--fg-2);
  font:var(--fs-xs) var(--font-num);
  list-style:none;
}

.pc-hero__trust li {
  position:relative;
  padding-left:var(--sp-4);
}

.pc-hero__trust li::before {
  position:absolute;
  top:.7em;
  left:0;
  width:var(--sp-1);
  height:var(--sp-1);
  border-radius:var(--r-pill);
  background:var(--teal-400);
  content:"";
}

/* 外框统一由 .shot 提供（04-components.css）。这里只留尺寸与位置。 */
.pc-window {
  width:min(100%,560px);
  margin-inline:auto;
}

/* Product proof keeps a stable canvas even while the SVG is decoding. The
   source art is 16:10, so the reserved ratio never distorts the preview and
   prevents a blank-looking column from collapsing during first paint. */
.pc-modules__visual,
.pc-reports__visual,
.pc-security__visual {
  width:100%;
  min-width:0;
  aspect-ratio:16 / 10;
  align-self:start;
}

.pc-modules__visual > img,
.pc-reports__visual > img,
.pc-security__visual > img {
  width:100%;
  height:100%;
  object-fit:cover;
}

.pc-accordion {
  overflow:hidden;
  border:1px solid var(--line-1);
  border-radius:var(--r-lg);
  background:var(--bg-0);
}

.pc-module + .pc-module {
  border-top:1px solid var(--line-1);
}

.pc-module__summary {
  display:grid;
  min-height:var(--sp-16);
  padding:var(--sp-4) var(--sp-5);
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:var(--sp-4);
  cursor:pointer;
  list-style:none;
}

.pc-module__summary::-webkit-details-marker {
  display:none;
}

.pc-module__summary::marker {
  content:"";
}

.pc-module[open] .pc-module__summary,
.pc-module__body {
  background:var(--bg-2);
}

.pc-module__body {
  padding:0 var(--sp-5) var(--sp-6);
}

.pc-module__body p {
  margin:0;
  color:var(--fg-2);
  font-size:var(--fs-sm);
}

.pc-module__name {
  min-width:0;
  font-size:var(--fs-h4);
  font-weight:var(--fw-bold);
}

.pc-module__toggle {
  display:grid;
  width:var(--sp-8);
  height:var(--sp-8);
  place-items:center;
  border:1px solid var(--line-2);
  border-radius:var(--r-pill);
  color:var(--brand-300);
  transition:transform var(--d-2) var(--e-out);
}

.pc-module[open] .pc-module__toggle {
  transform:rotate(45deg);
}

.pc-module__index,
.pc-pos__number,
.pc-reports__index,
.pc-security__item > span {
  color:var(--teal-300);
  font:var(--fs-xs) var(--font-num);
}

.pc-pos__shared {
  margin-block:var(--sp-8);
  padding-block:var(--sp-6);
  border-block:1px solid var(--line-1);
}

.pc-pos__shared h3 {
  font-size:var(--fs-h4);
}

.pc-pos__shared p {
  margin:0;
  color:var(--fg-2);
}

.pc-reports__list {
  margin:0;
  padding:0;
  list-style:none;
}

.pc-reports__list li,
.pc-security__item {
  display:grid;
  padding-block:var(--sp-5);
  grid-template-columns:var(--sp-10) minmax(0,1fr);
  gap:var(--sp-3);
  border-top:1px solid var(--line-1);
}

.pc-reports__list h3,
.pc-security__item h3 {
  margin-bottom:var(--sp-1);
  font-size:var(--fs-body);
}

.pc-reports__list p,
.pc-security__item p {
  margin:0;
  color:var(--fg-2);
  font-size:var(--fs-sm);
}

.pc-security__closing {
  max-width:var(--container-text);
  margin:var(--sp-10) 0 0;
  padding-left:var(--sp-5);
  border-left:2px solid var(--gold-400);
  color:var(--fg-2);
  font-size:var(--fs-lead);
}

.pc-cta .cta-band {
  margin-top:0;
}

@media (min-width:900px) {
  .pc-hero__break {
    display:block;
  }
  .pc-hero__layout {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* The desktop navigation starts at 900px, so keep the proof sections in the
   same two-column composition from that point onward. At the narrow end the
   image remains about 400px wide, enough to inspect without introducing a
   second 960px layout jump. */
@media (min-width:900px) {
  .pc-modules__layout,
  .pc-reports__layout,
  .pc-security__layout {
    /* Keep the product proof column wide enough to inspect at desktop sizes. */
    grid-template-columns:minmax(0,1.02fr) minmax(340px,.98fr);
  }
  .pc-modules__visual,
  .pc-reports__visual,
  .pc-security__visual {
    position:sticky;
    top:calc(var(--nav-h) + var(--sp-6));
  }
}

@media (min-width:640px) and (max-width:759px) {
  .pc-hero .pc-window {
    width: min(100%,520px);
  }
}

@media (prefers-reduced-motion:reduce) {
  .pc-module__toggle {
    transition:none;
  }
}
