/* Utility routes share the homepage's quiet surfaces and readable hierarchy.
   These rules intentionally stop at main content; site-theme owns the chrome. */
body.utility-page { min-width: 0; background: #070b0f; }
.utility-page .utility-main { color: #aab5c3; background: #070b0f; font-family: 'Geist',sans-serif; }
.utility-page .utility-main h1 { color: #e9edf3; font-weight: 400; letter-spacing: -.045em; line-height: 1.1; }
.utility-page .utility-main h2, .utility-page .utility-main h3 { color: #e9edf3; font-weight: 500; letter-spacing: -.025em; }
.utility-page .utility-main a:focus-visible, .utility-page .utility-main button:focus-visible { outline: 2px solid #38bdf8; outline-offset: 4px; }
.utility-page .utility-main .border-dashed { border-style: solid; border-color: rgba(205,220,240,.1); }
.utility-page .utility-main .animate-ping { display: none; }

/* Reading pages stay open, with a comfortable measure instead of stacked cards. */
.utility-document .utility-reading-column { max-width: 920px; padding: 88px 40px 96px; }
.utility-document .utility-reading-column h1 { font-size: clamp(36px,4.4vw,56px); margin-bottom: 24px; }
.utility-document .utility-reading-column > p { font-size: 14px; color: #99a7b8; margin-bottom: 52px; }
.utility-document .utility-reading-column section { padding-top: 28px; margin-bottom: 36px; border-top: 1px solid rgba(205,220,240,.12); }
.utility-document .utility-reading-column h2 { font-size: 23px; line-height: 1.35; margin-bottom: 18px; }
.utility-document .utility-reading-column h3 { font-size: 17px; line-height: 1.5; margin-top: 24px; }
.utility-document .utility-reading-column section p,
.utility-document .utility-reading-column li { font-size: 16px; line-height: 1.85; color: #aab5c3; }
.utility-document .utility-reading-column strong { color: #dce4ef; }
.utility-document .utility-reading-column a { color: #7bcbef; text-underline-offset: 4px; overflow-wrap: anywhere; }
.utility-support .utility-reading-column section:last-child { padding: 30px; border: 1px solid rgba(205,220,240,.12); border-radius: 12px; background: linear-gradient(145deg,rgba(36,44,55,.42),rgba(12,17,23,.92) 68%); box-shadow: inset 0 1px 0 rgba(234,243,255,.045); }

/* Contact: an open introduction beside one coherent intake surface. */
.utility-contact .utility-contact-section { border-bottom: 0; }
.utility-contact .utility-contact-section > .absolute,
.utility-login .utility-login-stage > .absolute,
.utility-pricing .utility-main > section > .absolute { display: none; }
.utility-contact .utility-contact-inner { max-width: 1280px; padding: 88px 40px; }
.utility-contact .utility-contact-intro h1 { font-size: clamp(36px,4.2vw,54px); }
.utility-contact .utility-contact-intro > p { font-size: 17px; color: #aab5c3; }
.utility-contact .utility-contact-intro > div:first-child p { font-size: 12px; letter-spacing: .12em; }
.utility-contact .utility-contact-note { background: none; border: 0; border-top: 1px solid rgba(205,220,240,.12); padding: 24px 0 0; }
.utility-contact .utility-contact-note p:first-child { font-size: 12px; color: #9caabd; letter-spacing: .12em; }
.utility-contact .utility-contact-note p:last-child { font-size: 15px; line-height: 1.8; color: #aab5c3; }
.utility-contact #spark-contact-form { border: 1px solid rgba(205,220,240,.14); border-radius: 12px; overflow: hidden; background: linear-gradient(145deg,rgba(36,44,55,.42),rgba(12,17,23,.92) 68%); box-shadow: inset 0 1px 0 rgba(234,243,255,.045),0 16px 40px rgba(0,0,0,.15); }
.utility-contact #spark-contact-form .field-shell { border: 0; background: transparent; box-shadow: none; }
.utility-contact #spark-contact-form .field-shell:focus-within { background: rgba(215,230,247,.02); }
.utility-contact #spark-contact-form label[for] { font-size: 14px; letter-spacing: 0; text-transform: none; color: #c7d1df; font-weight: 500; }
.utility-contact #spark-contact-form .form-control { font-size: 16px; line-height: 1.5; padding: 11px 12px; border: 1px solid rgba(205,220,240,.16); border-radius: 6px; background: rgba(6,10,15,.45); color: #e9edf3; }
.utility-contact #spark-contact-form .form-control::placeholder { color: #8794a6; }
.utility-contact #spark-contact-form .select-caret { right: 12px; }
.utility-contact #spark-contact-form .select-wrap .form-control { padding-right: 32px; }
.utility-contact #spark-contact-form p,
.utility-contact #spark-contact-form label > span { font-size: 14px; line-height: 1.75; color: #aab5c3; }
.utility-contact #spark-contact-form #submit-button { min-height: 46px; border: 1px solid #e7edf4; border-radius: 6px; background: #e7edf4; color: #111820; box-shadow: none; font-size: 13px; letter-spacing: .02em; white-space: normal; }
.utility-contact #spark-contact-form #submit-button:hover { background: #fff; }
.utility-contact #spark-contact-form #submit-button:disabled { opacity: .65; cursor: wait; }
.utility-contact #spark-contact-form .rounded-xl { border: 0; padding: 0; background: none; }

/* Login is a single restrained surface; authentication behavior is unchanged. */
.utility-login .utility-login-stage { padding: 80px 24px 96px; background: radial-gradient(ellipse at 50% 15%,rgba(127,149,178,.075),transparent 60%); }
.utility-login .utility-login-width { max-width: 440px; }
.utility-login .utility-login-panel { border: 1px solid rgba(205,220,240,.14); border-radius: 12px; padding: 36px; background: linear-gradient(145deg,rgba(36,44,55,.42),rgba(12,17,23,.92) 68%); box-shadow: inset 0 1px 0 rgba(234,243,255,.045),0 16px 40px rgba(0,0,0,.15); }
.utility-login .utility-login-panel h1 { font-size: 32px; }
.utility-login .utility-login-panel p,
.utility-login .utility-login-panel a,
.utility-login .utility-login-panel label,
.utility-login .utility-login-panel button span { font-size: 14px; line-height: 1.6; }
.utility-login .utility-login-panel label { text-transform: none; letter-spacing: 0; font-weight: 500; color: #c7d1df; }
.utility-login .utility-login-panel input { min-height: 46px; font-size: 16px; border-radius: 6px; background: rgba(6,10,15,.5); border-color: rgba(205,220,240,.16); }
.utility-login .utility-login-panel input::placeholder { color: #8794a6; }
.utility-login .utility-login-panel button { min-height: 44px; border-radius: 6px; }
.utility-login .utility-login-panel form button { background: #e7edf4; color: #111820; font-size: 15px; }
.utility-login .utility-login-panel form button:hover { background: #fff; }

/* Product previews: open centered composition, with no floating neon ornament. */
.utility-coming-soon .cs-grid { opacity: .15; }
.utility-coming-soon .cs-glow { width: min(100%,960px); height: 600px; top: 28%; background: radial-gradient(ellipse,rgba(145,165,190,.09),transparent 70%); filter: none; }
.utility-coming-soon .utility-coming-stage { padding: 88px 24px 96px; }
.utility-coming-soon .cs-icon { animation: none; width: 56px; height: 56px; border: 1px solid rgba(205,220,240,.12); border-radius: 10px; background: linear-gradient(145deg,rgba(36,44,55,.42),rgba(12,17,23,.92)); color: #abbacc; }
.utility-coming-soon .cs-icon > * { width: 27px !important; height: 27px !important; filter: none !important; stroke-width: 1.5; }
.utility-coming-soon .cs-dot { animation: none; }
.utility-coming-soon .utility-main h1 { font-size: clamp(36px,4.6vw,60px); line-height: 1.1 !important; }
.utility-coming-soon .utility-main h1 + p { color: #aab5c3; font-size: 17px; line-height: 1.8; }
.utility-coming-soon .cs-form { max-width: 530px; }
.utility-coming-soon .cs-input { border-radius: 6px; padding: 13px 16px; font-size: 16px; background: rgba(12,17,23,.8); border-color: rgba(205,220,240,.2); }
.utility-coming-soon .cs-input::placeholder { color: #8794a6; }
.utility-coming-soon .cs-btn { border-radius: 6px; background: #e7edf4; color: #111820; font-size: 14px; text-transform: none; letter-spacing: 0; font-weight: 500; padding: 13px 22px; }
.utility-coming-soon .cs-btn:hover { background: #fff; transform: none; }
.utility-coming-soon #wl-note { color: #9caabd; font-size: 14px; line-height: 1.7; max-width: 530px; }
.utility-coming-soon .utility-coming-stage > div > div:last-child a { font-size: 14px !important; text-transform: none !important; letter-spacing: 0 !important; color: #b2c0d1; }
.utility-coming-soon .utility-coming-stage > div > div:last-child p { font-size: 12px !important; letter-spacing: .08em !important; color: #8b98a9; }

/* Review documentation uses open numbered sections and a compact fact strip. */
.utility-evidence .utility-main { max-width: 980px; padding: 88px 40px 96px; }
.utility-evidence .utility-main h1 { font-size: clamp(36px,4.4vw,54px); }
.utility-evidence .utility-main h2 { font-size: 23px; }
.utility-evidence .utility-main > p:first-child { font-size: 12px; letter-spacing: .12em; }
.utility-evidence .utility-main p, .utility-evidence .utility-main li { color: #aab5c3; line-height: 1.8; }
.utility-evidence .utility-main a { overflow-wrap: anywhere; }
.utility-evidence .utility-evidence-summary { gap: 0; padding-block: 24px; border-block: 1px solid rgba(205,220,240,.14); }
.utility-evidence .utility-evidence-summary > div { border: 0; background: none; padding: 0 20px; }
.utility-evidence .utility-evidence-summary > div:first-child { padding-left: 0; }
.utility-evidence .utility-evidence-summary p:first-child { font-size: 12px; color: #8f9eb1; letter-spacing: .1em; }
.utility-evidence .utility-main section { border: 0; border-top: 1px solid rgba(205,220,240,.1); padding: 28px 0 0; background: none; }
.utility-evidence .utility-main section:first-child { border-top: 0; }

/* Pricing preserves the working calculator, with quieter nested content. */
.utility-pricing .utility-main > section { background: #070b0f; border-color: rgba(205,220,240,.08); }
.utility-pricing .utility-main h1 { font-size: clamp(36px,4.3vw,56px); }
.utility-pricing .utility-main p.text-xs,
.utility-pricing .utility-main p[class*="text-[11px]"],
.utility-pricing .utility-main p[class*="text-[10px]"] { font-size: 13px; line-height: 1.65; color: #aab5c3; }
.utility-pricing .utility-main p.text-sm, .utility-pricing .detail-list li { font-size: 15px; line-height: 1.8; }
.utility-pricing .pricing-shell { border: 1px solid rgba(205,220,240,.14); border-radius: 12px; background: linear-gradient(145deg,rgba(36,44,55,.42),rgba(12,17,23,.92) 68%); box-shadow: inset 0 1px 0 rgba(234,243,255,.045),0 16px 40px rgba(0,0,0,.12); }
.utility-pricing .pricing-shell::before, .utility-pricing .detail-card::before { display: none; }
.utility-pricing .pricing-shell article { background: none; border: 0; border-bottom: 1px solid rgba(205,220,240,.1); padding-inline: 0; }
.utility-pricing .pricing-shell aside { background: rgba(212,226,245,.025); }
.utility-pricing .calc-button { border-style: solid; border-radius: 6px; border-color: rgba(205,220,240,.18); background: rgba(205,220,240,.04); }
.utility-pricing .calc-button:hover { background: rgba(205,220,240,.1); box-shadow: none; }
.utility-pricing .detail-card { border: 0; border-top: 1px solid rgba(205,220,240,.14); border-radius: 0; background: none; box-shadow: none; }
.utility-pricing .detail-card > div { padding-inline: 0; }
.utility-pricing .utility-pricing-cta { background: #e7edf4; border-color: #e7edf4; border-radius: 6px; color: #111820; font-size: 14px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.utility-pricing .utility-pricing-cta:hover { background: #fff; color: #111820; }
.utility-pricing .implementation-visual { opacity: .45; filter: saturate(.3); }

@media (max-width: 767px) {
  .utility-document .utility-reading-column,
  .utility-evidence .utility-main { padding: 56px 24px 64px; }
  .utility-contact .utility-contact-inner { padding: 56px 24px 64px; }
  .utility-contact .utility-contact-intro { position: static; }
  .utility-login .utility-login-stage { padding: 48px 20px 64px; }
  .utility-login .utility-login-panel { padding: 28px 24px; }
  .utility-coming-soon .utility-coming-stage { padding: 56px 24px 72px; }
  .utility-evidence .utility-evidence-summary { gap: 20px; }
  .utility-evidence .utility-evidence-summary > div { padding-inline: 0; }
  .utility-support .utility-reading-column section:last-child { padding: 24px; }
}
@media (max-width: 479px) {
  .utility-coming-soon .cs-input, .utility-coming-soon .cs-btn { flex-basis: 100%; }
  .utility-pricing .pricing-shell article.flex { flex-wrap: wrap; }
  .utility-contact #spark-contact-form .field-shell { padding: 20px; }
}
