/* Public pages only. Keep workspace styles and business logic independent. */
:root {
  --bg: #f7f8fa; --bg-2: #eef3f8; --page: #f7f8fa;
  --panel: #fff; --panel-2: #f3f6fa; --surface: #fff; --soft: #f3f6fa;
  --text: #263246; --ink: #263246; --muted: #53647a; --faint: #53647a;
  --line: #dce3ec; --accent: #006ecf; --accent-soft: #005ba9;
  --action: #006ecf; --action-hover: #005ba9; --blue: #006ecf;
  --commerce-canvas: #f7f8fa; --commerce-ink: #263246;
  --commerce-muted: #53647a; --commerce-subtle: #53647a;
  --commerce-action: #006ecf; --commerce-action-hover: #005ba9;
  --commerce-action-soft: #edf5ff; --commerce-radius: 6px;
  --commerce-control-radius: 4px; --commerce-shadow: none;
}
html body { color: #263246 !important; background: #f7f8fa !important; line-height: 1.75; }
body, body * { box-sizing: border-box; letter-spacing: 0 !important; }
body { font-family: "Manrope", "Noto Sans SC", "Microsoft YaHei", sans-serif !important; }
:root body :is(h1,h2,h3,h4) { color: #006ecf !important; font-weight: 500 !important; overflow-wrap: anywhere; }
body h1, body .hero h1, body .service-hero h1 { font-size: 44px !important; line-height: 1.25 !important; max-width: 26ch; }
body h2 { font-size: 28px; line-height: 1.4; }
body h3 { font-size: 21px; line-height: 1.45; }
body :is(p,li) { overflow-wrap: anywhere; }
body :is(.wrap,.page-shell) { width: min(1180px, calc(100% - 40px)) !important; margin-inline: auto !important; }
body :is(.site-top,.top,body > header) { background: #fff !important; border-bottom: 1px solid #dce3ec !important; box-shadow: none !important; }
body :is(.brand,.site-brand) { color: #263246 !important; }
body :is(.nav,.site-nav,.links,.top-links) { flex-wrap: wrap; align-items: center; }
body :is(.nav,.site-nav,.links,.top-links) a { color: #354456 !important; }
body :is(.btn,.button,.nav-cta,button,.site-nav a.primary,.links a.primary) {
  border-radius: 4px !important; min-height: 44px; font-weight: 500 !important;
  white-space: normal; text-align: center; max-width: 100%;
}
body :is(.btn.primary,.btn-primary,.button.primary,.nav-cta,.nav a.primary,.site-nav a.primary,.links a.primary,.top-links a.primary,button.primary,.submit) {
  background: #00cdae !important; border-color: #00cdae !important; color: #102d35 !important;
}
body :is(.btn.primary,.btn-primary,.button.primary,.nav-cta,.nav a.primary,.site-nav a.primary,.links a.primary,.top-links a.primary,button.primary,.submit):hover {
  background: #00b99d !important; border-color: #00b99d !important; color: #102d35 !important;
}
body :is(.card,.panel,.note,.step,.faq-item,.service-panel,.resource-group,.article-toc,.cta-band,.page-cta) {
  border-radius: 6px !important; box-shadow: none !important; min-width: 0;
}
body :is(.grid,.grid-2,.grid-3,.grid-4,.article-layout,.service-columns,.resource-index) > * { min-width: 0; }
body :is(.hero,.service-hero,.article-hero,.resource-hero) { padding-block: 42px !important; }
body :is(input,textarea,select) { max-width: 100%; border-radius: 4px; color: #263246; background: #fff; }
body :is(img,video,iframe) { max-width: 100%; }
body :is(a,button,input,textarea,select,summary):focus-visible { outline: 3px solid #006ecf !important; outline-offset: 3px; }
body button:disabled { opacity: .6; cursor: not-allowed; }
body ::selection { background: #c8efe8; color: #102d35; }
body code:not(pre code) { background: #edf5ff; color: #174e7e; }
body .article-body { min-width: 0; }
body :is(.article-body,.article-section) > p { max-width: 75ch; }
body .box .title { font-size: 24px !important; }
body .box .input { background: #fff; color: #263246; }
body .service-step p { color: #53647a !important; }
body .service-template { padding-block: 36px !important; }
body .closing { background: #edf5ff !important; color: #263246 !important; }
body .closing p { color: #53647a !important; }
body :is(.page-cta,.cta-band) { background: #edf5ff !important; border-color: #dce3ec !important; }
@media (max-width: 720px) {
  body :is(.wrap,.page-shell) { width: calc(100% - 32px) !important; }
  body h1, body .hero h1, body .service-hero h1 { font-size: 30px !important; }
  body h2 { font-size: 24px; }
  body :is(.hero,.service-hero,.article-hero,.resource-hero) { padding-block: 28px !important; }
  body :is(.top-inner,.site-top-inner) { flex-wrap: wrap; gap: 12px; }
  body :is(.nav,.site-nav,.links,.top-links) { gap: 8px !important; }
}
