/* Constellation extends the shared Around theme without changing other pages. */
.constellation-page {
  --cs-bg: #121519;
  --cs-panel: #1b1f23;
  --cs-line: #373d43;
  --cs-muted: #bcc3ca;
  --cs-cyan: #4ec8ed;
  --cs-green: #a4d5be;
  color: var(--cs-muted);
  background: var(--cs-bg);
  letter-spacing: 0;
}
.constellation-page h1,
.constellation-page h2,
.constellation-page h3,
.constellation-page h4 { letter-spacing: 0; }
.constellation-page p { line-height: 1.8; }
.constellation-page .navbar { background: rgba(18, 21, 25, .97); }
.constellation-page .navbar .btn { border-radius: 6px !important; }
.constellation-page .navbar-brand { flex-shrink: 0; }
.constellation-page .navbar-toggler { min-width: 44px; min-height: 44px; }
.constellation-page .btn { border-radius: 6px; min-height: 48px; }
.constellation-page .btn-primary { color: #11181d; }
.constellation-page section[id],
.constellation-page [id="sample-report"] { scroll-margin-top: 96px; }
.constellation-page :focus-visible { outline: 3px solid var(--cs-cyan); outline-offset: 5px; }
.constellation-skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 1100;
  padding: 12px 18px;
  color: #121519;
  background: #4ec8ed;
  transform: translateY(-160%);
}
.constellation-skip-link:focus { transform: translateY(0); }
.constellation-hero { position: relative; padding: 138px 0 30px; background: #17191b; overflow: hidden; }
.constellation-hero-art { position: absolute; inset: 80px 0 0; width: 100%; height: calc(100% - 80px); object-fit: cover; object-position: center; }
.constellation-hero-copy { max-width: 670px; }
.constellation-wordmark { color: #e5edf0; font-size: 16px; margin-bottom: 24px; }
.constellation-wordmark strong { display: block; color: var(--cs-cyan); font-size: 27px; font-weight: 500; line-height: 1.35; }
.constellation-hero h1 { font-size: 56px; line-height: 1.12; font-weight: 600; margin-bottom: 24px; }
.constellation-lead { font-size: 17px; line-height: 1.8; color: #d1d6db; max-width: 620px; margin-bottom: 26px; }
.constellation-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 26px; }
.constellation-actions .btn { font-size: 15px; padding: 14px 20px; font-weight: 500; }
.constellation-text-link { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 500; color: #e8f5f9; padding: 10px 0; text-underline-offset: 5px; }
.constellation-text-link:hover { color: var(--cs-cyan); text-decoration: underline; }
.constellation-text-link i { font-size: 19px; flex: 0 0 auto; }
.constellation-trust { max-width: 680px; border-top: 1px solid var(--cs-line); margin: 32px 0 0; padding-top: 22px; color: #b8c1c8; font-size: 12px; }
.constellation-section-nav { border-top: 1px solid var(--cs-line); border-bottom: 1px solid var(--cs-line); background: #191d21; }
.constellation-section-nav .container { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 32px; padding-top: 14px; padding-bottom: 14px; }
.constellation-section-nav a { color: #bec7cf; font-size: 13px; padding: 7px 0; text-decoration: none; }
.constellation-section-nav a:hover { color: var(--cs-cyan); }
.constellation-section { padding: 88px 0; }
.constellation-section h2 { font-size: 38px; line-height: 1.25; font-weight: 500; margin-bottom: 24px; }
.constellation-section h3 { font-size: 20px; line-height: 1.45; font-weight: 500; }
.constellation-section p { font-size: 15px; }
.constellation-eyebrow { color: var(--cs-cyan); font-size: 12px !important; font-weight: 500; text-transform: uppercase; margin-bottom: 16px; }
.constellation-section-heading { max-width: 830px; margin-bottom: 40px; }
.constellation-section-heading > p:last-child:not(.constellation-eyebrow) { max-width: 740px; font-size: 17px; }
.constellation-band { background: var(--cs-panel); border-top: 1px solid #292f34; border-bottom: 1px solid #292f34; }
.constellation-problems { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 64px; }
.constellation-problems article { border-top: 1px solid rgba(78, 200, 237, .35); padding-top: 22px; }
.constellation-index { color: var(--cs-cyan); font-size: 13px; font-weight: 500; display: block; margin-bottom: 20px; font-variant-numeric: tabular-nums; }
.constellation-problems p { margin-bottom: 0; }
.constellation-intro p { font-size: 17px; }
.constellation-flow { margin: 48px 0 0; padding: 28px 0 4px; border-top: 1px solid var(--cs-line); display: grid; grid-template-columns: 1.2fr 24px 1fr 24px 1fr; align-items: center; gap: 24px; }
.constellation-flow > i { color: var(--cs-cyan); font-size: 24px; }
.constellation-flow-sources { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.constellation-flow-sources span { padding: 13px 0; font-weight: 500; font-size: 15px; color: #e4e9ed; }
.constellation-flow-master > i,
.constellation-flow-output > i { display: block; font-size: 23px; color: var(--cs-cyan); margin-bottom: 12px; }
.constellation-flow strong { display: block; color: #f2f5f7; font-size: 16px; font-weight: 500; margin-bottom: 8px; }
.constellation-flow span { font-size: 13px; }
.constellation-flow-output > i { color: var(--cs-green); }
.constellation-capabilities { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 64px; }
.constellation-capabilities article { padding: 30px 0; border-top: 1px solid var(--cs-line); }
.constellation-capabilities p { margin-bottom: 0; }
.constellation-capability-primary { grid-column: 1 / -1; }
.constellation-capability-primary p { max-width: 1020px; }
.constellation-capability-heading { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 14px; }
.constellation-capability-heading > i { color: var(--cs-cyan); font-size: 24px; flex: 0 0 26px; padding-top: 3px; }
.constellation-capability-heading h3 { margin: 0; }
.constellation-equation { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; padding-top: 26px; font-size: 14px; color: #d5dde3; }
.constellation-equation [aria-hidden] { color: #87929c; }
.constellation-equation strong { color: var(--cs-green); font-weight: 500; }
.constellation-methodology { background: #dcf4fb; color: #35454b; }
.constellation-methodology h2,
.constellation-methodology h3 { color: #14282f; }
.constellation-methodology .constellation-eyebrow { color: #285868; }
.constellation-methodology-statement { color: #285868; font-size: 21px !important; margin-top: 40px; }
.constellation-principles article { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 20px; padding: 24px 0; border-top: 1px solid #b3d5df; }
.constellation-principles article:first-child { padding-top: 0; border-top: 0; }
.constellation-principles article > span { color: #416976; font-size: 13px; padding-top: 4px; }
.constellation-principles article:last-child { padding-bottom: 0; }
.constellation-principles h3 { font-size: 19px; margin-bottom: 10px; }
.constellation-principles p { margin: 0; }
.constellation-reviews { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; }
.constellation-reviews article { padding-top: 24px; border-top: 2px solid var(--cs-cyan); }
.constellation-review-label { display: flex; align-items: center; gap: 8px; color: var(--cs-cyan); font-size: 13px; margin-bottom: 24px; }
.constellation-reviews p { margin-bottom: 0; }
.constellation-recommendations { display: flex; align-items: flex-start; gap: 20px; padding: 28px 0 0; border-top: 1px solid var(--cs-line); margin-top: 32px; }
.constellation-recommendations > i { font-size: 26px; color: var(--cs-green); margin-top: 3px; }
.constellation-recommendations p { margin-bottom: 0; }
.constellation-sample { padding-top: 72px; }
.constellation-sample-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.constellation-sample-heading h3 { font-size: 28px; }
.constellation-sample-label { border: 1px solid #57626b; padding: 6px 10px; border-radius: 4px; font-size: 11px; color: #d3dbe1; flex-shrink: 0; }
.constellation-sample-disclaimer { font-size: 12px !important; max-width: 800px; margin-bottom: 28px; }
.constellation-report { color: #34424b; background: #fff; border-radius: 6px; padding: 34px; box-shadow: 0 16px 40px rgba(0,0,0,.12); }
.constellation-report-masthead { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 22px; border-bottom: 2px solid #142b35; }
.constellation-report-masthead strong { display: block; color: #182c36; font-size: 15px; font-weight: 600; }
.constellation-report-masthead span { display: block; font-size: 12px; margin-top: 5px; }
.constellation-report-masthead > div:last-child { text-align: right; }
.constellation-report-masthead > div:last-child strong { font-size: 12px; font-weight: 500; }
.constellation-report-summary { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 20px; row-gap: 8px; padding: 24px 0; }
.constellation-report-summary > span:first-child { flex-basis: 100%; font-size: 12px; }
.constellation-report-summary > strong { color: #142b35; font-size: 36px; font-weight: 500; line-height: 1.2; }
.constellation-report-summary > span:last-child { color: #3c6853; font-size: 13px; }
.constellation-table-scroll { overflow: auto; overscroll-behavior-x: contain; }
.constellation-report-table { width: 100%; min-width: 850px; border-collapse: collapse; font-size: 12px; font-variant-numeric: tabular-nums; }
.constellation-report-table caption { caption-side: top; color: #50606b; font-size: 11px; padding: 0 0 12px; }
.constellation-report-table th,
.constellation-report-table td { padding: 11px 12px; text-align: right; border-bottom: 1px solid #e0e6e9; white-space: nowrap; }
.constellation-report-table th:first-child { text-align: left; padding-left: 0; font-weight: 400; }
.constellation-report-table thead th { color: #192c35; background: #eef3f5; font-size: 11px; font-weight: 600; border-top: 1px solid #c8d5da; }
.constellation-report-table thead th:first-child { padding-left: 10px; }
.constellation-report-table td:last-child { color: #152b36; font-weight: 600; }
.constellation-report-subtotal { font-weight: 600; }
.constellation-report-table .constellation-report-total th,
.constellation-report-table .constellation-report-total td { color: #163d2b; background: #e1efe8; font-weight: 600; border-top: 2px solid #81a791; border-bottom: 0; }
.constellation-report-table .constellation-report-total th { padding-left: 10px; }
.constellation-report sup { color: #5e737f; font-weight: 400; font-size: 9px; }
.constellation-report-decision { display: flex; align-items: flex-start; gap: 16px; padding-top: 26px; }
.constellation-report-decision > i { color: #216c4d; font-size: 21px; margin-top: 3px; }
.constellation-report-decision strong { color: #1c352a; font-size: 13px; }
.constellation-report-decision p { font-size: 12px; margin: 8px 0 0; line-height: 1.8; }
.constellation-basis { margin-top: 24px; border-top: 1px solid #d8e0e4; }
.constellation-basis summary { color: #324f60; font-size: 12px; padding: 18px 0 0; }
.constellation-basis p,
.constellation-basis li { font-size: 11px; line-height: 1.75; }
.constellation-basis > div { padding-top: 18px; }
.constellation-basis ol { margin-bottom: 0; padding-left: 18px; }
.constellation-basis li + li { margin-top: 6px; }
.constellation-process { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; padding: 0; margin: 48px 0 0; gap: 32px; }
.constellation-process li { border-top: 1px solid #596773; padding-top: 22px; }
.constellation-step-number { display: block; color: var(--cs-cyan); font-size: 30px; font-weight: 500; line-height: 1; margin-bottom: 26px; }
.constellation-process p { font-size: 14px; margin-bottom: 0; }
.constellation-audiences { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 44px; }
.constellation-audiences article { border-top: 1px solid var(--cs-line); padding-top: 26px; }
.constellation-audiences article > i { color: var(--cs-cyan); font-size: 26px; margin-bottom: 22px; }
.constellation-audiences p { margin-bottom: 0; }
.constellation-roadmap-eyebrow { color: #e0c383; }
.constellation-roadmap { list-style: none; padding: 0; margin: 0; }
.constellation-roadmap li { display: flex; align-items: baseline; gap: 18px; padding: 17px 0; border-bottom: 1px solid var(--cs-line); font-size: 15px; line-height: 1.8; }
.constellation-roadmap li:first-child { padding-top: 0; }
.constellation-roadmap li:last-child { border-bottom: 0; padding-bottom: 0; }
.constellation-roadmap i { color: #e0c383; flex-shrink: 0; }
.constellation-faq details { border-bottom: 1px solid var(--cs-line); }
.constellation-faq details:first-child { border-top: 1px solid var(--cs-line); }
.constellation-faq summary,
.constellation-basis summary { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; list-style: none; cursor: pointer; }
.constellation-faq summary { padding: 24px 0; color: #e8edf1; font-size: 16px; line-height: 1.65; font-weight: 500; }
.constellation-faq summary::-webkit-details-marker,
.constellation-basis summary::-webkit-details-marker { display: none; }
.constellation-faq summary > i,
.constellation-basis summary > i { font-size: 18px; flex: 0 0 18px; line-height: 1.5; transition: transform .15s ease; }
.constellation-faq details[open] summary > i,
.constellation-basis[open] summary > i { transform: rotate(45deg); }
.constellation-faq details > p { margin-bottom: 24px; padding-right: 30px; }
.constellation-closing { background: #4ec8ed; color: #183f4d; }
.constellation-closing .constellation-eyebrow { color: #234957; }
.constellation-closing h2 { color: #112b35; font-size: 44px; max-width: 720px; }
.constellation-closing > .container > p:not(.constellation-eyebrow) { font-size: 18px; margin-bottom: 30px; }
.constellation-closing .constellation-text-link { color: #143845; }
.constellation-closing .btn-dark { background: #14282f; border-color: #14282f; color: #fff; }
.constellation-closing :focus-visible { outline-color: #14282f; }
.constellation-page .footer .navbar-brand { white-space: normal; }

@media (min-width: 1600px) {
  .constellation-hero-art { object-position: center 56%; }
}
@media (max-width: 1399.98px) {
  .constellation-hero { padding-top: 124px; }
  .constellation-hero-copy { max-width: 580px; }
  .constellation-hero h1 { font-size: 46px; }
  .constellation-lead { font-size: 16px; }
  .constellation-hero .constellation-actions { gap: 10px 20px; }
  .constellation-trust { max-width: 580px; }
}
@media (max-width: 1199.98px) {
  .constellation-page .navbar-collapse { background: #121519; }
  .constellation-hero { padding-top: 126px; }
  .constellation-hero-art { opacity: .28; object-position: right; }
  .constellation-hero-copy { max-width: 700px; }
  .constellation-lead { max-width: 680px; color: #f0f2f4; }
  .constellation-trust { max-width: 720px; color: #e2e6e9; }
  .constellation-process { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; }
}
@media (max-width: 991.98px) {
  .constellation-section { padding: 64px 0; }
  .constellation-section h2 { font-size: 34px; }
  .constellation-problems,
  .constellation-capabilities { column-gap: 32px; }
  .constellation-flow { grid-template-columns: 1fr; gap: 22px; }
  .constellation-flow > i { transform: rotate(90deg); justify-self: center; }
  .constellation-flow-sources { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; text-align: center; }
  .constellation-flow-master,
  .constellation-flow-output { text-align: center; }
  .constellation-methodology-statement { margin-top: 24px; margin-bottom: 0; }
  .constellation-principles article:first-child { border-top: 1px solid #b3d5df; padding-top: 24px; }
  .constellation-audiences { gap: 24px; }
  .constellation-audiences h3 { font-size: 19px; }
  .constellation-section-nav .container { gap: 6px 24px; }
}
@media (max-width: 767.98px) {
  .constellation-hero { padding: 110px 0 26px; }
  .constellation-hero h1 { font-size: 42px; }
  .constellation-wordmark { margin-bottom: 22px; }
  .constellation-wordmark strong { font-size: 24px; }
  .constellation-lead { font-size: 16px; }
  .constellation-section { padding: 52px 0; }
  .constellation-section h2 { font-size: 30px; }
  .constellation-section-heading { margin-bottom: 28px; }
  .constellation-problems,
  .constellation-capabilities,
  .constellation-reviews,
  .constellation-audiences { grid-template-columns: 1fr; gap: 28px; }
  .constellation-capabilities { gap: 0; }
  .constellation-capability-primary { grid-column: auto; }
  .constellation-capabilities article { padding: 26px 0; }
  .constellation-capabilities article:last-child { padding-bottom: 0; }
  .constellation-recommendations { gap: 16px; }
  .constellation-sample { padding-top: 48px; }
  .constellation-sample-heading { align-items: flex-start; flex-direction: column; gap: 4px; margin-bottom: 18px; }
  .constellation-sample-heading h3 { font-size: 24px; }
  .constellation-report { padding: 22px; }
  .constellation-report-table { min-width: 750px; }
  .constellation-report-table th:first-child { position: sticky; left: 0; z-index: 1; width: 150px; min-width: 150px; max-width: 150px; white-space: normal; background: #fff; box-shadow: 1px 0 #d8e0e4; }
  .constellation-report-table thead th:first-child { background: #eef3f5; }
  .constellation-report-table .constellation-report-total th { background: #e1efe8; }
  .constellation-report-masthead { flex-direction: column; gap: 14px; }
  .constellation-report-masthead > div:last-child { text-align: left; }
  .constellation-faq summary { font-size: 15px; }
  .constellation-closing h2 { font-size: 36px; }
}
@media (max-width: 575.98px) {
  .constellation-page .container { padding-left: 22px; padding-right: 22px; }
  .constellation-hero { padding-top: 98px; padding-bottom: 22px; }
  .constellation-hero h1 { font-size: 32px; margin-bottom: 18px; }
  .constellation-hero-art { top: 72px; height: calc(100% - 72px); opacity: .12; object-position: center; }
  .constellation-wordmark { font-size: 13px; margin-bottom: 18px; }
  .constellation-wordmark strong { font-size: 22px; }
  .constellation-hero .constellation-lead { font-size: 14px; line-height: 1.75; margin-bottom: 20px; }
  .constellation-hero .constellation-actions { align-items: flex-start; flex-direction: column; gap: 10px; }
  .constellation-hero .constellation-actions .btn { padding: 12px 18px; font-size: 14px; }
  .constellation-trust { margin-top: 18px; padding-top: 16px; font-size: 11px; line-height: 1.75; }
  .constellation-section-nav .container { gap: 0 20px; padding-top: 10px; padding-bottom: 10px; }
  .constellation-section-nav a { font-size: 12px; padding: 8px 0; }
  .constellation-intro p { font-size: 16px; }
  .constellation-flow-sources { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .constellation-process { grid-template-columns: 1fr; gap: 30px; margin-top: 30px; }
  .constellation-step-number { font-size: 26px; margin-bottom: 18px; }
  .constellation-report { padding: 18px; }
  .constellation-report-summary > strong { font-size: 32px; }
  .constellation-report-decision { gap: 12px; }
  .constellation-equation { gap: 8px 12px; font-size: 12px; }
  .constellation-closing h2 { font-size: 32px; }
  .constellation-closing .constellation-actions { flex-direction: column; align-items: flex-start; gap: 12px; }
  .constellation-faq details > p { padding-right: 0; }
}
@media (max-width: 359.98px) {
  .constellation-hero { padding-top: 92px; }
  .constellation-hero .constellation-lead { font-size: 13.5px; line-height: 1.6; }
  .constellation-wordmark strong { font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .constellation-page *,
  .constellation-page *::before,
  .constellation-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
