/* Approved blue palette and concentric geometry for public marketing pages. */
.raft-visual-page {
  --raft-paper: #fbfcff;
  --raft-paper-deep: #edf3ff;
  --raft-white: #fff;
  --raft-ink: #172238;
  --raft-muted: #5d6e87;
  --raft-rule: #dbe4f3;
  --raft-cobalt: #2b5ed1;
  --raft-cobalt-dark: #1b49ad;
  --raft-cobalt-soft: #e7efff;
  background: #fbfcff;
  color: #172238;
}
.raft-visual-page .raft-visual-banner,
.raft-visual-page .raft-visual-soft {
  color: #172238;
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.raft-visual-page .raft-visual-banner {
  color: #fff;
  background: radial-gradient(ellipse at 94% 22%,rgba(83,144,239,.2),transparent 55%),
    linear-gradient(112deg,#102b5c 8%,#163e86 65%,#2b5ed1);
}
.raft-visual-page .raft-visual-soft {
  background: radial-gradient(ellipse at 97% 30%,#96baf332,transparent 60%),
    linear-gradient(115deg,#f9fbff,#edf3ff);
}
.raft-visual-page .raft-visual-banner::before,
.raft-visual-page .raft-visual-banner::after,
.raft-visual-page .raft-visual-soft::before,
.raft-visual-page .raft-visual-soft::after {
  display: none;
}
.raft-visual-page .raft-visual-banner > :not(.raft-visual-motif),
.raft-visual-page .raft-visual-soft > :not(.raft-visual-motif) {
  position: relative;
  z-index: 1;
}
.raft-visual-page .raft-visual-motif {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg,transparent 22%,#000 88%);
  mask-image: linear-gradient(90deg,transparent 22%,#000 88%);
}
.raft-visual-motif > span {
  position: absolute;
  left: 88%;
  top: 38%;
  width: var(--contour-size);
  height: var(--contour-size);
  border: 1px solid rgba(188,216,255,.21);
  border-radius: 50%;
  transform: translate(-50%,-50%);
  background: radial-gradient(circle,transparent 84%,#c6dcff04 100%);
}
.raft-visual-motif > span:nth-child(1) { --contour-size: 960px; }
.raft-visual-motif > span:nth-child(2) { --contour-size: 855px; }
.raft-visual-motif > span:nth-child(3) { --contour-size: 750px; }
.raft-visual-motif > span:nth-child(4) { --contour-size: 645px; }
.raft-visual-motif > span:nth-child(5) { --contour-size: 540px; }
.raft-visual-motif > span:nth-child(6) { --contour-size: 435px; }
.raft-visual-motif > span:nth-child(7) { --contour-size: 330px; }
.raft-visual-motif > span:nth-child(8) { --contour-size: 225px; }
.raft-visual-motif > span:nth-child(3n) { border-color: rgba(208,230,255,.26); }
.raft-visual-motif.ellipses > span {
  left: 92%; top: 44%;
  transform: translate(-50%,-50%) rotate(-13deg) scaleY(.72);
}
.raft-visual-motif.diamonds > span {
  left: 95%; top: 48%; border-radius: 0; background: none;
  transform: translate(-50%,-50%) rotate(45deg);
}
.raft-visual-soft .raft-visual-motif > span { border-color: rgba(74,122,200,.15); background: none; }
.raft-visual-page .hero-pattern,
.raft-visual-page .approach-pattern { display: none; }
.raft-visual-page .raft-site-footer { background: #edf3ff; }

/* Homepage: stronger opening, quieter detail, and a consistent closing band. */
.raft-visual-page .home-hero h1,
.raft-visual-page .home-hero-focus strong { color: #fff; }
.raft-visual-page .home-hero .eyebrow,
.raft-visual-page .home-hero-focus > span,
.raft-visual-page .home-final .eyebrow { color: #bed5ff; }
.raft-visual-page .home-hero-copy > p:not(.eyebrow),
.raft-visual-page .home-hero-focus p,
.raft-visual-page .hero-availability { color: #d5e3fa; }
.raft-visual-page .home-hero-focus { border-color: #bbd1fc38; }
.raft-visual-page .home-hero-focus > div { border-color: #bbd1fc38; }
.raft-visual-page .home-hero .home-primary,
.raft-visual-page .home-final .home-primary { background: #fff; color: #214db1; }
.raft-visual-page .home-hero .home-primary:hover,
.raft-visual-page .home-final .home-primary:hover { background: #e9f0ff; }
.raft-visual-page .home-hero .home-secondary { color: #e1ecff; }
.raft-visual-page .availability-dot { background: #b9d2ff; }
.raft-visual-page .outcome-card {
  position: relative; overflow: hidden; isolation: isolate;
  background: radial-gradient(ellipse at 104% -4%,#e7efff 0,transparent 52%),#fff;
}
.raft-visual-page .outcome-card::before {
  content: ""; position: absolute; width: 180px; height: 180px; top: -105px; right: -88px;
  pointer-events: none; z-index: -1;
  background: repeating-radial-gradient(circle,transparent 0 22px,#5e8cd622 23px 24px,transparent 25px 46px);
}
.raft-visual-page .home-product .workspace-card {
  box-shadow: 0 25px 65px #1b3e7c18;
  background: radial-gradient(ellipse at 100% 0,#edf3ff,transparent 48%),#fff;
}

/* Objective pages retain their text, forms and service states. */
.raft-visual-page .route-hero-inner { padding-bottom: 70px; }
.raft-visual-page .route-hero h1 { max-width: 12ch; }
.raft-visual-page .glance-card { background: #ffffff09; border-color: #bbd1fc38; box-shadow: none; color: #fff; }
.raft-visual-page .glance-card h2.glance-audience,
.raft-visual-page .glance-card > strong { color: #fff; }
.raft-visual-page .glance-card > p:not(.glance-audience) { color: #d5e3fa; }
.raft-visual-page .glance-top > span:first-child { color: #bed5ff; }
.raft-visual-page .glance-line { background: #bbd1fc38; }
.raft-visual-page .route-what,
.raft-visual-page .route-practical,
.raft-visual-page .route-faq,
.raft-visual-page .related { padding-block: 64px; }
.raft-visual-page .route-journey { color: #172238; }
.raft-visual-page .route-journey .eyebrow { color: #315fc8; }
.raft-visual-page .journey-step { background: #fff; border-color: #d2dff3; color: #172238; }
.raft-visual-page .journey-step p,
.raft-visual-page .journey-heading > p { color: #526680; }
.raft-visual-page .step-phase { color: #315fc8; }

/* Research: make the method section a deliberate visual pause. */
.raft-visual-page.raft-research .support-section.raft-visual-soft {
  width: 100%; padding-inline: max(28px,calc((100% - 1194px)/2));
}
.raft-visual-page .support-process { margin-bottom: 0; }

/* Review: no legacy cream surfaces or decorative article-header strips. */
.raft-visual-page.raft-review .editorial-hero {
  width: 100%; max-width: none;
  padding: 70px max(28px,calc((100% - 1194px)/2));
}
.raft-visual-page.raft-review .editorial-feature { padding-block: 64px; }
.raft-visual-page.raft-review .editorial-grid { gap: 18px; border: 0; background: transparent; }
.raft-visual-page.raft-review .editorial-card,
.raft-visual-page.raft-review .editorial-card.is-featured {
  position: relative; padding: 26px; border: 1px solid #d7e2f3; border-radius: 8px; background: #fff;
}
.raft-visual-page.raft-review .editorial-card::before { display: none; }
.raft-visual-page.raft-review .editorial-section[aria-labelledby="standards-title"] {
  width: 100%; max-width: none;
  padding: 64px max(28px,calc((100% - 1194px)/2)); background: #edf3ff;
}
.raft-visual-page .editorial-dark h2 { color: #fff; }
.raft-visual-page .raft-cta-band.raft-visual-banner { color: #fff; }
.raft-visual-page .raft-cta-band.raft-visual-banner h2,
.raft-visual-page .raft-cta-band.raft-visual-banner p { color: #fff; }
.raft-visual-page .raft-cta-band .raft-action { background: #fff; border-color: #fff; color: #214db1; }
.raft-visual-page .raft-cta-band .raft-action:hover { background: #e9f0ff; border-color: #e9f0ff; }

/* Workspace and submission previews use a lighter opening treatment. */
.raft-visual-page .demo-intro {
  width: 100%; padding: 64px max(28px,calc((100% - 1194px)/2)) 48px;
}
.raft-visual-page .demo-intro .eyebrow { color: #315fc8; }
.raft-visual-page .demo-intro > p:not(.eyebrow) { color: #56657a; }
.raft-visual-page .demo-status { background: #fff; border-color: #dce6f5; color: #4d5f7b; }
.raft-visual-page .demo-status strong { color: #213e7e; }
.raft-visual-page .demo-frame { margin-top: 38px; }
.raft-visual-page .workspace-nav nav { overflow: visible; flex-wrap: wrap; }
.raft-visual-page .workspace-section-banner .raft-visual-motif > span { left: 96%; top: 80%; }
.raft-visual-page .submission-hero { color: #172238; }
.raft-visual-page .submission-hero h1 { color: #172238; }
.raft-visual-page .submission-hero p,
.raft-visual-page .submission-breadcrumb,
.raft-visual-page .submission-breadcrumb a { color: #526582; }
.raft-visual-page .submission-hero .submission-eyebrow { color: #315fc8; }
.raft-visual-page .submission-hero-inner > a { color: #214db1; border-color: #a1b9e4; }
.raft-visual-page.raft-privacy .support-hero { color: #172238; }
.raft-visual-page.raft-privacy .support-hero p { color: #5d6e87; }
.raft-visual-page.raft-privacy .support-hero .support-eyebrow { color: #315fc8; }

@media (max-width: 760px) {
  .raft-visual-page .route-hero h1 { max-width: 17ch; }
  .raft-visual-page .route-what,
  .raft-visual-page .route-practical,
  .raft-visual-page .route-faq,
  .raft-visual-page .related { padding-block: 44px; }
  .raft-visual-motif > span { left: 116%; }
  .raft-visual-page .raft-visual-motif {
    -webkit-mask-image: linear-gradient(90deg,transparent 14%,#000 100%);
    mask-image: linear-gradient(90deg,transparent 14%,#000 100%);
  }
  .raft-visual-motif.diamonds > span { left: 131%; }
  .raft-visual-page.raft-review .editorial-card,
  .raft-visual-page.raft-review .editorial-card.is-featured { padding: 20px; }
  .raft-visual-page .demo-intro { padding-inline: 24px; }
  .raft-visual-page .workspace-screen { padding-inline: 18px; }
}
