/* Catawork public pages v1.1 — responsive and accessible visual contract for indexable pages outside Home. */
.public-body.public-page-polish{
  --public-page-max:1280px;
  --public-page-gutter:clamp(18px,4vw,48px);
  --public-section-space:clamp(58px,7vw,88px);
  --public-card-radius:22px;
  background:
    radial-gradient(circle at 7% 7%,rgba(6,182,212,.055),transparent 24%),
    radial-gradient(circle at 88% 5%,rgba(99,91,255,.07),transparent 27%),
    #fbfcff;
}
.public-body.public-page-polish .simple-public{
  width:min(calc(100% - var(--public-page-gutter)),var(--public-page-max));
  min-height:70vh;
  margin:0 auto;
  padding:clamp(24px,3vw,42px) 0 clamp(76px,8vw,112px);
  overflow:clip;
  background:transparent;
}
.public-body.public-page-polish .simple-public,
.public-body.public-page-polish .simple-public>*,
.public-body.public-page-polish .simple-public section,
.public-body.public-page-polish .simple-public article,
.public-body.public-page-polish .simple-public nav,
.public-body.public-page-polish .simple-public aside{min-width:0}
.public-body.public-page-polish .simple-public :where(h1,h2,h3,p,a,b,li,small){overflow-wrap:break-word}

/* Shared orientation and page entry. */
.public-body.public-page-polish .trust-breadcrumb{
  width:100%;
  max-width:none;
  min-height:34px;
  margin:0 0 clamp(20px,3vw,30px);
  padding:0 5px;
  gap:8px;
  color:#727d91;
  font-size:10.5px;
}
.public-body.public-page-polish .trust-breadcrumb a{color:#5148d8;font-weight:820}
.public-body.public-page-polish .trust-breadcrumb b{font-weight:720}

.public-body.public-page-polish :where(.page-hero,.editorial-hero,.glossary-hero,.glossary-term-hero){
  position:relative;
  isolation:isolate;
  width:100%;
  max-width:none;
  margin:0 0 clamp(52px,6vw,76px);
  padding:clamp(42px,5.5vw,70px) clamp(24px,5vw,64px);
  overflow:hidden;
  border:1px solid rgba(216,219,233,.92);
  border-radius:30px;
  background:
    radial-gradient(circle at 8% 8%,rgba(99,91,255,.14),transparent 30%),
    radial-gradient(circle at 92% 90%,rgba(6,182,212,.075),transparent 28%),
    linear-gradient(145deg,#fff,#f8f9ff);
  box-shadow:0 22px 60px rgba(35,42,70,.08);
  text-align:right;
}
.public-body.public-page-polish :where(.page-hero,.editorial-hero,.glossary-hero,.glossary-term-hero)::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:auto -105px -155px auto;
  width:310px;
  aspect-ratio:1;
  border:1px solid rgba(99,91,255,.1);
  border-radius:50%;
  box-shadow:0 0 0 42px rgba(99,91,255,.025),0 0 0 86px rgba(6,182,212,.018);
  pointer-events:none;
}
.public-body.public-page-polish :where(.page-hero,.editorial-hero,.glossary-hero,.glossary-term-hero) h1{
  max-width:920px;
  margin:9px 0 18px;
  color:#121a31;
  font-size:clamp(40px,5.2vw,70px);
  line-height:1.16;
  letter-spacing:-2.3px;
  text-wrap:balance;
}
.public-body.public-page-polish :where(.page-hero,.editorial-hero,.glossary-hero)>p:last-child{
  max-width:760px;
  margin:0;
  color:#5f6b80;
  font-size:clamp(14.5px,1.45vw,17px);
  line-height:2;
}

/* Two-panel commercial heroes. */
.public-body.public-page-polish :where(.solution-hero,.audience-hero){
  grid-template-columns:minmax(0,1.45fr) minmax(270px,.72fr);
  gap:clamp(16px,2.5vw,28px);
  align-items:stretch;
  margin:0 0 clamp(58px,7vw,84px);
  padding:0;
}
.public-body.public-page-polish :where(.solution-hero,.audience-hero)>div{
  padding:clamp(34px,4.7vw,58px);
  border:1px solid #dfe3ed;
  border-radius:30px;
  background:
    radial-gradient(circle at 8% 8%,rgba(99,91,255,.13),transparent 30%),
    linear-gradient(145deg,#fff,#f8f9ff);
  box-shadow:0 22px 60px rgba(35,42,70,.08);
}
.public-body.public-page-polish :where(.solution-hero,.audience-hero) h1{
  max-width:860px;
  margin:9px 0 18px;
  font-size:clamp(39px,5vw,68px);
  line-height:1.16;
  letter-spacing:-2.2px;
  text-wrap:balance;
}
.public-body.public-page-polish :where(.solution-hero,.audience-hero)>div>p:not(.eyebrow){
  max-width:730px;
  margin:0;
  color:#606d82;
  font-size:clamp(14.5px,1.35vw,17px);
  line-height:2;
}
.public-body.public-page-polish :where(.solution-hero,.audience-hero)>aside{
  min-height:100%;
  padding:clamp(24px,3.4vw,38px);
  border:1px solid #293553;
  border-radius:30px;
  background:
    radial-gradient(circle at 78% 14%,rgba(99,91,255,.4),transparent 33%),
    linear-gradient(145deg,#151f3b,#090e1c);
  box-shadow:0 24px 62px rgba(11,16,32,.2);
}
.public-body.public-page-polish :where(.solution-hero-actions,.audience-actions){gap:12px;margin-top:24px}

/* Shared section rhythm and card hierarchy. */
.public-body.public-page-polish :where(.solution-selector,.solution-steps,.related-solutions,.audience-card-section,.audience-scenarios,.audience-workflow,.audience-faq,.glossary-points,.glossary-relations,.glossary-sources,.evidence-table,.accuracy-checklist,.research-principles){
  margin-block:0 var(--public-section-space);
  padding-block:0;
}
.public-body.public-page-polish :where(.solution-selector,.solution-steps,.related-solutions,.audience-card-section,.audience-scenarios,.audience-workflow,.audience-faq,.glossary-points,.glossary-relations,.glossary-sources)>header{
  max-width:760px;
  margin-bottom:clamp(24px,3vw,34px);
}
.public-body.public-page-polish :where(.solution-selector,.solution-steps,.related-solutions,.audience-card-section,.audience-scenarios,.audience-workflow,.audience-faq,.glossary-points,.glossary-relations,.glossary-sources)>header h2{
  margin:6px 0 0;
  color:#172038;
  font-size:clamp(28px,3.5vw,46px);
  line-height:1.36;
  letter-spacing:-1.3px;
  text-wrap:balance;
}
.public-body.public-page-polish :where(.solution-card-grid,.editorial-grid,.glossary-grid,.glossary-points>div,.audience-card-grid,.audience-scenarios>div,.audience-value-grid,.trust-grid,.contact-trust-grid){gap:12px}
.public-body.public-page-polish :where(.solution-card-grid article,.editorial-grid article,.glossary-grid article,.glossary-points article,.audience-card-grid article,.audience-scenarios article,.audience-value-grid article,.trust-grid>article,.contact-trust-grid>article){
  border-color:#e1e5ee;
  border-radius:var(--public-card-radius);
  background:linear-gradient(155deg,#fff,#fafbff);
  box-shadow:0 13px 36px rgba(35,42,70,.055);
}
.public-body.public-page-polish .solution-card-grid{margin-bottom:0}
.public-body.public-page-polish .solution-card-grid article{min-height:330px;padding:27px}
.public-body.public-page-polish .solution-card-grid article>span{margin-bottom:23px}
.public-body.public-page-polish .solution-card-grid h2{font-size:21px;line-height:1.55}
.public-body.public-page-polish .solution-card-grid article>p:last-of-type{font-size:12.5px;line-height:1.95}

.public-body.public-page-polish :where(.solution-decision,.solution-problem,.solution-fit,.glossary-policy,.glossary-contrast,.glossary-boundaries,.evidence-split,.audience-context,.audience-boundary){
  margin:0 0 var(--public-section-space);
  padding:clamp(28px,4vw,46px);
  gap:clamp(22px,3.5vw,42px);
  border:1px solid #e1e5ee;
  border-radius:26px;
  background:linear-gradient(145deg,#f8f9fc,#f3f5fa);
  box-shadow:none;
}
.public-body.public-page-polish :where(.solution-decision,.solution-problem,.solution-fit,.glossary-policy,.glossary-contrast,.glossary-boundaries,.evidence-split,.audience-context,.audience-boundary) h2{
  font-size:clamp(25px,3vw,40px);
  line-height:1.48;
  letter-spacing:-1px;
}

/* Editorial, evidence and legal surfaces. */
.public-body.public-page-polish .knowledge-categories{margin-top:-36px;margin-bottom:var(--public-section-space);border-radius:22px}
.public-body.public-page-polish .knowledge-topic-map{margin-bottom:var(--public-section-space)}
.public-body.public-page-polish .knowledge-topic-map>article{border-radius:22px}
.public-body.public-page-polish .article-hero{
  max-width:1020px;
  margin-bottom:clamp(42px,6vw,68px);
  padding:clamp(38px,5vw,60px) 0;
}
.public-body.public-page-polish .article-hero h1{font-size:clamp(38px,5vw,64px);line-height:1.25}
.public-body.public-page-polish .article-body>section{border-radius:20px;box-shadow:0 10px 28px rgba(35,42,70,.04)}
.public-body.public-page-polish .legal-layout{gap:clamp(20px,3vw,36px)}
.public-body.public-page-polish .legal-layout>aside{border-radius:18px}
.public-body.public-page-polish .legal-layout>div{gap:12px}
.public-body.public-page-polish .legal-layout article{padding:clamp(24px,3.5vw,34px);border-radius:20px}
.public-body.public-page-polish :where(.trust-intro,.trust-grid,.contact-trust-grid,.legal-layout,.ai-flow){margin-bottom:var(--public-section-space)}

/* Pricing, demo and conversion endings. */
.public-body.public-page-polish .pricing-full{width:100%;max-width:1240px;margin:0 auto;gap:12px}
.public-body.public-page-polish .pricing-full .price-card{border-radius:24px!important}
.public-body.public-page-polish .faq-public{width:100%;max-width:1120px;margin:clamp(72px,7vw,98px) auto 20px;border-radius:24px}
.public-body.public-page-polish .sales-demo-stage{max-width:1200px;border-radius:26px}
.public-body.public-page-polish .demo-outcome-strip{margin-top:20px}
.public-body.public-page-polish :where(.center-cta,.trust-cta,.trust-note,.contact-direct,.solution-proof-path,.audience-final-cta){
  margin-top:clamp(52px,6vw,76px);
  padding:clamp(30px,4vw,48px);
  border-radius:26px;
}
.public-body.public-page-polish :where(.trust-cta,.solution-proof-path,.audience-final-cta){
  background:
    radial-gradient(circle at 10% 10%,rgba(99,91,255,.4),transparent 30%),
    linear-gradient(145deg,#141d36,#080d19);
  box-shadow:0 22px 58px rgba(11,16,32,.18);
}
.public-body.public-page-polish .seo-link-paths{margin-top:clamp(58px,7vw,86px);border-radius:26px}

/* Honest intrinsic sizes reduce scroll jumps without eagerly rendering every section. */
@supports(content-visibility:auto){
  .public-body.public-page-polish .solution-selector{contain-intrinsic-block-size:auto 1120px}
  .public-body.public-page-polish :where(.solution-decision,.solution-problem,.solution-fit,.trust-note,.trust-cta,.contact-direct){contain-intrinsic-block-size:auto 340px}
  .public-body.public-page-polish :where(.solution-steps,.related-solutions,.trust-grid,.contact-trust-grid,.ai-flow){contain-intrinsic-block-size:auto 560px}
  .public-body.public-page-polish .legal-layout{contain-intrinsic-block-size:auto 1120px}
  .public-body.public-page-polish .seo-link-paths{contain-intrinsic-block-size:auto 520px}
}

@media(hover:hover) and (pointer:fine){
  .public-body.public-page-polish :where(.solution-card-grid article,.editorial-grid article,.glossary-grid article,.audience-card-grid article,.trust-grid>article,.contact-trust-grid>article){
    transition:transform .22s var(--ds-ease),border-color .22s ease,box-shadow .22s ease;
  }
  .public-body.public-page-polish :where(.solution-card-grid article,.editorial-grid article,.glossary-grid article,.audience-card-grid article,.trust-grid>article,.contact-trust-grid>article):hover{
    transform:translateY(-4px);
    border-color:#d3cfff;
    box-shadow:0 20px 46px rgba(35,42,70,.09);
  }
}

@media(max-width:980px){
  .public-body.public-page-polish :where(.solution-hero,.audience-hero){grid-template-columns:1fr}
  .public-body.public-page-polish :where(.solution-hero,.audience-hero)>aside{min-height:260px}
  .public-body.public-page-polish .solution-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .public-body.public-page-polish .pricing-full{grid-template-columns:repeat(2,minmax(0,1fr));max-width:850px}
}

@media(max-width:700px){
  .public-body.public-page-polish{--public-page-gutter:20px;--public-section-space:52px;--public-card-radius:19px}
  .public-body.public-page-polish .simple-public{width:calc(100% - 20px);padding:18px 0 72px}
  .public-body.public-page-polish .trust-breadcrumb{margin-bottom:17px;padding-inline:2px;font-size:9.5px}
  .public-body.public-page-polish :where(.page-hero,.editorial-hero,.glossary-hero,.glossary-term-hero){
    margin-bottom:48px;
    padding:32px 20px 36px;
    border-radius:23px;
  }
  .public-body.public-page-polish :where(.page-hero,.editorial-hero,.glossary-hero,.glossary-term-hero) h1{
    font-size:clamp(34px,10.5vw,47px);
    line-height:1.2;
    letter-spacing:-1.5px;
  }
  .public-body.public-page-polish :where(.page-hero,.editorial-hero,.glossary-hero)>p:last-child{font-size:14px;line-height:1.95}
  .public-body.public-page-polish :where(.solution-hero,.audience-hero){gap:10px;margin-bottom:50px}
  .public-body.public-page-polish :where(.solution-hero,.audience-hero)>div,
  .public-body.public-page-polish :where(.solution-hero,.audience-hero)>aside{padding:27px 20px;border-radius:23px}
  .public-body.public-page-polish :where(.solution-hero,.audience-hero) h1{font-size:clamp(34px,10.5vw,48px);line-height:1.2;letter-spacing:-1.5px}
  .public-body.public-page-polish :where(.solution-hero-actions,.audience-actions){align-items:stretch;flex-direction:column}
  .public-body.public-page-polish :where(.solution-hero-actions,.audience-actions) .button{width:100%}
  .public-body.public-page-polish .solution-card-grid{grid-template-columns:1fr;gap:9px}
  .public-body.public-page-polish .solution-card-grid article{min-height:285px;padding:22px}
  .public-body.public-page-polish :where(.solution-decision,.solution-problem,.solution-fit,.glossary-policy,.glossary-contrast,.glossary-boundaries,.evidence-split,.audience-context,.audience-boundary){padding:23px 18px;border-radius:21px}
  .public-body.public-page-polish .knowledge-categories{margin-top:-28px;border-radius:20px}
  .public-body.public-page-polish .pricing-full{grid-template-columns:1fr;max-width:600px}
  .public-body.public-page-polish .pricing-full .price-card{border-radius:21px!important}
  .public-body.public-page-polish .faq-public{margin-top:58px;padding:18px;border-radius:20px}
  .public-body.public-page-polish .sales-demo-stage{border-radius:21px}
  .public-body.public-page-polish :where(.center-cta,.trust-cta,.trust-note,.contact-direct,.solution-proof-path,.audience-final-cta){
    align-items:stretch;
    flex-direction:column;
    margin-top:50px;
    padding:28px 20px;
    border-radius:21px;
  }
  .public-body.public-page-polish :where(.center-cta,.trust-cta,.trust-note,.contact-direct,.solution-proof-path,.audience-final-cta) .button{width:100%;white-space:normal;text-align:center}
  .public-body.public-page-polish .seo-link-paths{margin-top:52px;border-radius:21px}
}

@media(max-width:420px){
  .public-body.public-page-polish :where(.page-hero,.editorial-hero,.glossary-hero,.glossary-term-hero),
  .public-body.public-page-polish :where(.solution-hero,.audience-hero)>div,
  .public-body.public-page-polish :where(.solution-hero,.audience-hero)>aside{padding-inline:17px}
  .public-body.public-page-polish .legal-layout>aside{grid-template-columns:1fr}
  .public-body.public-page-polish .legal-layout>aside b{grid-column:auto}
}

@media(hover:none){
  .public-body.public-page-polish :where(.solution-card-grid article,.editorial-grid article,.glossary-grid article,.audience-card-grid article,.trust-grid>article,.contact-trust-grid>article):hover{transform:none}
}

@media(prefers-reduced-motion:reduce){
  .public-body.public-page-polish :where(.solution-card-grid article,.editorial-grid article,.glossary-grid article,.audience-card-grid article,.trust-grid>article,.contact-trust-grid>article){transition:none!important}
}

/* Phase 7 — responsive, zoom and accessibility hardening. */
.public-body.public-page-polish{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
.public-body.public-page-polish .simple-public :where(section[id],article[id],h2[id],h3[id]){scroll-margin-top:112px}
.public-body.public-page-polish .simple-public :where(p,li,dd,bdi,code,a){overflow-wrap:anywhere}
.public-body.public-page-polish .trust-breadcrumb{
  flex-wrap:wrap;
  row-gap:2px;
}
.public-body.public-page-polish .trust-breadcrumb a{
  min-height:40px;
  display:inline-flex;
  align-items:center;
}
.public-body.public-page-polish .article-layout>aside a{
  min-height:40px;
  display:flex;
  align-items:center;
}
.public-body.public-page-polish :where(.solution-card-grid,.editorial-grid,.glossary-grid,.audience-card-grid) article>a,
.public-body.public-page-polish :where(.solution-hero-actions,.audience-actions)>a:not(.button){
  min-height:44px;
  display:inline-flex;
  align-items:center;
}
.public-body.public-page-polish :where(.faq-public,.solution-faq,.audience-faq) summary{
  min-height:52px;
  align-items:center;
}
.public-body.public-page-polish .demo-chapter-list button,
.public-body.public-page-polish .sales-demo-controls button{
  min-height:44px;
  line-height:1.55;
}
.public-body.public-page-polish :is(a,button,summary,input,textarea,select,[tabindex]):focus-visible{
  outline:3px solid #6259e8;
  outline-offset:3px;
  box-shadow:none;
}
.public-body.public-page-polish :is(.sales-demo-context,.trust-cta,.solution-proof-path,.audience-final-cta) :is(a,button,summary,[tabindex]):focus-visible{
  outline-color:#8ee8f2;
}

@media(max-width:700px){
  .public-body.public-page-polish .trust-breadcrumb b{
    overflow:visible;
    white-space:normal;
    text-overflow:clip;
    line-height:1.8;
  }
  .public-body.public-page-polish .article-layout>aside{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .public-body.public-page-polish .article-layout>aside>b{grid-column:1/-1}
  .public-body.public-page-polish .sales-demo-controls{
    flex-basis:auto;
    min-height:0;
  }
  .public-body.public-page-polish .sales-demo-controls button{
    white-space:normal;
    text-wrap:balance;
  }
}

@media(max-width:420px){
  .public-body.public-page-polish{--public-page-gutter:16px}
  .public-body.public-page-polish .simple-public{width:calc(100% - 16px)}
  .public-body.public-page-polish .article-layout>aside{grid-template-columns:1fr}
  .public-body.public-page-polish .article-layout>aside>b{grid-column:auto}
  .public-body.public-page-polish .sales-demo-controls>div{grid-template-columns:repeat(2,minmax(0,1fr))}
  .public-body.public-page-polish .sales-demo-controls .demo-control-primary{grid-column:1/-1}
}

@media(max-height:560px) and (orientation:landscape) and (max-width:980px){
  .public-body.public-page-polish .sales-demo-chat{
    height:620px;
    min-height:520px;
    max-height:none;
  }
}

@media(prefers-contrast:more){
  .public-body.public-page-polish{
    --ds-color-text-muted:#445066;
    --ds-color-border:#aeb6c6;
  }
  .public-body.public-page-polish :where(.solution-card-grid article,.editorial-grid article,.glossary-grid article,.audience-card-grid article,.article-body>section,.faq-public details){border-color:#aeb6c6}
  .public-body.public-page-polish :where(.eyebrow,.trust-breadcrumb a){color:#3f36bd}
}

@media(forced-colors:active){
  .public-body.public-page-polish :where(.page-hero,.editorial-hero,.glossary-hero,.glossary-term-hero,.solution-hero>div,.audience-hero>div,.solution-card-grid article,.editorial-grid article,.glossary-grid article,.audience-card-grid article,.sales-demo-stage,.sales-demo-chat,.faq-public details){
    border:1px solid CanvasText;
    box-shadow:none;
  }
  .public-body.public-page-polish :where(.button,button,.trust-breadcrumb a,.article-layout>aside a){forced-color-adjust:auto}
  .public-body.public-page-polish :is(a,button,summary,input,textarea,select,[tabindex]):focus-visible{outline-color:Highlight}
}

@media(prefers-reduced-motion:reduce){
  .public-body.public-page-polish{scroll-behavior:auto}
  .public-body.public-page-polish .simple-public :where(*,::before,::after){
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}
