/* Shared inner-page typography. Existing layout, media and responsive grids stay in their page styles. */
body[data-site-section] {
  --font-sans: -apple-system,system-ui,"avenir next",avenir,"segoe ui","helvetica neue",helvetica,Cantarell,Ubuntu,roboto,noto,arial,sans-serif;
  --font-serif: var(--font-sans);
  --font-condensed: var(--font-sans);
  --ink: #111315;
  --muted: #636567;
  --coral: #c82d32;
  --coral-deep: #aa2429;
  --coral-ink: #982328;
  --paper: #f7f7f4;
  --paper-dark: #eeefec;
  --line: #dedede;
  --marketing-ink: #111315;
  --marketing-muted: #636567;
  --marketing-coral: #c82d32;
  --marketing-coral-deep: #aa2429;
  --marketing-cream: #f7f7f4;
  --marketing-cream-deep: #eeefec;
  --reg-ink: #111315;
  --reg-muted: #636567;
  --reg-line: #dedede;
  --reg-surface: #f7f7f4;
  --reg-accent: #b42b30;
  --reg-accent-soft: #faf0f0;
  --country-surface: #f7f7f4;
  --country-surface-deep: #eeefec;
  --country-border: #dedede;
  --us-ink: #111315;
  --us-muted: #636567;
  --blog-ink: #111315;
  --blog-muted: #636567;
  --blog-blue: #aa2429;
  --blog-coral: #c82d32;
  --blog-paper: #f7f7f4;
  --blog-line: #dedede;
  --contact-cream: #f7f7f4;
  --legal-cream: #f7f7f4;
  --legal-soft: #eeefec;
  font-family: var(--font-sans);
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
}
/* Use the shared brand palette while retaining country flags and artwork. */
body[data-site-section][data-registration-country] {
  --country-primary: #c82d32;
  --country-deep: #982328;
  --country-stripe: #aa2429;
  --country-surface: #f7f7f4;
  --country-surface-deep: #eeefec;
  --country-border: #dedede;
}
body[data-site-section] main#main :is(h1,h2,h3,h4,h5,h6) {
  font-family: var(--font-sans);
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: 1.45;
}
body[data-site-section] main#main :is(h1,.service-hero-heading h1) {
  font-size: clamp(36px,4.2vw,68px) !important;
  font-weight: 600 !important;
  letter-spacing: -.04em !important;
  line-height: 1.3 !important;
}
body[data-site-section] main#main .service-hero-summary {
  font-size: clamp(19px,1.65vw,25px) !important;
  font-weight: 500 !important;
  line-height: 1.7 !important;
  letter-spacing: -.01em !important;
}
body[data-site-section] main#main .service-hero-details > p:nth-of-type(2) {
  font-size: clamp(16px,1.2vw,18px) !important;
  line-height: 1.9 !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
}
body[data-site-section] main#main :is(
  .us-editorial-section-heading,.us-editorial-conversion,
  .marketing-proposition__copy,.marketing-section-heading,.marketing-deliverables__intro,
  .marketing-fit,.marketing-faq__intro,.marketing-cases__heading,.marketing-final-cta,
  .search-service-section-heading,.search-service-final-cta,.search-service-cta,
  .reg-section-head,.reg-use-copy,.reg-source-copy,.reg-cta,.reg-gallery-head,
  .wp-section-heading,.wp-faq-intro,.wp-closing,
  .un-section-heading,.un-message-intro,.un-editorial,.un-boundaries-heading,
  .un-faq-intro,.un-case-status,.un-closing
) h2 {
  font-size: clamp(28px,3vw,48px);
  line-height: 1.45;
}
body[data-site-section] main#main :is(p,li,td,dd) {
  letter-spacing: normal;
}
body[data-site-section] main#main :is(button,summary,.eyebrow,[class$="__eyebrow"],[class$="-kicker"]) {
  font-family: var(--font-sans);
  font-weight: 500;
}
body[data-site-section] main#main :is(.article-summary,.article-hero__excerpt) {
  font-family: var(--font-sans);
  font-weight: 400;
  line-height: 1.85;
  letter-spacing: normal;
}
body[data-site-section] main#main .article-markdown :is(h1,h2) {
  font-size: clamp(24px,2vw,32px);
  line-height: 1.5;
}
body[data-site-section] main#main .article-markdown :is(h3,h4) {
  font-size: clamp(20px,1.6vw,25px);
  line-height: 1.55;
}
body[data-site-section] main#main :is(.article-markdown,.legal-section) :is(p,li,td,dd) {
  font-size: 16px;
  line-height: 1.95;
}
body[data-site-section] main#main :is(.article-markdown,.legal-section) :is(strong,th) {
  font-weight: 600;
}
@media(max-width:767px) {
  body[data-site-section] main#main :is(h1,.service-hero-heading h1) {
    font-size: clamp(28px,7.5vw,40px) !important;
    line-height: 1.35 !important;
    letter-spacing: -.025em !important;
  }
  body[data-site-section] main#main .service-hero-summary {
    font-size: 19px !important;
    line-height: 1.75 !important;
  }
  body[data-site-section] main#main .service-hero-details > p:nth-of-type(2) {
    font-size: 15px !important;
    line-height: 1.9 !important;
  }
  body[data-site-section] main#main :is(.article-markdown,.legal-section) :is(p,li,td,dd) {
    font-size: 15px;
    line-height: 1.9;
  }
}
/* Keep small labels readable against the existing dark article cover. */
body.blog-article[data-site-section] main#main .blog-label { color: #ffaaa8; }
body[data-site-section] main#main .article-markdown h1 {
  font-size: clamp(24px,2vw,32px) !important;
  line-height: 1.5 !important;
}
@media(max-width:767px) {
  body[data-site-section] main#main .service-hero-heading h1,
  body[data-site-section] main#main .service-hero-heading h1 > span {
    text-wrap: balance;
  }
}

/* One heading treatment: preserve light/dark contrast, emphasize through type,
   and reserve the brand accent for punctuation rather than whole phrases. */
/* Let the available heading width decide the line count, not legacy slide-like
   spans. Article titles retain their separately styled explanatory subtitle. */
body[data-site-section]:not(.blog-page) main#main h1 {
  text-wrap: pretty;
  word-break: normal;
  overflow-wrap: normal;
}
body[data-site-section]:not(.blog-page) main#main h1 :is(span,em,strong,b) {
  display: inline;
  white-space: normal;
  width: auto;
  margin: 0;
  font-size: 1em;
  line-height: inherit;
  letter-spacing: inherit;
}
body[data-site-section]:not(.blog-page) main#main h1 .reg-hero-title-line::before {
  content: none;
}
@media (min-width: 768px) {
  body[data-site-section]:not(.blog-page) main#main h1 .search-service-hero__headline-accent,
  body[data-site-section]:not(.blog-page) main#main #cb-hero-title > span:last-child {
    display: inline-block;
    max-width: 100%;
  }
}
body.blog-index[data-site-section] main#main .blog-publication h1 { text-wrap: balance; }
body.blog-index[data-site-section] main#main:has(.guide-discovery) .blog-publication h1 br { display: none; }
body[data-site-section]:not([data-site-section="about"]):not([data-site-section="home"]) main#main :is(h1,h2) :is(em,mark,span,strong,b) {
  color: inherit !important;
  -webkit-text-fill-color: currentColor;
  background: none !important;
  box-shadow: none !important;
  text-shadow: none;
  text-decoration: none;
  font-style: normal;
}
body[data-site-section]:not([data-site-section="about"]):not([data-site-section="home"]) main#main :is(h1,h2) .inner-title-period,
body.blog-index[data-site-section]:not([data-site-section="about"]):not([data-site-section="home"]) main#main :is(.blog-publication h1,.guide-library-top h2) > span {
  display: inline !important;
  color: #c82d32 !important;
  -webkit-text-fill-color: currentColor;
  white-space: nowrap;
}

/* Cryptocurrency whitepaper: neutral white surfaces, restrained red accents.
   The six sample designs retain their own artwork and presentation colors. */
body.whitepaper-page {
  --wp-bg: #fff;
  --wp-surface: #f7f7f5;
  --wp-surface-strong: #f0f0ed;
  --wp-line: #e1e1df;
  --wp-line-strong: #cecfcb;
  --wp-text: #111315;
  --wp-muted: #636567;
  --wp-acid: #b72b30;
  --wp-violet: #b72b30;
}
body.whitepaper-page .site-header { background: #fff; }
body.whitepaper-page :is(.brand-copy strong,.desktop-nav a,.directory-nav-trigger) { color: #111315; }
body.whitepaper-page :is(.wp-route-nav a,.wp-hero-summary,.wp-case-dialog-copy > p,.wp-format-copy > p) { color: #636567; }
body.whitepaper-page :is(.wp-format-section,.wp-case-dialog-shell) { background: #fff; }
body.whitepaper-page :is(.wp-format-controls,.wp-format-scrub,.wp-case-preview-page,.wp-case-preview-page img) { background: #f7f7f5; }
body.whitepaper-page :is(.wp-format-controls button:hover,.wp-format-controls button:focus-visible,.wp-format-page-tabs button.is-active) { background: #faeeee; color: #a8262b; }
body.whitepaper-page :is(.wp-explore-hint,.wp-cursor-note) { background: rgb(255 255 255 / 94%); color: #636567; }
body.whitepaper-page .wp-primary-cta { background: #c82d32; color: #fff; border-color: #c82d32; box-shadow: none; }
body.whitepaper-page .wp-primary-cta:is(:hover,:focus-visible) { background: #a8262b; box-shadow: none; outline: 2px solid #a8262b; outline-offset: 3px; }
body.whitepaper-page .wp-cta-arrow { color: #fff; background: #b3262b; }
body.whitepaper-page .wp-route-nav a[aria-current="page"]::before { box-shadow: none; }
body.whitepaper-page .wp-phase-signal { filter: none; }
body.whitepaper-page .wp-format-copy { background: #fff; }
body.whitepaper-page .wp-case-card-overlay { background: rgb(255 255 255 / 94%); }
body.whitepaper-page .wp-case-preview-page { box-shadow: 0 10px 30px rgb(17 19 21 / 7%); }
body.whitepaper-page .service-directory { box-shadow: 0 18px 50px rgb(17 19 21 / 12%); }
body.whitepaper-page .wp-hero::after { background: none; }
body.whitepaper-page :is(.wp-format-demo-head,.wp-format-explanation) { background: #f7f7f5; }
body.whitepaper-page .wp-format-demo-head span { color: #a8262b; }
body.whitepaper-page .wp-case-media > span { background: rgb(255 255 255 / 94%); color: #a8262b; }
@media (max-width: 767px) {
  body.whitepaper-page .wp-hero .service-hero-heading {
    background: linear-gradient(90deg, rgb(255 255 255 / 96%) 0%, rgb(255 255 255 / 78%) 50%, rgb(255 255 255 / 12%) 100%);
  }
}
