/* Shared finishing rules. Page structures, status colors and product captures
   remain page-owned; brand treatment is consistent across every route. */
.site-page::before,.site-page::after {display:none}
.site-page {line-height:1.65}
html:root {
  --site-header-height:92px;
  scroll-padding-top:calc(var(--site-header-height) + 24px);
}
.site-page .site-header {
  position:sticky;
  top:0;
  z-index:100;
  background:#08090c;
}
.site-page .site-header .product-menu {
  max-height:calc(100dvh - var(--site-header-height) - 32px);
}
@media(max-width:800px) {
  html:root {--site-header-height:160px}
}
.site-page main {min-width:0}
.site-page :is(.hero h1,.ci-hero h1,.cbom-hero h1,.contact-hero h1,.blog-hero h1,.article-header h1) {
  font-family:var(--font-sans);font-size:clamp(38px,4.8vw,68px);
  line-height:1.1;font-weight:600;letter-spacing:-.045em;text-wrap:balance;
}
.site-page :is(.hero h1,.ci-hero h1,.cbom-hero h1,.contact-hero h1,.blog-hero h1) em {
  font-style:normal;font-weight:inherit;
}
.site-page :is(.section-title,.ci-section h2,.ci-close h2,.cbom h2,.contact-section h2,.blog-section-heading h2,.article-cta h2,.calculator-heading h2,.methodology h2,.cta h2) {
  font-size:clamp(30px,3.4vw,46px);font-weight:600;line-height:1.18;letter-spacing:-.035em;
}
.site-page :is(.ci-section h2,.ci-close h2,.cbom h2,.contact-section h2) em {font-style:normal;font-weight:inherit}
.site-page :is(.ci-btn,.cbom-button,.jump,.submit,.blog-button,.btn-primary,.share-button,.btn-secondary,.btn-github,.btn-scan) {
  border-radius:6px;font-family:var(--font-sans);text-transform:none;letter-spacing:0;
}
.site-page :is(.ci-btn.primary,.cbom-button:not(.secondary),.blog-button,.btn-primary) {
  background:#8aefcc;border-color:#8aefcc;color:#09221e;
}
.site-page :is(.ci-btn.primary,.cbom-button:not(.secondary),.blog-button,.btn-primary):hover {
  background:#b4f8df;border-color:#b4f8df;box-shadow:none;filter:none;
}
.site-page :is(.ci-wide,.ci-close,.cbom-close,.article-cta,.cta) {background:#10241f}
.site-page .ci-wide,.site-page .article-cta {border-color:#3d5b50}
.site-page :is(.ci-card,.ci-wide,.cbom-card,.cbom-command,.command,.terminal,.tweet-wrap,.calculator-shell,.contact-form,.blog-follow,.article-cta) {border-radius:10px}
.site-page :is(.terminal,.cbom-record,.ci-capture-frame) {box-shadow:0 18px 45px #0003}
.site-page :is(.terminal-bar,.cbom-record-head,.ci-card-head) {background:#192a39}
.site-page .ci-hero {align-items:start}
.site-page :is(.ci-hero,.cbom-hero) {background:radial-gradient(ellipse at 90% 25%,#17413a33,transparent 55%)}

/* Product capability rows echo the homepage's light editorial section. */
.site-page .ci-steps,.site-page .feature-grid,.site-page .cbom-card {
  --text:#142634;--muted:#4d616c;--dim:#4d616c;
  --surface:#f4f6f7;--border:#b7c9cb;--line:#b7c9cb;--accent:#286d60;--cyan:#286d60;
  color:var(--text);border-color:var(--border);
}
.site-page .ci-steps {background:#f4f6f7}
.site-page .feature-grid {border-radius:10px;overflow:hidden}
.site-page .cbom-card.featured {background:#e6efea;border-color:#91b5a5}
.site-page .ci-step:last-child {border-bottom:0}

/* A quiet, readable editorial surface with mint interactions. */
.site-page .post-grid {gap:20px;background:transparent;border:0}
.site-page .post-card {
  --blog-text:#142634;--blog-muted:#4d616c;--blog-dim:#526c68;--blog-accent:#286d60;
  background:#f4f6f7;border:1px solid #b7c9cb;border-radius:10px;color:#142634;
}
.site-page .post-card:hover {background:#e6efea}
.site-page .post-card h3 {font-size:clamp(25px,2.6vw,34px);font-weight:600;line-height:1.2}
.site-page .article-body h2,.site-page .article-body h3 {font-weight:600;letter-spacing:-.025em}
.site-page .article-body pre {background:#111e2b;border-radius:8px}
.site-page :is(.blog-tag-filters button,.blog-follow-links a,.article-share-link) {border-radius:5px;font-family:var(--font-sans)}
.site-page .blog-tag-filters button[aria-pressed="true"] {background:#173129;color:#a4efd2;border-color:#8aefcc}

/* Contact form follows the dedicated application page's accessible white card. */
.site-page .contact-form {
  --bg:#fff;--surface:#fff;--text:#152e32;--muted:#385750;--dim:#526c68;
  --border:#bdcfc8;--border-bright:#98b0aa;--accent:#21654c;--accent-dim:#e6f5ed;
  background:#fff;border:1px solid #d5dfdb;color:#152e32;
}
.site-page .contact-form :is(input,textarea,select) {border-radius:5px}
.site-page .contact-form .submit {color:#fff;background:#193f34}
.site-page .contact-form .submit:hover {background:#28634c;box-shadow:none}
.site-page .contact-form :focus-visible {outline-color:#286d53}
.site-page .contact-form .fine-print {font-size:12px}
.site-page .form-heading {color:var(--accent)}

/* Tool controls retain their semantic risk indicators and calculation layout. */
.site-page :is(.inputs-panel input,.advanced-grid input,.scenario-control,.cost-card,.share-button) {border-radius:5px}
.site-page .calculator-shell {overflow:hidden}
.site-page .results-panel::after {display:none}
.site-page .roi-band {border-radius:7px;overflow:hidden}
.site-page .site-footer-link:hover,.site-page .site-footer-link[aria-current="page"],.site-page .site-footer-legal a:hover {color:#8aefcc}
.site-page .site-footer {color:#9fb5c5}

@media(max-width:750px) {
  .site-page :is(.ci-hero,.cbom-hero,.contact-hero,.blog-hero) {padding-top:52px;padding-bottom:52px}
  .site-page :is(.ci-section,.cbom-section,.contact-section) {padding-top:56px;padding-bottom:56px}
  .site-page .ci-capture-label {font-size:10px;gap:8px}
}
@media(prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
  .site-page * {scroll-behavior:auto;transition:none}
}
