/* Shared footer and closing Action Box. All selectors stay within the blog skin.
   Canonical current main site: site.css; colleague-chrome.css; requirements-v3-chrome.css;
   requirements-v4-global.css; requirements-updated-global.css; new-design-global-20261015.css.
   Keep the main site's dark footer/CTA islands in either page appearance. */
body.ch-blog-redesign :is(.ch-site-footer, .ch-blog-closing-cta) {
  --ch-footer-gutter: clamp(1.1rem, 3vw, 2.5rem);
  --ch-bg: #02070b;
  --ch-surface: #08141d;
  --ch-surface-raised: #08141d;
  --ch-surface-strong: #0c283b;
  --ch-text: #edf7fc;
  --ch-heading: #edf7fc;
  --ch-text-muted: #e7edf2;
  --ch-accent: #18a8f2;
  --ch-accent-strong: #0877b5;
  --ch-link: #86d9ff;
  --ch-border: rgb(82 163 214 / 16%);
  --ch-border-strong: #78919d;
  --ch-focus: #36baff;
}
html[data-theme="light"] body.ch-blog-redesign .ch-site-footer {
  --ch-border: rgb(82 163 214 / 20%);
}
body.ch-blog-redesign .ch-blog-closing-cta::after {
  content: ""; position: absolute; top: -90%; right: -12%; width: 55%;
  aspect-ratio: 1.5; border-radius: 50%; background: rgb(24 168 242 / 12%);
  filter: blur(55px); transform: rotate(-12deg); pointer-events: none;
}
html[data-theme="light"] body.ch-blog-redesign .ch-blog-closing-cta { background-color: #02070b; }
body.ch-blog-redesign .ch-footer-container { width: min(1240px, calc(100% - var(--ch-footer-gutter) * 2)); margin-inline: auto; }
body.ch-blog-redesign .ch-blog-closing-cta { position: relative; isolation: isolate; overflow: hidden; clear: both; padding-block: clamp(4.5rem, 8vw, 7rem); border-bottom: 1px solid var(--ch-border); color: var(--ch-text); background: #091b29; }
body.ch-blog-redesign .ch-blog-closing-card { position: relative; z-index: 1; display: grid; justify-items: center; gap: 1.75rem; padding: 0; border: 0; border-radius: 0; background: transparent; text-align: center; }
body.ch-blog-redesign .ch-blog-closing-card h2 { margin: 0; max-width: none; color: var(--ch-heading); font-size: clamp(1.65rem, 3vw, 2.5rem); font-weight: 400; line-height: 1.3; letter-spacing: -.035em; }
body.ch-blog-redesign .ch-blog-closing-card p { max-width: none; margin: 0; color: #e2edf4; font-size: clamp(1.0625rem, 1.6vw, 1.3rem); font-weight: 400; line-height: 1.65; letter-spacing: 0; }
body.ch-blog-redesign .ch-blog-closing-card .ch-footer-button { margin-top: 0; }
body.ch-blog-redesign .ch-site-footer { clear: both; padding-block: 5rem 0; color: var(--ch-text); background: var(--ch-bg); border-top: 0; font-family: var(--ch-font-sans); }
body.ch-blog-redesign .ch-footer-grid { display: grid; grid-template-columns: 1.6fr repeat(3, minmax(0, 1fr)); align-items: start; gap: 3rem; padding-bottom: 4.5rem; }
body.ch-blog-redesign .ch-footer-brand { min-width: 0; }
body.ch-blog-redesign .ch-footer-logo { display: block; max-width: 190px; margin-bottom: 1.4rem; }
body.ch-blog-redesign .ch-footer-logo img { display: block; width: 100%; height: auto; }
body.ch-blog-redesign .ch-footer-logo .ch-footer-logo-dark { filter: brightness(0) invert(1); }
body.ch-blog-redesign .ch-footer-logo .ch-footer-logo-light { display: none; }
html[data-theme="light"] body.ch-blog-redesign .ch-footer-logo .ch-footer-logo-dark { display: block; }
html[data-theme="light"] body.ch-blog-redesign .ch-footer-logo .ch-footer-logo-light { display: none; }
body.ch-blog-redesign .ch-footer-brand p { margin: 0 0 1rem; color: var(--ch-text-muted); font-size: 1rem; line-height: 1.65; }
body.ch-blog-redesign .ch-footer-tenure { display: inline-block; padding-top: .7rem; border-top: 1px solid var(--ch-accent); color: #c8d6e0; font-size: .9375rem; font-weight: 650; line-height: 1.65; }
body.ch-blog-redesign .ch-footer-company { display: grid; gap: .65rem; margin-block: 1.35rem 0; color: var(--ch-text-muted); font-size: 1rem; font-style: normal; line-height: 1.65; overflow-wrap: anywhere; }
body.ch-blog-redesign .ch-footer-company strong { color: #d5e7ef; font-weight: 650; }
body.ch-blog-redesign .ch-site-footer a { color: var(--ch-text-muted); text-decoration: none; transition: color .18s ease, border-color .18s ease, background-color .18s ease; }
body.ch-blog-redesign .ch-site-footer a:hover { color: var(--ch-link); text-decoration: none; }
body.ch-blog-redesign .ch-site-footer :is(.ch-footer-group-links > a, .ch-footer-company a, .ch-footer-legal a, .ch-footer-legal button):is(:hover, :focus-visible) { color: #86d9ff; text-decoration: underline; text-underline-offset: .22em; }
body.ch-blog-redesign .ch-footer-payments { max-width: 24rem; margin-top: 1.8rem; }
body.ch-blog-redesign .ch-footer-payments h3 { margin: 0 0 .7rem; color: #d5e7ef; font-size: .9rem; font-weight: 650; line-height: 1.5; letter-spacing: 0; }
body.ch-blog-redesign .ch-footer-payments img { display: block; width: 100%; height: auto; filter: grayscale(1); opacity: .85; }
body.ch-blog-redesign .ch-footer-payments small { display: block; margin-top: .6rem; color: #c8d6e0; font-size: .875rem; line-height: 1.5; }
body.ch-blog-redesign .ch-footer-group { min-width: 0; margin: 0; border: 0; }
body.ch-blog-redesign .ch-footer-group > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0 0 1.4rem; padding: 0; color: #d5e7ef; list-style: none; cursor: default; }
body.ch-blog-redesign .ch-footer-group > summary::-webkit-details-marker { display: none; }
body.ch-blog-redesign .ch-footer-group > summary h2 { margin: 0; color: inherit; font-size: .94rem; font-weight: 700; line-height: 1.5; letter-spacing: .08em; text-transform: uppercase; }
body.ch-blog-redesign .ch-footer-group > summary svg { display: none; flex: 0 0 18px; fill: none; stroke: currentColor; stroke-width: 1.8; transition: transform .2s ease; }
body.ch-blog-redesign .ch-footer-group-links { display: flex; flex-direction: column; align-items: flex-start; gap: .75rem; }
body.ch-blog-redesign .ch-footer-group-links > a { font-size: 1rem; line-height: 1.65; overflow-wrap: anywhere; }
body.ch-blog-redesign .ch-footer-group-links h3 { margin: 1.4rem 0 .25rem; color: #d5e7ef; font-size: .9rem; font-weight: 650; line-height: 1.5; letter-spacing: .08em; text-transform: uppercase; }
body.ch-blog-redesign .ch-footer-social-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem 2rem; padding-bottom: 2rem; }
body.ch-blog-redesign .ch-footer-social-row > p { margin: 0; color: #dce7ef; font-size: .9375rem; line-height: 1.65; }
body.ch-blog-redesign .ch-footer-socials { display: flex; flex-wrap: wrap; gap: .35rem; }
body.ch-blog-redesign .ch-footer-socials a { display: grid; place-items: center; width: 2.65rem; min-height: 2.65rem; padding: .65rem; border: 1px solid var(--ch-border); border-radius: 50%; color: #b9d4df; }
body.ch-blog-redesign .ch-footer-socials a:is(:hover, :focus-visible) { color: #fff; background: rgb(24 168 242 / 16%); border-color: var(--ch-accent); }
body.ch-blog-redesign .ch-footer-socials svg { width: 1.25rem; height: 1.25rem; fill: currentColor; }
body.ch-blog-redesign .ch-footer-ai { display: grid; grid-template-columns: minmax(0, 1fr) minmax(28rem, 34rem); align-items: start; gap: 1.5rem; padding-block: 2rem; border-top: 1px solid var(--ch-border); }
body.ch-blog-redesign .ch-footer-ai h2 { margin: 0 0 .4rem; color: #d5e7ef; font-size: 1.1rem; line-height: 1.4; font-weight: 520; }
body.ch-blog-redesign .ch-footer-ai p { margin: 0; max-width: 42rem; color: #c8d6e0; font-size: .9375rem; line-height: 1.65; }
body.ch-blog-redesign .ch-footer-ai-links { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; gap: .5rem; min-width: 0; }
body.ch-blog-redesign .ch-footer-button { display: inline-flex; align-items: center; justify-content: center; gap: .7rem; min-height: 3.25rem; padding: .85rem 1.35rem; border: 2px solid var(--ch-border-strong); border-radius: 999px; color: var(--ch-text); background: transparent; font: 720 .85rem/1.35 var(--ch-font-sans); letter-spacing: .01em; text-align: center; text-decoration: none; cursor: pointer; transition: background-color .18s ease, color .18s ease, border-color .18s ease; }
body.ch-blog-redesign .ch-footer-button:is(:hover, :focus-visible) { color: #fff; border-color: #0877b5; background: #0877b5; text-decoration: none; }
body.ch-blog-redesign .ch-footer-button.ch-footer-primary { border-color: #0877b5; color: #fff; background: #0877b5; }
body.ch-blog-redesign .ch-footer-button.ch-footer-primary:is(:hover, :focus-visible) { background: #066493; border-color: #066493; color: #fff; }
body.ch-blog-redesign .ch-footer-ai-links > .ch-footer-button,
body.ch-blog-redesign .ch-footer-ai-prompt > summary { width: 100%; min-height: 2.9rem; padding: .6rem .65rem; gap: .35rem; font-size: .875rem; white-space: nowrap; }
body.ch-blog-redesign .ch-ai-mark { display: block; width: 1.2rem; height: 1.2rem; flex: 0 0 1.2rem; }
body.ch-blog-redesign .ch-footer-ai-prompt { min-width: 0; margin: 0; }
body.ch-blog-redesign .ch-footer-ai-prompt > summary { list-style: none; }
body.ch-blog-redesign .ch-footer-ai-prompt > summary::-webkit-details-marker { display: none; }
body.ch-blog-redesign .ch-footer-ai-prompt[open] .ch-ai-expand { transform: rotate(45deg); }
body.ch-blog-redesign .ch-footer-ai-prompt-content { display: grid; gap: .8rem; width: calc(400% + 1.5rem); margin-top: 1rem; margin-left: calc(-300% - 1.5rem); color: var(--ch-text-muted); font-size: .875rem; }
body.ch-blog-redesign .ch-footer-ai-prompt-content label { color: var(--ch-text); font-weight: 500; }
body.ch-blog-redesign .ch-footer-ai-prompt textarea { box-sizing: border-box; width: 100%; min-width: 0; padding: .85rem 1rem; border: 1px solid var(--ch-border-strong); border-radius: .65rem; color: var(--ch-text); background: var(--ch-surface); font: 400 .9375rem/1.65 var(--ch-font-sans); resize: vertical; }
body.ch-blog-redesign .ch-footer-ai-prompt-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
body.ch-blog-redesign .ch-footer-ai-prompt-actions [hidden] { display: none; }
body.ch-blog-redesign .ch-footer-ai-status { color: var(--ch-accent); }
body.ch-blog-redesign .ch-footer-bottom { display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem 2rem; padding-block: 1.75rem; border-top: 1px solid var(--ch-border); }
body.ch-blog-redesign .ch-footer-copyright { flex: 1 1 auto; margin: 0; color: #c8d6e0; font-size: .9375rem; line-height: 1.65; }
body.ch-blog-redesign .ch-footer-copyright > span:first-child { white-space: nowrap; }
body.ch-blog-redesign .ch-footer-legal { display: flex; flex-wrap: wrap; gap: .6rem 1rem; align-items: center; }
body.ch-blog-redesign .ch-footer-legal :is(a, button) { padding: 0; border: 0; color: #c8d6e0; background: transparent; font: 400 .9375rem/1.65 var(--ch-font-sans); text-align: left; cursor: pointer; }
body.ch-blog-redesign .ch-footer-legal :is(a, button):hover { color: var(--ch-link); }
body.ch-blog-redesign .ch-footer-preferences { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 1rem; width: 100%; }
/* This control sits on the main site's dark footer island in either appearance. */
body.ch-blog-redesign .ch-site-footer .ch-theme-toggle {
  --ch-nav-text: #e7edf2;
  --ch-nav-hover: #102633;
  --ch-nav-line: #2d4a5c;
  --ch-nav-icon: #72cff4;
}
body.ch-blog-redesign .ch-footer-languages { display: flex; gap: .3rem; }
body.ch-blog-redesign .ch-footer-languages a { display: grid; place-items: center; min-width: 34px; min-height: 34px; border: 1px solid transparent; border-radius: 999px; font: 500 .75rem/1 var(--ch-font-mono); }
body.ch-blog-redesign .ch-footer-languages a[aria-current] { color: var(--ch-text); border-color: var(--ch-border-strong); background: var(--ch-surface-raised); }
@media (max-width: 1100px) {
  body.ch-blog-redesign .ch-footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.ch-blog-redesign .ch-footer-brand { grid-column: 1 / -1; max-width: 42rem; }
  body.ch-blog-redesign .ch-footer-ai { grid-template-columns: minmax(0, 1fr); }
  body.ch-blog-redesign .ch-footer-ai-links { max-width: 34rem; }
}
@media (max-width: 760px) {
  body.ch-blog-redesign .ch-site-footer { padding-top: 3.5rem; }
  body.ch-blog-redesign .ch-footer-grid { grid-template-columns: minmax(0, 1fr); gap: 0; padding-bottom: 2.5rem; }
  body.ch-blog-redesign .ch-footer-brand { padding-bottom: 2.5rem; }
  body.ch-blog-redesign .ch-footer-group { border-top: 1px solid var(--ch-border); }
  body.ch-blog-redesign .ch-footer-group > summary { margin: 0; min-height: 56px; padding-block: .75rem; cursor: pointer; }
  body.ch-blog-redesign .ch-footer-group > summary svg { display: block; }
  body.ch-blog-redesign .ch-footer-group[open] > summary svg { transform: rotate(180deg); }
  body.ch-blog-redesign .ch-footer-group-links { padding-bottom: 1.2rem; gap: 0; }
  body.ch-blog-redesign .ch-footer-group-links > a { display: flex; align-items: center; width: 100%; min-height: 44px; }
  body.ch-blog-redesign .ch-footer-legal :is(a,button),
  body.ch-blog-redesign .ch-footer-preferences .ch-theme-toggle { display: inline-flex; align-items: center; min-height: 44px; padding-block: .55rem; }
  body.ch-blog-redesign .ch-footer-languages a { min-width: 44px; min-height: 44px; }
  body.ch-blog-redesign .ch-footer-social-row { align-items: flex-start; flex-direction: column; }
  body.ch-blog-redesign .ch-footer-preferences { justify-content: flex-start; }
}
@media (max-width: 600px) {
  body.ch-blog-redesign .ch-footer-ai-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.ch-blog-redesign .ch-footer-ai-prompt-content { width: calc(200% + .5rem); margin-left: calc(-100% - .5rem); }
}
@media (max-width: 360px) {
  body.ch-blog-redesign .ch-blog-closing-card { padding: 0; }
}
@media (prefers-reduced-motion: reduce) {
  body.ch-blog-redesign .ch-site-footer :is(a, button, svg),
  body.ch-blog-redesign .ch-blog-closing-cta .ch-footer-button { transition: none; }
}
