.ny-design-css {
  display: none !important;
}

.ny-premium-page,
.ny-premium-page * {
  box-sizing: border-box;
}

.ny-premium-page {
  --ny-primary: var(--ast-global-color-0, #1E6B57);
  --ny-accent: var(--ast-global-color-1, #D6A85A);
  --ny-ink: var(--ast-global-color-2, #17251F);
  --ny-muted: var(--ast-global-color-3, #40524A);
  --ny-white: var(--ast-global-color-4, #FFFFFF);
  --ny-paper: var(--ast-global-color-5, #F4F7F3);
  --ny-dark: var(--ast-global-color-6, #17352C);
  --ny-subtle: var(--ast-global-color-7, #071F1A);
  --ny-line: var(--ast-global-color-8, #DBE7DF);
}

.ny-premium-page .e-con-inner {
  width: min(calc(100% - 64px), 1320px) !important;
  max-width: 1320px !important;
}

.ny-premium-hero {
  position: relative;
  overflow: hidden;
  min-height: 680px;
  background: radial-gradient(circle at 72% 22%, color-mix(in srgb, var(--ny-accent) 30%, transparent), transparent 26%), linear-gradient(135deg, var(--ny-subtle) 0%, var(--ny-dark) 54%, color-mix(in srgb, var(--ny-subtle) 72%, var(--ny-primary)) 100%) !important;
  color: var(--ny-white);
}

.ny-premium-hero:before {
  content: "";
  position: absolute;
  inset: auto -10% -24% 48%;
  height: 420px;
  background: radial-gradient(circle, color-mix(in srgb, var(--ny-primary) 26%, transparent), transparent 68%);
  pointer-events: none;
}

.ny-premium-hero > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1.04fr) minmax(360px, .96fr);
  gap: clamp(38px, 5vw, 82px);
  align-items: end;
  position: relative;
  z-index: 1;
}

.ny-hero-applications {
  background: radial-gradient(circle at 80% 12%, color-mix(in srgb, var(--ny-white) 16%, transparent), transparent 24%), linear-gradient(135deg, color-mix(in srgb, var(--ny-subtle) 88%, var(--ny-primary)) 0%, var(--ny-dark) 48%, color-mix(in srgb, var(--ny-dark) 78%, var(--ny-primary)) 100%) !important;
}

.ny-hero-products > .e-con-inner {
  grid-template-columns: minmax(360px, .92fr) minmax(0, 1.08fr);
}

.ny-hero-products .ny-hero-media {
  order: -1;
}

.ny-hero-products .ny-hero-media-note {
  left: auto;
  right: -24px;
}

.ny-hero-customization {
  background: radial-gradient(circle at 28% 14%, color-mix(in srgb, var(--ny-accent) 26%, transparent), transparent 27%), linear-gradient(145deg, var(--ny-subtle) 0%, var(--ny-dark) 62%, color-mix(in srgb, var(--ny-subtle) 78%, var(--ny-primary)) 100%) !important;
}

.ny-hero-manufacturing {
  background: linear-gradient(135deg, var(--ny-subtle) 0%, color-mix(in srgb, var(--ny-subtle) 82%, var(--ny-primary)) 42%, color-mix(in srgb, var(--ny-dark) 82%, var(--ny-primary)) 100%) !important;
}

.ny-hero-resources,
.ny-hero-contact {
  min-height: 650px;
}

.ny-layout-1 > .e-con-inner {
  align-items: center;
}

.ny-layout-1 .ny-hero-image img {
  aspect-ratio: 16 / 11;
}

.ny-layout-1 .ny-hero-media-note {
  bottom: 34px;
}

.ny-layout-2 > .e-con-inner {
  grid-template-columns: minmax(0, .92fr) minmax(360px, 1.08fr);
}

.ny-layout-2 .ny-hero-media-note {
  left: auto;
  right: 28px;
  bottom: 42px;
}

.ny-layout-3 .ny-hero-copy {
  padding-bottom: 86px !important;
}

.ny-layout-3 .ny-hero-image img {
  aspect-ratio: 1 / 1;
}

.ny-layout-3 .ny-hero-media-note {
  left: 34px;
  bottom: -18px;
}

.ny-hero-copy {
  padding: 86px 0 20px !important;
}

.ny-hero-media {
  position: relative;
  padding: 96px 0 24px !important;
}

.ny-hero-title .elementor-heading-title {
  max-width: 920px;
  color: var(--ny-white) !important;
}

.ny-hero-lead {
  max-width: 680px;
  color: color-mix(in srgb, var(--ny-white) 78%, transparent) !important;
}

.ny-eyebrow .elementor-heading-title {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--ny-accent) !important;
  text-transform: uppercase;
}

.ny-eyebrow .elementor-heading-title:before {
  content: "";
  display: inline-block;
  width: 34px;
  height: 2px;
  background: var(--ny-accent);
}

.ny-hero-buttons {
  display: flex !important;
  flex-direction: row !important;
  gap: 14px !important;
  padding: 10px 0 0 !important;
}

.ny-btn .elementor-button {
  border-radius: 999px !important;
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}

.ny-btn-primary .elementor-button {
  background: var(--ny-accent) !important;
  color: var(--ny-ink) !important;
  box-shadow: 0 18px 44px color-mix(in srgb, var(--ny-accent) 24%, transparent);
}

.ny-btn-secondary .elementor-button {
  background: color-mix(in srgb, var(--ny-white) 8%, transparent) !important;
  color: var(--ny-white) !important;
  border: 1px solid color-mix(in srgb, var(--ny-white) 32%, transparent) !important;
}

.ny-btn .elementor-button:hover {
  transform: translateY(-2px);
}

.ny-hero-image img {
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 34px;
  box-shadow: 0 34px 90px color-mix(in srgb, var(--ny-subtle) 42%, transparent);
}

.ny-hero-media-note {
  position: absolute;
  left: -28px;
  bottom: 76px;
  width: min(310px, 76%);
  padding: 22px 24px !important;
  border-radius: 24px;
  background: color-mix(in srgb, var(--ny-white) 94%, transparent) !important;
  box-shadow: 0 28px 70px color-mix(in srgb, var(--ny-subtle) 24%, transparent);
  backdrop-filter: blur(12px);
}

.ny-hero-media-note .elementor-heading-title {
  color: var(--ny-ink) !important;
}

.ny-hero-media-note p {
  color: var(--ny-muted) !important;
}

.ny-stat-row {
  margin-top: -72px;
  position: relative;
  z-index: 4;
}

.ny-stat-row > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-radius: 28px;
  overflow: hidden;
  background: var(--ny-white);
  box-shadow: 0 24px 80px color-mix(in srgb, var(--ny-subtle) 14%, transparent);
}

.ny-stat-card {
  padding: 30px 28px !important;
  border-right: 1px solid var(--ny-line);
  background: var(--ny-white) !important;
}

.ny-stat-card:last-child {
  border-right: 0;
}

.ny-stat-value .elementor-heading-title {
  color: var(--ny-primary) !important;
}

.ny-stat-label p {
  margin: 0 !important;
  color: var(--ny-muted) !important;
  text-transform: uppercase;
}

.ny-anchor-section {
  background: var(--ny-white) !important;
}

.ny-anchor-nav,
.ny-context-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.ny-anchor-nav {
  justify-content: center;
}

.ny-anchor-nav a {
  display: inline-flex;
  padding: 12px 18px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--ny-primary) 7%, transparent);
  border: 1px solid color-mix(in srgb, var(--ny-primary) 16%, transparent);
  color: var(--ny-primary) !important;
  text-decoration: none !important;
}

.ny-anchor-nav a:hover {
  background: color-mix(in srgb, var(--ny-primary) 13%, transparent);
}

.ny-context-links {
  margin-top: 24px;
}

.ny-context-links a {
  display: inline-flex;
  flex-direction: column;
  gap: 3px;
  max-width: 280px;
  padding: 13px 16px;
  border-radius: 18px;
  background: color-mix(in srgb, var(--ny-white) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--ny-white) 22%, transparent);
  color: var(--ny-white) !important;
  text-decoration: none !important;
}

.ny-context-links strong {
  color: inherit;
}

.ny-context-links span {
  color: color-mix(in srgb, var(--ny-white) 68%, transparent);
}

.ny-context-icon-grid,
.ny-related-icon-grid {
  display: grid !important;
  width: 100%;
  gap: 18px;
  margin-top: 30px;
}

.ny-context-icon-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr));
}

.ny-related-icon-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr));
}

.ny-split-section > .e-con-inner > .ny-context-icon-grid,
.ny-dark-band > .e-con-inner > .ny-context-icon-grid {
  grid-column: 1 / -1;
}

.ny-context-icon-box,
.ny-related-icon-box {
  display: block;
  width: auto !important;
  min-width: 0;
  height: 100%;
  padding: 22px 24px;
  border: 1px solid color-mix(in srgb, var(--ny-primary) 28%, var(--ny-line));
  border-radius: 20px;
  background: color-mix(in srgb, var(--ny-primary) 4%, var(--ny-white));
  box-shadow: 0 14px 36px color-mix(in srgb, var(--ny-subtle) 9%, transparent);
}

.ny-context-icon-box > .elementor-widget-container,
.ny-related-icon-box > .elementor-widget-container {
  height: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.ny-context-icon-box .elementor-icon-box-wrapper,
.ny-related-icon-box .elementor-icon-box-wrapper {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 16px;
  height: 100%;
  text-align: left !important;
}

.ny-context-icon-box .elementor-icon-box-icon,
.ny-related-icon-box .elementor-icon-box-icon {
  flex: 0 0 auto;
  margin: 0 !important;
}

.ny-context-icon-box .elementor-icon-box-content,
.ny-related-icon-box .elementor-icon-box-content {
  min-width: 0;
  text-align: left !important;
}

.ny-context-icon-box .elementor-icon,
.ny-related-icon-box .elementor-icon,
.ny-context-icon-box .elementor-icon-box-title a,
.ny-related-icon-box .elementor-icon-box-title a {
  color: var(--ny-primary) !important;
}

.ny-context-icon-box .elementor-icon,
.ny-related-icon-box .elementor-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid color-mix(in srgb, var(--ny-primary) 30%, transparent);
  border-radius: 12px;
  background: color-mix(in srgb, var(--ny-primary) 10%, var(--ny-white));
  font-size: 20px !important;
}

.ny-context-icon-box .elementor-icon svg,
.ny-related-icon-box .elementor-icon svg {
  width: 1em;
  height: 1em;
}

.ny-context-icon-box .elementor-icon-box-title,
.ny-related-icon-box .elementor-icon-box-title {
  margin-top: 0;
  margin-bottom: 10px;
  text-align: left !important;
}

.ny-context-icon-box .elementor-icon-box-description,
.ny-related-icon-box .elementor-icon-box-description {
  color: var(--ny-muted) !important;
  text-align: left !important;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.ny-dark-band .ny-context-icon-box {
  border-color: color-mix(in srgb, var(--ny-white) 26%, transparent);
  background: color-mix(in srgb, var(--ny-primary) 24%, var(--ny-dark)) !important;
  box-shadow: none;
}

.ny-dark-band .ny-context-icon-box :is(.elementor-icon, .elementor-icon-box-title a) {
  color: var(--ny-white) !important;
}

.ny-dark-band .ny-context-icon-box .elementor-icon {
  border-color: color-mix(in srgb, var(--ny-white) 30%, transparent);
  background: color-mix(in srgb, var(--ny-white) 10%, transparent);
}

.ny-dark-band .ny-context-icon-box .elementor-icon-box-description {
  color: color-mix(in srgb, var(--ny-white) 76%, transparent) !important;
}

.ny-split-section .ny-context-links a,
.ny-white-section .ny-context-links a,
.ny-light-section .ny-context-links a {
  background: color-mix(in srgb, var(--ny-primary) 6%, transparent);
  border-color: color-mix(in srgb, var(--ny-primary) 15%, transparent);
  color: var(--ny-primary) !important;
}

.ny-split-section .ny-context-links span,
.ny-white-section .ny-context-links span,
.ny-light-section .ny-context-links span {
  color: var(--ny-muted);
}

.ny-light-section {
  background: var(--ny-paper) !important;
}

.ny-white-section {
  background: var(--ny-white) !important;
}

.ny-section-header {
  max-width: 840px;
  margin: 0 auto 34px !important;
  text-align: center !important;
}

.ny-section-title .elementor-heading-title {
  color: var(--ny-ink) !important;
}

.ny-section-lead p {
  color: var(--ny-muted) !important;
}

.ny-card-grid > .e-con-inner,
.ny-image-grid > .e-con-inner,
.ny-comparison-cards,
.ny-resource-grid,
.ny-related-links {
  display: grid !important;
  gap: 22px;
}

.ny-card-grid > .e-con-inner,
.ny-image-grid > .e-con-inner,
.ny-comparison-cards,
.ny-resource-grid {
  grid-template-columns: repeat(3, 1fr);
}

.ny-feature-card,
.ny-comparison-card,
.ny-resource-card,
.ny-timeline-item,
.ny-related-links a {
  border: 1px solid color-mix(in srgb, var(--ny-ink) 10%, transparent);
  background: var(--ny-white) !important;
  box-shadow: 0 18px 52px color-mix(in srgb, var(--ny-subtle) 7%, transparent);
}

.ny-feature-card {
  border-radius: 28px;
  transition: transform .22s ease, box-shadow .22s ease;
}

.ny-feature-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 28px 76px color-mix(in srgb, var(--ny-subtle) 12%, transparent);
}

.ny-card-index .elementor-heading-title {
  color: var(--ny-accent) !important;
}

.ny-card-title .elementor-heading-title {
  color: var(--ny-ink) !important;
}

.ny-card-body p {
  color: var(--ny-muted) !important;
}

.ny-split-section > .e-con-inner,
.ny-dark-band > .e-con-inner {
  display: grid !important;
  align-items: center;
}

.ny-split-section > .e-con-inner {
  grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
  gap: clamp(34px, 5vw, 76px);
}

.ny-split-section.reverse > .e-con-inner {
  grid-template-columns: minmax(0, 1.14fr) minmax(0, .86fr);
}

.ny-split-copy {
  padding: 12px 0 !important;
}

.ny-split-image img {
  aspect-ratio: 16 / 11;
  object-fit: cover;
  border-radius: 32px;
  box-shadow: 0 30px 84px color-mix(in srgb, var(--ny-subtle) 16%, transparent);
}

.ny-dark-band {
  background: linear-gradient(135deg, color-mix(in srgb, var(--ny-subtle) 72%, var(--ny-primary)) 0%, var(--ny-subtle) 100%) !important;
  color: var(--ny-white);
  overflow: hidden;
  position: relative;
}

.ny-dark-band:after {
  content: "";
  position: absolute;
  right: -120px;
  top: -120px;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--ny-accent) 20%, transparent);
}

.ny-dark-band > .e-con-inner {
  position: relative;
  z-index: 1;
  grid-template-columns: .82fr 1.18fr;
  gap: 54px;
}

.ny-dark-band .elementor-heading-title {
  color: var(--ny-white) !important;
}

.ny-dark-band p {
  color: color-mix(in srgb, var(--ny-white) 74%, transparent) !important;
}

.ny-dark-list .elementor-icon-list-item {
  padding: 14px 0 !important;
  border-bottom: 1px solid color-mix(in srgb, var(--ny-white) 12%, transparent);
}

.ny-image-grid > .e-con-inner {
  gap: 24px;
}

.ny-image-card .elementor-image-box-wrapper {
  height: 100%;
  border-radius: 30px;
  overflow: hidden;
  background: var(--ny-white);
  box-shadow: 0 24px 70px color-mix(in srgb, var(--ny-subtle) 10%, transparent);
  text-align: left !important;
}

.ny-image-card .elementor-image-box-img {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
}

.ny-image-card img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  width: 100%;
}

.ny-image-card .elementor-image-box-content {
  padding: 26px;
}

.ny-table-scroll {
  overflow-x: auto;
  border-radius: 26px;
  box-shadow: 0 22px 60px color-mix(in srgb, var(--ny-subtle) 8%, transparent);
  background: var(--ny-white);
}

.ny-scope-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  background: var(--ny-white);
}

.ny-scope-table th,
.ny-scope-table td {
  padding: 20px 22px;
  border-bottom: 1px solid var(--ny-line);
  text-align: left;
  vertical-align: top;
}

.ny-scope-table th {
  color: var(--ny-primary);
  text-transform: uppercase;
  background: color-mix(in srgb, var(--ny-primary) 6%, transparent);
}

.ny-scope-table td {
  color: var(--ny-muted);
}

.ny-comparison-cards,
.ny-resource-grid {
  gap: 18px;
}

.ny-comparison-card,
.ny-resource-card,
.ny-timeline-item {
  border-radius: 26px;
}

.ny-comparison-card,
.ny-resource-card {
  padding: 26px;
}

.ny-comparison-card small,
.ny-resource-card small,
.ny-timeline-item span,
.ny-related-links small {
  color: var(--ny-accent);
}

.ny-comparison-card small,
.ny-resource-card small {
  display: block;
  margin-bottom: 16px;
}

.ny-comparison-card h3 {
  margin: 0 0 16px;
  color: var(--ny-ink);
}

.ny-comparison-card p {
  margin: 10px 0 0;
  color: var(--ny-muted);
}

.ny-comparison-card strong {
  color: var(--ny-primary);
}

.ny-resource-card h3 {
  margin: 0 0 12px;
  color: var(--ny-ink);
}

.ny-resource-card p {
  margin: 0;
  color: var(--ny-muted);
}

.ny-timeline {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
}

.ny-timeline-item {
  position: relative;
  padding: 28px 24px;
}

.ny-timeline-item span {
  display: inline-flex;
  margin-bottom: 18px;
}

.ny-timeline-item h3 {
  margin: 0 0 10px;
  color: var(--ny-ink);
}

.ny-timeline-item p {
  margin: 0;
  color: var(--ny-muted);
}

.ny-checklist-section > .e-con-inner {
  max-width: 920px !important;
}

.ny-related-links {
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.ny-related-links a {
  display: flex;
  min-height: 180px;
  flex-direction: column;
  justify-content: space-between;
  gap: 12px;
  padding: 26px;
  border-radius: 26px;
  text-decoration: none !important;
}

.ny-related-links small {
  text-transform: uppercase;
}

.ny-related-links strong {
  color: var(--ny-ink);
}

.ny-related-links span {
  color: var(--ny-muted);
}

.ny-tabs-section,
.ny-faq {
  background: var(--ny-white) !important;
}

.ny-tabs-widget,
.ny-accordion-widget {
  border: 1px solid color-mix(in srgb, var(--ny-ink) 10%, transparent);
  border-radius: 28px;
  padding: 22px;
  background: var(--ny-white);
  box-shadow: 0 22px 60px color-mix(in srgb, var(--ny-subtle) 8%, transparent);
}

.ny-bottom-cta {
  background: radial-gradient(circle at 20% 0%, color-mix(in srgb, var(--ny-accent) 24%, transparent), transparent 30%), linear-gradient(135deg, var(--ny-subtle) 0%, var(--ny-dark) 100%) !important;
  color: var(--ny-white);
  text-align: center;
}

.ny-bottom-cta > .e-con-inner {
  max-width: 900px !important;
}

.ny-bottom-cta .elementor-heading-title {
  color: var(--ny-white) !important;
}

.ny-bottom-cta p {
  color: color-mix(in srgb, var(--ny-white) 76%, transparent) !important;
}

@media (max-width: 1024px) {
  .ny-premium-hero > .e-con-inner,
  .ny-split-section > .e-con-inner,
  .ny-split-section.reverse > .e-con-inner,
  .ny-dark-band > .e-con-inner {
    grid-template-columns: 1fr;
  }

  .ny-card-grid > .e-con-inner,
  .ny-image-grid > .e-con-inner,
  .ny-stat-row > .e-con-inner,
  .ny-timeline,
  .ny-related-links,
  .ny-context-icon-grid,
  .ny-related-icon-grid,
  .ny-comparison-cards,
  .ny-resource-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .ny-hero-media-note {
    left: 24px;
  }
}

@media (max-width: 640px) {
  .ny-premium-page .e-con-inner {
    width: min(calc(100% - 34px), 1320px) !important;
  }

  .ny-premium-hero {
    min-height: auto;
  }

  .ny-hero-copy,
  .ny-hero-media {
    padding: 76px 0 12px !important;
  }

  .ny-card-grid > .e-con-inner,
  .ny-image-grid > .e-con-inner,
  .ny-stat-row > .e-con-inner,
  .ny-timeline,
  .ny-related-links,
  .ny-context-icon-grid,
  .ny-related-icon-grid,
  .ny-comparison-cards,
  .ny-resource-grid {
    grid-template-columns: 1fr;
  }

  .ny-stat-row {
    margin-top: -36px;
  }

  .ny-hero-buttons {
    flex-direction: column !important;
  }

  .ny-hero-media-note {
    position: relative;
    left: auto;
    bottom: auto;
    width: 100%;
    margin-top: -40px;
  }

  .ny-context-links {
    flex-direction: column;
  }

  .ny-context-links a {
    max-width: none;
  }
}

/* Contrast contract: foreground colors always follow the surface brightness. */
:is(.ny-premium-hero, .ny-source-hero, .ny-dark-band, .ny-bottom-cta) {
  color: var(--ny-white) !important;
}

:is(.ny-premium-hero, .ny-source-hero, .ny-dark-band, .ny-bottom-cta)
  :is(h1, h2, h3, h4, h5, h6, strong, .elementor-heading-title) {
  color: var(--ny-white) !important;
}

:is(.ny-premium-hero, .ny-source-hero, .ny-dark-band, .ny-bottom-cta)
  :is(p, li, td, th, small, .elementor-widget-text-editor, .elementor-icon-list-text) {
  color: color-mix(in srgb, var(--ny-white) 82%, transparent) !important;
}

:is(.ny-premium-hero, .ny-source-hero, .ny-dark-band, .ny-bottom-cta)
  a:not(.elementor-button) {
  color: var(--ny-accent) !important;
}

:is(.ny-premium-hero, .ny-source-hero, .ny-dark-band, .ny-bottom-cta)
  :is(.elementor-icon, .elementor-icon-list-icon, .elementor-button-icon) {
  color: var(--ny-white) !important;
}

:is(.ny-premium-hero, .ny-source-hero, .ny-dark-band, .ny-bottom-cta)
  :is(.elementor-icon, .elementor-icon-list-icon, .elementor-button-icon) svg {
  fill: currentColor !important;
  stroke: currentColor;
}

:is(.ny-premium-hero, .ny-source-hero, .ny-dark-band, .ny-bottom-cta)
  .ny-btn-primary .elementor-button {
  color: var(--ny-ink) !important;
}

:is(.ny-premium-hero, .ny-source-hero, .ny-dark-band, .ny-bottom-cta)
  .ny-btn-secondary .elementor-button {
  color: var(--ny-white) !important;
}

:is(
  .ny-source-section,
  .ny-child-directory,
  .ny-rankmath-breadcrumb,
  .ny-stat-row,
  .ny-comparison-card,
  .ny-resource-card,
  .ny-linked-card,
  .ny-child-card,
  .ny-source-list li,
  .ny-source-process li,
  .ny-source-table,
  .ny-source-accordion,
  .ny-tabs-widget,
  .ny-accordion-widget,
  .ny-image-card .elementor-image-box-wrapper
) {
  color: var(--ny-muted) !important;
}

:is(
  .ny-source-section,
  .ny-child-directory,
  .ny-rankmath-breadcrumb,
  .ny-stat-row,
  .ny-comparison-card,
  .ny-resource-card,
  .ny-linked-card,
  .ny-child-card,
  .ny-source-list li,
  .ny-source-process li,
  .ny-source-table,
  .ny-source-accordion,
  .ny-tabs-widget,
  .ny-accordion-widget,
  .ny-image-card .elementor-image-box-wrapper
) :is(h1, h2, h3, h4, h5, h6, strong, .elementor-heading-title) {
  color: var(--ny-ink) !important;
}

:is(
  .ny-source-section,
  .ny-child-directory,
  .ny-rankmath-breadcrumb,
  .ny-stat-row,
  .ny-comparison-card,
  .ny-resource-card,
  .ny-linked-card,
  .ny-child-card,
  .ny-source-list li,
  .ny-source-process li,
  .ny-source-table,
  .ny-source-accordion,
  .ny-tabs-widget,
  .ny-accordion-widget,
  .ny-image-card .elementor-image-box-wrapper
) :is(p, li, td, th, small, .elementor-widget-text-editor, .elementor-icon-list-text) {
  color: var(--ny-muted) !important;
}

:is(
  .ny-source-section,
  .ny-child-directory,
  .ny-rankmath-breadcrumb,
  .ny-stat-row,
  .ny-comparison-card,
  .ny-resource-card,
  .ny-linked-card,
  .ny-child-card,
  .ny-source-list li,
  .ny-source-process li,
  .ny-source-table,
  .ny-source-accordion,
  .ny-tabs-widget,
  .ny-accordion-widget,
  .ny-image-card .elementor-image-box-wrapper
) a:not(.elementor-button) {
  color: var(--ny-primary) !important;
}

:is(
  .ny-source-section,
  .ny-child-directory,
  .ny-rankmath-breadcrumb,
  .ny-stat-row,
  .ny-comparison-card,
  .ny-resource-card,
  .ny-linked-card,
  .ny-child-card,
  .ny-source-list li,
  .ny-source-process li,
  .ny-source-table,
  .ny-source-accordion,
  .ny-tabs-widget,
  .ny-accordion-widget,
  .ny-image-card .elementor-image-box-wrapper
) :is(.elementor-icon, .elementor-icon-list-icon, .elementor-button-icon) {
  color: var(--ny-primary) !important;
}

:is(
  .ny-source-section,
  .ny-child-directory,
  .ny-rankmath-breadcrumb,
  .ny-stat-row,
  .ny-comparison-card,
  .ny-resource-card,
  .ny-linked-card,
  .ny-child-card,
  .ny-source-list li,
  .ny-source-process li,
  .ny-source-table,
  .ny-source-accordion,
  .ny-tabs-widget,
  .ny-accordion-widget,
  .ny-image-card .elementor-image-box-wrapper
) :is(.elementor-icon, .elementor-icon-list-icon, .elementor-button-icon) svg {
  fill: currentColor !important;
  stroke: currentColor;
}

/* Content HTML workflow v2: layout only; typography inherits the active theme. */
.ny-source-hero,
.ny-source-section {
  --ny-primary: var(--ast-global-color-0, #1E6B57);
  --ny-accent: var(--ast-global-color-1, #D6A85A);
  --ny-ink: var(--ast-global-color-2, #17251F);
  --ny-muted: var(--ast-global-color-3, #40524A);
  --ny-white: var(--ast-global-color-4, #FFFFFF);
  --ny-paper: var(--ast-global-color-5, #F4F7F3);
  --ny-dark: var(--ast-global-color-6, #17352C);
  --ny-subtle: var(--ast-global-color-7, #071F1A);
  --ny-line: var(--ast-global-color-8, #DBE7DF);
  box-sizing: border-box;
}

.ny-source-hero *,
.ny-source-section *,
.ny-rankmath-breadcrumb *,
.ny-child-directory * {
  box-sizing: border-box;
}

.ny-rankmath-breadcrumb {
  --ny-primary: var(--ast-global-color-0, #1E6B57);
  --ny-accent: var(--ast-global-color-1, #D6A85A);
  --ny-ink: var(--ast-global-color-2, #17251F);
  --ny-muted: var(--ast-global-color-3, #40524A);
  --ny-white: var(--ast-global-color-4, #FFFFFF);
  --ny-dark: var(--ast-global-color-6, #17352C);
  --ny-subtle: var(--ast-global-color-7, #071F1A);
  --ny-line: var(--ast-global-color-8, #DBE7DF);
  padding: 0 !important;
  border-bottom: 1px solid var(--ny-line);
  background: var(--ny-white) !important;
}

.ny-rankmath-breadcrumb > .e-con-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 0 !important;
}

.ny-breadcrumb-icon {
  display: inline-flex !important;
  flex: 0 0 14px;
  width: 14px !important;
  height: 14px !important;
  align-items: center;
  justify-content: center;
  line-height: 1 !important;
  color: var(--ny-primary);
}

.ny-breadcrumb-icon .elementor-icon-wrapper,
.ny-breadcrumb-icon .elementor-icon {
  display: inline-flex !important;
  width: 14px !important;
  height: 14px !important;
  align-items: center;
  justify-content: center;
  line-height: 1 !important;
}

.ny-breadcrumb-icon svg {
  display: block !important;
  width: 14px !important;
  height: 14px !important;
  font-size: 14px !important;
  margin: 0 !important;
}

.ny-breadcrumb-shortcode,
.ny-breadcrumb-shortcode p,
.ny-breadcrumb-shortcode nav {
  margin: 0 !important;
  color: var(--ny-muted) !important;
}

.ny-breadcrumb-shortcode a {
  color: var(--ny-primary) !important;
  text-decoration: none !important;
}

.ny-source-hero {
  position: relative;
  overflow: hidden;
  min-height: 640px;
  color: var(--ny-white);
  background:
    radial-gradient(circle at 78% 18%, color-mix(in srgb, var(--ny-accent) 25%, transparent), transparent 26%),
    linear-gradient(135deg, var(--ny-subtle) 0%, var(--ny-dark) 56%, color-mix(in srgb, var(--ny-subtle) 72%, var(--ny-primary)) 100%) !important;
}

.ny-source-hero > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1.04fr) minmax(360px, .96fr);
  align-items: center;
  gap: clamp(40px, 6vw, 88px);
  padding-block: clamp(76px, 9vw, 132px) !important;
}

.ny-source-hero-copy {
  gap: 20px !important;
}

.ny-source-hero-title .elementor-heading-title {
  color: var(--ny-white) !important;
  max-width: 900px;
}

.ny-source-hero-intro,
.ny-source-hero-intro p,
.ny-source-hero-intro li {
  color: color-mix(in srgb, var(--ny-white) 82%, transparent) !important;
}

.ny-source-hero-intro a {
  color: var(--ny-white) !important;
  text-decoration-color: var(--ny-accent) !important;
  text-underline-offset: 4px;
}

.ny-source-hero-media {
  position: relative;
}

.ny-source-hero-image img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 34px;
  box-shadow: 0 36px 90px color-mix(in srgb, var(--ny-subtle) 38%, transparent);
}

.ny-variant-2 > .e-con-inner,
.ny-variant-4 > .e-con-inner {
  grid-template-columns: minmax(360px, .96fr) minmax(0, 1.04fr);
}

.ny-variant-2 .ny-source-hero-media,
.ny-variant-4 .ny-source-hero-media {
  order: -1;
}

.ny-variant-3 {
  background:
    radial-gradient(circle at 24% 12%, color-mix(in srgb, var(--ny-accent) 22%, transparent), transparent 28%),
    linear-gradient(145deg, var(--ny-subtle) 0%, var(--ny-dark) 66%, color-mix(in srgb, var(--ny-dark) 78%, var(--ny-primary)) 100%) !important;
}

.ny-variant-4 {
  background:
    radial-gradient(circle at 84% 4%, color-mix(in srgb, var(--ny-primary) 22%, transparent), transparent 28%),
    linear-gradient(120deg, color-mix(in srgb, var(--ny-subtle) 72%, var(--ny-primary)) 0%, var(--ny-subtle) 72%) !important;
}

.ny-source-section {
  padding-block: clamp(72px, 8vw, 124px) !important;
  background: var(--ny-white) !important;
}

.ny-source-section:nth-of-type(even) {
  background: var(--ny-paper) !important;
}

.ny-source-section > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(30px, 5vw, 78px);
  align-items: center;
}

.ny-source-section:has(.ny-source-section-media) > .e-con-inner {
  grid-template-columns: minmax(0, 1fr) minmax(340px, .84fr);
}

.ny-source-section-copy {
  gap: 22px !important;
}

.ny-source-section-title .elementor-heading-title {
  max-width: 940px;
  color: var(--ny-ink) !important;
}

.ny-source-copy,
.ny-source-copy p,
.ny-source-copy li,
.ny-source-accordion {
  color: var(--ny-muted) !important;
}

.ny-child-directory {
  --ny-primary: var(--ast-global-color-0, #1E6B57);
  --ny-accent: var(--ast-global-color-1, #D6A85A);
  --ny-ink: var(--ast-global-color-2, #17251F);
  --ny-muted: var(--ast-global-color-3, #40524A);
  --ny-white: var(--ast-global-color-4, #FFFFFF);
  --ny-paper: var(--ast-global-color-5, #F4F7F3);
  --ny-dark: var(--ast-global-color-6, #17352C);
  --ny-subtle: var(--ast-global-color-7, #071F1A);
  --ny-line: var(--ast-global-color-8, #DBE7DF);
  padding-block: clamp(72px, 8vw, 118px) !important;
  background:
    radial-gradient(circle at 92% 8%, color-mix(in srgb, var(--ny-accent) 16%, transparent), transparent 28%),
    var(--ny-paper) !important;
}

.ny-child-directory > .e-con-inner {
  gap: 30px !important;
}

.ny-child-directory-head {
  max-width: 820px;
}

.ny-child-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px !important;
}

.ny-child-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--ny-ink) 10%, transparent);
  border-radius: 26px;
  background: var(--ny-white) !important;
  box-shadow: 0 24px 64px color-mix(in srgb, var(--ny-subtle) 9%, transparent);
  transition: transform .22s ease, box-shadow .22s ease;
}

.ny-child-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 30px 74px color-mix(in srgb, var(--ny-subtle) 14%, transparent);
}

.ny-child-image-box .elementor-image-box-img {
  margin: 0 !important;
}

.ny-child-image-box img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.ny-child-image-box .elementor-image-box-content {
  padding: 24px 26px 28px;
}

.ny-child-image-box .elementor-image-box-title,
.ny-child-image-box .elementor-image-box-title a {
  color: var(--ny-ink) !important;
}

.ny-child-image-box .elementor-image-box-description {
  color: var(--ny-muted) !important;
}

.ny-child-links ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ny-child-links a {
  display: inline-flex;
  padding: 11px 16px;
  border: 1px solid var(--ny-line);
  border-radius: 999px;
  color: var(--ny-primary) !important;
  background: var(--ny-white);
  text-decoration: none !important;
}

.ny-source-copy a {
  color: var(--ny-primary) !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.ny-source-section-image img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 30px;
  box-shadow: 0 28px 70px color-mix(in srgb, var(--ny-subtle) 14%, transparent);
}

.ny-source-cards > .e-con-inner {
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: stretch;
}

.ny-linked-card-intro {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .88fr);
  align-items: center;
  gap: clamp(30px, 5vw, 76px) !important;
}

.ny-linked-card-intro:not(:has(.ny-source-section-media)) {
  grid-template-columns: minmax(0, 1fr);
  max-width: 980px;
}

.ny-linked-card-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 22px !important;
}

.ny-linked-card {
  min-width: 0;
  height: 100%;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--ny-ink) 11%, transparent);
  border-radius: 24px;
  background: var(--ny-white) !important;
  box-shadow: 0 20px 56px color-mix(in srgb, var(--ny-subtle) 8%, transparent);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.ny-linked-card:hover {
  transform: translateY(-4px);
  border-color: color-mix(in srgb, var(--ny-primary) 28%, transparent);
  box-shadow: 0 28px 68px color-mix(in srgb, var(--ny-subtle) 13%, transparent);
}

.ny-linked-image-box,
.ny-linked-image-box .elementor-widget-container,
.ny-linked-image-box .elementor-image-box-wrapper {
  height: 100%;
}

.ny-linked-image-box .elementor-image-box-wrapper {
  display: flex;
  flex-direction: column;
  text-align: left !important;
}

.ny-linked-image-box .elementor-image-box-img {
  width: 100% !important;
  margin: 0 !important;
}

.ny-linked-image-box img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.ny-linked-image-box .elementor-image-box-content {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 24px 25px 28px;
}

.ny-linked-image-box .elementor-image-box-title,
.ny-linked-image-box .elementor-image-box-title a {
  color: var(--ny-ink) !important;
  text-decoration: none !important;
}

.ny-linked-image-box .elementor-image-box-title a::after {
  content: " \2192";
  color: var(--ny-primary);
}

.ny-linked-image-box .elementor-image-box-description {
  margin-bottom: 0;
  color: var(--ny-muted) !important;
}

.ny-linked-card-overflow ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ny-linked-card-overflow li {
  padding: 16px 18px;
  border-left: 3px solid var(--ny-accent);
  border-radius: 0 14px 14px 0;
  background: color-mix(in srgb, var(--ny-white) 72%, transparent);
  color: var(--ny-muted) !important;
}

.ny-linked-card-overflow a {
  color: var(--ny-primary) !important;
}

@media (max-width: 1024px) {
  .ny-linked-card-intro,
  .ny-linked-card-intro:has(.ny-source-section-media) {
    grid-template-columns: minmax(0, 1fr);
  }

  .ny-linked-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .ny-linked-card-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ny-linked-card-overflow ul {
    grid-template-columns: minmax(0, 1fr);
  }
}

.ny-source-list ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}

.ny-source-list li {
  min-height: 100%;
  padding: 22px 24px;
  border: 1px solid var(--ny-line);
  border-radius: 20px;
  background: var(--ny-white);
}

.ny-source-process ol {
  display: grid;
  gap: 14px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
  counter-reset: ny-step;
}

.ny-source-process li {
  position: relative;
  padding: 20px 22px 20px 72px;
  border: 1px solid var(--ny-line);
  border-radius: 18px;
  background: var(--ny-white);
  counter-increment: ny-step;
}

.ny-source-process li:before {
  content: counter(ny-step, decimal-leading-zero);
  position: absolute;
  left: 22px;
  color: var(--ny-primary);
}

.ny-source-table {
  overflow-x: auto;
  border: 1px solid var(--ny-line);
  border-radius: 22px;
  background: var(--ny-white);
}

.ny-source-table table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
}

.ny-source-table th,
.ny-source-table td {
  padding: 18px 20px;
  border-bottom: 1px solid var(--ny-line);
  text-align: left;
  vertical-align: top;
}

.ny-source-table th {
  color: var(--ny-ink);
  background: var(--ny-paper);
}

.ny-source-faq > .e-con-inner,
.ny-source-table > .e-con-inner {
  max-width: 1060px !important;
}

.ny-source-accordion {
  padding: clamp(18px, 3vw, 32px);
  border: 1px solid var(--ny-line);
  border-radius: 26px;
  background: var(--ny-white);
  box-shadow: 0 24px 64px color-mix(in srgb, var(--ny-subtle) 8%, transparent);
}

@media (max-width: 1024px) {
  .ny-source-hero > .e-con-inner,
  .ny-source-section:has(.ny-source-section-media) > .e-con-inner {
    grid-template-columns: 1fr;
  }

  .ny-variant-2 .ny-source-hero-media,
  .ny-variant-4 .ny-source-hero-media {
    order: 0;
  }

  .ny-source-hero-image img {
    aspect-ratio: 16 / 10;
  }

  .ny-child-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .ny-source-hero {
    min-height: auto;
  }

  .ny-source-hero > .e-con-inner,
  .ny-source-section > .e-con-inner {
    width: min(calc(100% - 34px), 1320px) !important;
  }

  .ny-source-list ul {
    grid-template-columns: 1fr;
  }

  .ny-child-grid {
    grid-template-columns: 1fr;
  }

  .ny-source-hero-image img,
.ny-source-section-image img {
    border-radius: 22px;
  }
}

/* Native Elementor components selected from the Ninghow Yoga component library. */
.ny-component-icon-list-checkpoints .elementor-icon-list-items,
.ny-component-icon-list-checkpoints .elementor-icon-list-item {
  margin: 0;
  padding: 0;
}

.ny-component-icon-list-checkpoints .elementor-icon-list-items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.ny-component-icon-list-checkpoints .elementor-icon-list-item {
  min-height: 100%;
  padding: 20px 22px;
  border: 1px solid var(--ny-line);
  border-radius: 18px;
  background: var(--ny-white);
  align-items: flex-start;
}

.ny-component-icon-list-checkpoints .elementor-icon-list-icon {
  margin-top: 0.25em;
  color: var(--ny-primary);
}

.ny-component-decision-tabs .ny-decision-tabs-wrap,
.ny-component-faq-accordion .ny-source-section-copy {
  width: min(100%, 1080px);
  margin-inline: auto;
}

.ny-component-decision-tabs .ny-tabs-widget,
.ny-component-faq-accordion .ny-source-accordion {
  overflow: hidden;
  border: 1px solid var(--ny-line);
  border-radius: 26px;
  background: var(--ny-white);
  box-shadow: 0 24px 64px color-mix(in srgb, var(--ny-subtle) 8%, transparent);
}

.ny-component-decision-tabs .e-n-tabs-heading,
.ny-component-decision-tabs [role="tablist"] {
  gap: 8px;
  padding: 12px;
  background: var(--ny-paper);
}

.ny-component-decision-tabs .e-n-tab-title,
.ny-component-faq-accordion .e-n-accordion-item-title {
  color: var(--ny-ink);
}

.ny-tabs-widget :is(.e-n-tab-title, .elementor-tab-title),
.ny-component-faq-accordion .e-n-accordion-item-title {
  border: 1px solid transparent;
  background: var(--ny-paper) !important;
  color: var(--ny-ink) !important;
}

.ny-tabs-widget :is(.e-n-tab-title, .elementor-tab-title):hover,
.ny-component-faq-accordion .e-n-accordion-item-title:hover {
  border-color: color-mix(in srgb, var(--ny-primary) 35%, var(--ny-line));
  color: var(--ny-primary) !important;
}

.ny-tabs-widget :is(
  .e-n-tab-title[aria-selected="true"],
  .e-n-tab-title[aria-expanded="true"],
  .e-n-tab-title.e-active,
  .elementor-tab-title.elementor-active
),
.ny-component-faq-accordion :is(
  .e-n-accordion-item-title[aria-expanded="true"],
  .e-n-accordion-item-title.e-active
) {
  border-color: var(--ny-primary) !important;
  background: var(--ny-primary) !important;
  color: var(--ny-white) !important;
}

.ny-tabs-widget :is(
  .e-n-tab-title[aria-selected="true"],
  .e-n-tab-title[aria-expanded="true"],
  .e-n-tab-title.e-active,
  .elementor-tab-title.elementor-active
) :is(.e-n-tab-title-text, .e-n-tab-icon, .elementor-accordion-icon, svg),
.ny-component-faq-accordion :is(
  .e-n-accordion-item-title[aria-expanded="true"],
  .e-n-accordion-item-title.e-active
) :is(.e-n-accordion-item-title-text, .e-n-accordion-item-title-icon, svg) {
  color: var(--ny-white) !important;
  fill: currentColor !important;
  stroke: currentColor;
}

.ny-component-decision-tabs .ny-tab-content,
.ny-component-faq-accordion .ny-accordion-content {
  padding: clamp(20px, 4vw, 36px);
}

.ny-component-bottom-quote-cta,
.ny-bottom-cta {
  background:
    radial-gradient(circle at 18% 0%, color-mix(in srgb, var(--ny-accent) 26%, transparent), transparent 34%),
    linear-gradient(135deg, var(--ny-subtle), var(--ny-dark)) !important;
}

.ny-section-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

@media (max-width: 640px) {
  .ny-component-icon-list-checkpoints .elementor-icon-list-items {
    grid-template-columns: minmax(0, 1fr);
  }
}

.ny-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 28px;
}

.ny-feature-grid > .elementor-widget-text-editor {
  grid-column: 1 / -1;
}

.ny-feature-card {
  height: 100%;
  padding: clamp(22px, 3vw, 30px);
  border: 1px solid var(--ny-line);
  border-radius: 24px;
  background: var(--ny-white);
  box-shadow: 0 18px 48px color-mix(in srgb, var(--ny-subtle) 7%, transparent);
}

.ny-feature-icon-box .elementor-icon {
  color: var(--ny-primary);
}

@media (max-width: 1024px) {
  .ny-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .ny-feature-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
