/* V8.1: public-facing finish, isolated from Admin and the client editor. */
:root { --pi-focus: #75b7ff; --pi-radius: 18px; }
body:not(.adminBody) { text-rendering: optimizeLegibility; }
.heroCopy, .heroProof, .sectionHead > *, .split > *, .demoInfo { min-width: 0; }
.hero h1 { line-height: 1.06; max-width: 15ch; text-wrap: balance; }
.sectionHead h2, .split h2, .support h2, .cta h2 { line-height: 1.12; text-wrap: balance; }
.hero p { max-width: 56ch; }
.heroProofCard { box-shadow: 0 24px 70px #0005; }
.heroProofCard > img { display: block; }
.cards article, .planCard { display: flex; flex-direction: column; }
.cards article .cardArrow, .planCard > a { margin-top: auto; }
.cards article p, .demoInfo p { min-height: 0; }
.demoCard { display: flex; flex-direction: column; }
.demoCover { display: block; flex-shrink: 0; }
.demoInfo { display: flex; flex-direction: column; flex: 1; }
.demoInfo .cardLinks { margin-top: auto; padding-top: 16px; }
.primary, .secondary, .navcta, .planCard > a { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; text-align: center; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, summary:focus-visible, select:focus-visible { outline: 3px solid var(--pi-focus); outline-offset: 4px; }
.piSkipLink { position: fixed; top: 8px; left: 12px; z-index: 100001; padding: 14px 20px; color: #07101f; background: white; border-radius: 10px; transform: translateY(-150%); }
.piSkipLink:focus { transform: translateY(0); }
.commercialFooter { gap: 28px; align-items: center; }
.commercialFooter b { color: #eaf2ff; letter-spacing: .12em; }
.commercialFooter p { line-height: 1.6; margin: 8px 0 0; }
.commercialFooter nav { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.commercialFooter a { color: #b7c9df; padding: 10px 0; }
.commercialFaq { background: #edf3f9; }
.commercialFaq details { padding: 22px 0; border-bottom: 1px solid #cbd9e8; }
.commercialFaq summary { font-size: 18px; font-weight: 700; cursor: pointer; line-height: 1.5; }
.commercialFaq details p { max-width: 78ch; color: #52657d; line-height: 1.8; margin-bottom: 0; }
.commercialFaq details[open] summary { color: #195fbd; }
.mockCaption { font-size: 11px; color: #9bb2ce !important; padding: 0 15px; }
.piInquiryDialog { max-height: calc(100dvh - 32px); overflow-y: auto; overscroll-behavior: contain; }
.piInquiryGrid input, .piInquiryGrid textarea { min-width: 0; font-size: 16px; }
.piInquiryFooter button:disabled { cursor: wait; opacity: .65; }
.piInquiryFooter [role=status] { overflow-wrap: anywhere; }
.journeyBreadcrumb { flex-wrap: wrap; }
.heroProofBrowser span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (min-width: 1600px) {
  .hero, .section, .cta { padding-left: max(6vw, calc((100vw - 1400px)/2)); padding-right: max(6vw, calc((100vw - 1400px)/2)); }
}
@media (max-width: 1000px) {
  .hero { gap: 36px; }
  .sectionHead { gap: 28px; }
  .cards, .demoGrid, .plansGrid { gap: 16px; }
}
@media (max-width: 700px) {
  .hero { min-height: auto; padding: 44px 6vw 52px; }
  .hero h1 { font-size: clamp(36px, 9.5vw, 55px); max-width: 18ch; }
  .hero p { font-size: 16px; line-height: 1.75; }
  .section { padding: 56px 6vw; }
  .sectionHead { margin-bottom: 28px; }
  .sectionHead h2, .split h2, .support h2, .cta h2 { font-size: clamp(28px, 7.6vw, 39px); }
  .actions { flex-direction: column; align-items: stretch; }
  .heroTags { margin-top: 24px; }
  .plansGrid, .cards, .demoGrid { grid-template-columns: minmax(0, 1fr); }
  .analysisAction .primary { white-space: normal; }
  .commercialFooter { flex-direction: column; align-items: flex-start; }
  .commercialFooter nav { gap: 4px 20px; }
  .piInquiryDialog { max-height: calc(100dvh - 16px); }
  .cta { padding: 60px 6vw; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .pi-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
}
