/* Kineviz custom skin — "Direction 5" design system (from the redesign
   prototype / enterprise page): Open Sans 800 headlines, ink-on-paper
   palette, neutral ink accent. Replaces the previous purple (#4a36ec) skin.
   Loaded last on every page, so rules here win ties against site CSS. */
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700;800&display=swap');

/* ---- palette: re-tint Squarespace's color system to ink/paper ---- */
:root, body {
  --black-hsl: 36, 9.8%, 10%;        /* ink   #1C1A17 */
  --white-hsl: 210, 21.4%, 94.5%;    /* paper #EEF1F4 */
  --lightAccent-hsl: 210, 33.3%, 98.8%; /* surface #FBFCFD */
  --darkAccent-hsl: 36, 9.8%, 10%;   /* neutral accent = ink (was purple) */
  --accent-hsl: 45, 12.1%, 87.1%;    /* line #E2E0DA */
}

/* ---- typography ---- */
body { font-family: 'Open Sans', sans-serif !important; color: #1C1A17 !important; background-color: #EEF1F4; }
h1, h2, h3, h4, .header-title-text { font-family: 'Open Sans', sans-serif !important; }
h1 { font-weight: 700 !important; letter-spacing: -.03em; line-height: 1.08; }
h2 { font-weight: 700 !important; letter-spacing: -.025em; line-height: 1.13; }
h3, h4 { font-weight: 600 !important; letter-spacing: -.01em; }
h1, h2, h3, h4 { margin: 0rem 0; }
p, li, span, input, textarea, select, .body-text, .sqs-block-content p {
  font-family: 'Open Sans', sans-serif !important; font-weight: 400 !important;
}
p { margin: .35rem 0 !important; }
.header-nav-item a, .header-menu-nav-item a {
  font-family: 'Open Sans', sans-serif !important; font-weight: 600 !important; color: inherit !important;
}

/* ---- links: neutral ink accent (was purple) ---- */
a { font-family: 'Open Sans', sans-serif !important; color: #1C1A17 !important; }
.sqs-html-content p a, .summary-excerpt a { text-decoration: underline; text-underline-offset: 2px; }

/* ---- buttons: Direction-5 pills, context-aware contrast ----
   Default = ink pill (correct on the common light/paper sections). Flip to a
   paper pill only where the backdrop is reliably dark: the footer (custom.css
   paints it ink) and `bright-inverse` sections (the hero video/image blocks —
   verified dark by luminance). NOTE the theme names are counterintuitive after
   the palette override: `bright-inverse` renders DARK, while `black-bold`
   sections render LIGHT (paper), so black-bold is intentionally NOT flipped.
   html body prefix outguns the theme's own !important button rules. ---- */
html body .sqs-block-button-element, html body .header-actions .btn,
html body .newsletter-form-button, html body .form-submit-button {
  background-color: #1C1A17 !important; color: #EEF1F4 !important; border-color: #1C1A17 !important;
  border-radius: 999px !important; font-family: 'Open Sans', sans-serif !important;
  font-weight: 700 !important;
  transition: background-color .2s cubic-bezier(.16,1,.3,1), transform .2s cubic-bezier(.16,1,.3,1);
}
html body .sqs-block-button-element:hover, html body .header-actions .btn:hover,
html body .newsletter-form-button:hover, html body .form-submit-button:hover {
  background-color: #2C2924 !important; border-color: #2C2924 !important; color: #EEF1F4 !important;
}
html body footer .sqs-block-button-element,
html body .page-section[data-section-theme="bright-inverse"] .sqs-block-button-element,
html body .page-section[data-section-theme="dark"] .sqs-block-button-element {
  background-color: #EEF1F4 !important; color: #1C1A17 !important; border-color: #EEF1F4 !important;
}
html body footer .sqs-block-button-element:hover,
html body .page-section[data-section-theme="bright-inverse"] .sqs-block-button-element:hover,
html body .page-section[data-section-theme="dark"] .sqs-block-button-element:hover {
  background-color: #FFFFFF !important; border-color: #FFFFFF !important; color: #1C1A17 !important;
}
.sqs-block-button-element:active { transform: translateY(1px); }

/* ---- header nav: right-justified ---- */
.header-nav { text-align: right; }
.header-nav .header-nav-list { padding-left: 0; padding-right: 1.5vw; }
.header-menu-nav-item a { font-size: 20px; margin: 0 0 20px 1em; padding: 0; }

/* ---- dark sections & footer: ink instead of near-black ---- */
.page-section[data-section-theme="dark"], .section-background.has-background { background-color: #1C1A17 !important; }
footer .page-section, footer .section-background { background-color: #1C1A17 !important; }
footer a { color: #CBD2DA !important; }
footer a:hover { color: #EEF1F4 !important; }

/* ---- soft radius on inline media (prototype card feel) ---- */
.sqs-block-image .sqs-block-content img,
.sqs-block-video .sqs-block-content,
.sqs-block-video iframe,
.sqs-native-video { border-radius: 16px; overflow: hidden; }

/* ---- summaries / blog cards ---- */
.summary-title a { font-weight: 700 !important; color: #1C1A17 !important; }

/* ---- legacy rules kept from the previous skin ---- */
#collection-65c2b5a642d3d522bab80320 .header-title-logo img,#collection-65ca2442e1e3ad1f11203a56 .header-title-logo img,#collection-65ca279b9686cd62e6f87cd7 .header-title-logo img,#collection-65ca2866b9221205499d8757 .header-title-logo img,#collection-65cbf78bd6ca742c4611799b .header-title-logo img,#collection-65e50c9f3f76ac090fd37ea5 .header-title-logo img,#collection-65ccab59e28b7d6538c7b045 .header-title-logo img,#collection-65e4b27c4687304c21ebcf42 .header-title-logo img,#collection-65e4b476dbb1c310cd0a6016 .header-title-logo img,#yui_3_17_2_1_1709511966976_328 .header-title-logo img,#collection-65ce0f8c5524d33189a012df .header-title-logo img,#collection-65e9f0366a226f013a0ee75d .header-title-logo img,#collection-6600615d88d7ef088351f6d0 .header-title-logo img,#collection-66006c5eec21a40bd1b16931 .header-title-logo img,#collection-65f33cb2262a6d71d8e5bc94 .header-title-logo img,#collection-671a16467dfdf95e57b5ec72 .header-title-logo img,#not-found .header-title-logo img,#collection-672e338aad1c721aea7cdeac .header-title-logo img { -webkit-filter: invert(1); filter: invert(1); }
#block-yui_3_17_2_1_1707864844495_94996 hr, #block-fcb01f5c47c822f5cdb6 hr, #block-697e6d655b79c866453c hr { background-color: #1C1A17; }
#yui_3_17_2_1_1709511966976_328 .system-page { padding-top: 40vh !important; }

/* ---- newsletter ---- */
.newsletter-form-body { display: inline-flex; width: 100%; }
.newsletter-block .newsletter-form-fields-wrapper, .newsletter-block .newsletter-form-field-wrapper { width: 100%; min-width: 50%; }
.newsletter-block .newsletter-form-field-wrapper input {
  background-color: #FBFCFD; border: 1px solid #E2E0DA; border-radius: 10px;
  font-family: 'Open Sans', sans-serif !important;
}
@media screen and (max-width: 891px) {
  .newsletter-form-body { display: initial; }
  .newsletter-form-button-wrapper { margin-top: 0 !important; }
}

/* ---- cookie banner ---- */
.gdpr-cookie-banner { background-color: #1C1A17 !important; }
.gdpr-cookie-banner .disclaimer-text { margin-bottom: 20px !important; margin-top: 0 !important; }
.gdpr-cookie-banner a { color: #CBD2DA !important; }

/* ---- mobile ---- */
@media (max-width: 767px) {
  .Page-body h1, .sqs-html-content h1 { font-size: 32px !important; line-height: 1.15 !important; }
  .page-section .content-wrapper { padding-top: 48px !important; padding-bottom: 48px !important; }
  .sqs-col-6 + .sqs-col-6 { margin-top: 24px !important; }
}
