﻿@font-face {
  font-family: "Montserrat";
  src: url("fonts/montserrat-latin.311d352d9323.woff2") format("woff2");
  font-weight: 700 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Outfit";
  src: url("fonts/outfit-latin.fdf9c509a809.woff2") format("woff2");
  font-weight: 300 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("fonts/inter-latin.260c81a4759b.woff2") format("woff2");
  font-weight: 300 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Playfair Display";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("fonts/playfair-display-latin.ef05b30d6e5c.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Lora";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("fonts/lora-latin.9577af3ccda5.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Merriweather";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("fonts/merriweather-latin.5c271de154f2.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Merriweather";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/merriweather-italic-latin.e02afa5fc636.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Libre Franklin";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("fonts/libre-franklin-latin.bc34823f42d5.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


:root {
  --tenant-heading-font: "Playfair Display", serif;
  --tenant-body-font: "Lora", serif;
  --tenant-ui-font: "Libre Franklin", sans-serif;
  --tenant-caption-font: "Libre Franklin", sans-serif;
}

body {
  font-family: var(--tenant-body-font);
}

.article-title,
.listing-hero-title,
.font-display,
.font-display-xl,
.font-headline-lg,
.font-headline-md,
.drop-cap::first-letter {
  font-family: var(--tenant-heading-font) !important;
}

.shared-header,
.shared-footer,
.blog-nav-menu,
.mobile-nav-menu,
.font-label-sm,
.font-caption,
button,
input,
select,
textarea,
.metadata-text {
  font-family: var(--tenant-ui-font) !important;
}

.max-w-\[880px\] {
  max-width: 880px;
}

.max-w-\[1360px\] {
  max-width: 1360px;
}

@media (min-width: 768px) {
  .md\:grid-cols-\[minmax\(0\,220px\)_minmax\(0\,880px\)_minmax\(0\,120px\)\] {
    grid-template-columns: minmax(0, 220px) minmax(0, 880px) minmax(0, 120px);
  }

  .md\:ml-\[268px\] {
    margin-left: 268px;
  }

  .blog-detail-layout {
    grid-template-columns: minmax(0, 320px) minmax(0, 880px) minmax(0, 40px) !important;
    gap: 3rem !important;
    max-width: 1560px !important;
    padding-left: 0.5rem !important;
    padding-right: 1.5rem !important;
  }

  .blog-detail-layout .toc-panel {
    width: 320px !important;
  }

  .article-hero-meta {
    margin-left: 4.5rem !important;
    width: calc(100% - 4.5rem) !important;
  }
}

.toc-nav {
  gap: 0.8rem !important;
}

.toc-heading {
  margin-bottom: 0.25rem !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.16em !important;
}

.toc-link {
  position: relative;
  display: block !important;
  padding-left: 1.35rem;
  padding-right: 1rem;
  font-size: 0.78rem !important;
  line-height: 1.32 !important;
  letter-spacing: 0.02em !important;
  font-weight: 600 !important;
  color: rgba(44, 49, 49, 0.58) !important;
}

.toc-link:hover {
  color: rgba(44, 49, 49, 0.78) !important;
}

.toc-link.is-active {
  color: var(--color-primary) !important;
  font-weight: 800 !important;
}

.toc-dot {
  position: absolute;
  left: 0.2rem;
  top: 0.46em;
  width: 0.35rem;
  height: 0.35rem;
  transition: opacity 160ms ease, transform 160ms ease;
}

.toc-link.is-active .toc-dot {
  opacity: 1 !important;
  transform: scale(1.15);
}

.toc-link-text {
  display: block;
}

@media (max-width: 1024px) {
  .toc-link.is-active {
    color: rgba(44, 49, 49, 0.58) !important;
    font-weight: 600 !important;
  }

  .toc-link .toc-dot,
  .toc-link.is-active .toc-dot {
    opacity: 0 !important;
    transform: none !important;
  }

  .toc-link:hover,
  .toc-link:active,
  .toc-link:focus,
  .toc-link:focus-visible {
    color: var(--color-primary) !important;
    font-weight: 800 !important;
  }

  .toc-link:hover .toc-dot,
  .toc-link:active .toc-dot,
  .toc-link:focus .toc-dot,
  .toc-link:focus-visible .toc-dot {
    opacity: 1 !important;
    transform: scale(1.15) !important;
  }
}

.blog-detail-layout p.text-body-md,
.blog-detail-layout ul.font-body-md li,
.blog-detail-layout ol.font-body-md li {
  font-size: var(--text-body-md) !important;
  line-height: var(--text-body-md--line-height) !important;
}

.key-takeaway-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.key-takeaway-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin: 0;
}

.key-takeaway-number {
  flex: 0 0 2rem;
  white-space: nowrap;
  overflow-wrap: normal;
  font-variant-numeric: tabular-nums;
}

.key-takeaway-text {
  flex: 1 1 auto;
  min-width: 0;
}

#scorecards-moved .source-fact-item {
  padding-top: 1.5rem;
  padding-bottom: 1.25rem;
}

#scorecards-moved .source-fact-heading {
  gap: 1rem;
  margin-bottom: 1rem;
}

#scorecards-moved .source-fact-description {
  margin-bottom: 1rem;
}

#scorecards-moved .source-fact-impact {
  margin-bottom: 0.5rem;
  padding: 1rem;
}

#faq .faq-item {
  padding-top: 0.7rem;
  padding-bottom: 0.7rem;
}

#faq h3 {
  font-size: 1.05rem;
  line-height: 1.16;
}

#faq .faq-icon {
  font-size: 1.05rem;
  line-height: 1;
}

#faq .faq-content {
  margin-top: 0.5rem;
}

.site-header-lens {
  background: rgba(255, 255, 255, 0.72) !important;
  -webkit-backdrop-filter: blur(18px) saturate(145%);
  backdrop-filter: blur(18px) saturate(145%);
  box-shadow: none;
  border-bottom: 0 !important;
}

.site-header-lens::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.18));
}

.site-header-lens > * {
  position: relative;
  z-index: 1;
}

.blog-page .shared-header {
  background: transparent !important;
  border-bottom: 0 !important;
  padding: 0;
}

.blog-page .shared-header nav {
  height: 4.75rem;
  max-width: none;
  border-radius: 0;
  background: rgba(255, 255, 255, 0.76);
  -webkit-backdrop-filter: blur(18px) saturate(145%);
  backdrop-filter: blur(18px) saturate(145%);
  box-shadow: 0 18px 50px rgba(17, 24, 39, 0.08);
}

.shared-header a,
.shared-header button {
  font-family: "Libre Franklin", sans-serif;
}

.shared-header nav a,
.shared-header nav span,
.shared-header nav button {
  font-family: "Libre Franklin", sans-serif;
}

.shared-header nav > div:first-child > a:first-child {
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: none;
}

.blog-header-inner {
  display: flex;
  align-items: center;
  gap: clamp(1.5rem, 4vw, 4rem);
  box-sizing: border-box;
  padding-left: clamp(8.5rem, 9vw, 10rem);
  padding-right: clamp(1rem, 2.5vw, 2.5rem);
}

.blog-logo-link {
  display: inline-flex;
  align-items: center;
  height: 100%;
  flex: 0 0 auto;
  min-width: 0;
}

.blog-logo-image {
  display: block;
  width: auto;
  height: 4.35rem;
  max-height: calc(100% - 0.4rem);
  max-width: min(28rem, 50vw);
  object-fit: contain;
  object-position: left center;
}

.blog-logo-square {
  transform: scale(1.5) !important;
  transform-origin: left center;
}

.blog-logo-padded-square {
  width: auto;
  height: 4.35rem;
  max-height: calc(100% - 0.4rem);
  object-fit: contain;
  object-position: center;
}

.shared-header nav > div:first-child > div a,
.shared-header nav span,
.shared-header nav button {
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.blog-nav-menu {
  font-family: "Libre Franklin", sans-serif;
  flex: 0 1 auto;
  justify-content: flex-start;
  min-width: 0;
}

.nav-accordion {
  position: relative;
}

.nav-accordion summary {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.7rem 0.85rem;
  border-radius: 0.45rem;
  color: #1c1b1b;
  cursor: pointer;
  list-style: none;
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: none;
  transition: background-color 160ms ease, color 160ms ease;
}

.nav-accordion summary::-webkit-details-marker {
  display: none;
}

.nav-accordion summary::after {
  content: "";
  width: 0.42rem;
  height: 0.42rem;
  border-right: 1.8px solid currentColor;
  border-bottom: 1.8px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
  transition: transform 160ms ease;
}

.nav-accordion[open] summary {
  background: #efe7ff;
  color: #5f1bd9;
}

.nav-accordion[open] summary::after {
  transform: rotate(225deg) translate(-1px, -1px);
}

.nav-dropdown {
  position: absolute;
  top: calc(100% + 1.15rem);
  left: 50%;
  z-index: 80;
  min-width: 220px;
  transform: translateX(-50%);
  display: grid;
  gap: 0.25rem;
  padding: 1rem;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 22px 70px rgba(17, 24, 39, 0.16);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

.nav-dropdown-wide {
  min-width: 275px;
}

.nav-dropdown a {
  display: block;
  padding: 0.65rem 0.75rem;
  color: #1c1b1b;
  border-radius: 0.35rem;
  font-size: 0.95rem;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0;
  text-transform: none;
}

.nav-dropdown a:hover {
  background: #f8f2f2;
  color: #5f1bd9;
}

.nav-dropdown-rule {
  display: block;
  height: 1px;
  margin: 0.55rem 0;
  background: #d8d8dd;
}

.nav-dropdown a.nav-dropdown-all {
  color: #5f1bd9;
}

.mobile-nav-menu {
  display: none;
  position: relative;
  flex: 0 0 auto;
  font-family: "Libre Franklin", sans-serif;
}

.mobile-nav-menu > summary {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.65rem 0.8rem;
  border-radius: 0.45rem;
  color: #1c1b1b;
  cursor: pointer;
  list-style: none;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1;
}

.mobile-nav-menu > summary::-webkit-details-marker,
.mobile-nav-section > summary::-webkit-details-marker {
  display: none;
}

.mobile-nav-menu[open] > summary {
  background: #efe7ff;
  color: #5f1bd9;
}

.mobile-nav-panel {
  position: absolute;
  top: calc(100% + 0.75rem);
  right: 0;
  z-index: 90;
  width: min(20rem, calc(100vw - 2rem));
  max-height: calc(100vh - 6rem);
  overflow-y: auto;
  display: grid;
  gap: 0.35rem;
  padding: 0.85rem;
  border-radius: 0.9rem;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 22px 70px rgba(17, 24, 39, 0.18);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

.mobile-nav-section {
  border-bottom: 1px solid #ececef;
  padding-bottom: 0.25rem;
}

.mobile-nav-section:last-child {
  border-bottom: 0;
}

.mobile-nav-section > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem;
  color: #1c1b1b;
  cursor: pointer;
  list-style: none;
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1.2;
}

.mobile-nav-section > summary::after {
  content: "";
  width: 0.42rem;
  height: 0.42rem;
  border-right: 1.8px solid currentColor;
  border-bottom: 1.8px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
}

.mobile-nav-section[open] > summary {
  color: #5f1bd9;
}

.mobile-nav-section[open] > summary::after {
  transform: rotate(225deg) translate(-1px, -1px);
}

.mobile-nav-section a {
  display: block;
  padding: 0.55rem 0.75rem 0.55rem 1rem;
  color: #343434;
  border-radius: 0.35rem;
  font-size: 0.9rem;
  line-height: 1.3;
}

@media (max-width: 1024px) {
  .blog-page .shared-header {
    padding: 0;
  }

  .blog-page .shared-header nav {
    border-radius: 0;
    box-shadow: none;
  }

  .blog-header-inner {
    display: flex;
    justify-content: space-between;
    padding-inline: 1rem;
  }

  .blog-logo-image {
    height: 3.7rem;
  }

  .blog-nav-menu {
    display: none !important;
  }

  .mobile-nav-menu {
    display: block !important;
  }

  .blog-detail-layout {
    display: block !important;
    max-width: 880px !important;
    margin-inline: auto !important;
    padding-inline: clamp(1rem, 4vw, 2rem) !important;
  }

  .blog-detail-layout .toc-panel {
    width: 100% !important;
    max-width: 880px !important;
    margin: 0 auto 2.5rem !important;
  }

  .blog-detail-layout .toc-panel > .sticky {
    position: static !important;
    width: 100% !important;
  }
}

.article-hero {
  padding-top: 4.5rem;
}

.article-title {
  font-size: clamp(2.85rem, 4.4vw, 4.65rem);
  line-height: 1.04;
}

@media (max-width: 767px) {
  .article-title {
    font-size: clamp(2rem, 10vw, 3rem);
    line-height: 1.08;
  }

  .toc-panel {
    margin-bottom: 0.5rem;
    border-top: 1px solid #c4c7c7;
    border-bottom: 1px solid #c4c7c7;
    padding: 1rem 0;
  }

  .toc-panel .sticky {
    position: static;
  }
}

/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or
    ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *,
    :before,
    :after {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
    }
    ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
    }
  }
}
@layer theme {
  :root,
  :host {
    --font-sans:
      ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono:
      ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-black: #000;
    --color-white: #fff;
    --spacing: 0.25rem;
    --container-7xl: 80rem;
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --tracking-tighter: -0.05em;
    --tracking-tight: -0.025em;
    --tracking-wider: 0.05em;
    --tracking-widest: 0.1em;
    --leading-tight: 1.25;
    --radius-xl: 0.75rem;
    --blur-md: 12px;
    --default-transition-duration: 0.15s;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-on-primary: #fff;
    --color-surface-container-high: #ebe7e6;
    --color-surface-container-low: #f7f3f2;
    --color-primary: #000;
    --color-secondary: #5f5e5e;
    --color-background: #fdf8f8;
    --color-on-surface: #1c1b1b;
    --color-outline-variant: #c4c7c7;
    --color-on-surface-variant: #444748;
    --color-surface-container: #f1edec;
    --color-surface-container-lowest: #fff;
    --font-body-md: "Lora", serif;
    --font-caption: "Libre Franklin", sans-serif;
    --font-headline-md: "Playfair Display", serif;
    --font-display-xl: "Playfair Display", serif;
    --font-headline-lg: "Playfair Display", serif;
    --font-body-lg: "Lora", serif;
    --font-label-sm: "Libre Franklin", sans-serif;
    --font-display: "Playfair Display", serif;
    --text-body-md: 18px;
    --text-body-md--line-height: 1.62;
    --text-body-md--letter-spacing: 0em;
    --text-body-md--font-weight: 400;
    --text-caption: 14px;
    --text-caption--line-height: 1.4;
    --text-caption--letter-spacing: 0em;
    --text-caption--font-weight: 400;
    --text-headline-md: 24px;
    --text-headline-md--line-height: 1.22;
    --text-headline-md--letter-spacing: 0em;
    --text-headline-md--font-weight: 700;
    --text-display-xl: 56px;
    --text-display-xl--line-height: 1.06;
    --text-display-xl--letter-spacing: 0em;
    --text-display-xl--font-weight: 700;
    --text-headline-lg: 34px;
    --text-headline-lg--line-height: 1.14;
    --text-headline-lg--letter-spacing: 0em;
    --text-headline-lg--font-weight: 700;
    --text-body-lg: 18px;
    --text-body-lg--line-height: 1.5;
    --text-body-lg--letter-spacing: 0em;
    --text-body-lg--font-weight: 400;
    --text-label-sm: 12px;
    --text-label-sm--line-height: 1.5;
    --text-label-sm--letter-spacing: 0.05em;
    --text-label-sm--font-weight: 700;
    --text-headline-sm: 24px;
    --text-headline-sm--line-height: 1.2;
    --text-headline-sm--font-weight: 800;
    --spacing-section-gap: 80px;
  }
}
@layer base {
  *,
  :after,
  :before {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }
  ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }
  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }
  html,
  :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(
      --default-font-family,
      ui-sans-serif,
      system-ui,
      sans-serif,
      "Apple Color Emoji",
      "Segoe UI Emoji",
      "Segoe UI Symbol",
      "Noto Color Emoji"
    );
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b,
  strong {
    font-weight: bolder;
  }
  code,
  kbd,
  samp,
  pre {
    font-family: var(
      --default-mono-font-family,
      ui-monospace,
      SFMono-Regular,
      Menlo,
      Monaco,
      Consolas,
      "Liberation Mono",
      "Courier New",
      monospace
    );
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(
      --default-mono-font-variation-settings,
      normal
    );
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub,
  sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol,
  ul,
  menu {
    list-style: none;
  }
  img,
  svg,
  video,
  canvas,
  audio,
  iframe,
  embed,
  object {
    vertical-align: middle;
    display: block;
  }
  img,
  video {
    max-width: 100%;
    height: auto;
  }
  button,
  input,
  select,
  optgroup,
  textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }
  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not ((-webkit-appearance: -apple-pay-button))) or
    (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }
    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }
  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button,
  input:where([type="button"], [type="reset"], [type="submit"]) {
    -webkit-appearance: button;
    appearance: button;
  }
  ::file-selector-button {
    -webkit-appearance: button;
    appearance: button;
  }
  ::-webkit-inner-spin-button {
    height: auto;
  }
  ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer components;
@layer utilities {
  .absolute {
    position: absolute;
  }
  .relative {
    position: relative;
  }
  .sticky {
    position: sticky;
  }
  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }
  .top-0 {
    top: calc(var(--spacing) * 0);
  }
  .top-1\/2 {
    top: 50%;
  }
  .top-2\.5 {
    top: calc(var(--spacing) * 2.5);
  }
  .top-8 {
    top: calc(var(--spacing) * 8);
  }
  .top-24 {
    top: calc(var(--spacing) * 24);
  }
  .right-4 {
    right: calc(var(--spacing) * 4);
  }
  .bottom-4 {
    bottom: calc(var(--spacing) * 4);
  }
  .bottom-8 {
    bottom: calc(var(--spacing) * 8);
  }
  .left-0 {
    left: calc(var(--spacing) * 0);
  }
  .left-1\/2 {
    left: 50%;
  }
  .left-4 {
    left: calc(var(--spacing) * 4);
  }
  .z-50 {
    z-index: 50;
  }
  .mx-auto {
    margin-inline: auto;
  }
  .my-16 {
    margin-block: calc(var(--spacing) * 16);
  }
  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }
  .mt-2\.5 {
    margin-top: calc(var(--spacing) * 2.5);
  }
  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }
  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .mt-12 {
    margin-top: calc(var(--spacing) * 12);
  }
  .mt-\[19px\] {
    margin-top: 19px;
  }
  .mr-2 {
    margin-right: calc(var(--spacing) * 2);
  }
  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }
  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }
  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }
  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }
  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }
  .mb-10 {
    margin-bottom: calc(var(--spacing) * 10);
  }
  .mb-12 {
    margin-bottom: calc(var(--spacing) * 12);
  }
  .mb-16 {
    margin-bottom: calc(var(--spacing) * 16);
  }
  .mb-section-gap {
    margin-bottom: var(--spacing-section-gap);
  }
  .ml-6 {
    margin-left: calc(var(--spacing) * 6);
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .aspect-\[16\/9\] {
    aspect-ratio: 16/9;
  }
  .h-1\.5 {
    height: calc(var(--spacing) * 1.5);
  }
  .h-2 {
    height: calc(var(--spacing) * 2);
  }
  .h-10 {
    height: calc(var(--spacing) * 10);
  }
  .h-12 {
    height: calc(var(--spacing) * 12);
  }
  .h-full {
    height: 100%;
  }
  .w-1 {
    width: calc(var(--spacing) * 1);
  }
  .w-1\.5 {
    width: calc(var(--spacing) * 1.5);
  }
  .w-2 {
    width: calc(var(--spacing) * 2);
  }
  .w-10 {
    width: calc(var(--spacing) * 10);
  }
  .w-12 {
    width: calc(var(--spacing) * 12);
  }
  .w-64 {
    width: calc(var(--spacing) * 64);
  }
  .w-full {
    width: 100%;
  }
  .max-w-7xl {
    max-width: var(--container-7xl);
  }
  .max-w-\[720px\] {
    max-width: 720px;
  }
  .flex-shrink-0 {
    flex-shrink: 0;
  }
  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .-translate-y-1\/2 {
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-y-0 {
    --tw-translate-y: calc(var(--spacing) * 0);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-y-4 {
    --tw-translate-y: calc(var(--spacing) * 4);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,)
      var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .list-none {
    list-style-type: none;
  }
  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-row {
    flex-direction: row;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .items-center {
    align-items: center;
  }
  .items-start {
    align-items: flex-start;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .justify-end {
    justify-content: flex-end;
  }
  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }
  .gap-12 {
    gap: calc(var(--spacing) * 12);
  }
  :where(.space-y-0 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(
      calc(var(--spacing) * 0) * var(--tw-space-y-reverse)
    );
    margin-block-end: calc(
      calc(var(--spacing) * 0) * calc(1 - var(--tw-space-y-reverse))
    );
  }
  :where(.space-y-2 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(
      calc(var(--spacing) * 2) * var(--tw-space-y-reverse)
    );
    margin-block-end: calc(
      calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse))
    );
  }
  :where(.space-y-3 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(
      calc(var(--spacing) * 3) * var(--tw-space-y-reverse)
    );
    margin-block-end: calc(
      calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse))
    );
  }
  :where(.space-y-4 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(
      calc(var(--spacing) * 4) * var(--tw-space-y-reverse)
    );
    margin-block-end: calc(
      calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse))
    );
  }
  :where(.space-y-8 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(
      calc(var(--spacing) * 8) * var(--tw-space-y-reverse)
    );
    margin-block-end: calc(
      calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse))
    );
  }
  :where(.divide-outline-variant\/30 > :not(:last-child)) {
    border-color: #c4c7c74d;
  }
  @supports (color: color-mix(in lab, red, red)) {
    :where(.divide-outline-variant\/30 > :not(:last-child)) {
      border-color: color-mix(
        in oklab,
        var(--color-outline-variant) 30%,
        transparent
      );
    }
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .scroll-smooth {
    scroll-behavior: smooth;
  }
  .rounded-full {
    border-radius: 3.40282e38px;
  }
  .rounded-xl {
    border-radius: var(--radius-xl);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-b-2 {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 2px;
  }
  .border-l-4 {
    border-left-style: var(--tw-border-style);
    border-left-width: 4px;
  }
  .border-outline-variant {
    border-color: var(--color-outline-variant);
  }
  .border-outline-variant\/30 {
    border-color: #c4c7c74d;
  }
  @supports (color: color-mix(in lab, red, red)) {
    .border-outline-variant\/30 {
      border-color: color-mix(
        in oklab,
        var(--color-outline-variant) 30%,
        transparent
      );
    }
  }
  .border-primary {
    border-color: var(--color-primary);
  }
  .bg-background {
    background-color: var(--color-background);
  }
  .bg-primary {
    background-color: var(--color-primary);
  }
  .bg-surface-container {
    background-color: var(--color-surface-container);
  }
  .bg-surface-container-high {
    background-color: var(--color-surface-container-high);
  }
  .bg-surface-container-low {
    background-color: var(--color-surface-container-low);
  }
  .bg-surface-container-lowest {
    background-color: var(--color-surface-container-lowest);
  }
  .bg-transparent {
    background-color: #0000;
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .bg-white\/20 {
    background-color: #fff3;
  }
  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/20 {
      background-color: color-mix(
        in oklab,
        var(--color-white) 20%,
        transparent
      );
    }
  }
  .bg-white\/40 {
    background-color: #fff6;
  }
  @supports (color: color-mix(in lab, red, red)) {
    .bg-white\/40 {
      background-color: color-mix(
        in oklab,
        var(--color-white) 40%,
        transparent
      );
    }
  }
  .bg-gradient-to-t {
    --tw-gradient-position: to top in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .from-black\/80 {
    --tw-gradient-from: #000c;
  }
  @supports (color: color-mix(in lab, red, red)) {
    .from-black\/80 {
      --tw-gradient-from: color-mix(
        in oklab,
        var(--color-black) 80%,
        transparent
      );
    }
  }
  .from-black\/80 {
    --tw-gradient-stops: var(
      --tw-gradient-via-stops,
      var(--tw-gradient-position),
      var(--tw-gradient-from) var(--tw-gradient-from-position),
      var(--tw-gradient-to) var(--tw-gradient-to-position)
    );
  }
  .via-transparent {
    --tw-gradient-via: transparent;
    --tw-gradient-via-stops:
      var(--tw-gradient-position),
      var(--tw-gradient-from) var(--tw-gradient-from-position),
      var(--tw-gradient-via) var(--tw-gradient-via-position),
      var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .to-transparent {
    --tw-gradient-to: transparent;
    --tw-gradient-stops: var(
      --tw-gradient-via-stops,
      var(--tw-gradient-position),
      var(--tw-gradient-from) var(--tw-gradient-from-position),
      var(--tw-gradient-to) var(--tw-gradient-to-position)
    );
  }
  .object-cover {
    object-fit: cover;
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .p-8 {
    padding: calc(var(--spacing) * 8);
  }
  .p-10 {
    padding: calc(var(--spacing) * 10);
  }
  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }
  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }
  .px-8 {
    padding-inline: calc(var(--spacing) * 8);
  }
  .px-10 {
    padding-inline: calc(var(--spacing) * 10);
  }
  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }
  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }
  .py-16 {
    padding-block: calc(var(--spacing) * 16);
  }
  .py-24 {
    padding-block: calc(var(--spacing) * 24);
  }
  .pt-20 {
    padding-top: calc(var(--spacing) * 20);
  }
  .pb-16 {
    padding-bottom: calc(var(--spacing) * 16);
  }
  .pl-6 {
    padding-left: calc(var(--spacing) * 6);
  }
  .text-center {
    text-align: center;
  }
  .text-left {
    text-align: left;
  }
  .font-body-lg {
    font-family: var(--font-body-lg);
  }
  .font-body-md {
    font-family: var(--font-body-md);
  }
  .font-caption {
    font-family: var(--font-caption);
  }
  .font-display {
    font-family: var(--font-display);
  }
  .font-display-xl {
    font-family: var(--font-display-xl);
  }
  .font-headline-lg {
    font-family: var(--font-headline-lg);
  }
  .font-headline-md {
    font-family: var(--font-headline-md);
  }
  .font-label-sm {
    font-family: var(--font-label-sm);
  }
  .text-body-lg {
    font-size: var(--text-body-lg);
    line-height: var(--tw-leading, var(--text-body-lg--line-height));
    letter-spacing: var(--tw-tracking, var(--text-body-lg--letter-spacing));
    font-weight: var(--tw-font-weight, var(--text-body-lg--font-weight));
  }
  .text-body-md {
    font-size: var(--text-body-md);
    line-height: var(--tw-leading, var(--text-body-md--line-height));
    letter-spacing: var(--tw-tracking, var(--text-body-md--letter-spacing));
    font-weight: var(--tw-font-weight, var(--text-body-md--font-weight));
  }
  .text-caption {
    font-size: var(--text-caption);
    line-height: var(--tw-leading, var(--text-caption--line-height));
    letter-spacing: var(--tw-tracking, var(--text-caption--letter-spacing));
    font-weight: var(--tw-font-weight, var(--text-caption--font-weight));
  }
  .text-display-xl {
    font-size: var(--text-display-xl);
    line-height: var(--tw-leading, var(--text-display-xl--line-height));
    letter-spacing: var(--tw-tracking, var(--text-display-xl--letter-spacing));
    font-weight: var(--tw-font-weight, var(--text-display-xl--font-weight));
  }
  .text-headline-lg {
    font-size: var(--text-headline-lg);
    line-height: var(--tw-leading, var(--text-headline-lg--line-height));
    letter-spacing: var(--tw-tracking, var(--text-headline-lg--letter-spacing));
    font-weight: var(--tw-font-weight, var(--text-headline-lg--font-weight));
  }
  .text-headline-md {
    font-size: var(--text-headline-md);
    line-height: var(--tw-leading, var(--text-headline-md--line-height));
    letter-spacing: var(--tw-tracking, var(--text-headline-md--letter-spacing));
    font-weight: var(--tw-font-weight, var(--text-headline-md--font-weight));
  }
  .text-label-sm {
    font-size: var(--text-label-sm);
    line-height: var(--tw-leading, var(--text-label-sm--line-height));
    letter-spacing: var(--tw-tracking, var(--text-label-sm--letter-spacing));
    font-weight: var(--tw-font-weight, var(--text-label-sm--font-weight));
  }
  .text-headline-sm {
    font-size: var(--text-headline-sm);
    line-height: var(--tw-leading, var(--text-headline-sm--line-height));
    font-weight: var(--tw-font-weight, var(--text-headline-sm--font-weight));
  }
  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }
  .text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .font-extrabold {
    --tw-font-weight: var(--font-weight-extrabold);
    font-weight: var(--font-weight-extrabold);
  }
  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }
  .tracking-tighter {
    --tw-tracking: var(--tracking-tighter);
    letter-spacing: var(--tracking-tighter);
  }
  .tracking-wider {
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
  }
  .tracking-widest {
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
  }
  .text-on-primary {
    color: var(--color-on-primary);
  }
  .text-on-surface {
    color: var(--color-on-surface);
  }
  .text-on-surface-variant {
    color: var(--color-on-surface-variant);
  }
  .text-on-surface-variant\/70 {
    color: #444748b3;
  }
  @supports (color: color-mix(in lab, red, red)) {
    .text-on-surface-variant\/70 {
      color: color-mix(
        in oklab,
        var(--color-on-surface-variant) 70%,
        transparent
      );
    }
  }
  .text-primary {
    color: var(--color-primary);
  }
  .text-white {
    color: var(--color-white);
  }
  .text-white\/80 {
    color: #fffc;
  }
  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/80 {
      color: color-mix(in oklab, var(--color-white) 80%, transparent);
    }
  }
  .uppercase {
    text-transform: uppercase;
  }
  .italic {
    font-style: italic;
  }
  .opacity-0 {
    opacity: 0;
  }
  .opacity-90 {
    opacity: 0.9;
  }
  .opacity-100 {
    opacity: 1;
  }
  .shadow-lg {
    --tw-shadow:
      0 10px 15px -3px var(--tw-shadow-color, #0000001a),
      0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow:
      var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
      var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .backdrop-blur-md {
    --tw-backdrop-blur: blur(var(--blur-md));
    -webkit-backdrop-filter: var(--tw-backdrop-blur,)
      var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,)
      var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,)
      var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,)
      var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,)
      var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,)
      var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,)
      var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,)
      var(--tw-backdrop-sepia,);
  }
  .transition {
    transition-property:
      color,
      background-color,
      border-color,
      outline-color,
      text-decoration-color,
      fill,
      stroke,
      --tw-gradient-from,
      --tw-gradient-via,
      --tw-gradient-to,
      opacity,
      box-shadow,
      transform,
      translate,
      scale,
      rotate,
      filter,
      -webkit-backdrop-filter,
      backdrop-filter,
      display,
      content-visibility,
      overlay,
      pointer-events;
    transition-timing-function: var(
      --tw-ease,
      var(--default-transition-timing-function)
    );
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-all {
    transition-property: all;
    transition-timing-function: var(
      --tw-ease,
      var(--default-transition-timing-function)
    );
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-colors {
    transition-property:
      color, background-color, border-color, outline-color,
      text-decoration-color, fill, stroke, --tw-gradient-from,
      --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(
      --tw-ease,
      var(--default-transition-timing-function)
    );
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(
      --tw-ease,
      var(--default-transition-timing-function)
    );
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .duration-700 {
    --tw-duration: 0.7s;
    transition-duration: 0.7s;
  }
  @media (hover: hover) {
    .group-hover\:border-secondary:is(:where(.group):hover *) {
      border-color: var(--color-secondary);
    }
  }
  @media (hover: hover) {
    .group-hover\:text-secondary:is(:where(.group):hover *) {
      color: var(--color-secondary);
    }
  }
  @media (hover: hover) {
    .group-hover\:opacity-50:is(:where(.group):hover *) {
      opacity: 0.5;
    }
  }
  @media (hover: hover) {
    .group-hover\:opacity-100:is(:where(.group):hover *) {
      opacity: 1;
    }
  }
  .selection\:bg-surface-container-high ::selection,
  .selection\:bg-surface-container-high::selection {
    background-color: var(--color-surface-container-high);
  }
  @media (hover: hover) {
    .hover\:scale-105:hover {
      --tw-scale-x: 105%;
      --tw-scale-y: 105%;
      --tw-scale-z: 105%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
  @media (hover: hover) {
    .hover\:bg-white\/40:hover {
      background-color: #fff6;
    }
    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-white\/40:hover {
        background-color: color-mix(
          in oklab,
          var(--color-white) 40%,
          transparent
        );
      }
    }
  }
  @media (hover: hover) {
    .hover\:text-primary:hover {
      color: var(--color-primary);
    }
  }
  @media (hover: hover) {
    .hover\:text-secondary:hover {
      color: var(--color-secondary);
    }
  }
  .focus\:outline-none:focus {
    --tw-outline-style: none;
    outline-style: none;
  }
  .active\:scale-95:active {
    --tw-scale-x: 95%;
    --tw-scale-y: 95%;
    --tw-scale-z: 95%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }
  @media (min-width: 40rem) {
    .sm\:w-80 {
      width: calc(var(--spacing) * 80);
    }
  }
  @media (min-width: 40rem) {
    .sm\:flex-row {
      flex-direction: row;
    }
  }
  @media (min-width: 48rem) {
    .md\:block {
      display: block;
    }
  }
  @media (min-width: 48rem) {
    .md\:flex {
      display: flex;
    }
  }
  @media (min-width: 48rem) {
    .md\:grid-cols-\[minmax\(0\,256px\)_minmax\(0\,720px\)_minmax\(0\,256px\)\] {
      grid-template-columns: minmax(0, 256px) minmax(0, 720px) minmax(0, 256px);
    }
  }
  @media (min-width: 48rem) {
    .md\:flex-row {
      flex-direction: row;
    }
  }
  @media (min-width: 48rem) {
    .md\:items-start {
      align-items: flex-start;
    }
  }
  @media (min-width: 48rem) {
    .md\:justify-center {
      justify-content: center;
    }
  }
  @media (min-width: 48rem) {
    .md\:text-left {
      text-align: left;
    }
  }
  @media (prefers-color-scheme: dark) {
    .dark\:border-outline-variant {
      border-color: var(--color-outline-variant);
    }
  }
  @media (prefers-color-scheme: dark) {
    .dark\:bg-surface-container {
      background-color: var(--color-surface-container);
    }
  }
  @media (prefers-color-scheme: dark) {
    .dark\:bg-surface-container-lowest {
      background-color: var(--color-surface-container-lowest);
    }
  }
  @media (prefers-color-scheme: dark) {
    .dark\:text-primary {
      color: var(--color-primary);
    }
  }
}
@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-gradient-position {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}
@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}
@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

/* Theme-driven typography hooks */
.article-title.text-display-xl {
  line-height: var(--text-display-xl--line-height) !important;
  letter-spacing: var(--text-display-xl--letter-spacing) !important;
}

.featured-card h2 {
  font-family: var(--tenant-heading-font) !important;
  font-size: clamp(2.1rem, 4vw, var(--text-display-xl)) !important;
  line-height: var(--text-display-xl--line-height) !important;
  letter-spacing: var(--text-display-xl--letter-spacing) !important;
}

[data-purpose="news-card"] h3,
[data-purpose="news-card"] h4,
[data-purpose="news-grid-section"] h2,
[data-purpose="news-grid-section"] h3 {
  font-family: var(--tenant-heading-font) !important;
}

.featured-card,
[data-purpose="news-card"] {
  font-family: var(--tenant-body-font) !important;
}

.font-caption {
  font-family: var(--tenant-caption-font) !important;
}
/* === Template 1 moved inline styles === */

/* Template 1 listing inline styles */
body {
      font-family: var(--tenant-body-font);
      color: #111827;
      background-color: #ffffff;
    }
    nav,
    button,
    input,
    .font-label,
    [data-purpose="category-navigation"],
    [data-purpose="site-footer"],
    .metadata-text {
      font-family: var(--tenant-ui-font);
    }
    .headline-large {
      letter-spacing: -0.02em;
      line-height: 1.1;
    }
    .text-muted {
      color: #6b7280;
    }
/* Custom spacing for the hero section background to match image */
    .hero-bg {
      background-color: #bcbcbc; /* Matching the muted grey in the top half */
    }
    /* Aspect ratio for news cards images */
    .aspect-card {
      aspect-ratio: 16 / 10;
    }
    .listing-header {
      padding-top: 0.6rem;
      padding-bottom: 0.6rem;
    }
    .hero-mobile-compact {
      padding-top: 0.25rem;
      padding-bottom: 1.25rem;
    }
    .hero-mobile-title {
      margin-bottom: 0.9rem;
      font-size: clamp(2rem, 4vw, 3.25rem);
      line-height: 0.96;
    }
    .hero-mobile-grid {
      gap: 1.25rem;
    }
    .hero-feature-media {
      max-width: 480px;
    }
    .hero-feature-image {
      width: 100%;
      height: clamp(180px, 20vw, 260px);
      object-fit: cover;
    }
    .hero-feature-copy {
      padding-bottom: 0;
    }
    .hero-feature-date {
      margin-bottom: 0.5rem;
    }
    .hero-feature-title {
      max-width: 360px;
      font-size: clamp(1.25rem, 2vw, 1.85rem);
      line-height: 1.12;
    }
      @media (max-width: 767px) {
      .hero-mobile-compact {
        padding-top: 0.25rem;
        padding-bottom: 0.75rem;
      }
      .hero-mobile-title {
        margin-bottom: 0.65rem;
        font-size: 1.65rem;
        line-height: 0.95;
      }
      .hero-mobile-grid {
        gap: 0.65rem;
      }
      .hero-feature-image {
        height: auto;
        max-height: 180px;
        object-fit: contain;
        object-position: center;
      }
      .hero-feature-copy {
        padding-bottom: 0;
      }
      .hero-feature-date {
        margin-bottom: 0.3rem;
        font-size: 0.62rem;
      }
      .hero-feature-title {
        max-width: 100%;
        font-size: 0.98rem;
        line-height: 1.12;
      }
      .listing-header {
        padding-top: 0.35rem;
        padding-bottom: 0.35rem;
      }
      .listing-search-row {
        padding-top: 1rem;
        padding-bottom: 0.75rem;
      }
      .trending-hero {
        padding-top: 0.25rem !important;
        padding-bottom: 0.5rem !important;
      }
      .trending-title {
        margin-bottom: 0.5rem !important;
      }
      .trending-grid {
        gap: 0.5rem !important;
      }
      .trending-image {
        height: auto !important;
        max-height: 180px !important;
        object-fit: contain !important;
        object-position: center !important;
      }
    }
.shared-header { background: #ffffff; border-bottom: 1px solid #c4c7c7; }
  .shared-header a, .shared-header button, .shared-footer a, .shared-footer button, .shared-footer input { font-family: var(--tenant-ui-font); }
  .listing-page {
    background: #fdf8f8;
  }
  .listing-page .shared-header {
    background: transparent;
    border-bottom: 0;
    padding: 0;
  }
  .listing-page .site-header-lens {
    background: transparent !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
  }
  .listing-page .site-header-lens::before {
    display: none;
  }
  .listing-page .shared-header nav {
    height: 4.75rem;
    max-width: none;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.76);
    -webkit-backdrop-filter: blur(18px) saturate(145%);
    backdrop-filter: blur(18px) saturate(145%);
    box-shadow: 0 18px 50px rgba(17, 24, 39, 0.08);
  }
  .listing-hero-title {
    font-family: var(--tenant-heading-font);
    font-size: clamp(2.2rem, 3.8vw, 4.35rem);
    line-height: 0.96;
    letter-spacing: 0;
    white-space: nowrap;
  }
  .featured-card {
    border-radius: 1.75rem;
    background: #ffffff;
    box-shadow: 0 24px 70px rgba(17, 24, 39, 0.08);
  }
  .featured-image {
    min-height: 360px;
    max-height: 520px;
    border-radius: 1.25rem;
  }
  .listing-meta,
  .listing-card-meta,
  .listing-card-link {
    font-family: var(--tenant-ui-font);
  }
  @media (max-width: 767px) {
    .listing-page .shared-header {
      padding: 0;
    }
    .listing-page .shared-header nav {
      border-radius: 0;
      box-shadow: none;
    }
    .listing-hero-title {
      font-size: clamp(2.35rem, 13vw, 4rem);
      line-height: 1;
      white-space: normal;
    }
    .featured-card {
      border-radius: 1rem;
    }
    .featured-image {
      min-height: 220px;
      max-height: none;
      border-radius: 0.75rem;
    }
  }

/* Template 1 detail inline styles */
::selection {
            background-color: #e8e8e6;
            color: #000000;
        }
        .editorial-rule {
            border-top: 1px solid #5e5e5e;
            width: 40px;
            margin-bottom: 1.5rem;
        }
        .drop-cap::first-letter {
            float: left;
            font-size: 5.5rem;
            line-height: 0.8;
            padding-top: 4px;
            padding-right: 12px;
            font-family: var(--tenant-heading-font);
            font-weight: 900;
            color: #000000;
        }
        /* Custom Accordion Logic */
        .faq-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease-out;
        }
        .faq-item.active .faq-content {
            max-height: 500px;
        }
        .faq-item.active .faq-icon {
            transform: rotate(45deg);
        }
/* === End Template 1 moved inline styles === */
/* === Template 1 no-CDN utility patch === */
.mx-auto { margin-left: auto; margin-right: auto; }
.grid { display: grid; }
.flex { display: flex; }
.inline-flex { display: inline-flex; }
.hidden { display: none; }
.relative { position: relative; }
.absolute { position: absolute; }
.overflow-hidden { overflow: hidden; }
.overflow-x-auto { overflow-x: auto; }
.items-center { align-items: center; }
.items-start { align-items: flex-start; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }
.flex-col { flex-direction: column; }
.flex-wrap { flex-wrap: wrap; }
.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.w-full { width: 100%; }
.h-full { height: 100%; }
.h-14 { height: 3.5rem; }
.w-14 { width: 3.5rem; }
.w-10 { width: 2.5rem; }
.h-10 { height: 2.5rem; }
.max-w-7xl { max-width: 80rem; }
.max-w-xl { max-width: 36rem; }
.max-w-lg { max-width: 32rem; }
.min-h-\[360px\] { min-height: 360px; }
.aspect-card { aspect-ratio: 16 / 10; }
.object-cover { object-fit: cover; }
.rounded-full { border-radius: 9999px; }
.rounded-md { border-radius: .375rem; }
.border { border-width: 1px; border-style: solid; }
.border-y { border-top-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-bottom-style: solid; }
.border-t { border-top-width: 1px; border-top-style: solid; }
.border-b-2 { border-bottom-width: 2px; border-bottom-style: solid; }
.border-l-2 { border-left-width: 2px; border-left-style: solid; }
.border-brand-dark { border-color: var(--color-on-surface); }
.border-brand-dark\/5 { border-color: color-mix(in srgb, var(--color-on-surface) 5%, transparent); }
.border-brand-dark\/10 { border-color: color-mix(in srgb, var(--color-on-surface) 10%, transparent); }
.bg-white { background: var(--color-surface-container); }
.bg-\[\#f6f7f8\] { background: var(--color-background); }
.bg-\[\#efe7ff\] { background: color-mix(in srgb, var(--color-primary) 10%, var(--color-surface-container)); }
.p-2 { padding: .5rem; }
.p-6 { padding: 1.5rem; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
.py-2 { padding-top: .5rem; padding-bottom: .5rem; }
.py-3 { padding-top: .75rem; padding-bottom: .75rem; }
.py-4 { padding-top: 1rem; padding-bottom: 1rem; }
.py-16 { padding-top: 4rem; padding-bottom: 4rem; }
.pt-12 { padding-top: 3rem; }
.pt-16 { padding-top: 4rem; }
.pb-10 { padding-bottom: 2.5rem; }
.pb-16 { padding-bottom: 4rem; }
.pl-4 { padding-left: 1rem; }
.pl-10 { padding-left: 2.5rem; }
.gap-1 { gap: .25rem; }
.gap-2 { gap: .5rem; }
.gap-4 { gap: 1rem; }
.gap-5 { gap: 1.25rem; }
.gap-6 { gap: 1.5rem; }
.gap-8 { gap: 2rem; }
.gap-10 { gap: 2.5rem; }
.gap-x-8 { column-gap: 2rem; }
.gap-y-16 { row-gap: 4rem; }
.mb-2 { margin-bottom: .5rem; }
.mb-4 { margin-bottom: 1rem; }
.mb-6 { margin-bottom: 1.5rem; }
.mb-10 { margin-bottom: 2.5rem; }
.mb-12 { margin-bottom: 3rem; }
.mt-16 { margin-top: 4rem; }
.-mt-2 { margin-top: -.5rem; }
.m-0 { margin: 0; }
.left-3 { left: .75rem; }
.text-sm { font-size: .875rem; line-height: 1.25rem; }
.text-xs { font-size: .75rem; line-height: 1rem; }
.text-base { font-size: 1rem; line-height: 1.5rem; }
.text-lg { font-size: 1.125rem; line-height: 1.75rem; }
.text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
.text-\[10px\] { font-size: 10px; }
.text-\[clamp\(2\.1rem\,4vw\,4\.3rem\)\] { font-size: clamp(2.1rem,4vw,4.3rem); }
.leading-\[1\.08\] { line-height: 1.08; }
.leading-snug { line-height: 1.375; }
.font-bold { font-weight: 700; }
.font-semibold { font-weight: 600; }
.font-medium { font-weight: 500; }
.font-normal { font-weight: 400; }
.font-light { font-weight: 300; }
.uppercase { text-transform: uppercase; }
.tracking-normal { letter-spacing: 0; }
.tracking-tight { letter-spacing: -.025em; }
.tracking-tighter { letter-spacing: -.05em; }
.tracking-widest { letter-spacing: .1em; }
.whitespace-nowrap { white-space: nowrap; }
.text-brand-dark { color: var(--color-on-surface); }
.text-brand-dark\/70 { color: color-mix(in srgb, var(--color-on-surface) 70%, transparent); }
.text-brand-dark\/55 { color: color-mix(in srgb, var(--color-on-surface) 55%, transparent); }
.text-brand-dark\/40 { color: color-mix(in srgb, var(--color-on-surface) 40%, transparent); }
.text-gray-300 { color: color-mix(in srgb, var(--color-on-surface-variant) 45%, transparent); }
.text-gray-400 { color: var(--color-on-surface-variant); }
.text-primary { color: var(--color-primary); }
.shadow-sm { box-shadow: 0 1px 2px rgba(0,0,0,.05); }
.outline-none { outline: 0; }
.transition-all { transition: all .2s ease; }
.transition-transform { transition: transform .2s ease; }
.cursor-pointer { cursor: pointer; }
.cursor-not-allowed { cursor: not-allowed; }
.grayscale { filter: grayscale(1); }
.group:hover .group-hover\:grayscale-0 { filter: grayscale(0); }
.group:hover .group-hover\:underline { text-decoration: underline; }
.hover\:-translate-y-1:hover { transform: translateY(-.25rem); }
.hover\:text-brand-dark:hover { color: var(--color-on-surface); }
.placeholder\:text-brand-dark\/40::placeholder { color: color-mix(in srgb, var(--color-on-surface) 40%, transparent); }
.focus\:border-brand-dark\/30:focus { border-color: color-mix(in srgb, var(--color-on-surface) 30%, transparent); }
[data-purpose="featured-article"] .featured-card { display: grid; color: var(--color-on-surface); text-decoration: none; }
[data-purpose="featured-article"] .featured-image { display: block; }
@media (min-width: 48rem) {
  .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .md\:grid-cols-\[0\.82fr_1\.18fr\] { grid-template-columns: .82fr 1.18fr; }
  .md\:p-8 { padding: 2rem; }
  .md\:py-4 { padding-top: 1rem; padding-bottom: 1rem; }
}
@media (min-width: 64rem) {
  .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lg\:p-10 { padding: 2.5rem; }
}
/* === End Template 1 no-CDN utility patch === */


/* === Template 1 detail no-CDN utility patch === */
.sticky{position:sticky}
.top-0{top:0}.top-1\/2{top:50%}.top-2\.5{top:.625rem}.top-8{top:2rem}.top-24{top:6rem}
.bottom-4{bottom:1rem}.bottom-8{bottom:2rem}.left-0{left:0}.left-1\/2{left:50%}.left-4{left:1rem}.right-4{right:1rem}.inset-0{inset:0}
.z-50{z-index:50}.absolute{position:absolute}.relative{position:relative}
.block{display:block}.inline-flex{display:inline-flex}.flex{display:flex}.grid{display:grid}.hidden{display:none}
.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-shrink-0{flex-shrink:0}
.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-12{gap:3rem}
.mx-auto{margin-left:auto;margin-right:auto}.my-16{margin-top:4rem;margin-bottom:4rem}
.mb-section-gap{margin-bottom:var(--spacing-section-gap)}.mb-16{margin-bottom:4rem}.mb-12{margin-bottom:3rem}.mb-10{margin-bottom:2.5rem}.mb-8{margin-bottom:2rem}.mb-6{margin-bottom:1.5rem}.mb-4{margin-bottom:1rem}.mb-3{margin-bottom:.75rem}.mb-2{margin-bottom:.5rem}
.mt-12{margin-top:3rem}.mt-4{margin-top:1rem}.mt-3{margin-top:.75rem}.mt-2\.5{margin-top:.625rem}.mt-1{margin-top:.25rem}.mt-\[19px\]{margin-top:19px}.ml-6{margin-left:1.5rem}
.p-10{padding:2.5rem}.p-8{padding:2rem}.p-6{padding:1.5rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-8{padding-left:2rem;padding-right:2rem}.px-4{padding-left:1rem;padding-right:1rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pt-14{padding-top:3.5rem}.pt-8{padding-top:2rem}.pb-16{padding-bottom:4rem}.pl-6{padding-left:1.5rem}
.w-full{width:100%}.h-full{height:100%}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-2{width:.5rem}.h-1\.5{height:.375rem}.h-2{height:.5rem}.w-10{width:2.5rem}.h-10{height:2.5rem}.w-12{width:3rem}.h-12{height:3rem}
.max-w-7xl{max-width:80rem}.max-w-\[880px\]{max-width:880px}.max-w-\[1360px\]{max-width:1360px}.sm\:w-80{width:20rem}
.aspect-\[16\/9\]{aspect-ratio:16/9}.object-cover{object-fit:cover}.overflow-hidden{overflow:hidden}.cursor-pointer{cursor:pointer}.list-none{list-style:none}
.rounded-full{border-radius:9999px}.rounded-xl{border-radius:.75rem}.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}
.border{border:1px solid var(--color-outline-variant)}.border-t{border-top:1px solid var(--color-outline-variant)}.border-b{border-bottom:1px solid var(--color-outline-variant)}.border-b-2{border-bottom:2px solid var(--color-outline-variant)}.border-l-4{border-left:4px solid var(--color-primary)}
.border-outline-variant{border-color:var(--color-outline-variant)}.border-primary{border-color:var(--color-primary)}.border-outline-variant\/30{border-color:color-mix(in srgb,var(--color-outline-variant) 30%,transparent)}
.divide-outline-variant\/30>*+*{border-top:1px solid color-mix(in srgb,var(--color-outline-variant) 30%,transparent)}
.bg-background{background:var(--color-background)}.bg-surface-container{background:var(--color-surface-container)}.bg-surface-container-low{background:var(--color-surface-container-low)}.bg-surface-container-high{background:var(--color-surface-container-high)}.bg-primary{background:var(--color-primary)}.bg-transparent{background:transparent}.bg-white{background:#fff}.bg-white\/20{background:rgba(255,255,255,.2)}.bg-white\/40{background:rgba(255,255,255,.4)}
.text-left{text-align:left}.text-center{text-align:center}.uppercase{text-transform:uppercase}.italic{font-style:italic}.font-bold{font-weight:700}.font-extrabold{font-weight:800}
.text-on-surface{color:var(--color-on-surface)}.text-on-surface-variant{color:var(--color-on-surface-variant)}.text-on-surface-variant\/70{color:color-mix(in srgb,var(--color-on-surface-variant) 70%,transparent)}.text-on-primary{color:var(--color-on-primary)}.text-primary{color:var(--color-primary)}.text-white{color:#fff}.text-white\/80{color:rgba(255,255,255,.8)}
.text-sm{font-size:.875rem;line-height:1.25rem}.text-2xl{font-size:1.5rem;line-height:2rem}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}
.opacity-0{opacity:0}.opacity-90{opacity:.9}.opacity-100{opacity:1}.group:hover .group-hover\:opacity-50{opacity:.5}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:text-secondary{color:var(--color-secondary)}.group:hover .group-hover\:border-secondary{border-color:var(--color-secondary)}
.transition-all{transition:all .2s ease}.transition-colors{transition:color .2s ease,background-color .2s ease,border-color .2s ease}.transition-transform{transition:transform .2s ease}.duration-700{transition-duration:.7s}.hover\:scale-105:hover{transform:scale(1.05)}.active\:scale-95:active{transform:scale(.95)}.hover\:text-primary:hover{color:var(--color-primary)}.hover\:text-secondary:hover{color:var(--color-secondary)}.hover\:bg-white\/40:hover{background:rgba(255,255,255,.4)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}
.translate-y-0{transform:translateY(0)}.translate-y-4{transform:translateY(1rem)}.-translate-y-1\/2{transform:translateY(-50%)}.-translate-x-1\/2{transform:translateX(-50%)}
.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-black\/80{--tw-gradient-from:rgba(0,0,0,.8);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(0,0,0,0))}.via-transparent{--tw-gradient-stops:var(--tw-gradient-from),transparent,var(--tw-gradient-to,rgba(0,0,0,0))}.to-transparent{--tw-gradient-to:transparent}.backdrop-blur-md{backdrop-filter:blur(12px)}
.space-y-0>*+*{margin-top:0}.space-y-2>*+*{margin-top:.5rem}.space-y-3>*+*{margin-top:.75rem}.space-y-4>*+*{margin-top:1rem}.space-y-8>*+*{margin-top:2rem}
@media (min-width:640px){.sm\:flex-row{flex-direction:row}.sm\:w-80{width:20rem}}
@media (min-width:768px){.md\:flex{display:flex}.md\:block{display:block}.md\:hidden{display:none}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:justify-center{justify-content:center}.md\:text-left{text-align:left}.md\:w-56{width:14rem}.md\:grid-cols-\[minmax\(0\,220px\)_minmax\(0\,880px\)_minmax\(0\,120px\)\]{grid-template-columns:minmax(0,220px) minmax(0,880px) minmax(0,120px)}}


/* === Template 1 overflow guard === */
html, body { max-width: 100%; overflow-x: hidden; }
img, video, canvas, svg { max-width: 100%; }

/* === Template 1 listing layout restore === */
.listing-page {
  background: var(--color-background);
  color: var(--color-on-surface);
  font-family: var(--tenant-body-font);
}
.listing-page [data-purpose="featured-article"] {
  padding: 3.25rem 1.5rem 2.25rem;
  background: var(--color-background);
}
.listing-page .featured-card {
  display: grid !important;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr) !important;
  align-items: stretch;
  gap: 2rem;
  width: min(100%, 80rem);
  min-height: 0;
  padding: 2.25rem !important;
  border-radius: 1.75rem;
  background: var(--color-surface-container);
  box-shadow: 0 24px 70px rgba(17, 24, 39, .08);
  color: var(--color-on-surface);
  text-decoration: none;
}
.listing-page .featured-card > div:first-child {
  min-height: 330px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.listing-page .featured-card h2 {
  max-width: 36rem;
  font-size: clamp(2rem, 3.15vw, 3.85rem) !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
}
.listing-page .featured-card > div:last-child {
  min-height: 330px;
  overflow: hidden;
  border-radius: 1.25rem;
}
.listing-page .featured-image {
  display: block;
  width: 100%;
  height: 100% !important;
  min-height: 330px;
  max-height: 430px;
  object-fit: cover;
  border-radius: 1.25rem;
}
.listing-page [data-purpose="blog-filters"] {
  padding: 0 1.5rem 2.5rem;
  background: var(--color-background) !important;
}
.listing-page [data-purpose="blog-filters"] > div,
.listing-page [data-purpose="news-grid-section"] > div {
  width: min(100%, 80rem);
  margin-inline: auto;
}
.listing-page [data-purpose="category-navigation"] > div {
  justify-content: flex-start;
  min-width: max-content;
}
.listing-page [data-purpose="news-grid-section"] {
  padding: 3rem 1.5rem 4rem;
  background: var(--color-background);
}
.listing-page [data-purpose="news-grid-section"] .grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 2rem;
  row-gap: 4rem;
}
.listing-page [data-purpose="news-card"] img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  height: auto;
  object-fit: cover;
}
.listing-page [data-purpose="news-card"] h3,
.listing-page [data-purpose="news-card"] h4 {
  font-size: 1.05rem;
  line-height: 1.25;
}
@media (max-width: 980px) {
  .listing-page .featured-card,
  .listing-page [data-purpose="news-grid-section"] .grid {
    grid-template-columns: 1fr !important;
  }
  .listing-page .featured-card {
    padding: 1.5rem !important;
  }
  .listing-page .featured-card > div:first-child,
  .listing-page .featured-card > div:last-child,
  .listing-page .featured-image {
    min-height: 240px;
  }
  .listing-page .featured-card h2 {
    font-size: clamp(2rem, 9vw, 3rem) !important;
  }
}
@media (max-width: 640px) {
  .listing-page [data-purpose="featured-article"] {
    padding: 1.5rem 1rem 1.5rem;
  }
  .listing-page [data-purpose="blog-filters"],
  .listing-page [data-purpose="news-grid-section"] {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .listing-page .featured-card > div:first-child,
  .listing-page .featured-card > div:last-child,
  .listing-page .featured-image {
    min-height: 210px;
  }
}

/* === Template 1 listing search/category polish === */
.listing-page [data-purpose="blog-filters"] .relative {
  width: min(100%, 36rem);
}
.listing-page [data-purpose="blog-filters"] input {
  width: 100%;
  height: 3.25rem;
  border-radius: .75rem;
  border: 1px solid rgba(17, 24, 39, .12);
  background: var(--color-surface-container);
  padding: 0 1rem 0 3rem;
  font-size: .95rem;
  line-height: 1;
  color: var(--color-on-surface);
  box-shadow: 0 12px 30px rgba(17, 24, 39, .05);
}
.listing-page [data-purpose="blog-filters"] input::placeholder {
  color: color-mix(in srgb, var(--color-on-surface) 42%, transparent);
}
.listing-page [data-purpose="blog-filters"] input:focus {
  border-color: color-mix(in srgb, var(--color-on-surface) 28%, transparent);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--color-on-surface) 4%, transparent), 0 12px 30px color-mix(in srgb, var(--color-on-surface) 6%, transparent);
}
.listing-page [data-purpose="blog-filters"] .relative svg {
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.1rem;
  height: 1.1rem;
  color: color-mix(in srgb, var(--color-on-surface) 55%, transparent);
  pointer-events: none;
}
.listing-page [data-purpose="category-navigation"] {
  overflow-x: auto;
}
.listing-page [data-purpose="category-navigation"] > div {
  justify-content: center !important;
  min-width: 0;
  flex-wrap: wrap;
  gap: 2rem;
}
@media (max-width: 760px) {
  .listing-page [data-purpose="category-navigation"] > div {
    justify-content: flex-start !important;
    flex-wrap: nowrap;
    min-width: max-content;
  }
}

/* === Template 1 sticky table of contents === */
@media (min-width: 1025px) {
  .blog-page .toc-panel {
    align-self: start;
  }
  .blog-page .toc-panel .sticky {
    position: sticky !important;
    top: 7rem;
    max-height: calc(100vh - 8.5rem);
    overflow-y: auto;
  }
}
@media (max-width: 767px) {
  .blog-page .toc-panel .sticky {
    position: static !important;
    max-height: none;
    overflow: visible;
  }
}

/* === Template 1 force sticky TOC column === */
@media (min-width: 1025px) {
  .blog-page .toc-panel {
    position: sticky !important;
    top: 6.25rem !important;
    align-self: start !important;
    height: fit-content;
    max-height: calc(100vh - 7.5rem);
    overflow-y: auto;
  }
  .blog-page .toc-panel > .sticky {
    position: static !important;
    top: auto !important;
    max-height: none;
    overflow: visible;
  }
}

/* === Template 1 fixed desktop TOC rail === */
@media (min-width: 1025px) {
  .blog-page .toc-panel {
    position: relative !important;
    top: auto !important;
    align-self: start !important;
    width: 20rem;
    min-height: 1px;
    overflow: visible !important;
  }
  .blog-page .toc-panel > div {
    position: fixed !important;
    top: 7rem !important;
    left: max(2rem, calc((100vw - 1360px) / 2 + 2rem)) !important;
    width: 14rem;
    max-height: calc(100vh - 8rem);
    overflow-y: auto;
    z-index: 20;
  }
}
@media (max-width: 767px) {
  .blog-page .toc-panel,
  .blog-page .toc-panel > div {
    position: static !important;
    width: auto;
    max-height: none;
    overflow: visible !important;
  }
}

/* === Template 1 final TOC fixed override === */
@media (min-width: 1025px) {
  .blog-page .toc-panel > .sticky {
    position: fixed !important;
    top: 7rem !important;
    left: max(2rem, calc((100vw - 1360px) / 2 + 2rem)) !important;
    width: 14rem !important;
    max-height: calc(100vh - 8rem) !important;
    overflow-y: auto !important;
    z-index: 20 !important;
  }
}

/* === Template 1 correct scrolling TOC sticky behavior === */
@media (min-width: 1025px) {
  .blog-page .toc-panel {
    position: sticky !important;
    top: 7rem !important;
    align-self: start !important;
    width: 14rem;
    height: fit-content;
    max-height: calc(100vh - 8rem);
    overflow-y: auto !important;
    z-index: 1;
  }
  .blog-page .toc-panel > div,
  .blog-page .toc-panel > .sticky {
    position: static !important;
    top: auto !important;
    left: auto !important;
    width: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
}
@media (max-width: 767px) {
  .blog-page .toc-panel,
  .blog-page .toc-panel > div,
  .blog-page .toc-panel > .sticky {
    position: static !important;
    top: auto !important;
    left: auto !important;
    width: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
}

/* === Template 1 sticky TOC overflow fix === */
html,
body {
  overflow-x: clip !important;
  overflow-y: visible;
}
@media (min-width: 1025px) {
  .blog-page .toc-panel {
    position: sticky !important;
    top: 7rem !important;
    align-self: start !important;
    overflow: visible !important;
    max-height: none !important;
    height: fit-content;
  }
  .blog-page .toc-panel > .sticky {
    position: static !important;
    overflow: visible !important;
    max-height: none !important;
  }
}

/* === Template 1 TOC starts beside heading === */
@media (min-width: 1025px) {
  .blog-page .toc-panel {
    margin-top: -23.75rem;
  }
}
@media (max-width: 767px) {
  .blog-page .toc-panel {
    margin-top: 0;
  }
}

/* === Template 1 TOC starts beside author row === */
@media (min-width: 1025px) {
  .blog-page .toc-panel {
    margin-top: -14.5rem !important;
  }
}
@media (max-width: 767px) {
  .blog-page .toc-panel {
    margin-top: 0 !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .blog-detail-layout {
    display: block !important;
    max-width: 880px !important;
    margin-inline: auto !important;
    padding-inline: clamp(1rem, 4vw, 2rem) !important;
  }

  .blog-page .toc-panel,
  .blog-detail-layout .toc-panel {
    position: static !important;
    top: auto !important;
    width: 100% !important;
    max-width: 880px !important;
    margin: 0 auto 2.5rem !important;
    overflow: visible !important;
  }

  .blog-page .toc-panel > div,
  .blog-page .toc-panel > .sticky,
  .blog-detail-layout .toc-panel > .sticky {
    position: static !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
  }
}

/* === Tenant-branded author profile === */
.author-profile-page {
  background: var(--color-background);
  color: var(--color-on-surface);
}

.author-profile-hero {
  padding: clamp(2rem, 5vw, 4.5rem) 1.5rem 2rem;
}

.author-profile-shell {
  display: grid;
  width: min(100%, 80rem);
  margin-inline: auto;
  padding: clamp(1.5rem, 4vw, 3rem);
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: clamp(1.5rem, 4vw, 3rem);
  border: 1px solid var(--color-outline-variant);
  border-radius: 1.75rem;
  background: var(--color-surface-container);
  box-shadow: 0 24px 70px color-mix(in srgb, var(--color-on-surface) 8%, transparent);
}

.author-profile-avatar {
  display: grid;
  width: clamp(8rem, 14vw, 10rem);
  aspect-ratio: 1;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--color-outline-variant);
  border-radius: 50%;
  background: color-mix(in srgb, var(--color-primary) 9%, var(--color-surface-container));
  color: var(--color-primary);
  font-family: var(--tenant-ui-font);
  font-size: clamp(1.6rem, 4vw, 2.4rem);
  font-weight: 800;
}

.author-profile-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.author-profile-kicker,
.author-posts-heading > p {
  margin: 0 0 .65rem;
  color: var(--color-primary) !important;
  font-family: var(--tenant-ui-font) !important;
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.author-profile-name {
  margin: 0;
  font-size: clamp(2.4rem, 6vw, 4.75rem);
  line-height: 1.04;
}

.author-profile-bio {
  max-width: 62ch;
  margin: 1rem 0 0;
  color: var(--color-on-surface-variant) !important;
  font-size: clamp(1rem, 1.5vw, 1.15rem);
  line-height: 1.7;
}

.author-profile-social-list {
  display: flex;
  margin: 1.5rem 0 0;
  padding: 0;
  flex-wrap: wrap;
  gap: .65rem;
  list-style: none;
}

.author-profile-social-link {
  display: inline-flex;
  min-height: 2.75rem;
  padding: .65rem 1rem;
  align-items: center;
  border: 1px solid var(--color-outline-variant);
  border-radius: 999px;
  color: var(--color-on-surface);
  font-family: var(--tenant-ui-font);
  font-size: .8rem;
  font-weight: 700;
  text-decoration: none;
}

.author-profile-social-link:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
}

.author-profile-social-link:focus-visible,
.article-author-link:focus-visible {
  border-radius: .5rem;
  outline: 3px solid color-mix(in srgb, var(--color-primary) 45%, transparent);
  outline-offset: 3px;
}

.author-posts-heading {
  margin-bottom: 2.5rem;
}

.author-posts-heading h2 {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.25rem);
  line-height: 1.1;
}

.author-posts-empty {
  grid-column: 1 / -1;
  padding: 3rem 1.5rem;
  border: 1px dashed var(--color-outline-variant);
  border-radius: 1rem;
  background: var(--color-surface-container);
  text-align: center;
}

.author-posts-empty p {
  margin: 0;
  color: var(--color-on-surface-variant) !important;
}

.article-author-link {
  min-width: 0;
  color: inherit;
  text-decoration: none;
}

a.article-author-link:hover .article-author-name {
  text-decoration: underline;
  text-underline-offset: .25em;
}

@media (max-width: 640px) {
  .author-profile-hero {
    padding-inline: 1rem;
  }

  .author-profile-shell {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }

  .author-profile-social-list {
    justify-content: center;
  }
}

.blog-preview-empty {
  grid-column: 1 / -1;
  display: flex;
  min-height: 280px;
  padding: 3rem 1.5rem;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border: 1px dashed color-mix(in srgb, var(--color-on-surface) 18%, transparent);
  border-radius: 1rem;
  background: color-mix(in srgb, var(--color-surface-container) 82%, var(--color-background));
  text-align: center;
}

.blog-preview-empty-icon {
  display: grid;
  width: 3.5rem;
  height: 3.5rem;
  margin-bottom: 1.25rem;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--color-primary) 24%, transparent);
  border-radius: 9999px;
  background: color-mix(in srgb, var(--color-primary) 10%, var(--color-surface-container));
  color: var(--color-primary);
}

.blog-preview-empty h4 {
  margin: 0;
  color: var(--color-on-surface);
  font-family: var(--tenant-heading-font);
  font-size: clamp(1.35rem, 2.5vw, 1.8rem);
  line-height: 1.2;
}

.blog-preview-empty p {
  max-width: 31rem;
  margin: .75rem 0 0;
  color: var(--color-on-surface-variant);
  font-family: var(--tenant-body-font);
  font-size: .9rem;
  line-height: 1.6;
}

/* === Template 1 strategic signal table === */
.signal-table-wrap {
  margin: -2.5rem 0 4.5rem;
  overflow-x: auto;
  border-top: 1px solid var(--color-outline-variant);
  border-bottom: 1px solid var(--color-outline-variant);
}
.signal-table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
  font-family: var(--tenant-body-font);
  color: var(--color-on-surface);
  background: transparent;
}
.signal-table th,
.signal-table td {
  border-left: 1px solid var(--color-outline-variant);
  border-bottom: 1px solid var(--color-outline-variant);
  padding: 1.45rem 1.5rem;
  text-align: left;
  vertical-align: top;
  font-size: 1rem;
  line-height: 1.55;
}
.signal-table th:first-child,
.signal-table td:first-child {
  border-left: 0;
}
.signal-table thead th {
  background: color-mix(in srgb, var(--color-surface-container-low) 72%, #ffffff 28%);
  font-family: var(--tenant-body-font);
  font-size: .9rem;
  line-height: 1.2;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.signal-table tbody th {
  width: 30%;
  font-weight: 800;
  color: var(--color-primary);
}
.signal-table tbody tr:last-child th,
.signal-table tbody tr:last-child td {
  border-bottom: 0;
}
@media (max-width: 767px) {
  .signal-table-wrap {
    margin: -1rem 0 3rem;
  }
  .signal-table th,
  .signal-table td {
    padding: 1rem;
    font-size: .95rem;
  }
}

/* === Template 1 polished signal scorecard === */
.signal-section {
  margin: -1.5rem 0 5rem;
}
.signal-section-header {
  padding-bottom: 1.35rem;
  margin-bottom: 1.75rem;
  border-bottom: 1px solid var(--color-outline-variant);
}
.signal-section-kicker {
  margin: 0 0 .75rem;
  font-family: var(--tenant-body-font);
  font-size: .72rem;
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .18em;
  color: var(--color-on-surface-variant);
}
.signal-section-header h3 {
  margin: 0;
  max-width: 780px;
  font-family: var(--tenant-heading-font);
  font-size: clamp(2rem, 3.4vw, 3.05rem);
  line-height: 1.08;
  letter-spacing: 0;
  color: var(--color-primary);
}
.signal-section-header p:not(.signal-section-kicker) {
  max-width: 680px;
  margin: 1rem 0 0;
  font-family: var(--tenant-body-font);
  font-size: 1rem;
  line-height: 1.7;
  color: var(--color-on-surface-variant);
}
.signal-section .signal-table-wrap {
  margin: 0;
  overflow-x: auto;
  border: 1px solid var(--color-outline-variant);
  background: color-mix(in srgb, var(--color-background) 88%, #ffffff 12%);
}
.signal-section .signal-table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
  font-family: var(--tenant-body-font);
  color: var(--color-on-surface);
}
.signal-section .signal-table th,
.signal-section .signal-table td {
  border-left: 1px solid var(--color-outline-variant);
  border-bottom: 1px solid var(--color-outline-variant);
  padding: 1.25rem 1.4rem;
  text-align: left;
  vertical-align: top;
  font-size: .98rem;
  line-height: 1.55;
}
.signal-section .signal-table th:first-child,
.signal-section .signal-table td:first-child {
  border-left: 0;
}
.signal-section .signal-table thead th {
  background: color-mix(in srgb, var(--color-surface-container-low) 78%, #ffffff 22%);
  font-size: .78rem;
  line-height: 1.2;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .13em;
  color: var(--color-primary);
}
.signal-section .signal-table tbody th {
  width: 30%;
  font-weight: 900;
  color: var(--color-primary);
}
.signal-section .signal-table tbody tr:nth-child(even) {
  background: rgba(0, 0, 0, .018);
}
.signal-section .signal-table tbody tr:last-child th,
.signal-section .signal-table tbody tr:last-child td {
  border-bottom: 0;
}
@media (max-width: 767px) {
  .signal-section {
    margin: 0 0 3.5rem;
  }
  .signal-section-header h3 {
    font-size: clamp(1.8rem, 9vw, 2.5rem);
  }
  .signal-section .signal-table th,
  .signal-section .signal-table td {
    padding: 1rem;
    font-size: .95rem;
  }
}

/* === Template 1 signal heading consistency === */
.signal-section-header h3.font-headline-lg {
  max-width: none;
  margin-bottom: 1.5rem;
  font-family: var(--tenant-heading-font);
  font-size: var(--text-headline-lg);
  line-height: var(--text-headline-lg--line-height);
  letter-spacing: var(--text-headline-lg--letter-spacing);
  color: var(--color-primary);
}

/* Generated blog images are 1536x1024, so preview slots use the same 3:2 ratio. */
.aspect-card,
.aspect-\[3\/2\] {
  aspect-ratio: 3 / 2;
}

.listing-page .featured-card > div:last-child {
  aspect-ratio: 3 / 2;
  min-height: 0;
}

.listing-page .featured-image {
  aspect-ratio: 3 / 2;
  min-height: 0;
  max-height: none;
  object-fit: cover;
}

.listing-page [data-purpose="news-card"] img {
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

/* Keep long desktop TOCs usable without pushing past the viewport. */
@media (min-width: 1025px) {
  .blog-page .toc-panel > .sticky,
  .blog-detail-layout .toc-panel > .sticky {
    max-height: calc(100vh - 8.5rem) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain;
    padding-right: 0.65rem;
    scroll-behavior: smooth;
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.35) transparent;
  }

  .blog-page .toc-link,
  .blog-detail-layout .toc-link {
    transition: color 180ms ease, opacity 180ms ease, transform 180ms ease;
  }

  .blog-page .toc-panel > .sticky::-webkit-scrollbar,
  .blog-detail-layout .toc-panel > .sticky::-webkit-scrollbar {
    width: 6px;
  }

  .blog-page .toc-panel > .sticky::-webkit-scrollbar-track,
  .blog-detail-layout .toc-panel > .sticky::-webkit-scrollbar-track {
    background: transparent;
  }

  .blog-page .toc-panel > .sticky::-webkit-scrollbar-thumb,
  .blog-detail-layout .toc-panel > .sticky::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.28);
    border-radius: 999px;
  }
}

[data-public-lightbox-image] {
  cursor: zoom-in;
}

html.public-lightbox-open,
html.public-lightbox-open body {
  overflow: hidden;
}

.public-image-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(1rem, 3vw, 2.5rem);
  background: rgba(0, 0, 0, 0.72);
  opacity: 0;
  transition: opacity 160ms ease;
}

.public-image-lightbox[hidden] {
  display: none;
}

.public-image-lightbox.is-open {
  opacity: 1;
}

.public-image-lightbox-panel {
  position: relative;
  max-width: min(92vw, 1240px);
  max-height: 92vh;
  overflow: hidden;
  border-radius: 1.25rem;
  background: #000;
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.5);
}

.public-image-lightbox-panel img {
  display: block;
  width: auto;
  height: auto;
  max-width: min(92vw, 1240px);
  max-height: 92vh;
  object-fit: contain;
}

.public-image-lightbox-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 1;
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: #090909;
  cursor: pointer;
  font-family: Arial, sans-serif;
  font-size: 2rem;
  line-height: 1;
}

.public-image-lightbox-close:hover,
.public-image-lightbox-close:focus-visible {
  background: #fff;
  outline: 2px solid rgba(255, 255, 255, 0.65);
  outline-offset: 3px;
}

/* Align the desktop TOC with the article body instead of pulling it into the hero. */
@media (min-width: 1025px) {
  .blog-page .blog-detail-layout .toc-panel {
    margin-top: 0 !important;
  }
}

.b2b-source-carousel {
  position: relative;
  margin-bottom: 3rem;
}

.b2b-source-carousel-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.b2b-source-carousel-window {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--color-outline-variant);
  border-radius: 0.75rem;
  background: var(--color-surface-container-low);
  box-shadow: 0 18px 32px rgba(0, 0, 0, 0.18);
}

.b2b-source-carousel-track {
  display: flex;
  transition: transform 360ms ease;
  will-change: transform;
}

.b2b-source-slide {
  position: relative;
  flex: 0 0 100%;
  aspect-ratio: 16 / 9;
  min-width: 100%;
  overflow: hidden;
  background: var(--color-surface-container-low);
}

.b2b-source-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.b2b-source-slide-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(1.5rem, 4vw, 2rem);
  background: linear-gradient(to top, rgba(0, 0, 0, 0.78), rgba(0, 0, 0, 0.25) 42%, rgba(0, 0, 0, 0) 72%);
  pointer-events: none;
}

.b2b-source-carousel-arrow {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: flex;
  width: 2.5rem;
  height: 2.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.36);
  color: #fff;
  cursor: pointer;
  opacity: 0;
  backdrop-filter: blur(12px);
  transform: translateY(-50%);
  transition: background 180ms ease, opacity 180ms ease;
}

.b2b-source-carousel:hover .b2b-source-carousel-arrow,
.b2b-source-carousel:focus-within .b2b-source-carousel-arrow {
  opacity: 1;
}

.b2b-source-carousel-arrow:hover,
.b2b-source-carousel-arrow:focus-visible {
  background: rgba(0, 0, 0, 0.58);
}

.b2b-source-carousel-prev {
  left: 1rem;
}

.b2b-source-carousel-next {
  right: 1rem;
}

.b2b-source-carousel-dots {
  position: absolute;
  left: 50%;
  bottom: 1rem;
  z-index: 3;
  display: flex;
  gap: 0.5rem;
  transform: translateX(-50%);
}

.b2b-source-carousel-dots label {
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.42);
  cursor: pointer;
  transition: background 180ms ease, transform 180ms ease;
}

.b2b-source-carousel-input:nth-of-type(1):checked ~ .b2b-source-carousel-window .b2b-source-carousel-track {
  transform: translateX(0);
}

.b2b-source-carousel-input:nth-of-type(2):checked ~ .b2b-source-carousel-window .b2b-source-carousel-track {
  transform: translateX(-100%);
}

.b2b-source-carousel-input:nth-of-type(3):checked ~ .b2b-source-carousel-window .b2b-source-carousel-track {
  transform: translateX(-200%);
}

.b2b-source-carousel-input:nth-of-type(4):checked ~ .b2b-source-carousel-window .b2b-source-carousel-track {
  transform: translateX(-300%);
}

.b2b-source-carousel-input:nth-of-type(5):checked ~ .b2b-source-carousel-window .b2b-source-carousel-track {
  transform: translateX(-400%);
}

.b2b-source-carousel-input:nth-of-type(1):checked ~ .b2b-source-carousel-dots label:nth-child(1),
.b2b-source-carousel-input:nth-of-type(2):checked ~ .b2b-source-carousel-dots label:nth-child(2),
.b2b-source-carousel-input:nth-of-type(3):checked ~ .b2b-source-carousel-dots label:nth-child(3),
.b2b-source-carousel-input:nth-of-type(4):checked ~ .b2b-source-carousel-dots label:nth-child(4),
.b2b-source-carousel-input:nth-of-type(5):checked ~ .b2b-source-carousel-dots label:nth-child(5) {
  background: #fff;
  transform: scale(1.12);
}

/* === Template 1 final contrast + footer overrides === */
.blog-page .toc-link:not(.is-active),
.blog-detail-layout .toc-link:not(.is-active) {
  color: rgba(44, 49, 49, 0.58) !important;
  font-weight: 500 !important;
}
.blog-page .toc-link.is-active,
.blog-detail-layout .toc-link.is-active {
  color: var(--color-primary) !important;
  font-weight: 700 !important;
}
.blog-page .toc-link:not(.is-active) .toc-dot,
.blog-detail-layout .toc-link:not(.is-active) .toc-dot {
  opacity: 0 !important;
}
.blog-page .toc-link.is-active .toc-dot,
.blog-detail-layout .toc-link.is-active .toc-dot {
  opacity: 1 !important;
  background: var(--color-primary) !important;
}
.blog-page .bg-primary.text-on-primary,
.blog-detail-layout .bg-primary.text-on-primary {
  background: var(--color-primary) !important;
  color: #ffffff !important;
}
.blog-page .bg-primary.text-on-primary *,
.blog-detail-layout .bg-primary.text-on-primary * {
  color: #ffffff !important;
}
/* === Template 1 tablet TOC active state === */
@media (min-width: 768px) and (max-width: 1024px) {
  .blog-page .toc-link.is-active,
  .blog-detail-layout .toc-link.is-active,
  .blog-page .toc-link.is-active .toc-link-text,
  .blog-detail-layout .toc-link.is-active .toc-link-text {
    color: var(--color-primary) !important;
    font-weight: 700 !important;
  }

  .blog-page .toc-link.is-active .toc-dot,
  .blog-detail-layout .toc-link.is-active .toc-dot {
    opacity: 1 !important;
    transform: scale(1.15) !important;
    background: var(--color-primary) !important;
  }
}
