/* Shared inner-page blocks (hero, feature rows, tick lists, card grid). Page-owned copy. */
.phero { padding-bottom: clamp(48px, 6vw, 80px); }
.phero .hero__stage { margin-top: clamp(36px, 5vw, 56px); max-width: 1040px; }
.phero .hero__stage .frame { -webkit-mask-image: linear-gradient(180deg, #000 80%, transparent 99%); mask-image: linear-gradient(180deg, #000 80%, transparent 99%); }
.phero .hero__stage .frame__screen { aspect-ratio: 1.9 / 1; }
.phero .hero__stage .frame__screen > img { transform: none; }
.phero h1 { font-size: clamp(2.3rem, 5.6vw, 4.4rem); }
.feat { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.feat--rev .feat__copy { order: 2; }
.feat__copy { display: grid; gap: 18px; align-content: start; }
.feat__copy .lede { max-width: 34em; }
.feat__visual { position: relative; min-width: 0; }
.feat__visual .frame { transform: none; }
.ticks { display: grid; gap: 11px; margin-top: 6px; }
.ticks li { display: flex; gap: 11px; font-size: .98rem; line-height: 1.45; color: var(--fg); }
.ticks li svg { flex: none; width: 17px; height: 17px; margin-top: 3px; color: var(--teal); }
.note { font-size: .88rem; color: var(--fg-3); font-family: var(--font-mono); letter-spacing: .01em; }
.cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 1.8vw, 22px); }
.card { display: grid; gap: 12px; align-content: start; padding: clamp(22px, 2.6vw, 32px); border-radius: var(--r-xl); background: var(--surface); border: 1px solid var(--line); box-shadow: var(--card-shadow); transition: transform .4s var(--ease-out), box-shadow .4s var(--ease-out); }
.card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.card__ic { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: linear-gradient(145deg, rgba(255,122,26,.16), rgba(109,74,255,.16)); border: 1px solid var(--line); color: var(--accent-text); }
.card__ic svg { width: 21px; height: 21px; }
.card p { color: var(--fg-2); font-size: .98rem; }
.card a.more { font-weight: 600; color: var(--accent-text); font-size: .94rem; }
.card a.more:hover { text-decoration: underline; text-underline-offset: 3px; }
.tag-row { display: flex; flex-wrap: wrap; gap: 8px; }
@media (max-width: 900px) {
  .js .reveal--right:not(.is-in) { transform: translate3d(0, 26px, 0); }
  .feat { grid-template-columns: 1fr; }
  .feat--rev .feat__copy { order: 0; }
  .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .cards { grid-template-columns: 1fr; }
  .phero .hero__stage { padding-inline: 12px; }
  .phero .hero__stage .frame__screen { aspect-ratio: 1.45 / 1; }
}

/* enterprise */
.cards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cards--2 .ticks { margin-top: 10px; }
.ent-lic { overflow: hidden; }
.ent-lic::before { content: ''; position: absolute; inset: 0; background: radial-gradient(50% 60% at 85% 40%, rgba(109,74,255,.2), transparent 70%); pointer-events: none; }
.ent-lic .wrap { position: relative; }
.ent-lic .ticks li { color: #d6dbe7; }
.ent-steps { display: grid; gap: 14px; counter-reset: none; }
.ent-steps li { display: grid; grid-template-columns: 52px 1fr; gap: 16px; align-items: start; padding: 20px; border-radius: var(--r-lg); border: 1px solid var(--line); background: var(--surface); }
.ent-steps__n { font-family: var(--font-mono); font-size: 1.05rem; color: var(--orange); padding-top: 2px; }
.ent-steps strong { display: block; font-size: 1.06rem; letter-spacing: -.01em; }
.ent-steps span:not(.ent-steps__n) { display: block; margin-top: 4px; color: var(--fg-2); font-size: .95rem; line-height: 1.45; }
.sec-list { display: grid; gap: 12px; }
.sec-list li { display: grid; grid-template-columns: 44px 1fr; gap: 16px; align-items: start; padding: 18px; border-radius: var(--r-lg); border: 1px solid var(--line); background: var(--surface); }
.sec-list strong { display: block; font-size: 1.04rem; letter-spacing: -.01em; }
.sec-list span:not(.card__ic) { display: block; margin-top: 3px; color: var(--fg-2); font-size: .94rem; line-height: 1.45; }
@media (max-width: 900px) { .cards--2 { grid-template-columns: 1fr; } }
