:root {
  --cs-header: #091d37;
  --cs-header-height: 96px;
  --cs-logo-size: 72px;
  --cs-edge: var(--gutter, clamp(24px, 4vw, 64px));
}

.nav-logo-mark, .shop-header .shop-logo img, .brand img, .ty-brand img, .err-logo img {
  display: block;
  width: var(--cs-logo-size) !important;
  height: var(--cs-logo-size) !important;
  object-fit: contain;
  border-radius: 50%;
}
.footer-brand img, footer .shop-logo img {
  width: 88px !important;
  height: 88px !important;
  border-radius: 50%;
}
nav.nav, body .shop-header, header.wrap:has(.top .brand) {
  background: var(--cs-header) !important;
  border-bottom: 1px solid #263951;
  backdrop-filter: none;
}
nav.nav { height: var(--cs-header-height); }
body:has(.nav):not(.no-nav-offset) { padding-top: var(--cs-header-height); }
.nav .nav-shell { justify-content: flex-start; }
.nav .nav-links { justify-content: flex-start; }
.nav .nav-shell .nav-links .nav-link { color: white; }
.nav .nav-ctas { margin-left: auto; }
.nav .nav-mobile-toggle { margin-left: auto; }
.nav .nav-mobile-toggle span,
.nav .nav-mobile-toggle span::before,
.nav .nav-mobile-toggle span::after { background: white; }
.nav.menu-open .nav-mobile-toggle span { background: transparent; }
nav.nav .nav-mobile-panel {
  top: var(--cs-header-height) !important;
  height: calc(100dvh - var(--cs-header-height)) !important;
}
@media (min-width: 981px) {
  .nav .nav-shell { gap: 40px; }
}
.shop-header .shop-nav {
  min-height: var(--cs-header-height);
  align-items: center;
}
.shop-header .shop-links a, .shop-header .shop-icon { color: #fff; }
.shop-header .shop-links a:hover { color: #bcdcff; }
.shop-header .shop-icon:hover { color: white; background: #294361; }
.shop-header .shop-mobile-panel { position: absolute; inset: 100% 0 auto; }
@media (min-width: 1161px) {
  .shop-header .shop-nav { column-gap: 40px; }
}
header.wrap:has(.top .brand) {
  width: 100%; max-width: none; padding: 0;
}
header.wrap .top:has(.brand) {
  box-sizing: border-box; height: var(--cs-header-height); padding-inline: var(--cs-edge);
}
header.wrap .top-note, header.wrap .top-note b { color: #e3ebf4; }

/* Standalone confirmation and error pages have a home link without a menu. */
body:has(.ty-page), body:has(.err-page) { padding-top: var(--cs-header-height); }
.ty-media .ty-brand, .err-page .err-logo {
  position: fixed; inset: 0 0 auto; z-index: 10;
  height: var(--cs-header-height); padding-inline: var(--cs-edge);
  display: flex; align-items: center; justify-content: flex-start;
  margin: 0; background: var(--cs-header); box-sizing: border-box;
}
.err-page .err-logo img { opacity: 1; }
@media (max-width: 760px) {
  :root { --cs-header-height: 72px; --cs-logo-size: 52px; --cs-edge: 16px; }
  .nav .nav-shell { padding-inline: 16px; }
  .shop-header .shop-wrap.shop-nav { width: calc(100% - 32px); }
}
@media (max-width: 680px) {
  .store-home-v2 .shop-header .shop-nav { grid-template-columns: 1fr auto auto; }
  .store-home-v2 .shop-nav > .shop-logo { grid-column: 1; grid-row: 1; justify-self: start; }
  .store-home-v2 .shop-nav > .shop-actions { grid-column: 2; grid-row: 1; }
  .store-home-v2 .shop-nav > .shop-menu-button { grid-column: 3; grid-row: 1; }
}

/* Public pages use the same reading, navigation and action styles. */
:root {
  --cs-ink: #152942;
  --cs-muted: #4d6075;
  --cs-blue: #155db6;
  --cs-paper: #f3f6f9;
  --cs-line: #d3dee8;
  --cs-radius: 8px;
  --cs-font: system-ui, -apple-system, "Segoe UI", sans-serif;
}
.cs-site, .cs-site :is(h1,h2,h3,h4,p,button,input,select,textarea,.nav-link,.btn,.shop-button,.px-button) {
  font-family: var(--cs-font);
}
.cs-site h1, .cs-site h2 { text-wrap: balance; }
.cs-site h1 { letter-spacing: -.045em; }
.cs-site :focus-visible { outline: 3px solid #448ade; outline-offset: 3px; }
.cs-site :is(h2[id],section[id],main[id]) { scroll-margin-top: calc(var(--cs-header-height) + 18px); }
.cs-site :is(.btn,.shop-button,.px-button,.store-primary-button,.ntc-cta) {
  border-radius: var(--cs-radius); min-height: 44px; font-weight: 650;
  letter-spacing: .005em; text-transform: none; text-shadow: none;
}
.cs-site :is(.btn-primary,.store-primary-button,.shop-button:not(.alt),.px-button:not(.px-secondary)) {
  background: var(--cs-blue); border-color: var(--cs-blue); color: white;
}
.cs-site :is(.btn-primary,.store-primary-button,.shop-button:not(.alt),.px-button:not(.px-secondary)):hover {
  background: #104c96; color: white;
}
.cs-site :is(button,.shop-button):disabled { cursor: default; opacity: .65; }
.cs-site .reveal { opacity: 1; transform: none; }
.cs-site .hero-headline-divider, .cs-site .ty-headline-accent { display: none; }
.cs-home .hero .hero-headline {
  max-width: 15ch; font-size: clamp(2.6rem,5.5vw,5.8rem);
  line-height: 1.04; font-weight: 650; text-transform: none; color: white; text-shadow: none;
}
.cs-home .hero-overlay { background: linear-gradient(90deg,rgba(6,20,38,.91),rgba(6,20,38,.68) 52%,rgba(6,20,38,.2)); }
.cs-home .hero .hero-subtitle { max-width: 48ch; margin-block: 1.25rem 1.75rem; color: #edf2f7; font-size: clamp(1rem,1.4vw,1.25rem); line-height: 1.6; }
.cs-home .hero-ctas { flex-wrap: wrap; }
.cs-company :is(.hero-headline,.hero-headline strong), .cs-site :is(.courses-hero,.ntc-hero,.insights-hero,.contact-hero,.legal-hero) h1,
.cs-site :is(.catalog-head,.px-info,.recover-card,.ty-panel,.err-page) h1, .cs-site .cart-title {
  font-size: clamp(2.2rem,4.8vw,4.6rem); line-height: 1.06; text-transform: none;
}
.cs-site :is(.article-card,.course-card,.product-card,.recover-card,.cart-summary,.ty-next-card,.form-container) {
  border: 1px solid var(--cs-line); border-radius: var(--cs-radius);
  box-shadow: 0 2px 7px rgba(20,42,70,.045);
}
.cs-site :is(.article-card,.course-card,.product-card):hover { border-color: #91a9bf; }
.cs-site .lpath-body { border-radius: var(--cs-radius); }
.cs-reading :is(article.read,article.wrap) { max-width: min(100%, 54rem); margin-inline: auto; }
.cs-reading :is(article.read,article.wrap) :is(p,li), .cs-site .legal-content :is(p,li) {
  max-width: 70ch; font-size: clamp(1.05rem,1.2vw,1.125rem); line-height: 1.7;
}
.cs-reading :is(article.read,article.wrap) h2, .cs-site .legal-content h2 {
  font-size: clamp(1.45rem,2.6vw,2rem); line-height: 1.2; letter-spacing: -.025em;
}
.cs-reading :is(article.read,article.wrap) figure img { max-width: 100%; height: auto; }
.cs-site .legal-content .legal-wrap { max-width: 52rem; }
.cs-contents { margin: 0 0 2.5rem; border-block: 1px solid var(--cs-line); padding: 1rem 0; }
.cs-contents summary { color: var(--cs-blue); cursor: pointer; font-weight: 650; }
.cs-contents ul { padding-left: 1.3rem; }
.cs-contents a { color: var(--cs-blue); text-decoration: underline; text-underline-offset: .18em; }
.cs-site :is(.form-field,.recover-form,.newsletter-strip) :is(input:not([type=checkbox]),textarea) { border-radius: 6px; }
.cs-site :is(.form-status,.recover-status) { line-height: 1.5; }
.cs-site .store-main-hero { min-height: 0; }
.cs-site .store-main-hero-copy { padding-block: clamp(32px,4vw,64px); }
.cs-site .store-main-hero-copy h1 { font-size: clamp(2.35rem,4.8vw,4.8rem); line-height: 1.04; }
.cs-site .store-main-hero-media { min-height: 230px; }
.cs-site .store-collection { padding-top: clamp(28px,4vw,54px); }
.cs-site :is(.catalog-head,.store-section-heading,.px-section-head) h2 { letter-spacing: -.035em; }
.cs-site .cs-footer {
  display: block; clear: both; box-sizing: border-box; margin: 0; padding: clamp(36px,5vw,72px) var(--cs-edge) 26px;
  color: #d8e3ee; background: var(--cs-header); text-align: left; border: 0;
}
.cs-footer .cs-footer-grid, .cs-footer .cs-footer-base, .cs-footer .cs-footer-note { max-width: 84rem; margin-inline: auto; }
.cs-footer .cs-footer-grid { display: grid; grid-template-columns: minmax(200px,1.7fr) repeat(4,minmax(100px,1fr)); gap: 28px; }
.cs-footer .cs-footer-mark { width: 72px; height: 72px; border-radius: 50%; display: block; }
.cs-footer .cs-footer-about { color: #c4d2e1; font-size: .94rem; line-height: 1.6; max-width: 31ch; margin: 14px 0; }
.cs-footer .cs-footer-group { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.cs-footer .cs-footer-group h2 { color: white; font-size: 1rem; margin: 0 0 6px; letter-spacing: 0; font-weight: 650; }
.cs-footer a { color: #d2dfee; text-decoration: none; font-size: .92rem; line-height: 1.5; }
.cs-footer a:hover { color: white; text-decoration: underline; text-underline-offset: .2em; }
.cs-footer .cs-footer-base { border-top: 1px solid #395069; padding-top: 16px; margin-top: 28px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.cs-footer .cs-footer-base small { color: #c4d2e1; }
.cs-footer .cs-social { display: flex; flex-wrap: wrap; gap: 12px; }
.cs-footer .cs-social a { display: inline-flex; padding: 5px; }
.cs-footer .cs-social svg { display: block; width: 19px; height: 19px; }
.cs-footer .cs-footer-note { color: #cad6e1; font-size: .9rem; line-height: 1.6; margin-bottom: 2rem; }
.cs-site.store-drawer-open #crypi-agent .ca-launch { visibility: hidden; }
@media(max-width: 850px) {
  .cs-footer .cs-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cs-footer .cs-footer-intro { grid-column: 1/-1; }
}
@media(max-width: 680px) {
  .cs-home .hero .hero-headline { max-width: 14ch; }
  .cs-site .store-main-hero-media { min-height: 0; display: none; }
  .cs-site .store-collection { padding-top: 24px; }
  .cs-footer .cs-footer-base { padding-bottom: 48px; }
}
@media(prefers-reduced-motion: reduce) {
  .cs-site { scroll-behavior: auto; }
  .cs-site :is(.reveal,.hero-content,.article-card,.product-card) { animation: none; transition: none; }
}
.cs-footer-compact .cs-footer-grid { grid-template-columns: minmax(160px,1fr) minmax(160px,2fr); }
.cs-footer-directory summary { color: white; cursor: pointer; padding-block: 10px; font-weight: 650; }
.cs-footer-directory-links { display: grid; grid-template-columns: repeat(auto-fit,minmax(110px,1fr)); gap: 18px; margin-top: 14px; }
.cs-site .cs-footer-compact .cs-footer-mark { width: 52px; height: 52px; }
.cs-site .cs-footer-compact .cs-footer-about { max-width: 36ch; }
.cs-site .hero-content .hero-story-link, .cs-site .breadcrumb { text-shadow: none; }
.cs-site .nav-shell .btn { white-space: nowrap; }
.cs-site .product-card .product-price, .cs-site .cart-summary strong { font-variant-numeric: tabular-nums; }
.cs-site .filter-chip:focus-visible, .cs-site .px-thumb:focus-visible { outline-offset: 2px; }
@media(max-width: 760px) {
  .cs-footer-compact .cs-footer-grid { grid-template-columns: 1fr; gap: 6px; }
  .cs-site .cs-footer-compact .cs-footer-intro { grid-column: auto; }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .cs-home .hero-ctas .btn-primary {
    transition: background-color 160ms ease-out, transform 160ms ease-out;
  }
  .cs-home .hero-ctas .btn-primary:hover {
    background-color: #104c96;
    transform: translateY(-1px);
  }
  .cs-home .hero-ctas .btn-primary:active {
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .cs-home .hero-ctas .btn-primary { transition: none; transform: none; }
}

.store-home-v2 .shop-header .store-cart-button { color: #fff; }
