/* SEO-656: isolated product-page proposal derived from Web Slot v06.
 * Load after approved-c.css. This opt-in scope is never a site-wide rule.
 * Product copy, galleries, image sources and native FAQ disclosures stay intact.
 */
.ca-product-systems-preview-v01 .ca-site {
  --ca-ps-rail:max(calc(var(--ca-gutter,80px)/2),calc((100% - 1160px)/2));
  font-family:Manrope,sans-serif;
}
.ca-product-systems-preview-v01 .ca-site .ca-system-hero {
  padding:34px var(--ca-ps-rail) 54px;
  border:0;
  background:#f0f4f7;
  text-align:left;
}
.ca-product-systems-preview-v01 .ca-system-hero .ca-catalogue-back { margin:0 0 32px; }
.ca-product-systems-preview-v01 .ca-ps-hero-grid {
  display:grid;
  grid-template-columns:minmax(0,1.13fr) minmax(0,1fr);
  align-items:center;
  gap:64px;
}
.ca-product-systems-preview-v01 .ca-ps-hero-grid:not(:has(>.ca-system-visual)) { grid-template-columns:minmax(0,1fr); }
.ca-product-systems-preview-v01 .ca-ps-hero-copy { min-width:0; }
.ca-product-systems-preview-v01 .ca-system-hero h1 {
  max-width:18ch;
  margin:0 0 25px;
  font-size:52px;
  font-weight:400;
  line-height:1.13;
  letter-spacing:-.035em;
}
.ca-product-systems-preview-v01 .ca-ps-hero-copy .ca-system-overview-copy>p,
.ca-product-systems-preview-v01 .ca-ps-hero-copy>p:not(.ca-system-legacy-cta):not(.ca-eyebrow) {
  max-width:53ch;
  margin:0 0 26px;
  color:#586d80;
  font-size:16px;
  line-height:1.85;
}
.ca-product-systems-preview-v01 .ca-ps-hero-copy .wp-block-buttons { margin:0; }
.ca-product-systems-preview-v01 .ca-ps-hero-copy>.ca-system-legacy-cta {
  margin:13px 0 0;
  color:#64748a;
  font-size:12px;
}
.ca-product-systems-preview-v01 .ca-ps-hero-grid>.ca-system-visual {
  width:100%;
  min-width:0;
  max-width:none;
  margin:0;
}
.ca-product-systems-preview-v01 .ca-ps-hero-grid>.ca-system-visual img {
  display:block;
  width:100%;
  max-height:390px;
  height:auto;
  object-fit:contain;
}
.ca-product-systems-preview-v01 .ca-site .ca-system-content {
  width:calc(100% - var(--ca-gutter,80px));
  max-width:1160px;
  margin:0 auto;
  padding:52px 0 0;
}
.ca-product-systems-preview-v01 .ca-site .ca-system-section {
  margin:0 0 56px;
  padding:0;
  border:0;
}
.ca-product-systems-preview-v01 .ca-site .ca-system-section h2 {
  max-width:35ch;
  margin:0 0 20px;
  font-size:32px;
  font-weight:450;
  line-height:1.3;
  letter-spacing:-.025em;
}
.ca-product-systems-preview-v01 .ca-site .ca-system-section>p {
  max-width:76ch;
  margin:0 0 20px;
  font-size:16px;
  line-height:1.85;
}
.ca-product-systems-preview-v01 .ca-site .ca-system-section>p:last-child { margin-bottom:0; }

/* A pair of existing introduction sections; no new text is generated here. */
.ca-product-systems-preview-v01 .ca-site .ca-ps-intro-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
  margin:0 0 24px;
}
.ca-product-systems-preview-v01 .ca-site .ca-ps-intro-grid>.ca-system-section {
  min-width:0;
  margin:0;
  padding:30px 32px 32px;
  border-radius:12px;
  background:#f1f5f7;
}
.ca-product-systems-preview-v01 .ca-site .ca-ps-intro-grid>.ca-system-section>h2 {
  max-width:none;
  min-height:1.3em;
  font-size:28px;
}
.ca-product-systems-preview-v01 .ca-site .ca-ps-intro-grid>.ca-system-section>p {
  max-width:none;
  margin:0 0 18px;
}
.ca-product-systems-preview-v01 .ca-site .ca-ps-intro-grid>.ca-system-section>p:last-child { margin-bottom:0; }
.ca-product-systems-preview-v01 .ca-site .ca-ps-connect-action { margin:24px 0 0; padding:0; }
.ca-product-systems-preview-v01 .ca-site .ca-ps-intro-grid+.ca-ps-connect-action { margin:0 0 56px; }

/* Existing feature/audience cards share the Web Slot surface and spacing. */
.ca-product-systems-preview-v01 .ca-site .ca-system-feature-grid {
  gap:20px;
  margin:28px 0 0;
  grid-auto-rows:1fr;
}
.ca-product-systems-preview-v01 .ca-site .ca-system-feature {
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:28px;
  border:0;
  border-radius:12px;
  background:#f1f5f7;
}
.ca-product-systems-preview-v01 .ca-site .ca-system-feature>.ca-system-icon { width:44px; height:44px; margin:0 0 22px; }
.ca-product-systems-preview-v01 .ca-site .ca-system-feature>.ca-system-icon img {
  width:44px!important; height:44px!important; max-width:44px; max-height:44px;
}
.ca-product-systems-preview-v01 .ca-site .ca-system-feature-title {
  margin:0 0 12px;
  font-size:20px;
  font-weight:550;
  line-height:1.4;
}
.ca-product-systems-preview-v01 .ca-site .ca-system-feature>p:not(.ca-system-feature-title) { font-size:15px; line-height:1.8; }
.ca-product-systems-preview-v01 .ca-site .ca-system-feature-grid+p { margin-top:24px; }
.ca-product-systems-preview-v01 .ca-site .ca-system-step-grid {
  grid-auto-rows:1fr;
  gap:20px;
  margin-top:28px;
}
.ca-product-systems-preview-v01 .ca-site .ca-system-step {
  padding:26px;
  border:0;
  border-radius:12px;
  background:#f1f5f7;
  grid-template-columns:44px minmax(0,1fr);
  gap:10px 18px;
}
.ca-product-systems-preview-v01 .ca-site .ca-system-step>.ca-system-icon {
  grid-column:1;
  grid-row:1/3;
  align-self:start;
  width:36px;
  height:36px;
  margin:0;
}
.ca-product-systems-preview-v01 .ca-site .ca-system-step>.ca-system-icon img {
  width:36px!important; height:36px!important; max-width:36px; max-height:36px;
}
.ca-product-systems-preview-v01 .ca-site .ca-system-step>.ca-system-feature-title,
.ca-product-systems-preview-v01 .ca-site .ca-system-step>.ca-system-step-title { font-size:18px; }
/* Only audited audience numbers are omitted by the builder. Functional step
 * numbers retain a leading rail, with the icon below and copy alongside it. */
.ca-product-systems-preview-v01 .ca-site .ca-system-step:has(>.ca-system-step-number) {
  grid-template-columns:44px minmax(0,1fr);
}
.ca-product-systems-preview-v01 .ca-site .ca-system-step:has(>.ca-system-step-number)>.ca-system-step-number {
  grid-column:1;
  grid-row:1;
  align-self:start;
  margin:0;
  padding-top:2px;
  color:#6c8092;
  font-size:13px;
  font-weight:600;
  line-height:1.6;
}
.ca-product-systems-preview-v01 .ca-site .ca-system-step:has(>.ca-system-step-number)>.ca-system-icon {
  grid-column:1;
  grid-row:2/4;
}
.ca-product-systems-preview-v01 .ca-site .ca-system-step:has(>.ca-system-step-number)>:not(.ca-system-step-number):not(.ca-system-icon) {
  grid-column:2;
  grid-row:auto;
}
/* Unnumbered text-only cards do not reserve an empty leading column. */
.ca-product-systems-preview-v01 .ca-site .ca-system-step:not(:has(>.ca-system-icon)):not(:has(>.ca-system-step-number)) { grid-template-columns:minmax(0,1fr); }
.ca-product-systems-preview-v01 .ca-site .ca-system-step:not(:has(>.ca-system-icon)):not(:has(>.ca-system-step-number))>* { grid-column:1; }
.ca-product-systems-preview-v01 .ca-site .ca-system-plan .ca-system-step>h2 { font-size:22px; }
.ca-product-systems-preview-v01 .ca-site .ca-system-plan .ca-system-step:not(:has(>.ca-system-icon)):not(:has(>.ca-system-step-number))>h2 { grid-column:1; }
.ca-product-systems-preview-v01 .ca-site .ca-ps-audience-intro { max-width:78ch; margin:22px 0 0; font-size:16px; line-height:1.85; }
.ca-product-systems-preview-v01 .ca-site .ca-ps-audience-outro {
  margin:24px 0 0;
  padding:26px 28px;
  border-radius:12px;
  background:#edf2f5;
}
.ca-product-systems-preview-v01 .ca-site .ca-ps-audience-outro>p { max-width:78ch; margin:0; color:#40566b; font-size:16px; line-height:1.85; }

/* Compact imported pages retain their existing overview, scope and plan. */
.ca-product-systems-preview-v01 .ca-site .ca-system-generic-overview { gap:36px 48px; margin:0 0 48px; }
.ca-product-systems-preview-v01 .ca-site .ca-system-generic-overview>.ca-system-scope {
  padding:28px;
  border:0;
  border-radius:12px;
  background:#f1f5f7;
}
.ca-product-systems-preview-v01 .ca-site .ca-system-restored-overview { margin:0 0 48px; padding:0; border:0; }
.ca-product-systems-preview-v01 .ca-site .ca-system-compact-contact { padding:28px; border:0; border-radius:12px; background:#edf2f5; }

/* Gallery layout is inherited unchanged; these safeguards prevent cropping. */
.ca-product-systems-preview-v01 .ca-site .ca-system-gallery>figure.wp-block-image img {
  height:auto!important;
  max-height:none;
  aspect-ratio:auto;
  object-fit:contain!important;
}
.ca-product-systems-preview-v01 .ca-site .ca-system-faq-list { max-width:880px; margin-top:26px; }
.ca-product-systems-preview-v01 .ca-site .ca-system-faq-list>.wp-block-details { padding:23px 0; }
.ca-product-systems-preview-v01 .ca-site .ca-system-faq-list>.wp-block-details>summary { font-size:18px; line-height:1.6; }

/* Contact and footer start on the same rail as the header and body. */
.ca-product-systems-preview-v01 .ca-site .ca-main>.ca-catalogue-contact {
  width:100%;
  max-width:none;
  margin:8px 0 0;
  padding:40px var(--ca-ps-rail) 44px;
  background:#e9eef2;
  text-align:left;
}
.ca-product-systems-preview-v01 .ca-site .ca-catalogue-contact h2 { margin:0 0 18px; font-size:32px; font-weight:450; }
.ca-product-systems-preview-v01 .ca-site .ca-catalogue-contact p { margin:0 0 22px; }
.ca-product-systems-preview-v01 .ca-site .ca-ps-contact-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:48px;
}
.ca-product-systems-preview-v01 .ca-site .ca-ps-contact-copy,
.ca-product-systems-preview-v01 .ca-site .ca-ps-contact-action { min-width:0; }
.ca-product-systems-preview-v01 .ca-site .ca-ps-contact-copy>p:last-child { margin:0; font-size:15px; }
.ca-product-systems-preview-v01 .ca-site .ca-ps-contact-invitation { max-width:56ch; margin:0 0 18px; color:#586d80; font-size:16px; line-height:1.85; }
.ca-product-systems-preview-v01 .ca-site .ca-ps-contact-copy>p.ca-ps-contact-consent {
  max-width:76ch;
  margin:16px 0;
  color:#586d80;
  font-size:12px;
  line-height:1.75;
}
.ca-product-systems-preview-v01 .ca-site .ca-footer { border-top:0; }
.ca-product-systems-preview-v01 .ca-site .ca-footer-inner { flex-direction:column; align-items:flex-start; }
.ca-product-systems-preview-v01 .ca-site .ca-footer-links { justify-content:flex-start; text-align:left; }

/* A real #ca-product-page-top anchor is supplied by the builder. */
.ca-product-systems-preview-v01 .ca-site .ca-ps-backtop-wrap { display:flex; justify-content:center; margin:24px 0 0; }
.ca-product-systems-preview-v01 .ca-site a.ca-ps-back-to-top {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  min-width:44px;
  min-height:44px;
  padding:0;
  border-radius:6px;
  text-decoration:none;
}
.ca-product-systems-preview-v01 .ca-site a.ca-ps-back-to-top img {
  width:44px!important;
  height:44px!important;
  max-width:44px;
  max-height:44px;
  margin:0;
  object-fit:contain;
}

@media(min-width:1700px) {
  .ca-product-systems-preview-v01 .ca-site .ca-system-hero { padding-top:42px; padding-bottom:64px; }
}
@media(max-width:1100px) {
  .ca-product-systems-preview-v01 .ca-ps-hero-grid { gap:32px; }
  .ca-product-systems-preview-v01 .ca-system-hero h1 { font-size:44px; }
  .ca-product-systems-preview-v01 .ca-site .ca-system-feature { padding:24px; }
}
@media(max-width:900px) {
  .ca-product-systems-preview-v01 .ca-site .ca-system-hero { padding-top:28px; padding-bottom:36px; }
  .ca-product-systems-preview-v01 .ca-ps-hero-grid { gap:28px; }
  .ca-product-systems-preview-v01 .ca-system-hero h1 { font-size:36px; }
  .ca-product-systems-preview-v01 .ca-ps-hero-copy .ca-system-overview-copy>p,
  .ca-product-systems-preview-v01 .ca-ps-hero-copy>p:not(.ca-system-legacy-cta):not(.ca-eyebrow) { font-size:15px; line-height:1.8; }
  .ca-product-systems-preview-v01 .ca-site .ca-system-content { padding-top:36px; }
  .ca-product-systems-preview-v01 .ca-site .ca-system-section { margin-bottom:40px; }
  .ca-product-systems-preview-v01 .ca-site .ca-system-section h2 { font-size:28px; }
  .ca-product-systems-preview-v01 .ca-site .ca-ps-intro-grid { gap:18px; }
  .ca-product-systems-preview-v01 .ca-site .ca-ps-intro-grid>.ca-system-section { padding:24px; }
  .ca-product-systems-preview-v01 .ca-site .ca-ps-intro-grid>.ca-system-section>h2 { font-size:25px; }
  .ca-product-systems-preview-v01 .ca-site .ca-system-step { padding:23px; grid-template-columns:36px minmax(0,1fr); gap:10px 14px; }
  .ca-product-systems-preview-v01 .ca-site .ca-system-generic-overview { gap:28px; }
  .ca-product-systems-preview-v01 .ca-site .ca-ps-contact-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
}
@media(max-width:700px) {
  .ca-product-systems-preview-v01 .ca-site .ca-ps-intro-grid { grid-template-columns:minmax(0,1fr); gap:16px; margin-bottom:22px; }
  .ca-product-systems-preview-v01 .ca-site .ca-ps-intro-grid>.ca-system-section>h2 { min-height:0; margin-bottom:18px; font-size:26px; }
  .ca-product-systems-preview-v01 .ca-site .ca-ps-intro-grid>.ca-system-section>p { font-size:15px; }
  .ca-product-systems-preview-v01 .ca-site .ca-ps-intro-grid+.ca-ps-connect-action { margin-bottom:36px; }
  .ca-product-systems-preview-v01 .ca-site .ca-ps-connect-action .ca-button { width:100%; }
}
@media(max-width:600px) {
  .ca-product-systems-preview-v01 .ca-site { --ca-gutter:40px; }
  .ca-product-systems-preview-v01 .ca-site .ca-system-hero { padding-top:24px; padding-bottom:30px; }
  .ca-product-systems-preview-v01 .ca-system-hero .ca-catalogue-back { margin-bottom:27px; }
  .ca-product-systems-preview-v01 .ca-ps-hero-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
  .ca-product-systems-preview-v01 .ca-system-hero h1 { max-width:18ch; margin-bottom:21px; font-size:38px; line-height:1.15; }
  .ca-product-systems-preview-v01 .ca-ps-hero-copy .ca-system-overview-copy>p,
  .ca-product-systems-preview-v01 .ca-ps-hero-copy>p:not(.ca-system-legacy-cta):not(.ca-eyebrow) { margin-bottom:23px; font-size:15px; line-height:1.8; }
  .ca-product-systems-preview-v01 .ca-ps-hero-copy .wp-block-buttons,
  .ca-product-systems-preview-v01 .ca-ps-hero-copy .wp-block-button,
  .ca-product-systems-preview-v01 .ca-ps-hero-copy .wp-block-button__link { width:100%; }
  .ca-product-systems-preview-v01 .ca-ps-hero-grid>.ca-system-visual { max-width:350px; margin:0 auto; }
  .ca-product-systems-preview-v01 .ca-ps-hero-grid>.ca-system-visual img { max-height:260px; }
  .ca-product-systems-preview-v01 .ca-site .ca-system-content { padding-top:32px; }
  .ca-product-systems-preview-v01 .ca-site .ca-system-section { margin-bottom:36px; }
  .ca-product-systems-preview-v01 .ca-site .ca-system-section h2 { margin-bottom:18px; font-size:27px; line-height:1.3; }
  .ca-product-systems-preview-v01 .ca-site .ca-system-section>p { font-size:15px; line-height:1.85; }
  .ca-product-systems-preview-v01 .ca-site .ca-system-feature-grid,
  .ca-product-systems-preview-v01 .ca-site .ca-system-step-grid { grid-auto-rows:auto; gap:14px; margin-top:22px; }
  .ca-product-systems-preview-v01 .ca-site .ca-system-feature { padding:24px; }
  .ca-product-systems-preview-v01 .ca-site .ca-system-feature-title { font-size:19px; }
  .ca-product-systems-preview-v01 .ca-site .ca-system-step { padding:24px; }
  .ca-product-systems-preview-v01 .ca-site .ca-system-step>.ca-system-feature-title,
  .ca-product-systems-preview-v01 .ca-site .ca-system-step>.ca-system-step-title { font-size:18px; }
  .ca-product-systems-preview-v01 .ca-site .ca-system-plan .ca-system-step>h2 { font-size:20px; }
  .ca-product-systems-preview-v01 .ca-site .ca-system-generic-overview { margin-bottom:36px; }
  .ca-product-systems-preview-v01 .ca-site .ca-system-generic-overview>.ca-system-scope { padding:24px; }
  .ca-product-systems-preview-v01 .ca-site .ca-system-restored-overview { margin-bottom:36px; }
  .ca-product-systems-preview-v01 .ca-site .ca-ps-audience-intro { margin-top:18px; font-size:15px; }
  .ca-product-systems-preview-v01 .ca-site .ca-ps-audience-outro { margin-top:16px; padding:24px; }
  .ca-product-systems-preview-v01 .ca-site .ca-ps-audience-outro>p { font-size:15px; }
  .ca-product-systems-preview-v01 .ca-site .ca-main>.ca-catalogue-contact { margin-top:0; padding-top:30px; padding-bottom:34px; }
  .ca-product-systems-preview-v01 .ca-site .ca-catalogue-contact h2 { font-size:27px; }
  .ca-product-systems-preview-v01 .ca-site .ca-ps-contact-invitation { font-size:15px; }
  .ca-product-systems-preview-v01 .ca-site .ca-ps-contact-action .ca-button { width:100%; }
  .ca-product-systems-preview-v01 .ca-site .ca-system-faq-list>.wp-block-details>summary { font-size:16px; }
}

/* Native core/paragraph wrapper keeps the reviewed standalone action in its grid. */
.ca-product-systems-preview-v01 .ca-ps-inline-action { display:contents; }
/* A native group must not add WordPress's default 24px gap above the hero grid. */
.ca-product-systems-preview-v01 .ca-site .ca-system-hero>.ca-ps-hero-grid { margin:0; }
.ca-product-systems-preview-v01 .ca-ps-hero-copy>.ca-system-overview-copy,
.ca-product-systems-preview-v01 .ca-ps-contact-grid>.ca-ps-contact-action { margin:0; }
