*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--bone);
  background: var(--char);
  font-family: var(--font-body);
  line-height: 1.68;
  text-rendering: optimizeLegibility;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  opacity: 0.18;
  background:
    linear-gradient(115deg, transparent 0 48%, var(--ember-08) 49%, transparent 50%),
    repeating-linear-gradient(90deg, transparent 0 79px, var(--white-025) 80px);
  pointer-events: none;
}

a { color: inherit; }

p { margin: 0 0 1rem; }

h1, h2, h3, h4 {
  margin: 0;
  font-family: var(--font-h1);
  text-wrap: balance;
}

h2 {
  font-size: clamp(2rem, 4.5vw, 3.6rem);
  font-weight: var(--weight-h2);
  line-height: 1.03;
  letter-spacing: -0.025em;
}

h3 { line-height: 1.15; }

.block-inner,
.site-head-inner,
.site-foot-inner,
.site-foot-base {
  width: min(calc(100% - 2rem), var(--content-width));
  margin-inline: auto;
}

.skip-link {
  position: fixed;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 100;
  padding: 0.7rem 1rem;
  color: var(--ink);
  background: var(--gold);
  border-radius: var(--radius-sm);
  transform: translateY(-180%);
  transition: transform 0.2s ease;
}

.skip-link:focus { transform: translateY(0); }

:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 4px;
}

.site-head {
  position: sticky;
  top: 0;
  z-index: 30;
  color: var(--bone);
  background: var(--glass-dark);
  border-bottom: 1px solid var(--seam);
  backdrop-filter: blur(18px);
}

.site-head-inner {
  min-height: 5rem;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: clamp(1rem, 3vw, 2.4rem);
}

.wordmark {
  display: inline-flex;
  align-items: center;
  height: 2.75rem;
  color: var(--bone);
  text-decoration: none;
  line-height: 1;
}

.wordmark-logo {
  display: block;
  width: auto;
  height: 100%;
  max-width: min(38vw, 9rem);
  object-fit: contain;
}

.site-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(0.8rem, 2vw, 1.7rem);
}

.neat-menu__list,
.section-nav {
  display: flex;
  align-items: center;
  gap: clamp(0.8rem, 2vw, 1.7rem);
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-nav a {
  color: var(--ash);
  font-size: 0.86rem;
  font-weight: 600;
  text-decoration: none;
}

.site-nav a:hover { color: var(--bone); }

.cta-btn,
.site-head-cta a,
.panel-cta a,
.nl-benefits-cta-wrap a,
.ox-hero-ctas a {
  min-height: 2.9rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1.35rem;
  border: 0;
  border-radius: 12px;
  box-shadow: 0 12px 30px var(--blood-18);
  font-family: var(--font-h1);
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.035em;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.cta-btn:hover,
.site-head-cta a:hover,
.panel-cta a:hover,
.nl-benefits-cta-wrap a:hover,
.ox-hero-ctas a:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 42px var(--blood-28);
}

.site-head-cta .cta-btn,
.site-head-cta a {
  min-height: 2.5rem;
  padding: 0.55rem 1rem;
  font-size: 0.75rem;
}

/* Installed Fire Hero Panel */
.ox-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: min(820px, calc(100vh - 5rem));
  padding: clamp(6rem, 12vw, 9rem) 0 0;
  color: var(--bone);
  background:
    radial-gradient(70% 70% at 68% 100%, var(--ember-15), transparent 72%),
    linear-gradient(155deg, var(--char) 8%, var(--soot) 70%, var(--surface-hero-deep) 100%);
}

.ox-hero::before,
.ox-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  border: 1px solid var(--gold-20);
  background: linear-gradient(145deg, var(--ember-13), var(--char-02));
  box-shadow: var(--shadow-high);
  transform: rotateX(64deg) rotateZ(-18deg);
  pointer-events: none;
}

.ox-hero::before {
  width: min(48vw, 640px);
  aspect-ratio: 1.35;
  top: 8%;
  right: -10%;
  border-radius: 30px;
}

.ox-hero::after {
  width: min(38vw, 500px);
  aspect-ratio: 1.5;
  right: 8%;
  bottom: 13%;
  border-radius: 24px;
  transform: rotateX(68deg) rotateZ(15deg);
}

.ox-hero-glow {
  position: absolute;
  left: 50%;
  bottom: -22vh;
  width: min(90vw, 900px);
  height: 60vh;
  transform: translateX(-50%);
  background: radial-gradient(50% 50% at 50% 50%, var(--ember-20), transparent 70%);
  filter: blur(30px);
  pointer-events: none;
}

/* Homepage hero: preserve the mockup's ember field and background exactly. */
#bhero01 {
  min-height: 94vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 0;
  background: radial-gradient(120% 90% at 50% 110%, #241407 0%, var(--char) 55%);
}

#bhero01::before,
#bhero01::after {
  display: none;
}

#embers {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
}

#bhero01 .ox-hero-glow {
  z-index: 1;
  background: radial-gradient(50% 50% at 50% 50%, rgba(255, 107, 26, 0.16), transparent 70%);
}

#bhero01 > .block-inner {
  width: min(calc(100% - 2rem), var(--content-width));
  padding-top: 9rem;
}

.ox-hero .block-inner { position: relative; z-index: 2; }

.ox-hero-eyebrow,
.ox-method-eyebrow,
.ox-svc-eyebrow,
.section-eyebrow,
.nl-benefits-eyebrow {
  margin: 0;
  color: var(--gold);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.ox-hero-eyebrow { display: flex; align-items: center; gap: 0.8rem; }
.ox-hero-eyebrow::before { content: ""; width: 34px; height: 1px; background: var(--fire-grad); }

.ox-hero h1 {
  max-width: 13ch;
  margin: 1.3rem 0 1.5rem;
  font-size: clamp(3rem, 7.5vw, 6.7rem);
  font-weight: 800;
  line-height: 0.94;
  letter-spacing: -0.04em;
}

.grad,
.gradient-text {
  color: transparent;
  background: var(--fire-grad);
  background-clip: text;
  -webkit-background-clip: text;
}

.ox-hero-sub {
  max-width: 59ch;
  margin: 0;
  color: var(--ash);
  font-size: clamp(1.04rem, 1.7vw, 1.2rem);
}

.ox-hero-sub strong { color: var(--bone); }
.ox-hero-ctas { margin-top: 2.1rem; }

.ox-hero-stats { margin-top: clamp(4rem, 9vh, 7rem); border-top: 1px solid var(--seam); }
.ox-hero-stats-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; padding: 1.5rem 0 1.7rem; }
.ox-hero-stat { min-width: 0; display: flex; flex-direction: column; gap: 0.18rem; }
.ox-hero-stat-num { font-family: var(--font-h1); font-size: clamp(1.25rem, 2.2vw, 1.85rem); font-weight: 800; }
.ox-hero-stat-num .u { color: var(--gold); }
.ox-hero-stat-lab { color: var(--text-muted-dark); font-family: var(--font-mono); font-size: 0.65rem; letter-spacing: 0.12em; text-transform: uppercase; }

/* Installed Text Panel instances */
.block-text { padding: clamp(4.5rem, 9vw, 7.5rem) 0; }
.home-intro { color: var(--ink); background: var(--paper); }
.home-intro-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.85fr); gap: clamp(2rem, 7vw, 6rem); align-items: start; }
.home-intro-primary > p:not(.section-eyebrow), .home-ideal-client p { color: var(--text-muted-light); }
.home-intro-primary h2, .home-intro-primary > p:not(.section-eyebrow) { color: #fff; }
.home-intro h2 { margin: 0.9rem 0 1.5rem; max-width: 12ch; }
.home-intro .section-eyebrow { color: var(--paper-red); }
.panel-cta { margin-top: 1.7rem; }

.home-ideal-client {
  position: relative;
  padding: clamp(1.6rem, 4vw, 2.5rem);
  color: #fff;
  background: var(--soot);
  border: 1px solid var(--seam);
  border-radius: var(--radius-lg);
  box-shadow: 22px 22px 0 var(--paper-red-12), var(--shadow-high);
  transform: translateY(1.25rem) rotate(1deg);
}

.home-ideal-client h3 { margin: 0.8rem 0 1.2rem; font-size: clamp(1.55rem, 3vw, 2.35rem); }
.home-ideal-client p { color: #fff; }
.panel-index { color: var(--ember) !important; font-family: var(--font-mono); font-size: 0.66rem; letter-spacing: 0.16em; text-transform: uppercase; }

/* Installed Method Panel */
.ox-method { padding: clamp(4.5rem, 9vw, 7.5rem) 0; color: #fff; background: var(--char); }
.ox-method h2 { margin: 0.9rem 0 1rem; }
.ox-method-sub { max-width: 62ch; margin: 0 0 2.7rem; color: #fff; }
.ox-method-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.1rem; align-items: stretch; }
.ox-method-step {
  position: relative;
  overflow: hidden;
  min-height: 100%;
  padding: 1.5rem 1.3rem 1.7rem;
  color: var(--bone);
  background: linear-gradient(155deg, var(--surface-raised), var(--soot));
  border: 1px solid var(--seam);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-low);
  transform: perspective(900px) rotateX(1deg);
  transition: transform 0.25s ease, border-color 0.25s ease;
}
.ox-method-step:hover { border-color: var(--ember-60); transform: perspective(900px) translateY(-6px) rotateX(0); }
.ox-method-step::after { content: ""; position: absolute; inset: auto 0 0; height: 3px; background: var(--fire-grad); }
.ox-method-n { color: var(--ember); font-family: var(--font-mono); font-size: 0.66rem; letter-spacing: 0.16em; text-transform: uppercase; }
.ox-method-t { margin: 0.55rem 0 0.7rem; font-size: 1.5rem; }
.ox-method-step p { margin: 0; color: #fff; font-size: 0.9rem; }
.ox-method-own { display: flex; gap: 1rem; align-items: flex-start; margin-top: 2rem; padding: 1.25rem 1.4rem; background: var(--ember-05); border: 1px solid var(--seam); border-radius: var(--radius-md); }
.ox-method-own p { margin: 0; }
.ox-method-own strong { color: var(--gold); }
.method-marker { width: 1.1rem; height: 1.1rem; margin-top: 0.25rem; flex: 0 0 auto; background: var(--fire-grad); border-radius: 3px 70% 70% 70%; transform: rotate(45deg); }

.home-expect { padding-top: 0; color: #fff; background: var(--char); }
.home-expect-grid { display: grid; grid-template-columns: 0.45fr 1.55fr; gap: clamp(2rem, 7vw, 6rem); padding: clamp(2rem, 5vw, 3.5rem); background: var(--soot); border: 1px solid var(--seam); border-radius: var(--radius-lg); box-shadow: var(--shadow-low); }
.home-expect h2 { margin-bottom: 1.5rem; font-size: clamp(1.8rem, 3.6vw, 3rem); }
.home-expect p:not(.panel-index) { color: #fff; }

/* Installed Service Accordion Panel */
.ox-svc { padding: clamp(4.5rem, 9vw, 7.5rem) 0; color: #fff; background: var(--soot); }
.ox-svc h2 { margin: 0.9rem 0 1rem; }
.ox-svc-sub { max-width: 64ch; margin: 0 0 2.8rem; color: #fff; }
.ox-svc-list { border-top: 1px solid var(--seam); }
.ox-svc-item { border-bottom: 1px solid var(--seam); }
.ox-svc-item summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.3rem; padding: 1.5rem 0.4rem; }
.ox-svc-item summary::-webkit-details-marker { display: none; }
.ox-svc-k { color: var(--text-muted-dark); font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.14em; }
.ox-svc-title { display: block; font-family: var(--font-h1); font-size: clamp(1.2rem, 2.8vw, 1.8rem); font-weight: 700; }
.ox-svc-summ { display: block; margin-top: 0.12rem; color: #fff; font-size: 0.9rem; }
.ox-svc-x { position: relative; width: 34px; height: 34px; border: 1px solid var(--seam); border-radius: 50%; }
.ox-svc-x::before, .ox-svc-x::after { content: ""; position: absolute; left: 50%; top: 50%; background: var(--gold); }
.ox-svc-x::before { width: 12px; height: 2px; transform: translate(-50%, -50%); }
.ox-svc-x::after { width: 2px; height: 12px; transform: translate(-50%, -50%); transition: transform 0.25s ease; }
.ox-svc-item[open] .ox-svc-x { border-color: var(--ember); }
.ox-svc-item[open] .ox-svc-x::after { transform: translate(-50%, -50%) scaleY(0); }
.ox-svc-cols { display: grid; grid-template-columns: 1.35fr 0.85fr; gap: 2.4rem; padding: 0.45rem 0.4rem 2rem; }
.ox-svc-cols p { color: #fff; }
.ox-svc-aside { padding-left: 1.6rem; border-left: 1px solid var(--seam); }
.ox-svc-aside-k { display: block; margin-bottom: 0.7rem; color: var(--ember); font-family: var(--font-mono); font-size: 0.64rem; letter-spacing: 0.15em; text-transform: uppercase; }
.ox-svc-chips { display: flex; flex-wrap: wrap; gap: 0.45rem; margin-bottom: 1.1rem; }
.ox-svc-chip { padding: 0.3rem 0.6rem; color: #fff; border: 1px solid var(--seam); border-radius: 999px; font-family: var(--font-mono); font-size: 0.62rem; }
.ox-svc-fit { padding: 0.85rem 1rem; border: 1px dashed var(--line-warm-dark); border-radius: 12px; }
.ox-svc-fit strong { color: var(--gold); }

.home-services-more { color: var(--ink); background: var(--paper); }
.services-more-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.2rem, 3vw, 2rem); }
.services-more-grid article { padding: clamp(1.5rem, 4vw, 2.5rem); background: var(--surface-paper-card); border: 1px solid var(--line-warm-light); border-radius: var(--radius-lg); box-shadow: var(--shadow-low); }
.services-more-grid article:nth-child(2) { transform: translateY(1.5rem); }
.services-more-grid h2 { margin: 0.65rem 0 1.25rem; font-size: clamp(1.8rem, 3vw, 2.6rem); }
.services-more-grid p:not(.panel-index) { color: var(--text-muted-light); }

/* Installed Features Panel, adapted to the approved no-source-image design */
.nl-benefits { padding: clamp(5rem, 10vw, 8rem) 0; color: #fff; background: var(--char); }
.nl-benefits .block-inner { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.nl-benefits-intro { position: sticky; top: 7rem; }
.nl-benefits h2 { margin: 0.85rem 0 1.2rem; }
.nl-benefits-copy { color: #fff; }
.nl-benefits-cta-wrap { margin-top: 1.6rem; }
.nl-benefits-list { display: grid; gap: 1rem; }
.nl-benefit { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: 1rem; padding: clamp(1.25rem, 3vw, 1.8rem); background: linear-gradient(145deg, var(--surface-raised), var(--soot)); border: 1px solid var(--seam); border-radius: var(--radius-md); box-shadow: var(--shadow-low); transition: transform 0.25s ease, border-color 0.25s ease; }
.nl-benefit:hover { transform: translateX(-8px); border-color: var(--ember-58); }
.nl-benefit-icon { width: 2.5rem; aspect-ratio: 1; display: grid; place-items: center; background: var(--ember-09); border: 1px solid var(--ember-22); border-radius: 10px; }
.nl-benefit-icon span { width: 0.8rem; aspect-ratio: 1; background: var(--fire-grad); border-radius: 2px 70% 70% 70%; transform: rotate(45deg); }
.nl-benefit h3 { margin-bottom: 0.6rem; font-size: clamp(1.25rem, 2.3vw, 1.8rem); }
.nl-benefit p { margin: 0; color: #fff; font-size: 0.94rem; }

.home-closing { position: relative; overflow: hidden; color: #fff; background: var(--soot); }
.home-closing::after { content: ""; position: absolute; width: 34rem; height: 20rem; right: -9rem; bottom: -12rem; background: radial-gradient(circle, var(--ember-28), transparent 70%); filter: blur(22px); }
.home-closing-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 0.9fr 1.1fr; gap: clamp(2rem, 7vw, 6rem); align-items: start; }
.home-closing h2 { margin-top: 0.8rem; }
.home-closing p { color: #fff; }

.site-foot { color: var(--ash); background: #000; border-top: 1px solid var(--seam); }
.site-foot-inner { display: grid; grid-template-columns: 1.5fr 0.8fr 0.7fr; gap: clamp(2rem, 7vw, 6rem); padding-block: clamp(3.5rem, 7vw, 5.5rem); }
.foot-logo-link {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 1.15rem;
  background: #000;
  line-height: 0;
}
.foot-logo {
  display: block;
  width: clamp(15rem, 24vw, 20rem);
  max-width: 100%;
  height: auto;
}
.foot-brand p { max-width: 32ch; }
.foot-label { color: var(--bone); font-family: var(--font-mono); font-size: 0.7rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; }
.foot-contact p { margin-bottom: 0.35rem; }
.foot-social { display: flex; flex-direction: column; align-items: flex-start; gap: 0.35rem; }
.foot-social a, .foot-contact a, .site-foot-base a { text-decoration-color: var(--gold-45); text-underline-offset: 0.25em; }
.site-foot-base { display: flex; justify-content: space-between; gap: 1.5rem; padding-block: 1.25rem; border-top: 1px solid var(--seam); font-family: var(--font-mono); font-size: 0.65rem; letter-spacing: 0.06em; }

@media (max-width: 980px) {
  .site-head-inner { grid-template-columns: auto 1fr; padding-block: 0.75rem; }
  .site-head-cta { display: none; }
  .site-nav { justify-content: flex-end; }
  .ox-method-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nl-benefits .block-inner { grid-template-columns: 1fr; }
  .nl-benefits-intro { position: static; }
}

@media (max-width: 760px) {
  .site-head-inner { grid-template-columns: 1fr; gap: 0.7rem; }
  .wordmark { height: 1.75rem; }
  .site-nav { justify-content: flex-start; overflow-x: auto; padding-bottom: 0.25rem; }
  .site-nav a { white-space: nowrap; }
  .ox-hero { min-height: auto; padding-top: 5rem; }
  .ox-hero::before, .ox-hero::after { opacity: 0.45; }
  .ox-hero-stats-grid { grid-template-columns: 1fr; }
  .home-intro-grid, .home-expect-grid, .home-closing-grid, .services-more-grid, .site-foot-inner { grid-template-columns: 1fr; }
  .home-ideal-client, .services-more-grid article:nth-child(2) { transform: none; }
  .ox-method-grid { grid-template-columns: 1fr; }
  .ox-svc-cols { grid-template-columns: 1fr; }
  .ox-svc-aside { padding: 1.2rem 0 0; border: 0; border-top: 1px solid var(--seam); }
  .site-foot-base { flex-direction: column; }
}

@media (max-width: 480px) {
  .block-inner, .site-head-inner, .site-foot-inner, .site-foot-base { width: min(calc(100% - 1.25rem), var(--content-width)); }
  .ox-svc-item summary { grid-template-columns: 1fr auto; }
  .ox-svc-k { display: none; }
  .ox-hero h1 { font-size: clamp(2.65rem, 14vw, 4rem); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
  .cta-btn:hover, .site-head-cta a:hover, .panel-cta a:hover, .nl-benefits-cta-wrap a:hover, .ox-hero-ctas a:hover,
  .ox-method-step:hover, .nl-benefit:hover { transform: none; }
  #embers { display: none; }
}

/* Landing template: conversion layout built from the approved home design system */
.page-landing .landing-head .site-head-cta .cta-btn { white-space: nowrap; }

.landing-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: min(880px, calc(100vh - 5rem));
  padding: clamp(4.5rem, 10vw, 8rem) 0;
  color: var(--bone);
  background:
    radial-gradient(80% 80% at 15% 12%, var(--blood-18), transparent 58%),
    radial-gradient(60% 70% at 80% 100%, var(--ember-15), transparent 72%),
    linear-gradient(145deg, var(--char), var(--soot) 64%, var(--surface-hero-deep));
}

.landing-hero::before {
  content: "";
  position: absolute;
  inset: 8% auto auto -9%;
  z-index: -1;
  width: min(48vw, 620px);
  aspect-ratio: 1.45;
  border: 1px solid var(--ember-22);
  border-radius: 34px;
  background: linear-gradient(145deg, var(--ember-09), var(--char-02));
  box-shadow: var(--shadow-high);
  transform: perspective(800px) rotateX(64deg) rotateZ(22deg);
}

.landing-hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(21rem, 0.72fr);
  gap: clamp(2.5rem, 7vw, 6.5rem);
  align-items: center;
}

.landing-hero-copy { max-width: 49rem; }

.landing-hero-kicker,
.form-step,
.nl-reviews-eyebrow,
.nl-cards-eyebrow {
  margin: 0;
  color: var(--gold);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.landing-hero h1 {
  max-width: 12ch;
  margin: 1.25rem 0 1.55rem;
  font-size: clamp(3.1rem, 7vw, 6.45rem);
  font-weight: 800;
  line-height: 0.92;
  letter-spacing: -0.045em;
}

.landing-hero-sub {
  max-width: 56ch;
  margin: 0;
  color: var(--ash);
  font-size: clamp(1rem, 1.7vw, 1.2rem);
}

.landing-scroll-cue {
  display: inline-flex;
  gap: 0.7rem;
  align-items: center;
  margin-top: 2.2rem;
  color: var(--bone);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}

.landing-scroll-cue span { color: var(--gold); transition: transform 0.2s ease; }
.landing-scroll-cue:hover span { transform: translateY(4px); }

.landing-lead-card {
  position: relative;
  padding: clamp(1.5rem, 3.6vw, 2.5rem);
  border: 1px solid var(--line-warm-dark);
  border-radius: var(--radius-lg);
  background: linear-gradient(160deg, var(--surface-raised), var(--soot));
  box-shadow: 24px 24px 0 var(--ember-05), var(--shadow-high);
  transform: perspective(1100px) rotateY(-2deg) rotateX(1deg);
  transition: transform 0.3s ease, border-color 0.3s ease;
}

.landing-lead-card:hover {
  border-color: var(--ember-58);
  transform: perspective(1100px) rotateY(0) translateY(-5px);
}

.landing-lead-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  background: var(--fire-grad);
}

.landing-lead-card h2 {
  margin: 0.75rem 0 1.4rem;
  font-size: clamp(1.8rem, 3.5vw, 2.85rem);
}

.landing-lead-card .sb-cta-placement { margin: 0; }

.landing-lead-card .cta-form {
  max-width: none;
  gap: 0.9rem;
  padding: 0;
  background: transparent !important;
  color: var(--bone) !important;
}

.landing-lead-card .cta-form-field { gap: 0.4rem; }

.landing-lead-card .cta-form-label {
  color: var(--ash);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.landing-lead-card .cta-form input,
.landing-lead-card .cta-form textarea,
.landing-lead-card .cta-form select {
  min-height: 3.2rem;
  padding: 0.7rem 0.9rem;
  color: var(--bone);
  background: var(--char);
  border: 1px solid var(--line-warm-dark);
  border-radius: var(--radius-sm);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.landing-lead-card .cta-form input:hover,
.landing-lead-card .cta-form textarea:hover,
.landing-lead-card .cta-form select:hover { border-color: var(--ember-58); }

.landing-lead-card .cta-form input:focus,
.landing-lead-card .cta-form textarea:focus,
.landing-lead-card .cta-form select:focus {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
  border-color: var(--gold);
  box-shadow: 0 0 0 5px var(--gold-20);
}

.landing-lead-card .cta-form .cta-btn {
  margin-top: 0.2rem;
  color: var(--ink) !important;
  background: var(--fire-grad) !important;
}

.form-assurance {
  margin: 1rem 0 0;
  color: var(--text-muted-dark);
  font-size: 0.78rem;
  text-align: center;
}

.landing-hero-orbit {
  position: absolute;
  right: -5rem;
  bottom: -11rem;
  z-index: 1;
  width: min(48vw, 680px);
  aspect-ratio: 1;
  border: 1px solid var(--ember-13);
  border-radius: 50%;
  animation: landing-orbit 24s linear infinite;
}

.landing-hero-orbit::before,
.landing-hero-orbit::after,
.landing-hero-orbit span {
  content: "";
  position: absolute;
  border: 1px solid var(--gold-20);
  border-radius: 50%;
}

.landing-hero-orbit::before { inset: 16%; }
.landing-hero-orbit::after { inset: 32%; }
.landing-hero-orbit span:nth-child(1) { width: 1.2rem; aspect-ratio: 1; top: 14%; left: 17%; background: var(--gold); box-shadow: 0 0 35px var(--gold-45); }
.landing-hero-orbit span:nth-child(2) { width: 0.75rem; aspect-ratio: 1; right: 8%; top: 44%; background: var(--ember); box-shadow: 0 0 30px var(--ember-58); }
.landing-hero-orbit span:nth-child(3) { width: 0.55rem; aspect-ratio: 1; left: 31%; bottom: 4%; background: var(--blood); }

@keyframes landing-orbit { to { transform: rotate(360deg); } }

.landing-intro {
  color: var(--ink);
  background: var(--paper);
}

.landing-intro-grid,
.landing-why-grid {
  display: grid;
  grid-template-columns: minmax(9rem, 0.42fr) minmax(0, 1.58fr);
  gap: clamp(2rem, 7vw, 6rem);
  align-items: start;
}

.landing-intro h2 { max-width: 13ch; margin-bottom: 1.8rem; }
.landing-intro p:not(.panel-index) { max-width: 68ch; color: var(--text-muted-light); }
.landing-intro .section-lead { color: var(--ink) !important; font-size: clamp(1.15rem, 2vw, 1.42rem); font-weight: 600; }

.landing-reviews {
  overflow: hidden;
  padding: clamp(5rem, 10vw, 8rem) 0;
  color: var(--bone);
  background: var(--char);
}

.nl-reviews-head {
  max-width: 50rem;
  margin: 0 auto clamp(2.4rem, 5vw, 4rem);
  text-align: center;
}

.nl-reviews-head h2 { margin-top: 0.85rem; }
.nl-review-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); }

.nl-review-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 25rem;
  padding: clamp(1.4rem, 2.5vw, 2rem);
  border: 1px solid var(--seam);
  border-radius: var(--radius-lg);
  background: linear-gradient(160deg, var(--surface-raised), var(--soot));
  box-shadow: var(--shadow-low);
  transition: transform 0.25s ease, border-color 0.25s ease;
}

.nl-review-card:nth-child(2) { transform: translateY(1.5rem); }
.nl-review-card:hover { border-color: var(--ember-58); transform: translateY(-7px) rotateX(1deg); }
.nl-review-card:nth-child(2):hover { transform: translateY(0) rotateX(1deg); }
.nl-review-stars { display: flex; gap: 0.3rem; margin-bottom: 1.3rem; }
.nl-review-stars span { width: 0.55rem; aspect-ratio: 1; background: var(--fire-grad); transform: rotate(45deg); }
.nl-review-avatar { width: 3rem; aspect-ratio: 1; display: grid; place-items: center; margin-bottom: 1.2rem; color: var(--ink); background: var(--gold); border-radius: 50%; font-family: var(--font-h1); font-weight: 800; }
.nl-review-text { margin: 0; color: var(--ash); line-height: 1.72; }
.nl-review-footer { margin-top: auto; padding-top: 1.5rem; border-top: 1px solid var(--seam); }
.nl-review-name { margin: 0; color: var(--bone); font-weight: 700; }
.nl-review-meta { min-height: 1.35em; margin: 0.2rem 0 0; color: var(--text-muted-dark); font-size: 0.86rem; }

.landing-team {
  padding: clamp(5rem, 10vw, 8rem) 0;
  color: var(--ink);
  background: var(--paper);
}

.nl-cards-head { max-width: 48rem; margin: 0 auto clamp(2.5rem, 5vw, 4rem); text-align: center; }
.nl-cards-head h2 { margin: 0.85rem 0 1rem; }
.nl-cards-intro { margin: 0; color: var(--text-muted-light); }
.landing-team .nl-cards-eyebrow { color: var(--paper-red); }
.nl-cards-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 1.7rem); perspective: 1200px; }

.landing-team .nl-card {
  position: relative;
  overflow: hidden;
  min-height: 16rem;
  padding: clamp(1.4rem, 3vw, 2rem);
  color: var(--bone);
  background: linear-gradient(145deg, var(--surface-raised), var(--soot));
  border: 1px solid var(--seam);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-low);
  transform: rotateY(2deg);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.landing-team .nl-card:nth-child(2) { transform: translateY(1.5rem) rotateY(0); }
.landing-team .nl-card:nth-child(3) { transform: rotateY(-2deg); }
.landing-team .nl-card:hover { border-color: var(--ember-58); box-shadow: var(--shadow-high); transform: translateY(-8px) rotateY(0); }
.team-number { position: absolute; right: 1.2rem; top: 0.6rem; color: var(--ember-09); font-family: var(--font-h1); font-size: 5.8rem; font-weight: 800; line-height: 1; }
.landing-team .nl-card h3 { position: relative; margin-top: auto; font-size: clamp(1.55rem, 2.5vw, 2.2rem); }
.landing-team .nl-card-kicker { position: relative; margin: 0.4rem 0 0; color: var(--gold); font-family: var(--font-mono); font-size: 0.74rem; letter-spacing: 0.16em; text-transform: uppercase; }
.landing-team .nl-card-copy { margin: 0; }

.page-landing .ox-method-own .fl {
  color: var(--ember);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.15em;
}

.landing-why {
  position: relative;
  overflow: hidden;
  color: var(--bone);
  background: var(--char);
}

.landing-why::before {
  content: "";
  position: absolute;
  width: min(45vw, 600px);
  aspect-ratio: 1.4;
  left: -14rem;
  bottom: -9rem;
  border: 1px solid var(--ember-13);
  border-radius: var(--radius-lg);
  background: linear-gradient(145deg, var(--ember-09), transparent);
  transform: rotate(-18deg);
}

.landing-why-grid { position: relative; z-index: 1; grid-template-columns: minmax(18rem, 0.8fr) minmax(0, 1.2fr); }
.landing-why h2 { margin-top: 0.85rem; }
.landing-why p:not(.section-eyebrow) { color: var(--ash); }

.landing-closing { border-top: 1px solid var(--seam); }

@media (max-width: 980px) {
  .landing-hero { min-height: auto; }
  .landing-hero-grid { grid-template-columns: 1fr; }
  .landing-hero-copy { max-width: 52rem; }
  .landing-lead-card { max-width: 38rem; transform: none; }
  .landing-hero-orbit { width: 70vw; opacity: 0.55; }
  .nl-review-row { display: flex; overflow-x: auto; padding: 0 0.25rem 1.5rem; scroll-snap-type: x mandatory; scrollbar-color: var(--ember) var(--soot); }
  .nl-review-card { flex: 0 0 min(24rem, 84vw); scroll-snap-align: center; }
  .nl-review-card:nth-child(2) { transform: none; }
}

@media (max-width: 760px) {
  .landing-hero { padding-top: 4.5rem; }
  .landing-hero h1 { font-size: clamp(2.7rem, 13vw, 4.8rem); }
  .landing-intro-grid,
  .landing-why-grid,
  .nl-cards-grid { grid-template-columns: 1fr; }
  .landing-team .nl-card,
  .landing-team .nl-card:nth-child(2),
  .landing-team .nl-card:nth-child(3) { min-height: 13rem; transform: none; }
}

@media (max-width: 480px) {
  .landing-lead-card { padding: 1.25rem; border-radius: var(--radius-md); box-shadow: var(--shadow-high); }
  .landing-scroll-cue { font-size: 0.66rem; }
  .nl-review-card { flex-basis: 89vw; }
}

@media (prefers-reduced-motion: reduce) {
  .landing-hero-orbit { animation: none; }
  .landing-scroll-cue:hover span,
  .landing-lead-card:hover,
  .nl-review-card:hover,
  .nl-review-card:nth-child(2):hover,
  .landing-team .nl-card:hover { transform: none; }
}

/* Case-study index template: evidence-led index using the shared fire system */
.case-index-hero {
  min-height: min(790px, calc(100vh - 5rem));
  padding-top: clamp(5rem, 11vw, 8rem);
  background:
    radial-gradient(60% 90% at 80% 100%, var(--ember-20), transparent 70%),
    linear-gradient(145deg, var(--char), var(--soot) 66%, var(--surface-hero-deep));
}

.case-index-hero h1 { max-width: 11ch; }
.case-index-hero .ox-hero-sub { font-family: var(--font-h1); font-size: clamp(1.15rem, 2vw, 1.5rem); font-weight: 500; }
.case-index-hero .ox-hero-stats { margin-top: clamp(3.5rem, 8vh, 6rem); }

.case-hero-grid {
  position: absolute;
  inset: 0 0 0 auto;
  z-index: -1;
  width: min(55vw, 760px);
  overflow: hidden;
  opacity: 0.7;
  transform: perspective(1000px) rotateY(-11deg) rotateZ(-4deg);
  transform-origin: right center;
}

.case-hero-grid::before,
.case-hero-grid::after,
.case-hero-grid span {
  content: "";
  position: absolute;
  border: 1px solid var(--ember-22);
  border-radius: var(--radius-lg);
  background: linear-gradient(145deg, var(--ember-08), transparent);
  box-shadow: var(--shadow-high);
}

.case-hero-grid::before { width: 68%; height: 28%; right: -4%; top: 13%; }
.case-hero-grid::after { width: 58%; height: 25%; right: 13%; top: 43%; }
.case-hero-grid span:nth-child(1) { width: 41%; height: 18%; right: 2%; bottom: 8%; }
.case-hero-grid span:nth-child(2) { width: 1rem; aspect-ratio: 1; right: 16%; top: 9%; border-radius: 50%; background: var(--gold); box-shadow: 0 0 32px var(--gold-45); }
.case-hero-grid span:nth-child(3) { width: 0.7rem; aspect-ratio: 1; left: 18%; top: 54%; border-radius: 50%; background: var(--ember); box-shadow: 0 0 30px var(--ember-58); }
.case-hero-grid span:nth-child(4) { width: 0.5rem; aspect-ratio: 1; right: 44%; bottom: 9%; border-radius: 50%; background: var(--blood); }

.case-index-nav {
  position: relative;
  z-index: 4;
  padding: clamp(2.5rem, 5vw, 4rem) 0;
  color: var(--bone);
  background: var(--soot);
  border-block: 1px solid var(--seam);
}

.case-index-nav-head {
  display: grid;
  grid-template-columns: minmax(8rem, 0.4fr) minmax(0, 1.6fr);
  gap: clamp(1.5rem, 5vw, 4rem);
  align-items: end;
  margin-bottom: 2rem;
}

.case-index-nav h2 { font-size: clamp(2rem, 4vw, 3.4rem); }
.industry-jumps { display: flex; gap: 0.65rem; overflow-x: auto; padding: 0.2rem 0 0.8rem; scroll-snap-type: x proximity; scrollbar-color: var(--ember) var(--char); }
.site-nav,
.industry-jumps { scrollbar-width: none; }
.site-nav::-webkit-scrollbar,
.industry-jumps::-webkit-scrollbar { display: none; }

.industry-jumps a {
  flex: 0 0 auto;
  scroll-snap-align: start;
  padding: 0.65rem 0.9rem;
  color: var(--ash);
  background: var(--char);
  border: 1px solid var(--seam);
  border-radius: 999px;
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.industry-jumps a:hover,
.industry-jumps a:focus-visible { color: var(--bone); border-color: var(--ember); transform: translateY(-2px); }

.case-industry {
  position: relative;
  scroll-margin-top: 5rem;
  transition: box-shadow 0.35s ease;
}

.case-industry:target { box-shadow: inset 5px 0 0 var(--ember); }
.case-industry-dark { color: var(--bone); background: var(--char); }
.case-industry-paper { color: var(--ink); background: var(--paper); }

.case-industry-head {
  display: grid;
  grid-template-columns: minmax(8rem, 0.4fr) minmax(0, 1.6fr);
  gap: clamp(1.5rem, 5vw, 4rem);
  align-items: end;
  margin-bottom: clamp(2rem, 5vw, 3.5rem);
}

.case-industry-head h2 { font-size: clamp(2.6rem, 6vw, 5.2rem); }
.case-study-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(0.9rem, 2vw, 1.35rem); margin-bottom: clamp(2.5rem, 6vw, 4.5rem); perspective: 1300px; }
.case-study-grid-two { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 54rem; }
.case-study-grid-one { grid-template-columns: minmax(0, 26rem); }

.case-study-card { min-width: 0; }

.case-study-card a {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 16.5rem;
  display: flex;
  flex-direction: column;
  padding: clamp(1.25rem, 2.5vw, 1.8rem);
  color: var(--bone);
  background: linear-gradient(150deg, var(--surface-raised), var(--soot));
  border: 1px solid var(--seam);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-low);
  text-decoration: none;
  transform: perspective(900px) rotateX(1.5deg);
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.case-study-card a::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  z-index: -1;
  height: 4px;
  background: var(--fire-grad);
}

.case-study-card a:hover,
.case-study-card a:focus-visible {
  border-color: var(--ember-58);
  box-shadow: var(--shadow-high);
  transform: perspective(900px) translateY(-8px) rotateX(0);
}

.case-card-number {
  position: absolute;
  right: 1rem;
  top: 0.5rem;
  z-index: -1;
  color: var(--ember-09);
  font-family: var(--font-h1);
  font-size: clamp(4.5rem, 7vw, 7rem);
  font-weight: 800;
  line-height: 1;
}

.case-card-industry,
.served-label {
  color: var(--gold);
  font-family: var(--font-mono);
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.case-study-card h3 { max-width: 12ch; margin: auto 0 1.5rem; font-size: clamp(1.35rem, 2.2vw, 1.9rem); }
.case-card-action { color: var(--ash); font-family: var(--font-mono); font-size: 0.66rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; }
.case-study-card a:hover .case-card-action,
.case-study-card a:focus-visible .case-card-action { color: var(--gold); }

.served-label { margin: 0 0 1rem; }
.case-industry-paper .served-label { color: var(--paper-red); }
.served-cloud { display: flex; flex-wrap: wrap; gap: 0.55rem; margin: 0; padding: 0; list-style: none; }

.served-cloud li {
  padding: 0.45rem 0.75rem;
  border: 1px solid var(--seam);
  border-radius: 999px;
  color: var(--ash);
  font-size: 0.82rem;
}

.case-industry-paper .served-cloud li { color: var(--text-muted-light); background: var(--surface-paper-card); border-color: var(--line-warm-light); }

.case-index-about {
  position: relative;
  overflow: hidden;
  padding: clamp(5rem, 10vw, 8rem) 0;
  color: var(--bone);
  background: var(--soot);
  border-top: 1px solid var(--seam);
}

.case-index-about::after {
  content: "";
  position: absolute;
  width: min(55vw, 720px);
  aspect-ratio: 1.5;
  right: -18%;
  bottom: -38%;
  background: radial-gradient(circle, var(--ember-28), transparent 68%);
  filter: blur(24px);
}

.case-about-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(18rem, 0.78fr) minmax(0, 1.22fr); gap: clamp(2.5rem, 7vw, 6rem); align-items: start; }
.case-about-heading { position: sticky; top: 7rem; }
.case-about-heading h2 { margin: 0.9rem 0 2rem; }
.case-about-copy p { color: var(--ash); }

.case-about-proof {
  display: grid;
  gap: 0.2rem;
  max-width: 19rem;
  padding: 1.25rem 1.4rem;
  background: var(--ember-05);
  border: 1px solid var(--seam);
  border-radius: var(--radius-md);
}

.case-about-proof strong { color: var(--gold); font-family: var(--font-h1); font-size: 2.8rem; line-height: 1; }
.case-about-proof span { color: var(--ash); font-family: var(--font-mono); font-size: 0.67rem; letter-spacing: 0.08em; text-transform: uppercase; }
.case-about-question { margin-top: 2rem; color: var(--bone) !important; font-family: var(--font-h1); font-size: 1.35rem; font-weight: 700; }

@media (max-width: 980px) {
  .case-index-hero { min-height: auto; }
  .case-study-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .case-study-grid-one { grid-template-columns: minmax(0, 1fr); max-width: 26rem; }
  .case-about-grid { grid-template-columns: 1fr; }
  .case-about-heading { position: static; }
}

@media (max-width: 760px) {
  .case-index-hero h1 { font-size: clamp(2.75rem, 14vw, 4.8rem); }
  .case-hero-grid { width: 90vw; opacity: 0.42; }
  .case-index-nav-head,
  .case-industry-head { grid-template-columns: 1fr; gap: 0.7rem; }
  .case-study-grid,
  .case-study-grid-two { grid-template-columns: 1fr; max-width: none; }
  .case-study-card a { min-height: 13rem; }
  .served-cloud { gap: 0.45rem; }
  .served-cloud li { padding: 0.38rem 0.62rem; font-size: 0.76rem; }
  .page-case-index .neat-menu__list li:not(:first-child) { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .industry-jumps a:hover,
  .industry-jumps a:focus-visible,
  .case-study-card a:hover,
  .case-study-card a:focus-visible { transform: none; }
}

/* Case-study detail template: an editorial proof story using the shared fire system */
.page-case-detail { background: var(--char); }

.page-case-detail [id^="bdetail"] { scroll-margin-top: 6rem; }

.page-case-detail [id^="bdetail"]:target {
  animation: case-detail-target 1.1s ease-out;
}

@keyframes case-detail-target {
  0% { box-shadow: inset 0 0 0 3px var(--gold); }
  100% { box-shadow: inset 0 0 0 3px transparent; }
}

.case-detail-hero {
  position: relative;
  min-height: calc(100svh - 5rem);
  display: grid;
  align-items: end;
  overflow: hidden;
  padding: clamp(5.5rem, 10vw, 8.5rem) 0 0;
  color: var(--bone);
  background:
    radial-gradient(circle at 70% 28%, var(--ember-13), transparent 26%),
    radial-gradient(circle at 45% 110%, var(--ember-20), transparent 42%),
    var(--char);
  perspective: 1100px;
}

.case-detail-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 35%;
  background: linear-gradient(transparent, var(--ember-08));
  pointer-events: none;
}

.case-detail-hero .block-inner { position: relative; z-index: 3; }

.case-detail-back {
  display: inline-flex;
  margin-bottom: clamp(2.4rem, 6vw, 4.5rem);
  color: var(--ash);
  font-family: var(--font-mono);
  font-size: 0.69rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-decoration: none;
  text-transform: uppercase;
}

.case-detail-back::before { content: "←"; margin-right: 0.55rem; color: var(--gold); }
.case-detail-back:hover { color: var(--bone); }

.case-detail-hero h1 {
  max-width: 12ch;
  margin: 1.25rem 0 1.35rem;
  font-size: clamp(3.4rem, 8vw, 7rem);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 0.9;
}

.case-detail-hero .ox-hero-sub {
  max-width: 38ch;
  color: var(--ash);
  font-size: clamp(1.15rem, 2vw, 1.45rem);
}

.case-detail-hero .ox-hero-ctas { margin-top: 2rem; }

.case-detail-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: clamp(3.5rem, 8vw, 6.5rem);
  border-top: 1px solid var(--seam);
}

.case-detail-facts > div {
  display: grid;
  gap: 0.2rem;
  padding: 1.35rem clamp(0.8rem, 2vw, 1.5rem) 1.55rem 0;
  border-right: 1px solid var(--seam);
}

.case-detail-facts > div + div { padding-left: clamp(0.8rem, 2vw, 1.5rem); }
.case-detail-facts > div:last-child { border-right: 0; }
.case-detail-facts strong { font-family: var(--font-h1); font-size: clamp(1.15rem, 2.2vw, 1.6rem); }
.case-detail-facts span { color: var(--text-muted-dark); font-family: var(--font-mono); font-size: 0.64rem; letter-spacing: 0.13em; text-transform: uppercase; }

.case-detail-hero-grid {
  position: absolute;
  inset: 5% -10% auto auto;
  width: min(52vw, 760px);
  aspect-ratio: 1;
  transform: rotateX(62deg) rotateZ(-18deg) translateZ(-40px);
  transform-style: preserve-3d;
  opacity: 0.48;
  transition: transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.case-detail-hero-grid span {
  position: absolute;
  inset: calc(var(--i, 0) * 9%);
  border: 1px solid var(--line-warm-dark);
  border-radius: 18%;
  box-shadow: inset 0 0 40px var(--ember-08), var(--shadow-high);
}

.case-detail-hero-grid span:nth-child(1) { --i: 0; transform: translateZ(0); }
.case-detail-hero-grid span:nth-child(2) { --i: 1; transform: translateZ(42px); }
.case-detail-hero-grid span:nth-child(3) { --i: 2; transform: translateZ(84px); }
.case-detail-hero-grid span:nth-child(4) { --i: 3; transform: translateZ(126px); border-color: var(--ember); }
.case-detail-hero:hover .case-detail-hero-grid { transform: rotateX(58deg) rotateZ(-13deg) translate3d(-2%, -2%, 25px); }

.case-detail-hero-orbit {
  position: absolute;
  top: 20%;
  right: 12%;
  width: clamp(10rem, 17vw, 16rem);
  aspect-ratio: 1;
  border: 1px solid var(--line-warm-dark);
  border-radius: 50%;
  transform: rotateX(66deg) rotateZ(20deg);
  box-shadow: 0 0 70px var(--ember-08);
}

.case-detail-hero-orbit span { position: absolute; border-radius: 50%; background: var(--gold); }
.case-detail-hero-orbit span:nth-child(1) { width: 0.55rem; height: 0.55rem; left: 8%; top: 47%; }
.case-detail-hero-orbit span:nth-child(2) { width: 0.35rem; height: 0.35rem; right: 12%; top: 30%; background: var(--ember); }
.case-detail-hero-orbit span:nth-child(3) { width: 0.25rem; height: 0.25rem; right: 30%; bottom: 5%; background: var(--blood); }

.case-detail-overview,
.case-detail-results {
  padding: clamp(5rem, 10vw, 8rem) 0;
  color: var(--ink);
  background: var(--paper);
}

.case-detail-section-head .panel-index,
.case-detail-results .ox-proof-eyebrow { margin-bottom: 1rem; }

.case-detail-section-head h2,
.case-detail-results h2 { max-width: 12ch; }

.case-detail-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(19rem, 0.85fr);
  gap: clamp(2rem, 7vw, 6rem);
  align-items: start;
  margin-top: clamp(2.4rem, 5vw, 4rem);
}

.case-detail-lede {
  max-width: 38ch;
  color: var(--text-muted-light);
  font-size: clamp(1.25rem, 2.4vw, 1.75rem);
  line-height: 1.45;
}

.case-client-card {
  position: relative;
  padding: clamp(1.5rem, 3.5vw, 2.3rem);
  border: 1px solid var(--line-warm-light);
  border-radius: 20px;
  background: var(--surface-paper-card);
  box-shadow: 0 28px 55px -42px var(--ink);
  transform: perspective(800px) rotateY(-2deg);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.case-client-card:hover { transform: perspective(800px) rotateY(0) translateY(-5px); box-shadow: 0 35px 65px -42px var(--ink); }
.case-client-label { color: var(--paper-red); font-family: var(--font-mono); font-size: 0.66rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; }
.case-client-card h3 { margin-bottom: 0.9rem; font-size: clamp(1.45rem, 2.5vw, 2rem); }
.case-client-card p:last-child { margin: 0; color: var(--text-muted-light); }

.case-detail-gameplan {
  position: relative;
  padding: clamp(5rem, 10vw, 8rem) 0;
  color: var(--bone);
  background: var(--soot);
  overflow: hidden;
}

.case-detail-gameplan::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.32;
  background: repeating-linear-gradient(90deg, transparent 0 12.4%, var(--white-025) 12.5% 12.6%);
  pointer-events: none;
}

.case-detail-gameplan .block-inner { position: relative; }
.case-detail-gameplan .panel-index { color: var(--gold); }

.case-gameplan-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(21rem, 0.9fr);
  gap: clamp(2rem, 7vw, 6rem);
  align-items: start;
  margin-top: clamp(2.4rem, 5vw, 4rem);
}

.case-gameplan-grid > p { max-width: 44ch; color: var(--ash); font-size: clamp(1.05rem, 1.8vw, 1.25rem); }
.case-gameplan-steps { display: grid; gap: 0.7rem; margin: 0; padding: 0; list-style: none; counter-reset: none; }

.case-gameplan-steps li {
  display: grid;
  grid-template-columns: 3rem 1fr;
  align-items: center;
  min-height: 4.8rem;
  padding: 0 1.2rem;
  border: 1px solid var(--line-warm-dark);
  border-radius: 14px;
  background: var(--char);
  transition: border-color 0.25s ease, transform 0.25s ease;
}

.case-gameplan-steps li:hover { border-color: var(--ember); transform: translateX(-0.4rem); }
.case-gameplan-steps span { color: var(--ember); font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.12em; }
.case-gameplan-steps strong { font-family: var(--font-h1); font-size: 1.12rem; }

.case-detail-results .ox-proof-sub { max-width: 48ch; margin-top: 1rem; color: var(--text-muted-light); }

.case-result-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: clamp(2.5rem, 6vw, 4.5rem);
  perspective: 1100px;
}

.case-result-card {
  min-height: 25rem;
  display: flex;
  flex-direction: column;
  padding: clamp(1.4rem, 3vw, 2rem);
  border: 1px solid var(--line-warm-light);
  border-radius: 20px;
  background: var(--surface-paper-card);
  box-shadow: 0 30px 55px -42px var(--ink);
  transform-style: preserve-3d;
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}

.case-result-card:nth-child(2) { transform: translateY(1.6rem); }
.case-result-card:hover { z-index: 2; border-color: var(--paper-red); box-shadow: 0 38px 65px -38px var(--ink); transform: translateY(-0.5rem) rotateX(1.5deg) rotateY(-1.5deg); }
.case-result-card:nth-child(2):hover { transform: translateY(0.8rem) rotateX(1.5deg); }
.case-result-index { color: var(--paper-red); font-family: var(--font-mono); font-size: 0.65rem; letter-spacing: 0.16em; }
.case-result-number { margin-top: auto; color: var(--paper-red); font-family: var(--font-h1); font-size: clamp(3rem, 6vw, 5rem); font-weight: 800; letter-spacing: -0.045em; line-height: 0.9; }
.case-result-label { margin-top: 0.8rem; color: var(--ink); font-family: var(--font-mono); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; }
.case-result-card p { margin: 1.2rem 0 0; color: var(--text-muted-light); }

.case-detail-takeaway {
  padding: clamp(5rem, 10vw, 8rem) 0;
  color: var(--bone);
  background:
    radial-gradient(circle at 75% 60%, var(--ember-13), transparent 28%),
    var(--char);
}

.case-takeaway-grid { display: grid; grid-template-columns: minmax(17rem, 0.8fr) minmax(0, 1.2fr); gap: clamp(2.5rem, 8vw, 7rem); align-items: start; }
.case-detail-takeaway .case-detail-section-head { position: sticky; top: 8rem; }
.case-detail-takeaway .panel-index { color: var(--gold); }
.case-takeaway-copy { max-width: 48rem; }
.case-takeaway-copy > p { color: var(--ash); font-size: clamp(1.02rem, 1.6vw, 1.18rem); }
.case-takeaway-copy strong { color: var(--bone); }
.case-takeaway-copy .panel-cta { margin-top: 2rem; }

.case-all-link {
  display: inline-flex;
  margin-top: 1.25rem;
  color: var(--gold);
  font-family: var(--font-mono);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.35rem;
  text-transform: uppercase;
}

@media (max-width: 980px) {
  .case-detail-hero { min-height: auto; }
  .case-detail-hero-grid { right: -22%; width: 75vw; }
  .case-detail-overview-grid,
  .case-gameplan-grid,
  .case-takeaway-grid { grid-template-columns: 1fr; }
  .case-detail-takeaway .case-detail-section-head { position: static; }
  .case-result-card { min-height: 22rem; }
}

@media (max-width: 760px) {
  .page-case-detail .neat-menu__list li:not(:first-child) { display: none; }
  .case-detail-hero h1 { font-size: clamp(3.25rem, 16vw, 5.5rem); }
  .case-detail-hero-grid { inset: 16% -42% auto auto; width: 110vw; opacity: 0.3; }
  .case-detail-hero-orbit { top: 18%; right: -10%; opacity: 0.5; }
  .case-detail-facts { grid-template-columns: 1fr; }
  .case-detail-facts > div,
  .case-detail-facts > div + div { padding: 1rem 0; border-right: 0; border-bottom: 1px solid var(--seam); }
  .case-detail-facts > div:last-child { border-bottom: 0; }
  .case-result-grid { grid-template-columns: 1fr; }
  .case-result-card,
  .case-result-card:nth-child(2) { min-height: 19rem; transform: none; }
  .case-gameplan-grid { gap: 1.2rem; }
}

@media (prefers-reduced-motion: reduce) {
  .page-case-detail [id^="bdetail"]:target { animation: none; box-shadow: inset 0 0 0 3px var(--gold); }
  .case-detail-hero-grid,
  .case-client-card,
  .case-gameplan-steps li,
  .case-result-card { transition: none; }
  .case-detail-hero:hover .case-detail-hero-grid,
  .case-client-card:hover,
  .case-gameplan-steps li:hover,
  .case-result-card:hover,
  .case-result-card:nth-child(2):hover { transform: none; }
}

/* Blog-index template: a text-first editorial archive in the shared fire system */
.page-blog-index { background: var(--char); }
.page-blog-index [id^="bblog"] { scroll-margin-top: 6rem; }
.page-blog-index [id^="bblog"]:target { animation: blog-target 1.1s ease-out; }

@keyframes blog-target {
  0% { box-shadow: inset 0 0 0 3px var(--gold); }
  100% { box-shadow: inset 0 0 0 3px transparent; }
}

.blog-index-hero {
  position: relative;
  min-height: calc(100svh - 5rem);
  display: grid;
  align-items: end;
  overflow: hidden;
  padding: clamp(6rem, 11vw, 9rem) 0 0;
  color: var(--bone);
  background:
    radial-gradient(circle at 74% 35%, var(--ember-13), transparent 28%),
    radial-gradient(circle at 40% 110%, var(--blood-18), transparent 42%),
    var(--char);
  perspective: 1100px;
}

.blog-index-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 38%;
  background: linear-gradient(transparent, var(--ember-08));
  pointer-events: none;
}

.blog-index-hero .block-inner { position: relative; z-index: 3; }
.blog-index-hero h1 { max-width: 11ch; margin: 1.3rem 0 1.4rem; font-size: clamp(3.7rem, 9vw, 7.5rem); font-weight: 800; letter-spacing: -0.04em; line-height: 0.87; }
.blog-index-hero .ox-hero-sub { max-width: 42ch; color: var(--ash); font-size: clamp(1.15rem, 2vw, 1.45rem); }
.blog-index-hero .ox-hero-ctas { margin-top: 2rem; }

.blog-hero-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: clamp(3.5rem, 8vw, 6.5rem);
  border-top: 1px solid var(--seam);
}

.blog-hero-facts > div { display: grid; gap: 0.2rem; padding: 1.35rem clamp(0.8rem, 2vw, 1.5rem) 1.55rem 0; border-right: 1px solid var(--seam); }
.blog-hero-facts > div + div { padding-left: clamp(0.8rem, 2vw, 1.5rem); }
.blog-hero-facts > div:last-child { border-right: 0; }
.blog-hero-facts strong { font-family: var(--font-h1); font-size: clamp(1.35rem, 2.5vw, 1.9rem); line-height: 1; }
.blog-hero-facts span { color: var(--text-muted-dark); font-family: var(--font-mono); font-size: 0.64rem; letter-spacing: 0.13em; text-transform: uppercase; }

.blog-hero-stack {
  position: absolute;
  top: 11%;
  right: -3%;
  width: min(48vw, 680px);
  aspect-ratio: 1.15;
  transform: rotateX(62deg) rotateZ(-17deg);
  transform-style: preserve-3d;
  opacity: 0.6;
  transition: transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.blog-hero-stack span {
  position: absolute;
  inset: 4% 8%;
  border: 1px solid var(--line-warm-dark);
  border-radius: 20px;
  background: linear-gradient(135deg, var(--ember-05), transparent 58%);
  box-shadow: var(--shadow-high);
}

.blog-hero-stack span:nth-child(1) { transform: translate3d(-12%, 8%, 0); }
.blog-hero-stack span:nth-child(2) { transform: translate3d(-4%, 2%, 42px); }
.blog-hero-stack span:nth-child(3) { transform: translate3d(4%, -4%, 84px); }
.blog-hero-stack span:nth-child(4) { transform: translate3d(12%, -10%, 126px); border-color: var(--ember); }
.blog-index-hero:hover .blog-hero-stack { transform: rotateX(58deg) rotateZ(-12deg) translate3d(-2%, -2%, 22px); }

.blog-hero-track { position: absolute; right: 7%; bottom: 16%; width: min(38vw, 520px); display: flex; justify-content: space-between; transform: rotate(-8deg); }
.blog-hero-track::before { content: ""; position: absolute; top: 50%; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--ember), transparent); }
.blog-hero-track span { position: relative; width: 0.48rem; aspect-ratio: 1; border-radius: 50%; background: var(--gold); box-shadow: 0 0 18px var(--gold-45); }
.blog-hero-track span:nth-child(even) { background: var(--blood); transform: translateY(1.4rem); }

.blog-latest {
  padding: clamp(5rem, 10vw, 8rem) 0;
  color: var(--ink);
  background: var(--paper);
}

.blog-section-head { display: grid; grid-template-columns: minmax(15rem, 0.8fr) minmax(0, 1.2fr); gap: clamp(1.5rem, 5vw, 4rem); align-items: end; }
.blog-section-head .panel-index { grid-column: 1 / -1; color: var(--paper-red); }
.blog-section-head h2 { max-width: 10ch; }
.blog-section-head > p:last-child { max-width: 42ch; margin: 0; color: var(--text-muted-light); }

.blog-latest-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: clamp(2.5rem, 6vw, 4.5rem); perspective: 1100px; }
.blog-feature-card { min-width: 0; }

.blog-feature-card a {
  min-height: 29rem;
  display: flex;
  flex-direction: column;
  padding: clamp(1.4rem, 3vw, 2rem);
  border: 1px solid var(--line-warm-light);
  border-radius: 20px;
  color: var(--ink);
  background:
    linear-gradient(145deg, var(--paper-red-12), transparent 38%),
    var(--surface-paper-card);
  box-shadow: 0 30px 55px -42px var(--ink);
  text-decoration: none;
  transform-style: preserve-3d;
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}

.blog-feature-card:nth-child(2) a { transform: translateY(1.5rem); }
.blog-feature-card a:hover,
.blog-feature-card a:focus-visible { border-color: var(--paper-red); box-shadow: 0 38px 68px -38px var(--ink); transform: translateY(-0.45rem) rotateX(1.5deg) rotateY(-1deg); }
.blog-feature-card:nth-child(2) a:hover,
.blog-feature-card:nth-child(2) a:focus-visible { transform: translateY(0.7rem) rotateX(1.5deg); }
.blog-card-number { color: var(--paper-red); font-family: var(--font-mono); font-size: 0.66rem; letter-spacing: 0.16em; }
.blog-card-meta { margin: 1.6rem 0 0; color: var(--paper-red); font-family: var(--font-mono); font-size: 0.67rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
.blog-feature-card h3 { margin: 1rem 0 0; font-size: clamp(1.55rem, 2.8vw, 2.25rem); letter-spacing: -0.025em; }
.blog-card-excerpt { margin-top: 1.2rem; color: var(--text-muted-light); }
.blog-card-action { margin-top: auto; padding-top: 2rem; color: var(--paper-red); font-family: var(--font-mono); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; }

.blog-archive { padding: clamp(5rem, 10vw, 8rem) 0; }
.blog-archive-dark { color: var(--bone); background: var(--soot); }
.blog-archive-paper { color: var(--ink); background: var(--paper); }
.blog-archive-heading { display: grid; grid-template-columns: minmax(15rem, 0.8fr) minmax(0, 1.2fr); gap: 1rem clamp(1.5rem, 5vw, 4rem); align-items: end; margin-bottom: clamp(2.4rem, 5vw, 4rem); }
.blog-archive-heading .panel-index { grid-column: 1 / -1; }
.blog-archive-dark .panel-index { color: var(--gold); }
.blog-archive-paper .panel-index { color: var(--paper-red); }
.blog-archive-heading h2 { max-width: 10ch; }
.blog-archive-heading > p:last-child { max-width: 38ch; margin: 0; }
.blog-archive-dark .blog-archive-heading > p:last-child { color: var(--ash); }
.blog-archive-paper .blog-archive-heading > p:last-child { color: var(--text-muted-light); }
.blog-archive-list { display: grid; border-top: 1px solid; }
.blog-archive-dark .blog-archive-list { border-color: var(--line-warm-dark); }
.blog-archive-paper .blog-archive-list { border-color: var(--line-warm-light); }

.blog-archive-list article { border-bottom: 1px solid; }
.blog-archive-dark .blog-archive-list article { border-color: var(--line-warm-dark); }
.blog-archive-paper .blog-archive-list article { border-color: var(--line-warm-light); }

.blog-archive-list a {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) auto;
  gap: clamp(1rem, 3vw, 2.2rem);
  align-items: center;
  padding: clamp(1.35rem, 3vw, 2rem) 0;
  color: inherit;
  text-decoration: none;
  transition: padding 0.25s ease, background 0.25s ease;
}

.blog-archive-list a:hover,
.blog-archive-list a:focus-visible { padding-inline: 1rem; }
.blog-archive-dark .blog-archive-list a:hover,
.blog-archive-dark .blog-archive-list a:focus-visible { background: var(--ember-05); }
.blog-archive-paper .blog-archive-list a:hover,
.blog-archive-paper .blog-archive-list a:focus-visible { background: var(--paper-red-12); }
.blog-row-number { align-self: start; color: var(--ember); font-family: var(--font-mono); font-size: 0.66rem; letter-spacing: 0.13em; }
.blog-archive-paper .blog-row-number { color: var(--paper-red); }
.blog-row-main { min-width: 0; }
.blog-row-meta { margin: 0 0 0.45rem; color: var(--gold); font-family: var(--font-mono); font-size: 0.65rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
.blog-archive-paper .blog-row-meta { color: var(--paper-red); }
.blog-row-main h3 { max-width: 34ch; font-size: clamp(1.25rem, 2.2vw, 1.75rem); }
.blog-row-main > p:last-child { max-width: 64ch; margin: 0.65rem 0 0; }
.blog-archive-dark .blog-row-main > p:last-child { color: var(--ash); }
.blog-archive-paper .blog-row-main > p:last-child { color: var(--text-muted-light); }
.blog-row-action { color: var(--gold); font-family: var(--font-mono); font-size: 0.67rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; white-space: nowrap; }
.blog-archive-paper .blog-row-action { color: var(--paper-red); }

.blog-contact {
  padding: clamp(5rem, 10vw, 8rem) 0;
  color: var(--bone);
  background:
    radial-gradient(circle at 75% 55%, var(--ember-13), transparent 30%),
    var(--char);
}

.blog-contact-grid { display: grid; grid-template-columns: minmax(17rem, 0.8fr) minmax(0, 1.2fr); gap: clamp(2.5rem, 8vw, 7rem); align-items: start; }
.blog-contact .panel-index { color: var(--gold); }
.blog-contact h2 { max-width: 10ch; }
.blog-contact-copy { max-width: 48rem; }
.blog-contact-copy > p { color: var(--ash); font-size: clamp(1.02rem, 1.6vw, 1.18rem); }
.blog-contact-copy strong { color: var(--bone); }
.blog-contact-copy .panel-cta { margin-top: 2rem; }

@media (max-width: 980px) {
  .blog-index-hero { min-height: auto; }
  .blog-hero-stack { right: -22%; width: 72vw; }
  .blog-latest-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .blog-feature-card:nth-child(2) a { transform: none; }
  .blog-feature-card:last-child { grid-column: 1 / -1; }
  .blog-feature-card:last-child a { min-height: 22rem; }
}

@media (max-width: 760px) {
  .page-blog-index .neat-menu__list li:not(:first-child) { display: none; }
  .blog-index-hero h1 { font-size: clamp(3.4rem, 18vw, 5.8rem); }
  .blog-hero-stack { inset: 16% -46% auto auto; width: 112vw; opacity: 0.34; }
  .blog-hero-track { right: -12%; width: 80vw; opacity: 0.6; }
  .blog-hero-facts { grid-template-columns: 1fr; }
  .blog-hero-facts > div,
  .blog-hero-facts > div + div { padding: 1rem 0; border-right: 0; border-bottom: 1px solid var(--seam); }
  .blog-hero-facts > div:last-child { border-bottom: 0; }
  .blog-section-head,
  .blog-archive-heading,
  .blog-contact-grid { grid-template-columns: 1fr; }
  .blog-latest-grid { grid-template-columns: 1fr; }
  .blog-feature-card:last-child { grid-column: auto; }
  .blog-feature-card a,
  .blog-feature-card:last-child a { min-height: 25rem; transform: none; }
  .blog-archive-list a { grid-template-columns: 2rem minmax(0, 1fr); }
  .blog-row-action { grid-column: 2; }
}

@media (prefers-reduced-motion: reduce) {
  .page-blog-index [id^="bblog"]:target { animation: none; box-shadow: inset 0 0 0 3px var(--gold); }
  .blog-hero-stack,
  .blog-feature-card a,
  .blog-archive-list a { transition: none; }
  .blog-index-hero:hover .blog-hero-stack,
  .blog-feature-card a:hover,
  .blog-feature-card a:focus-visible,
  .blog-feature-card:nth-child(2) a:hover,
  .blog-feature-card:nth-child(2) a:focus-visible { transform: none; }
}

/* Blog-post template: long-form editorial reading in the shared fire system */
.page-blog-post { background: var(--char); }
.page-blog-post [id^="article-"] { scroll-margin-top: 6rem; }
.page-blog-post [id^="article-"]:target { animation: blog-post-target 1.1s ease-out; }

@keyframes blog-post-target {
  0% { box-shadow: inset 0 0 0 3px var(--gold); }
  100% { box-shadow: inset 0 0 0 3px transparent; }
}

.blog-post-hero {
  position: relative;
  min-height: calc(100svh - 5rem);
  display: grid;
  align-items: end;
  overflow: hidden;
  padding: clamp(6rem, 11vw, 9rem) 0 0;
  color: var(--bone);
  background:
    radial-gradient(circle at 76% 35%, var(--ember-15), transparent 28%),
    radial-gradient(circle at 25% 110%, var(--blood-18), transparent 42%),
    var(--char);
  perspective: 1200px;
}

.blog-post-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 34%;
  background: linear-gradient(transparent, var(--ember-08));
  pointer-events: none;
}

.blog-post-hero .block-inner { position: relative; z-index: 3; }
.blog-post-hero h1 { max-width: 12ch; margin: 1.2rem 0 1.4rem; font-size: clamp(3.5rem, 8vw, 7rem); font-weight: 800; letter-spacing: -0.045em; line-height: 0.89; }
.blog-post-hero .ox-hero-sub { max-width: 53ch; color: var(--ash); font-size: clamp(1.08rem, 1.8vw, 1.34rem); }
.blog-post-hero .ox-hero-ctas { margin-top: 2rem; }

.blog-post-back,
.blog-post-all-link {
  display: inline-flex;
  color: var(--gold);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.35rem;
  text-transform: uppercase;
}

.blog-post-byline {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: clamp(3.5rem, 7vw, 6rem);
  border-top: 1px solid var(--seam);
}

.blog-post-byline > div { display: grid; gap: 0.22rem; padding: 1.35rem clamp(0.8rem, 2vw, 1.5rem) 1.55rem 0; border-right: 1px solid var(--seam); }
.blog-post-byline > div + div { padding-left: clamp(0.8rem, 2vw, 1.5rem); }
.blog-post-byline > div:last-child { border-right: 0; }
.blog-post-byline strong { font-family: var(--font-h1); font-size: clamp(1.1rem, 2vw, 1.42rem); line-height: 1.1; }
.blog-post-byline span { color: var(--text-muted-dark); font-family: var(--font-mono); font-size: 0.63rem; letter-spacing: 0.13em; text-transform: uppercase; }

.blog-post-hero-ledger {
  position: absolute;
  top: 13%;
  right: -3%;
  width: min(44vw, 620px);
  aspect-ratio: 1.12;
  transform: rotateX(57deg) rotateZ(-15deg);
  transform-style: preserve-3d;
  opacity: 0.58;
  transition: transform 0.75s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.blog-post-hero-ledger span {
  position: absolute;
  width: 44%;
  min-height: 34%;
  display: grid;
  place-items: center;
  border: 1px solid var(--line-warm-dark);
  border-radius: 18px;
  color: var(--gold);
  background: linear-gradient(145deg, var(--ember-13), var(--surface-raised));
  box-shadow: var(--shadow-high);
  font-family: var(--font-h1);
  font-size: clamp(1.6rem, 4vw, 3.8rem);
  font-weight: 800;
}

.blog-post-hero-ledger span:nth-child(1) { top: 0; left: 0; transform: translateZ(20px); }
.blog-post-hero-ledger span:nth-child(2) { top: 8%; right: 0; transform: translateZ(58px); }
.blog-post-hero-ledger span:nth-child(3) { bottom: 4%; left: 5%; transform: translateZ(92px); }
.blog-post-hero-ledger span:nth-child(4) { right: -2%; bottom: 0; border-color: var(--ember); transform: translateZ(130px); }
.blog-post-hero:hover .blog-post-hero-ledger { transform: rotateX(53deg) rotateZ(-10deg) translate3d(-2%, -2%, 24px); }

.blog-post-hero-plane { position: absolute; right: 5%; bottom: 13%; width: min(39vw, 540px); height: 8rem; transform: rotate(-8deg); }
.blog-post-hero-plane span { position: absolute; inset: 50% 0 auto; height: 1px; background: linear-gradient(90deg, transparent, var(--ember), transparent); }
.blog-post-hero-plane span:nth-child(2) { transform: translateY(1.5rem); opacity: 0.6; }
.blog-post-hero-plane span:nth-child(3) { transform: translateY(3rem); opacity: 0.3; }

.blog-post-opening {
  padding: clamp(5rem, 10vw, 8rem) 0;
  color: var(--ink);
  background: var(--paper);
}

.blog-post-opening-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 0.65fr); gap: clamp(2.5rem, 8vw, 7rem); align-items: start; }
.blog-post-opening-copy { max-width: 48rem; }
.blog-post-opening-copy .panel-index { color: var(--paper-red); }
.blog-post-opening-copy > p:not(.panel-index) { color: var(--text-muted-light); font-size: clamp(1.05rem, 1.6vw, 1.2rem); }
.blog-post-opening-copy .blog-post-lede { color: var(--ink); font-family: var(--font-h1); font-size: clamp(1.45rem, 2.6vw, 2.15rem); font-weight: 600; letter-spacing: -0.025em; line-height: 1.22; }
.blog-post-opening-copy strong { color: var(--paper-red); }

.blog-post-map {
  position: sticky;
  top: 8rem;
  padding: 1.5rem;
  border: 1px solid var(--line-warm-light);
  border-radius: 18px;
  background: var(--surface-paper-card);
  box-shadow: 0 30px 60px -44px var(--ink);
  transform: perspective(900px) rotateY(-2deg);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.blog-post-map:hover { box-shadow: 0 38px 65px -40px var(--ink); transform: perspective(900px) rotateY(0) translateY(-0.3rem); }
.blog-post-map-label { margin: 0 0 1rem; color: var(--paper-red); font-family: var(--font-mono); font-size: 0.66rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; }
.blog-post-map ol { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.blog-post-map li { border-top: 1px solid var(--line-warm-light); }
.blog-post-map a { display: grid; grid-template-columns: 2rem 1fr; gap: 0.75rem; padding: 0.9rem 0; color: var(--ink); font-family: var(--font-h1); font-weight: 700; text-decoration: none; }
.blog-post-map a:hover,
.blog-post-map a:focus-visible { color: var(--paper-red); }
.blog-post-map a span { color: var(--paper-red); font-family: var(--font-mono); font-size: 0.62rem; letter-spacing: 0.1em; }

.blog-post-article { padding: clamp(5rem, 10vw, 8rem) 0; color: var(--ink); background: var(--bone); }
.blog-post-article a { color: var(--paper-red); font-weight: 700; text-underline-offset: 0.2rem; }
.blog-post-article-head { max-width: 55rem; margin-bottom: clamp(3rem, 7vw, 5.5rem); }
.blog-post-article-head .panel-index { color: var(--paper-red); }
.blog-post-article-head h2 { max-width: 18ch; margin: 1rem 0 1.5rem; font-size: clamp(2.55rem, 5.5vw, 5.1rem); line-height: 0.98; }
.blog-post-article-head > p:not(.panel-index) { color: var(--text-muted-light); font-size: clamp(1.03rem, 1.5vw, 1.16rem); }

.blog-post-article table { width: 100%; display: block; overflow-x: auto; margin: 1.5rem 0; border-collapse: collapse; border: 1px solid var(--line-warm-light); border-radius: 12px; background: var(--surface-paper-card); }
.blog-post-article th,
.blog-post-article td { min-width: 9rem; padding: 0.85rem 1rem; border-bottom: 1px solid var(--line-warm-light); text-align: left; vertical-align: top; }
.blog-post-article th { color: var(--paper-red); font-family: var(--font-mono); font-size: 0.67rem; letter-spacing: 0.08em; text-transform: uppercase; }
.blog-post-article blockquote { margin: 1.5rem 0; padding: 1.4rem clamp(1.2rem, 3vw, 2rem); border-left: 3px solid var(--ember); color: var(--ink); background: var(--surface-paper-card); font-family: var(--font-h1); font-size: clamp(1.18rem, 2vw, 1.55rem); line-height: 1.35; }

.blog-post-subsection {
  display: grid;
  grid-template-columns: minmax(11rem, 0.55fr) minmax(0, 1.45fr);
  gap: 0.6rem clamp(2rem, 7vw, 6rem);
  padding: clamp(2.2rem, 5vw, 4rem) 0;
  border-top: 1px solid var(--line-warm-light);
}

.blog-post-sub-index { grid-column: 1; margin: 0; color: var(--paper-red); font-family: var(--font-mono); font-size: 0.64rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; }
.blog-post-subsection h3 { grid-column: 1; margin: 0.35rem 0 1rem; font-size: clamp(1.55rem, 3vw, 2.25rem); line-height: 1.05; }
.blog-post-subsection > p:not(.blog-post-sub-index),
.blog-post-subsection > ol,
.blog-post-subsection > ul,
.blog-post-subsection > aside { grid-column: 2; }
.blog-post-subsection > p:not(.blog-post-sub-index) { max-width: 65ch; margin: 0 0 1.25rem; color: var(--text-muted-light); font-size: clamp(1rem, 1.4vw, 1.12rem); }

.blog-post-data-list { display: grid; gap: 0.65rem; margin: 0 0 1.6rem; padding: 0; list-style: none; counter-reset: article-data; }
.blog-post-data-list li { counter-increment: article-data; display: grid; grid-template-columns: 2.2rem 1fr; gap: 0.8rem; align-items: start; padding: 1rem 1.1rem; border: 1px solid var(--line-warm-light); border-radius: 12px; background: var(--surface-paper-card); transition: border-color 0.25s ease, transform 0.25s ease; }
.blog-post-data-list li::before { content: counter(article-data, decimal-leading-zero); color: var(--paper-red); font-family: var(--font-mono); font-size: 0.64rem; letter-spacing: 0.1em; }
.blog-post-data-list li:hover { border-color: var(--paper-red); transform: translateX(0.35rem); }

.blog-post-key-list { display: grid; gap: 0.75rem; margin: 0 0 1.6rem; padding: 0; list-style: none; }
.blog-post-key-list li { position: relative; padding: 1rem 1rem 1rem 2.8rem; border-left: 2px solid var(--ember); color: var(--text-muted-light); background: var(--surface-paper-card); }
.blog-post-key-list li::before { content: ""; position: absolute; top: 1.35rem; left: 1rem; width: 0.55rem; aspect-ratio: 1; border-radius: 50%; background: var(--ember); box-shadow: 0 0 16px var(--ember-28); }
.blog-post-language-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.blog-post-callout,
.blog-post-pull { max-width: 58ch; padding: clamp(1.4rem, 3vw, 2rem); border: 1px solid var(--paper-red); border-radius: 16px; color: var(--ink); background: linear-gradient(145deg, var(--paper-red-12), var(--surface-paper-card)); box-shadow: 0 25px 55px -44px var(--ink); font-family: var(--font-h1); font-size: clamp(1.22rem, 2.1vw, 1.65rem); line-height: 1.35; transform: perspective(900px) rotateX(1deg); }
.blog-post-pull { margin-top: 0.8rem; }

.blog-post-proof { padding: clamp(5rem, 10vw, 8rem) 0; color: var(--bone); background: radial-gradient(circle at 78% 42%, var(--ember-13), transparent 30%), var(--soot); }
.blog-post-proof .ox-proof-eyebrow { color: var(--gold); }
.blog-post-proof .ox-proof-sub { max-width: 50ch; margin-top: 1rem; color: var(--ash); }
.blog-post-proof-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: clamp(2.5rem, 6vw, 4.5rem); perspective: 1100px; }

.blog-post-proof-card {
  min-height: 25rem;
  display: flex;
  flex-direction: column;
  padding: clamp(1.4rem, 3vw, 2rem);
  border: 1px solid var(--line-warm-dark);
  border-radius: 20px;
  background: linear-gradient(145deg, var(--ember-09), transparent 42%), var(--surface-raised);
  box-shadow: var(--shadow-low);
  transform-style: preserve-3d;
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}

.blog-post-proof-card:nth-child(2) { transform: translateY(1.4rem); }
.blog-post-proof-card:hover { z-index: 2; border-color: var(--ember); box-shadow: var(--shadow-high); transform: translateY(-0.45rem) rotateX(1.5deg) rotateY(-1.5deg); }
.blog-post-proof-card:nth-child(2):hover { transform: translateY(0.7rem) rotateX(1.5deg); }
.blog-post-proof-index { color: var(--gold); font-family: var(--font-mono); font-size: 0.65rem; letter-spacing: 0.15em; }
.blog-post-proof-number { margin-top: auto; color: var(--gold); font-family: var(--font-h1); font-size: clamp(3.2rem, 6vw, 5.2rem); font-weight: 800; letter-spacing: -0.05em; line-height: 0.88; }
.blog-post-proof-label { margin-top: 0.9rem; color: var(--bone); font-family: var(--font-mono); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; }
.blog-post-proof-card p { margin: 1.2rem 0 0; color: var(--ash); }

.blog-post-gap { background: var(--paper); }
.blog-post-state-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.65rem; margin: 0 0 1.6rem; padding: 0; list-style: none; }
.blog-post-state-grid li { display: grid; gap: 0.3rem; padding: 1.1rem; border: 1px solid var(--line-warm-light); border-radius: 12px; background: var(--surface-paper-card); transition: border-color 0.25s ease, transform 0.25s ease; }
.blog-post-state-grid li:hover { border-color: var(--paper-red); transform: translateY(-0.3rem); }
.blog-post-state-grid strong { font-family: var(--font-h1); font-size: 1.15rem; }
.blog-post-state-grid span { color: var(--paper-red); font-family: var(--font-mono); font-size: 0.64rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }

.blog-post-close { padding: clamp(5rem, 10vw, 8rem) 0; color: var(--bone); background: radial-gradient(circle at 75% 55%, var(--ember-15), transparent 30%), var(--char); }
.blog-post-close-grid { display: grid; grid-template-columns: minmax(18rem, 0.8fr) minmax(0, 1.2fr); gap: clamp(2.5rem, 8vw, 7rem); align-items: start; }
.blog-post-close-head { position: sticky; top: 8rem; }
.blog-post-close .panel-index { color: var(--gold); }
.blog-post-close h2 { max-width: 11ch; }
.blog-post-close-copy { max-width: 48rem; }
.blog-post-close-copy > p { color: var(--ash); font-size: clamp(1.03rem, 1.6vw, 1.18rem); }
.blog-post-close-copy a { color: var(--gold); font-weight: 700; text-underline-offset: 0.2rem; }
.blog-post-close-copy .panel-cta { margin-top: 2rem; }
.blog-post-close-copy .blog-post-all-link { margin-top: 1.3rem; }

@media (max-width: 980px) {
  .blog-post-hero { min-height: auto; }
  .blog-post-hero-ledger { right: -22%; width: 70vw; }
  .blog-post-opening-grid,
  .blog-post-close-grid { grid-template-columns: 1fr; }
  .blog-post-map,
  .blog-post-close-head { position: static; transform: none; }
  .blog-post-state-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .page-blog-post .neat-menu__list li:not(:first-child) { display: none; }
  .blog-post-hero h1 { font-size: clamp(3.2rem, 15.8vw, 5.5rem); }
  .blog-post-hero-ledger { inset: 17% -48% auto auto; width: 112vw; opacity: 0.3; }
  .blog-post-hero-plane { right: -16%; width: 90vw; opacity: 0.55; }
  .blog-post-byline { grid-template-columns: 1fr; }
  .blog-post-byline > div,
  .blog-post-byline > div + div { padding: 1rem 0; border-right: 0; border-bottom: 1px solid var(--seam); }
  .blog-post-byline > div:last-child { border-bottom: 0; }
  .blog-post-subsection { grid-template-columns: 1fr; }
  .blog-post-sub-index,
  .blog-post-subsection h3,
  .blog-post-subsection > p:not(.blog-post-sub-index),
  .blog-post-subsection > ol,
  .blog-post-subsection > ul,
  .blog-post-subsection > aside { grid-column: 1; }
  .blog-post-language-list,
  .blog-post-proof-grid,
  .blog-post-state-grid { grid-template-columns: 1fr; }
  .blog-post-proof-card,
  .blog-post-proof-card:nth-child(2) { min-height: 20rem; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .page-blog-post [id^="article-"]:target { animation: none; box-shadow: inset 0 0 0 3px var(--gold); }
  .blog-post-hero-ledger,
  .blog-post-map,
  .blog-post-data-list li,
  .blog-post-proof-card,
  .blog-post-state-grid li { transition: none; }
  .blog-post-hero:hover .blog-post-hero-ledger,
  .blog-post-map:hover,
  .blog-post-data-list li:hover,
  .blog-post-proof-card:hover,
  .blog-post-proof-card:nth-child(2):hover,
  .blog-post-state-grid li:hover { transform: none; }
}

/* Contact template: a focused conversation flow in the shared fire system */
.page-contact { background: var(--char); }
.page-contact [id^="contact-"] { scroll-margin-top: 6rem; }
.page-contact [id^="contact-"]:target { animation: contact-target 1.1s ease-out; }
@keyframes contact-target { 0% { box-shadow: inset 0 0 0 3px var(--gold); } 100% { box-shadow: inset 0 0 0 0 transparent; } }

.contact-hero {
  min-height: min(790px, calc(100vh - 5rem));
  padding-bottom: clamp(2rem, 5vw, 4rem);
  background: radial-gradient(50% 65% at 79% 38%, var(--ember-20), transparent 70%), radial-gradient(40% 55% at 53% 100%, var(--blood-18), transparent 74%), linear-gradient(150deg, var(--char) 5%, var(--soot) 69%, var(--surface-hero-deep) 100%);
}
.contact-hero::before { width: min(44vw, 590px); top: 9%; right: -8%; transform: perspective(900px) rotateY(-14deg) rotateX(8deg) rotateZ(5deg); }
.contact-hero::after { width: min(34vw, 440px); right: 15%; bottom: -9%; transform: perspective(900px) rotateX(68deg) rotateZ(14deg); }
.contact-hero .block-inner { min-height: 34rem; display: flex; flex-direction: column; justify-content: center; }
.contact-hero h1 { max-width: 8ch; font-size: clamp(4rem, 9.5vw, 8rem); }
.contact-hero .ox-hero-sub { color: var(--bone); font-size: clamp(1.15rem, 2vw, 1.45rem); }
.contact-hero-conversation { position: absolute; z-index: 1; top: clamp(5.8rem, 12vw, 9rem); right: max(calc((100vw - var(--content-width)) / 2), 1rem); width: min(39vw, 29rem); height: 22rem; perspective: 900px; pointer-events: none; }
.contact-hero-conversation span { position: absolute; min-width: 9rem; padding: 1rem 1.35rem; color: var(--bone); background: linear-gradient(145deg, var(--surface-raised), var(--soot)); border: 1px solid var(--seam); border-radius: 1.2rem 1.2rem 0.2rem 1.2rem; box-shadow: var(--shadow-high); font-family: var(--font-mono); font-size: clamp(0.76rem, 1.3vw, 0.94rem); font-weight: 600; letter-spacing: 0.16em; text-align: center; transform-style: preserve-3d; animation: contact-float 6s ease-in-out infinite; }
.contact-hero-conversation span::after { content: ""; position: absolute; right: 0; bottom: -0.65rem; width: 1.2rem; height: 1rem; background: inherit; border-right: 1px solid var(--seam); clip-path: polygon(0 0, 100% 0, 100% 100%); }
.contact-hero-conversation span:nth-child(1) { top: 1rem; left: 0; transform: rotateY(10deg) rotateZ(-4deg); }
.contact-hero-conversation span:nth-child(2) { top: 8.2rem; right: 0; color: var(--ink); background: var(--fire-grad); border-color: var(--ember); transform: rotateY(-9deg) rotateZ(4deg); animation-delay: -2s; }
.contact-hero-conversation span:nth-child(3) { left: 2.8rem; bottom: 0; transform: rotateY(7deg) rotateZ(-2deg); animation-delay: -4s; }
@keyframes contact-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -0.65rem; } }
.contact-hero-lines { position: absolute; z-index: 0; inset: 0; overflow: hidden; pointer-events: none; }
.contact-hero-lines span { position: absolute; right: 4%; width: 42vw; height: 1px; background: linear-gradient(90deg, transparent, var(--ember-28), transparent); transform: rotate(-24deg); transform-origin: right; }
.contact-hero-lines span:nth-child(1) { top: 24%; } .contact-hero-lines span:nth-child(2) { top: 39%; right: -2%; } .contact-hero-lines span:nth-child(3) { top: 57%; right: 2%; } .contact-hero-lines span:nth-child(4) { top: 74%; right: -7%; }
.contact-hero-facts { width: min(100%, 45rem); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: clamp(3.2rem, 8vh, 5.5rem); border-top: 1px solid var(--seam); }
.contact-hero-facts div { display: flex; flex-direction: column; gap: 0.15rem; padding: 1.1rem 1rem 0 0; }
.contact-hero-facts strong { color: var(--bone); font-family: var(--font-h1); font-size: clamp(1rem, 2vw, 1.35rem); }
.contact-hero-facts span { color: var(--text-muted-dark); font-family: var(--font-mono); font-size: 0.62rem; letter-spacing: 0.11em; text-transform: uppercase; }

.contact-welcome { color: var(--ink); background: var(--paper); }
.contact-welcome-grid { display: grid; grid-template-columns: minmax(18rem, 0.75fr) minmax(0, 1.25fr); gap: clamp(2.5rem, 8vw, 7rem); align-items: start; }
.contact-welcome-head { position: sticky; top: 7rem; }
.contact-welcome h2 { max-width: 10ch; margin-top: 0.7rem; }
.contact-welcome-copy { max-width: 45rem; color: var(--text-muted-light); font-size: clamp(1.04rem, 1.7vw, 1.2rem); }
.contact-welcome-copy strong { color: var(--paper-red); }
.contact-goal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: clamp(3rem, 7vw, 5rem); }
.contact-goal-grid article { position: relative; min-height: 13rem; padding: 1.5rem; overflow: hidden; background: var(--surface-paper-card); border: 1px solid var(--line-warm-light); border-radius: var(--radius-lg); box-shadow: var(--shadow-low); transform: perspective(850px) rotateX(1.5deg); transition: transform 0.25s ease, box-shadow 0.25s ease; }
.contact-goal-grid article:nth-child(2) { transform: perspective(850px) translateY(1.4rem) rotateX(1.5deg); }
.contact-goal-grid article:hover { transform: perspective(850px) translateY(-0.4rem) rotateX(0); box-shadow: var(--shadow-high); }
.contact-goal-grid article:nth-child(2):hover { transform: perspective(850px) translateY(1rem) rotateX(0); }
.contact-goal-grid article::after { content: ""; position: absolute; inset: auto 0 0; height: 0.3rem; background: var(--fire-grad); }
.contact-goal-grid span { color: var(--paper-red); font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.14em; }
.contact-goal-grid strong { display: block; margin: 1.6rem 0 0.25rem; font-family: var(--font-h1); font-size: clamp(1.55rem, 3vw, 2.25rem); }
.contact-goal-grid p { margin: 0; color: var(--text-muted-light); }

.contact-form-panel { position: relative; isolation: isolate; overflow: hidden; padding: clamp(5rem, 10vw, 8rem) 0; color: var(--bone); background: radial-gradient(42% 70% at 15% 50%, var(--ember-13), transparent 76%), linear-gradient(132deg, var(--soot), var(--char)); }
.contact-form-panel::before { content: ""; position: absolute; z-index: -1; inset: 0; background: repeating-linear-gradient(90deg, transparent 0 89px, var(--white-025) 90px); }
.contact-form-grid { display: grid; grid-template-columns: minmax(0, 0.86fr) minmax(22rem, 1.14fr); gap: clamp(2.5rem, 8vw, 7rem); align-items: center; }
.contact-form-copy h2 { max-width: 9ch; margin: 0.8rem 0 1.3rem; font-size: clamp(2.8rem, 6vw, 5rem); }
.contact-form-copy > p:not(.panel-index) { max-width: 42ch; color: var(--ash); font-size: clamp(1.02rem, 1.6vw, 1.16rem); }
.contact-form-assurance { margin-top: 2.3rem; padding: 1.1rem 1.2rem; background: var(--ember-05); border-left: 3px solid var(--ember); }
.contact-form-assurance p { margin: 0; } .contact-form-assurance span { color: var(--ash); font-size: 0.88rem; }
.contact-form-card { position: relative; z-index: 2; padding: clamp(1.5rem, 4vw, 2.5rem); background: linear-gradient(145deg, var(--surface-raised), var(--soot)); border: 1px solid var(--seam); border-radius: var(--radius-lg); box-shadow: 1.5rem 1.5rem 0 var(--ember-08), var(--shadow-high); transform: perspective(1100px) rotateY(-2deg) rotateX(1deg); }
.contact-form-card::before { content: ""; position: absolute; inset: 0.7rem; z-index: -1; border: 1px solid var(--ember-13); border-radius: calc(var(--radius-lg) - 0.4rem); pointer-events: none; }
.contact-form-step { color: var(--gold); font-family: var(--font-mono); font-size: 0.64rem; font-weight: 600; letter-spacing: 0.14em; }
.contact-form-card h3 { margin-bottom: 1rem; font-size: clamp(1.7rem, 3.4vw, 2.6rem); }
.contact-form-card .sb-cta-placement { margin: 0; }
.contact-form-card .cta-form { display: grid; gap: 1rem; padding: 0; background: transparent !important; }
.contact-form-card .cta-form-field { display: grid; gap: 0.42rem; }
.contact-form-card .cta-form-label { color: var(--bone); font-family: var(--font-mono); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; }
.contact-form-card .cta-form input, .contact-form-card .cta-form textarea { min-height: 3.25rem; padding: 0.75rem 0.9rem; color: var(--bone); background: var(--char); border: 1px solid var(--line-warm-dark); border-radius: var(--radius-sm); transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.contact-form-card .cta-form textarea { min-height: 8.5rem; }
.contact-form-card .cta-form input:focus, .contact-form-card .cta-form textarea:focus { outline: 0; border-color: var(--gold); box-shadow: 0 0 0 3px var(--gold-20); }
.contact-form-card .cta-form button { min-height: 3.25rem; margin-top: 0.25rem; color: var(--ink) !important; cursor: pointer; }
.contact-form-note { margin: 1rem 0 0; color: var(--text-muted-dark); font-size: 0.75rem; line-height: 1.5; }
.contact-form-orbit { position: absolute; z-index: -1; right: -6rem; top: 50%; width: min(48vw, 40rem); aspect-ratio: 1; border: 1px solid var(--ember-13); border-radius: 50%; translate: 0 -50%; pointer-events: none; }
.contact-form-orbit span { position: absolute; inset: 12%; border: 1px solid var(--seam); border-radius: 50%; }
.contact-form-orbit span:nth-child(2) { inset: 28%; border-color: var(--ember-22); } .contact-form-orbit span:nth-child(3) { inset: 44%; background: var(--ember-05); border-color: var(--gold-20); }

.contact-details { padding: clamp(5rem, 10vw, 8rem) 0 calc(clamp(5rem, 10vw, 8rem) + 1.25rem); color: var(--ink); background: var(--paper); }
.contact-details-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.55fr); gap: 1rem clamp(2rem, 6vw, 5rem); align-items: end; }
.contact-details-head .panel-index { grid-column: 1 / -1; } .contact-details-head h2 { max-width: 14ch; } .contact-details-head > p:last-child { margin: 0; color: var(--text-muted-light); }
.contact-detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: clamp(2.5rem, 6vw, 4.5rem); align-items: stretch; }
.contact-detail-card { position: relative; min-height: 19rem; display: flex; flex-direction: column; padding: clamp(1.4rem, 3vw, 2rem); background: var(--surface-paper-card); border: 1px solid var(--line-warm-light); border-radius: var(--radius-lg); box-shadow: var(--shadow-low); transform: perspective(900px) rotateY(1deg); transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease; }
.contact-detail-card:nth-child(2) { transform: perspective(900px) translateY(1.25rem) rotateY(-1deg); }
.contact-detail-card:hover { z-index: 2; border-color: var(--ember); box-shadow: var(--shadow-high); transform: perspective(900px) translateY(-0.5rem) rotateY(0); }
.contact-detail-card:nth-child(2):hover { transform: perspective(900px) translateY(0.75rem) rotateY(0); }
.contact-detail-index { position: absolute; top: 1rem; right: 1.2rem; color: var(--line-warm-light); font-family: var(--font-h1); font-size: 3.5rem; font-weight: 800; line-height: 1; }
.contact-detail-meta { position: relative; z-index: 1; color: var(--paper-red); font-family: var(--font-mono); font-size: 0.66rem; font-weight: 600; letter-spacing: 0.13em; text-transform: uppercase; }
.contact-detail-card h3 { position: relative; z-index: 1; max-width: 12ch; margin: 1.1rem 0 0.9rem; font-size: clamp(1.55rem, 3vw, 2.3rem); }
.contact-detail-card > p:not(.contact-detail-meta) { color: var(--text-muted-light); }
.contact-detail-card > a, .contact-detail-action { margin-top: auto; color: var(--paper-red); font-family: var(--font-mono); font-size: 0.74rem; font-weight: 600; letter-spacing: 0.06em; text-underline-offset: 0.3em; }

@media (max-width: 980px) {
  .contact-hero-conversation { opacity: 0.7; right: 1rem; width: 36vw; }
  .contact-hero .block-inner { min-height: 31rem; }
  .contact-welcome-grid, .contact-form-grid { grid-template-columns: 1fr; }
  .contact-welcome-head { position: static; }
  .contact-form-card { transform: none; }
  .contact-details-head { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .page-contact .neat-menu__list li:not(:first-child) { display: none; }
  .contact-hero { padding-top: 4.5rem; }
  .contact-hero-conversation { top: 7rem; right: -2.5rem; width: 12rem; height: 15rem; opacity: 0.42; }
  .contact-hero-conversation span { min-width: 7.5rem; padding: 0.7rem 0.8rem; }
  .contact-hero-conversation span:nth-child(2) { top: 5.6rem; }
  .contact-hero-conversation span:nth-child(3) { left: 0.7rem; }
  .contact-hero h1 { font-size: clamp(3.6rem, 18vw, 6rem); }
  .contact-hero-facts, .contact-goal-grid, .contact-detail-grid { grid-template-columns: 1fr; }
  .contact-hero-facts div { border-bottom: 1px solid var(--seam); }
  .contact-goal-grid article:nth-child(2), .contact-detail-card:nth-child(2) { transform: none; }
  .contact-goal-grid article:hover, .contact-goal-grid article:nth-child(2):hover, .contact-detail-card:hover, .contact-detail-card:nth-child(2):hover { transform: none; }
  .contact-form-grid { gap: 2rem; }
  .contact-form-card { box-shadow: 0.75rem 0.75rem 0 var(--ember-08), var(--shadow-high); }
  .contact-detail-card { min-height: 16rem; }
}
@media (max-width: 480px) {
  .contact-head .section-nav { gap: 0.8rem; }
  .contact-hero-conversation { display: none; }
  .contact-form-card { padding: 1.15rem; border-radius: var(--radius-md); }
}
@media (prefers-reduced-motion: reduce) {
  .page-contact [id^="contact-"]:target { animation: none; box-shadow: inset 0 0 0 3px var(--gold); }
  .contact-hero-conversation span { animation: none; }
  .contact-goal-grid article:hover, .contact-goal-grid article:nth-child(2):hover, .contact-detail-card:hover, .contact-detail-card:nth-child(2):hover { transform: none; }
}

/* About template: people and history expressed through the shared fire system */
.page-about { background: var(--char); }
.page-about [id^="about-"] { scroll-margin-top: 6rem; }
.page-about [id^="about-"]:target { animation: about-target 1.1s ease-out; }
@keyframes about-target { 0% { box-shadow: inset 0 0 0 3px var(--gold); } 100% { box-shadow: inset 0 0 0 0 transparent; } }

.about-hero {
  min-height: min(850px, calc(100vh - 5rem));
  padding-bottom: clamp(2rem, 5vw, 4rem);
  background: radial-gradient(52% 68% at 79% 43%, var(--ember-20), transparent 70%), radial-gradient(36% 55% at 45% 100%, var(--blood-18), transparent 74%), linear-gradient(145deg, var(--char) 6%, var(--soot) 67%, var(--surface-hero-deep) 100%);
}
.about-hero::before { width: min(43vw, 600px); top: 7%; right: -7%; transform: perspective(950px) rotateY(-13deg) rotateX(7deg) rotateZ(4deg); }
.about-hero::after { width: min(35vw, 450px); right: 13%; bottom: -8%; transform: perspective(950px) rotateX(69deg) rotateZ(17deg); }
.about-hero .block-inner { min-height: 38rem; display: flex; flex-direction: column; justify-content: center; }
.about-hero h1 { max-width: 9.5ch; font-size: clamp(3.6rem, 8vw, 7rem); }
.about-hero .ox-hero-sub { max-width: 57ch; }
.about-hero-constellation { position: absolute; z-index: 1; top: clamp(6.5rem, 13vw, 10rem); right: max(calc((100vw - var(--content-width)) / 2), 1rem); width: min(39vw, 30rem); height: 24rem; perspective: 1000px; pointer-events: none; }
.about-discipline { position: absolute; min-width: 8.5rem; padding: 0.95rem 1.2rem; color: var(--bone); background: linear-gradient(145deg, var(--surface-raised), var(--soot)); border: 1px solid var(--seam); border-radius: var(--radius-md); box-shadow: var(--shadow-high); font-family: var(--font-mono); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.16em; text-align: center; transform-style: preserve-3d; animation: about-orbit 7s ease-in-out infinite; }
.about-discipline::before { content: ""; position: absolute; inset: 50% auto auto -3.8rem; width: 3.8rem; height: 1px; background: linear-gradient(90deg, transparent, var(--ember)); }
.about-discipline-sales { top: 0.5rem; left: 0.5rem; transform: rotateY(12deg) rotateZ(-4deg); }
.about-discipline-creative { top: 8.2rem; right: 0; color: var(--ink); background: var(--fire-grad); border-color: var(--ember); transform: rotateY(-10deg) rotateZ(3deg); animation-delay: -2.3s; }
.about-discipline-tech { left: 3.2rem; bottom: 0.6rem; transform: rotateY(8deg) rotateZ(-2deg); animation-delay: -4.6s; }
.about-hero-constellation i { position: absolute; z-index: -1; border: 1px solid var(--ember-13); border-radius: 50%; }
.about-hero-constellation i:nth-of-type(1) { inset: 2rem 0 0 2rem; }
.about-hero-constellation i:nth-of-type(2) { inset: 5.6rem 3rem 3rem 0; border-color: var(--gold-20); }
.about-hero-constellation i:nth-of-type(3) { width: 6rem; height: 6rem; right: 8rem; top: 9rem; background: var(--ember-05); }
@keyframes about-orbit { 0%, 100% { translate: 0 0; } 50% { translate: 0 -0.55rem; } }
.about-hero-grid { position: absolute; z-index: 0; inset: 0; overflow: hidden; pointer-events: none; }
.about-hero-grid span { position: absolute; right: -6%; width: 48vw; height: 1px; background: linear-gradient(90deg, transparent, var(--ember-28), transparent); transform: rotate(-23deg); }
.about-hero-grid span:nth-child(1) { top: 27%; } .about-hero-grid span:nth-child(2) { top: 49%; right: 0; } .about-hero-grid span:nth-child(3) { top: 73%; }
.about-hero-facts { width: min(100%, 48rem); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: clamp(3.5rem, 8vh, 5.8rem); border-top: 1px solid var(--seam); }
.about-hero-facts div { display: flex; flex-direction: column; gap: 0.15rem; padding: 1.1rem 1rem 0 0; }
.about-hero-facts strong { color: var(--bone); font-family: var(--font-h1); font-size: clamp(1rem, 2vw, 1.35rem); }
.about-hero-facts span { color: var(--text-muted-dark); font-family: var(--font-mono); font-size: 0.62rem; letter-spacing: 0.11em; text-transform: uppercase; }

.about-history { padding: clamp(5rem, 10vw, 8rem) 0; color: var(--ink); background: var(--paper); }
.about-history-grid { display: grid; grid-template-columns: minmax(18rem, 0.72fr) minmax(0, 1.28fr); gap: clamp(2.5rem, 8vw, 7rem); align-items: start; }
.about-history-head { position: sticky; top: 7rem; }
.about-history h2 { max-width: 8ch; margin-top: 0.75rem; font-size: clamp(3rem, 6vw, 5.3rem); }
.about-history-copy { max-width: 48rem; color: var(--text-muted-light); font-size: clamp(1.05rem, 1.7vw, 1.2rem); }
.about-history-copy p:first-child::first-letter { float: left; margin: 0.12em 0.14em 0 0; color: var(--paper-red); font-family: var(--font-h1); font-size: 4.7em; font-weight: 800; line-height: 0.78; }
.about-history-track { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.4rem); margin-top: clamp(3.5rem, 8vw, 6rem); }
.about-history-track::before { content: none; }
.about-history-track article { position: relative; isolation: isolate; display: flex; min-height: 13.5rem; flex-direction: column; padding: clamp(1.5rem, 3vw, 2rem); overflow: hidden; background: linear-gradient(145deg, var(--surface-paper-card), #fff6e6); border: 1px solid var(--line-warm-light); border-radius: var(--radius-lg); box-shadow: 0 12px 28px rgba(23, 16, 6, 0.1); transition: transform 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease; }
.about-history-track article::before { content: ""; position: absolute; z-index: -1; inset: 0 0 auto; height: 0.32rem; background: var(--fire-grad); transform: scaleX(0.22); transform-origin: left; transition: transform 0.28s ease; }
.about-history-track article::after { position: absolute; z-index: -1; top: 1.15rem; right: 1.25rem; color: var(--paper-red-12); font-family: var(--font-h1); font-size: clamp(4rem, 7vw, 5.5rem); font-weight: 800; line-height: 1; letter-spacing: -0.08em; transition: color 0.28s ease, transform 0.28s ease; }
.about-history-track article:nth-child(1)::after { content: "01" / ""; }
.about-history-track article:nth-child(2)::after { content: "02" / ""; }
.about-history-track article:nth-child(3)::after { content: "03" / ""; }
.about-history-track article:hover { transform: translateY(-0.4rem); border-color: var(--ember); box-shadow: 0 22px 46px rgba(23, 16, 6, 0.16); }
.about-history-track article:hover::before { transform: scaleX(1); }
.about-history-track article:hover::after { color: var(--blood-18); transform: translate3d(-0.2rem, 0.15rem, 0); }
.about-history-track span { width: fit-content; min-width: 3.2rem; padding: 0.48rem 0.75rem; color: var(--ink); background: var(--fire-grad); background-size: 180% 100%; border-radius: 999px; font-family: var(--font-mono); font-size: 0.75rem; font-weight: 600; line-height: 1; letter-spacing: 0.08em; transition: background-position 0.28s ease, transform 0.28s ease; }
.about-history-track article:hover span { background-position: 100% 0; transform: translateX(0.18rem); }
.about-history-track h3 { margin: clamp(2.2rem, 5vw, 3.6rem) 0 0.55rem; color: var(--ink); font-size: clamp(1.75rem, 3vw, 2.25rem); }
.about-history-track p { max-width: 24ch; margin: 0; color: var(--text-muted-light); font-size: 1rem; line-height: 1.55; }

.about-team { padding: clamp(5rem, 10vw, 8rem) 0; color: var(--bone); background: radial-gradient(40% 35% at 82% 12%, var(--ember-13), transparent 75%), var(--char); }
.about-team-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.7fr); gap: 1rem clamp(2.5rem, 8vw, 7rem); align-items: end; }
.about-team-head .panel-index { grid-column: 1 / -1; }
.about-team-head h2 { font-size: clamp(3.3rem, 7vw, 6rem); }
.about-team-head > p:last-child { max-width: 40ch; margin: 0; color: var(--ash); }
.about-team-list { display: grid; gap: 1.25rem; margin-top: clamp(3rem, 7vw, 5rem); perspective: 1200px; }
.about-profile { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(16rem, 0.56fr) minmax(0, 1.44fr); gap: clamp(2rem, 7vw, 6rem); padding: clamp(1.5rem, 4vw, 2.7rem); background: linear-gradient(145deg, var(--surface-raised), var(--soot)); border: 1px solid var(--seam); border-radius: var(--radius-lg); box-shadow: var(--shadow-low); transform: perspective(1200px) rotateY(0.7deg); transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease; }
.about-profile:nth-child(2) { margin-left: clamp(0rem, 5vw, 4rem); transform: perspective(1200px) rotateY(-0.7deg); }
.about-profile:nth-child(3) { margin-right: clamp(0rem, 5vw, 4rem); }
.about-profile::after { content: ""; position: absolute; inset: auto 0 0; height: 0.28rem; background: var(--fire-grad); opacity: 0.72; }
.about-profile:hover { z-index: 2; border-color: var(--ember-58); box-shadow: var(--shadow-high); transform: perspective(1200px) translateY(-0.4rem) rotateY(0); }
.about-profile:nth-child(2):hover { transform: perspective(1200px) translateY(-0.4rem) rotateY(0); }
.about-profile-identity { position: relative; min-height: 12rem; padding-right: 1.5rem; border-right: 1px solid var(--seam); }
.about-profile-number { position: absolute; top: -0.4rem; right: 1.2rem; color: var(--line-warm-dark); font-family: var(--font-h1); font-size: 4.8rem; font-weight: 800; line-height: 1; }
.about-profile-monogram { width: 4.2rem; height: 4.2rem; display: grid; place-items: center; color: var(--ink); background: var(--fire-grad); border-radius: 1.1rem 1.1rem 0.25rem 1.1rem; box-shadow: 0 16px 35px var(--blood-18); font-family: var(--font-h1); font-size: 1.35rem; font-weight: 800; transform: rotate(-4deg); }
.about-profile:nth-child(2) .about-profile-monogram { transform: rotate(4deg); }
.about-profile-identity p { margin: 1.35rem 0 0.2rem; color: var(--gold); font-family: var(--font-mono); font-size: 0.67rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; }
.about-profile-identity h3 { max-width: 9ch; font-size: clamp(1.9rem, 4vw, 3.2rem); }
.about-profile-bio { align-self: center; max-width: 54rem; color: var(--ash); font-size: clamp(0.98rem, 1.45vw, 1.08rem); }
.about-profile-bio p:last-child { margin-bottom: 0; }
.about-profile-bio a { color: var(--gold); font-weight: 700; text-underline-offset: 0.2rem; }

.about-connect { position: relative; isolation: isolate; overflow: hidden; padding: clamp(5.5rem, 11vw, 9rem) 0; color: var(--bone); background: radial-gradient(48% 88% at 82% 55%, var(--ember-20), transparent 70%), linear-gradient(135deg, var(--soot), var(--surface-hero-deep)); }
.about-connect::before { content: ""; position: absolute; z-index: -1; width: min(48vw, 42rem); aspect-ratio: 1.4; right: -7%; bottom: -20%; background: linear-gradient(145deg, var(--ember-13), transparent); border: 1px solid var(--gold-20); border-radius: var(--radius-lg); box-shadow: var(--shadow-high); transform: perspective(900px) rotateX(62deg) rotateZ(-15deg); }
.about-connect-grid { display: grid; grid-template-columns: minmax(18rem, 0.8fr) minmax(0, 1.2fr); gap: 1rem clamp(2.5rem, 8vw, 7rem); align-items: start; }
.about-connect-grid > .panel-index { grid-column: 1 / -1; color: var(--gold) !important; }
.about-connect h2 { max-width: 9ch; font-size: clamp(3rem, 6.5vw, 5.6rem); }
.about-connect-copy { max-width: 47rem; }
.about-connect-copy > p { color: var(--ash); font-size: clamp(1.05rem, 1.7vw, 1.22rem); }
.about-connect-copy .panel-cta { margin-top: 2rem; }
.about-connect-lines { position: absolute; z-index: -1; inset: 0; pointer-events: none; }
.about-connect-lines span { position: absolute; right: -3%; width: 48vw; height: 1px; background: linear-gradient(90deg, transparent, var(--ember-28), transparent); transform: rotate(-20deg); }
.about-connect-lines span:nth-child(1) { top: 28%; } .about-connect-lines span:nth-child(2) { top: 53%; right: 4%; } .about-connect-lines span:nth-child(3) { top: 75%; }

@media (max-width: 980px) {
  .about-hero-constellation { right: 1rem; width: 35vw; opacity: 0.68; }
  .about-history-grid, .about-connect-grid { grid-template-columns: 1fr; }
  .about-history-head { position: static; }
  .about-team-head { grid-template-columns: 1fr; }
  .about-profile { grid-template-columns: minmax(13rem, 0.5fr) minmax(0, 1.5fr); }
}
@media (max-width: 760px) {
  .page-about .neat-menu__list li:not(:first-child) { display: none; }
  .about-hero { padding-top: 4.5rem; }
  .about-hero-constellation { top: 8rem; right: -2.4rem; width: 12rem; height: 17rem; opacity: 0.38; }
  .about-discipline { min-width: 7.2rem; padding: 0.65rem 0.8rem; }
  .about-discipline-creative { top: 5.7rem; }
  .about-discipline-tech { left: 0.8rem; }
  .about-hero h1 { font-size: clamp(3.35rem, 16.5vw, 5.6rem); }
  .about-hero-facts, .about-history-track { grid-template-columns: 1fr; }
  .about-hero-facts div { border-bottom: 1px solid var(--seam); }
  .about-history-track article, .about-history-track article:nth-child(2) { min-height: 12rem; transform: none; }
  .about-history-track article:hover, .about-history-track article:nth-child(2):hover { transform: none; }
  .about-profile, .about-profile:nth-child(2), .about-profile:nth-child(3) { grid-template-columns: 1fr; margin: 0; transform: none; }
  .about-profile:hover, .about-profile:nth-child(2):hover { transform: none; }
  .about-profile-identity { min-height: 10rem; padding: 0 0 1.5rem; border-right: 0; border-bottom: 1px solid var(--seam); }
}
@media (max-width: 480px) {
  .about-head .section-nav { gap: 0.8rem; }
  .about-hero-constellation { display: none; }
  .about-profile { padding: 1.2rem; border-radius: var(--radius-md); }
  .about-profile-number { font-size: 3.8rem; }
}
@media (prefers-reduced-motion: reduce) {
  .page-about [id^="about-"]:target { animation: none; box-shadow: inset 0 0 0 3px var(--gold); }
  .about-discipline { animation: none; }
  .about-history-track article, .about-history-track article::before, .about-history-track article::after, .about-history-track span { transition: none; }
  .about-history-track article:hover, .about-history-track article:nth-child(2):hover, .about-profile:hover, .about-profile:nth-child(2):hover { transform: none; }
  .about-history-track article:hover::after, .about-history-track article:hover span { transform: none; }
}

/* Neat panels shared styles */
.block { width: 100%; padding: var(--space-xl) 0; }
.block + .block { border-top: 1px solid var(--color-border); }
.block-inner {
  width: min(100%, var(--content-width, var(--max-width)));
  max-width: var(--content-width, var(--max-width));
  margin: 0 auto;
  padding: 0 var(--space-md);
}

/* Neat typography shared styles */
:root {
  --sb-active-text-color: initial;
}
body {
  font-family: var(--font-p);
  font-weight: var(--weight-p);
  font-size: var(--size-p, 1rem);
  line-height: var(--lineheight-p, 1.6);
  color: var(--sb-active-text-color, var(--text-color-p, var(--color-text)));
}
:where(p, li, blockquote p, figcaption, td, dd) {
  font-family: var(--font-p);
  font-weight: var(--weight-p);
  font-size: var(--size-p, 1rem);
  line-height: var(--lineheight-p, 1.6);
  color: var(--sb-active-text-color, var(--text-color-p, inherit));
  text-transform: var(--text-transform-p, none);
  text-align: var(--text-align-p, start);
  text-indent: var(--text-indent-p, 0);
}
h1 {
  font-family: var(--font-h1);
  font-weight: var(--weight-h1);
  font-size: var(--size-h1, 2.25rem);
  line-height: var(--lineheight-h1, 1.2);
  color: var(--sb-active-text-color, var(--text-color-h1, inherit));
  text-transform: var(--text-transform-h1, none);
  text-align: var(--text-align-h1, start);
  text-indent: var(--text-indent-h1, 0);
}
h2 {
  font-family: var(--font-h2);
  font-weight: var(--weight-h2);
  font-size: var(--size-h2, 1.875rem);
  line-height: var(--lineheight-h2, 1.25);
  color: var(--sb-active-text-color, var(--text-color-h2, inherit));
  text-transform: var(--text-transform-h2, none);
  text-align: var(--text-align-h2, start);
  text-indent: var(--text-indent-h2, 0);
}
h3 {
  font-family: var(--font-h3);
  font-weight: var(--weight-h3);
  font-size: var(--size-h3, 1.5rem);
  line-height: var(--lineheight-h3, 1.3);
  color: var(--sb-active-text-color, var(--text-color-h3, inherit));
  text-transform: var(--text-transform-h3, none);
  text-align: var(--text-align-h3, start);
  text-indent: var(--text-indent-h3, 0);
}
h4 {
  font-family: var(--font-h4);
  font-weight: var(--weight-h4);
  font-size: var(--size-h4, 1.25rem);
  line-height: var(--lineheight-h4, 1.35);
  color: var(--sb-active-text-color, var(--text-color-h4, inherit));
  text-transform: var(--text-transform-h4, none);
  text-align: var(--text-align-h4, start);
  text-indent: var(--text-indent-h4, 0);
}
h5 {
  font-family: var(--font-h5);
  font-weight: var(--weight-h5);
  font-size: var(--size-h5, 1.125rem);
  line-height: var(--lineheight-h5, 1.4);
  color: var(--sb-active-text-color, var(--text-color-h5, inherit));
  text-transform: var(--text-transform-h5, none);
  text-align: var(--text-align-h5, start);
  text-indent: var(--text-indent-h5, 0);
}
h6 {
  font-family: var(--font-h6);
  font-weight: var(--weight-h6);
  font-size: var(--size-h6, 1rem);
  line-height: var(--lineheight-h6, 1.4);
  color: var(--sb-active-text-color, var(--text-color-h6, inherit));
  text-transform: var(--text-transform-h6, none);
  text-align: var(--text-align-h6, start);
  text-indent: var(--text-indent-h6, 0);
}
:where(.ux-text, .ux, [data-sb-text-style="ux"], small, .eyebrow, .overline) {
  font-family: var(--font-ux);
  font-weight: var(--weight-ux);
  font-size: var(--size-ux, 0.875rem);
  line-height: var(--lineheight-ux, 1.4);
  color: var(--sb-active-text-color, var(--text-color-ux, var(--color-muted)));
  text-transform: var(--text-transform-ux, none);
  text-align: var(--text-align-ux, start);
  text-indent: var(--text-indent-ux, 0);
}

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-1)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-1)"] { --sb-active-text-color: var(--text-on-color-1, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-2)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-2)"] { --sb-active-text-color: var(--text-on-color-2, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-3)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-3)"] { --sb-active-text-color: var(--text-on-color-3, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-4)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-4)"] { --sb-active-text-color: var(--text-on-color-4, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-5)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-5)"] { --sb-active-text-color: var(--text-on-color-5, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-6)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-6)"] { --sb-active-text-color: var(--text-on-color-6, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--light-1)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--light-1)"] { --sb-active-text-color: var(--text-on-light-1, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--light-2)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--light-2)"] { --sb-active-text-color: var(--text-on-light-2, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--light-3)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--light-3)"] { --sb-active-text-color: var(--text-on-light-3, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--light-4)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--light-4)"] { --sb-active-text-color: var(--text-on-light-4, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--light-5)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--light-5)"] { --sb-active-text-color: var(--text-on-light-5, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--light-6)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--light-6)"] { --sb-active-text-color: var(--text-on-light-6, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--dark-1)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--dark-1)"] { --sb-active-text-color: var(--text-on-dark-1, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--dark-2)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--dark-2)"] { --sb-active-text-color: var(--text-on-dark-2, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--dark-3)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--dark-3)"] { --sb-active-text-color: var(--text-on-dark-3, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--dark-4)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--dark-4)"] { --sb-active-text-color: var(--text-on-dark-4, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--dark-5)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--dark-5)"] { --sb-active-text-color: var(--text-on-dark-5, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--dark-6)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--dark-6)"] { --sb-active-text-color: var(--text-on-dark-6, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-1-light-1)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-1-light-1)"] { --sb-active-text-color: var(--text-on-color-1-light-1, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-1-light-2)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-1-light-2)"] { --sb-active-text-color: var(--text-on-color-1-light-2, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-1-light-3)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-1-light-3)"] { --sb-active-text-color: var(--text-on-color-1-light-3, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-1-light-4)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-1-light-4)"] { --sb-active-text-color: var(--text-on-color-1-light-4, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-1-light-5)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-1-light-5)"] { --sb-active-text-color: var(--text-on-color-1-light-5, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-1-light-6)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-1-light-6)"] { --sb-active-text-color: var(--text-on-color-1-light-6, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-1-dark-1)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-1-dark-1)"] { --sb-active-text-color: var(--text-on-color-1-dark-1, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-1-dark-2)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-1-dark-2)"] { --sb-active-text-color: var(--text-on-color-1-dark-2, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-1-dark-3)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-1-dark-3)"] { --sb-active-text-color: var(--text-on-color-1-dark-3, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-1-dark-4)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-1-dark-4)"] { --sb-active-text-color: var(--text-on-color-1-dark-4, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-1-dark-5)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-1-dark-5)"] { --sb-active-text-color: var(--text-on-color-1-dark-5, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-1-dark-6)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-1-dark-6)"] { --sb-active-text-color: var(--text-on-color-1-dark-6, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-2-light-1)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-2-light-1)"] { --sb-active-text-color: var(--text-on-color-2-light-1, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-2-light-2)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-2-light-2)"] { --sb-active-text-color: var(--text-on-color-2-light-2, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-2-light-3)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-2-light-3)"] { --sb-active-text-color: var(--text-on-color-2-light-3, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-2-light-4)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-2-light-4)"] { --sb-active-text-color: var(--text-on-color-2-light-4, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-2-light-5)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-2-light-5)"] { --sb-active-text-color: var(--text-on-color-2-light-5, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-2-light-6)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-2-light-6)"] { --sb-active-text-color: var(--text-on-color-2-light-6, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-2-dark-1)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-2-dark-1)"] { --sb-active-text-color: var(--text-on-color-2-dark-1, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-2-dark-2)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-2-dark-2)"] { --sb-active-text-color: var(--text-on-color-2-dark-2, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-2-dark-3)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-2-dark-3)"] { --sb-active-text-color: var(--text-on-color-2-dark-3, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-2-dark-4)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-2-dark-4)"] { --sb-active-text-color: var(--text-on-color-2-dark-4, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-2-dark-5)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-2-dark-5)"] { --sb-active-text-color: var(--text-on-color-2-dark-5, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-2-dark-6)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-2-dark-6)"] { --sb-active-text-color: var(--text-on-color-2-dark-6, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-3-light-1)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-3-light-1)"] { --sb-active-text-color: var(--text-on-color-3-light-1, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-3-light-2)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-3-light-2)"] { --sb-active-text-color: var(--text-on-color-3-light-2, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-3-light-3)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-3-light-3)"] { --sb-active-text-color: var(--text-on-color-3-light-3, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-3-light-4)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-3-light-4)"] { --sb-active-text-color: var(--text-on-color-3-light-4, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-3-light-5)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-3-light-5)"] { --sb-active-text-color: var(--text-on-color-3-light-5, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-3-light-6)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-3-light-6)"] { --sb-active-text-color: var(--text-on-color-3-light-6, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-3-dark-1)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-3-dark-1)"] { --sb-active-text-color: var(--text-on-color-3-dark-1, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-3-dark-2)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-3-dark-2)"] { --sb-active-text-color: var(--text-on-color-3-dark-2, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-3-dark-3)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-3-dark-3)"] { --sb-active-text-color: var(--text-on-color-3-dark-3, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-3-dark-4)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-3-dark-4)"] { --sb-active-text-color: var(--text-on-color-3-dark-4, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-3-dark-5)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-3-dark-5)"] { --sb-active-text-color: var(--text-on-color-3-dark-5, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-3-dark-6)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-3-dark-6)"] { --sb-active-text-color: var(--text-on-color-3-dark-6, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-4-light-1)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-4-light-1)"] { --sb-active-text-color: var(--text-on-color-4-light-1, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-4-light-2)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-4-light-2)"] { --sb-active-text-color: var(--text-on-color-4-light-2, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-4-light-3)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-4-light-3)"] { --sb-active-text-color: var(--text-on-color-4-light-3, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-4-light-4)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-4-light-4)"] { --sb-active-text-color: var(--text-on-color-4-light-4, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-4-light-5)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-4-light-5)"] { --sb-active-text-color: var(--text-on-color-4-light-5, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-4-light-6)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-4-light-6)"] { --sb-active-text-color: var(--text-on-color-4-light-6, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-4-dark-1)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-4-dark-1)"] { --sb-active-text-color: var(--text-on-color-4-dark-1, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-4-dark-2)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-4-dark-2)"] { --sb-active-text-color: var(--text-on-color-4-dark-2, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-4-dark-3)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-4-dark-3)"] { --sb-active-text-color: var(--text-on-color-4-dark-3, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-4-dark-4)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-4-dark-4)"] { --sb-active-text-color: var(--text-on-color-4-dark-4, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-4-dark-5)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-4-dark-5)"] { --sb-active-text-color: var(--text-on-color-4-dark-5, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-4-dark-6)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-4-dark-6)"] { --sb-active-text-color: var(--text-on-color-4-dark-6, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-5-light-1)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-5-light-1)"] { --sb-active-text-color: var(--text-on-color-5-light-1, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-5-light-2)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-5-light-2)"] { --sb-active-text-color: var(--text-on-color-5-light-2, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-5-light-3)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-5-light-3)"] { --sb-active-text-color: var(--text-on-color-5-light-3, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-5-light-4)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-5-light-4)"] { --sb-active-text-color: var(--text-on-color-5-light-4, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-5-light-5)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-5-light-5)"] { --sb-active-text-color: var(--text-on-color-5-light-5, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-5-light-6)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-5-light-6)"] { --sb-active-text-color: var(--text-on-color-5-light-6, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-5-dark-1)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-5-dark-1)"] { --sb-active-text-color: var(--text-on-color-5-dark-1, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-5-dark-2)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-5-dark-2)"] { --sb-active-text-color: var(--text-on-color-5-dark-2, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-5-dark-3)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-5-dark-3)"] { --sb-active-text-color: var(--text-on-color-5-dark-3, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-5-dark-4)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-5-dark-4)"] { --sb-active-text-color: var(--text-on-color-5-dark-4, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-5-dark-5)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-5-dark-5)"] { --sb-active-text-color: var(--text-on-color-5-dark-5, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-5-dark-6)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-5-dark-6)"] { --sb-active-text-color: var(--text-on-color-5-dark-6, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-6-light-1)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-6-light-1)"] { --sb-active-text-color: var(--text-on-color-6-light-1, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-6-light-2)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-6-light-2)"] { --sb-active-text-color: var(--text-on-color-6-light-2, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-6-light-3)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-6-light-3)"] { --sb-active-text-color: var(--text-on-color-6-light-3, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-6-light-4)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-6-light-4)"] { --sb-active-text-color: var(--text-on-color-6-light-4, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-6-light-5)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-6-light-5)"] { --sb-active-text-color: var(--text-on-color-6-light-5, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-6-light-6)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-6-light-6)"] { --sb-active-text-color: var(--text-on-color-6-light-6, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-6-dark-1)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-6-dark-1)"] { --sb-active-text-color: var(--text-on-color-6-dark-1, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-6-dark-2)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-6-dark-2)"] { --sb-active-text-color: var(--text-on-color-6-dark-2, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-6-dark-3)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-6-dark-3)"] { --sb-active-text-color: var(--text-on-color-6-dark-3, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-6-dark-4)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-6-dark-4)"] { --sb-active-text-color: var(--text-on-color-6-dark-4, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-6-dark-5)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-6-dark-5)"] { --sb-active-text-color: var(--text-on-color-6-dark-5, inherit); }

:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color: var(--color-6-dark-6)"],
:where(section, header, footer, nav, article, aside, main, [data-sb-container]):not([data-sb-element]):not([data-sb-image])[style*="background-color:var(--color-6-dark-6)"] { --sb-active-text-color: var(--text-on-color-6-dark-6, inherit); }
.body > p:first-of-type::first-letter,
.body > article > p:first-of-type::first-letter,
article > p:first-of-type::first-letter {
  float: var(--dropcap-float-p, none);
  font-size: var(--dropcap-size-p, inherit);
  line-height: var(--dropcap-line-height-p, inherit);
  padding-right: var(--dropcap-padding-p, 0);
}
:where(.ux-text, .ux, [data-sb-text-style="ux"]):first-of-type::first-letter {
  float: var(--dropcap-float-ux, none);
  font-size: var(--dropcap-size-ux, inherit);
  line-height: var(--dropcap-line-height-ux, inherit);
  padding-right: var(--dropcap-padding-ux, 0);
}
/* Neat media layouts */
.nl-media {
  position: relative;
  display: block;
  overflow: hidden;
  min-width: 0;
  aspect-ratio: var(--nl-media-ratio, auto);
  background-size: var(--nl-media-fit, cover);
  background-position: var(--nl-media-focal, 50% 50%);
  background-repeat: no-repeat;
}
.nl-media[data-sb-media-empty] {
  background-color: var(--color-border, rgba(128, 128, 128, 0.2));
  background-image: repeating-linear-gradient(
    45deg,
    rgba(128, 128, 128, 0.16) 0 8px,
    rgba(128, 128, 128, 0) 8px 16px
  );
}
.nl-media > picture,
.nl-media > img {
  display: block;
  width: 100%;
  height: 100%;
}
.nl-media > picture > img,
.nl-media > img {
  width: 100%;
  height: 100%;
  object-fit: var(--nl-media-fit, contain) !important;
  object-position: var(--nl-media-focal, 50% 50%);
}
[data-sb-media-suppressed] { display: none !important; }
[data-sb-media-authored-hidden] { display: none !important; }
.nl-media--above.nl-media {
  width: 100%;
  grid-column: 1 / -1;
  flex: 0 0 100%;
  /* "Above" is a header band, not a 16:9 billboard. A 16:9 zone across a
     wide card can be taller than the card itself and collide with the next
     Panel. The user can still choose another ratio explicitly. */
  aspect-ratio: var(--nl-media-ratio, 5 / 1);
  min-height: 4rem;
  height: var(--nl-media-height, auto);
  max-height: var(--nl-media-height, 7rem);
  margin: 0 0 var(--space-md, 1rem);
  border-radius: var(--radius-md, 12px);
}
.nl-has-media--above.nl-has-media { flex-wrap: wrap; }
.nl-media--only.nl-media {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: auto;
  height: auto;
  aspect-ratio: auto;
  margin: 0;
  border-radius: inherit;
}
.nl-has-media--only.nl-has-media { position: relative; }
.nl-has-media--only.nl-has-media > *:not(.nl-media) { visibility: hidden !important; }
.nl-has-media--beside.nl-has-media,
.nl-has-media--beside-right.nl-has-media {
  display: grid;
  column-gap: var(--space-md, 1rem);
  align-items: start;
}
.nl-has-media--beside.nl-has-media {
  grid-template-columns: minmax(0, var(--nl-media-col, 38%)) minmax(0, 1fr);
}
.nl-has-media--beside-right.nl-has-media {
  grid-template-columns: minmax(0, 1fr) minmax(0, var(--nl-media-col, 38%));
}
.nl-has-media--beside.nl-has-media > * { grid-column: 2; }
.nl-has-media--beside.nl-has-media > .nl-media { grid-column: 1; grid-row: 1 / span 3; }
.nl-has-media--beside-right.nl-has-media > * { grid-column: 1; }
.nl-has-media--beside-right.nl-has-media > .nl-media { grid-column: 2; grid-row: 1 / span 3; }
.nl-media--beside.nl-media,
.nl-media--beside-right.nl-media {
  min-height: 8rem;
  max-height: 18rem;
  height: 100%;
  aspect-ratio: var(--nl-media-ratio, auto);
  border-radius: var(--radius-md, 12px);
}
.nl-media--icon-above.nl-media,
.nl-media--icon.nl-media {
  width: var(--nl-media-icon, 9rem);
  aspect-ratio: 1;
  border-radius: var(--radius-sm, 10px);
}
.nl-media--icon-above.nl-media {
  grid-column: 1 / -1;
  margin: 0 var(--nl-media-mr, auto) var(--space-sm, 0.75rem) var(--nl-media-ml, 0);
}
.nl-has-media--icon-left.nl-has-media,
.nl-has-media--icon-right.nl-has-media {
  position: relative;
}
.nl-has-media--icon-left.nl-has-media > .nl-media,
.nl-has-media--icon-right.nl-has-media > .nl-media {
  position: absolute;
  top: var(--space-md, 1rem);
  z-index: 1;
}
.nl-has-media--icon-left.nl-has-media > .nl-media { left: var(--space-md, 1rem); }
.nl-has-media--icon-right.nl-has-media > .nl-media { right: var(--space-md, 1rem); }
.nl-media--badge.nl-media { display: grid; place-items: center; }
@media (max-width: 720px) {
  .nl-has-media--beside.nl-has-media,
  .nl-has-media--beside-right.nl-has-media { grid-template-columns: minmax(0, 1fr); }
  .nl-has-media--beside.nl-has-media > *,
  .nl-has-media--beside.nl-has-media > .nl-media,
  .nl-has-media--beside-right.nl-has-media > *,
  .nl-has-media--beside-right.nl-has-media > .nl-media { grid-column: 1; }
  .nl-has-media--beside.nl-has-media > .nl-media,
  .nl-has-media--beside-right.nl-has-media > .nl-media {
    grid-row: auto;
    margin-bottom: var(--space-md, 1rem);
  }
}
/* Neat building blocks */
[data-sb-block] [data-sb-columns][data-sb-columns] {
  display: grid;
  grid-template-columns: var(--nl-grid, repeat(var(--nl-cols, 1), minmax(0, 1fr)));
  gap: clamp(1.75rem, 4vw, 3.5rem);
  align-items: var(--nl-col-align, start);
}
[data-sb-columns="2"][data-nl-split="wide-left"] { --nl-grid: minmax(0, 1.4fr) minmax(0, 1fr); }
[data-sb-columns="2"][data-nl-split="wide-right"] { --nl-grid: minmax(0, 1fr) minmax(0, 1.4fr); }
[data-sb-columns="2"] { --nl-cols: 2; }
[data-sb-columns="3"] { --nl-cols: 3; }
[data-sb-columns="4"] { --nl-cols: 4; }
[data-sb-block] [data-sb-columns="1"][data-sb-columns] > [data-sb-stack] {
  width: 100%;
  max-width: 48rem;
  margin-inline: auto;
  text-align: center;
}
@media (max-width: 1020px) {
  [data-sb-block] [data-sb-columns="4"][data-sb-columns] { --nl-grid: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  [data-sb-block] [data-sb-columns][data-sb-columns] { --nl-grid: minmax(0, 1fr); }
}
[data-sb-stack] {
  display: flex;
  flex-direction: column;
  min-width: 0;
  color: var(--sb-active-text-color, inherit);
}
[data-sb-stack] > * { margin: 0; }
[data-sb-stack] > * + * { margin-top: var(--nl-flow, 1rem); }
[data-sb-stack] > .nl-b-eyebrow + * { margin-top: 0.55rem; }
[data-sb-stack] > * + .nl-b-heading,
[data-sb-stack] > * + :is(.sb-cta-placement, .nl-b-play),
[data-sb-stack] > :is(.nl-b-image, .nl-b-card, .nl-b-quote, .nl-b-stat) + *,
[data-sb-stack] > * + :is(.nl-b-image, .nl-b-card, .nl-b-quote, .nl-b-stat) { margin-top: clamp(1.4rem, 2.6vw, 2rem); }
[data-sb-block] [data-sb-stack] :is(h1, h2, h3, h4, h5, h6, p, li, blockquote, figcaption) { text-align: inherit; }
[data-nl-height="tall"] { min-height: 72vh; }
[data-nl-height="screen"] { min-height: 100vh; min-height: 100svh; }
[data-nl-height="tall"], [data-nl-height="screen"] { display: grid; align-content: var(--nl-valign, center); }
[data-nl-height="tall"] > :not(style):not(script):not(.nl-overlay),
[data-nl-height="screen"] > :not(style):not(script):not(.nl-overlay) { width: 100%; }
[data-nl-valign="top"] { --nl-valign: start; --nl-col-align: start; }
[data-nl-valign="middle"] { --nl-valign: center; --nl-col-align: center; }
[data-nl-valign="bottom"] { --nl-valign: end; --nl-col-align: end; }
[data-sb-element][data-nl-surface][data-nl-surface="soft"] { background: color-mix(in srgb, currentColor 6%, transparent); border-radius: var(--radius, 14px); box-shadow: none; }
[data-sb-element][data-nl-surface][data-nl-surface="raised"] { background: var(--color-bg, #fff); color: var(--color-heading, var(--color-text, #16171a)); --sb-active-text-color: var(--color-heading, var(--color-text, #16171a)); border-radius: var(--radius, 14px); box-shadow: 0 1px 2px rgba(0,0,0,.05), 0 16px 40px rgba(0,0,0,.12); }
[data-sb-element][data-nl-surface][data-nl-surface="glass"] { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.16); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-radius: var(--radius, 14px); }
[data-sb-element][data-nl-surface][data-nl-surface="outline"] { background: transparent; border: 1px solid color-mix(in srgb, currentColor 18%, transparent); border-radius: var(--radius, 14px); box-shadow: none; }
[data-nl-tone="soft"] { background-color: color-mix(in srgb, var(--color-text, #111) 6%, var(--color-bg, #fff)); --nl-raised: var(--color-bg, #fff); }
[data-nl-tone="dark"] { --sb-active-text-color: #fff; color: #fff; }
.nl-b-eyebrow {
  font-family: var(--font-h5, inherit);
  font-weight: var(--weight-h5, 700);
  font-size: 0.8rem;
  line-height: 1.3;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--nl-eyebrow, var(--text-color-h5, var(--color-accent, currentColor)));
}
.nl-b-heading, .nl-b-subheading { text-wrap: balance; }
.nl-b-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  align-self: flex-start;
  padding: 0.4rem 0.95rem 0.4rem 0.75rem;
  border: 1px solid color-mix(in srgb, currentColor 14%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, currentColor 8%, transparent);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.2;
}
[data-sb-columns="1"] > [data-sb-stack] > .nl-b-badge { align-self: center; }
.nl-b-badge-mark { color: var(--color-accent, currentColor); letter-spacing: 0.08em; }
.nl-b-text { max-width: 65ch; text-wrap: pretty; }
[data-sb-columns="1"] > [data-sb-stack] > .nl-b-text { margin-inline: auto; }
.nl-b-list { display: grid; gap: 0.6rem; padding-left: 0; list-style: none; text-align: start; }
.nl-b-list li { position: relative; padding-left: 1.7em; }
.nl-b-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.22em;
  width: 1.1em;
  height: 1.1em;
  background: var(--color-accent, currentColor);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M7.6 13.2 4.4 10l-1.4 1.4 4.6 4.6 9.4-9.4-1.4-1.4z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M7.6 13.2 4.4 10l-1.4 1.4 4.6 4.6 9.4-9.4-1.4-1.4z'/%3E%3C/svg%3E") center / contain no-repeat;
}
[data-sb-columns="1"] > [data-sb-stack] > .nl-b-list { width: fit-content; margin-inline: auto; }
.nl-b-image { margin: 0; }
.nl-b-image-box,
.nl-b-card-image {
  --nl-media-fit: cover;
  aspect-ratio: 16 / 10;
  border-radius: var(--radius, 14px);
  overflow: hidden;
  background-color: color-mix(in srgb, currentColor 7%, transparent);
  background-image: linear-gradient(135deg, color-mix(in srgb, var(--color-accent, currentColor) 18%, transparent), transparent 62%);
  background-size: cover;
  background-position: center;
}
.nl-b-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--radius, 14px);
  background: var(--nl-raised, color-mix(in srgb, currentColor 5%, transparent));
  text-align: start;
}
.nl-b-card .nl-b-card-image { border-radius: 0; }
.nl-b-card-body { display: flex; flex-direction: column; gap: 0.45rem; padding: clamp(1.1rem, 2vw, 1.5rem); }
.nl-b-card-body > * { margin: 0; }
.nl-b-quote { position: relative; padding-top: 2.6rem; }
.nl-b-quote::before {
  content: "\201C";
  position: absolute;
  top: -0.35rem;
  left: 0;
  font-family: var(--font-h1, Georgia, serif);
  font-size: 4.6rem;
  font-weight: 700;
  line-height: 1;
  color: var(--color-accent, currentColor);
}
[data-sb-columns="1"] > [data-sb-stack] > .nl-b-quote::before { left: 50%; transform: translateX(-50%); }
.nl-b-quote p {
  font-family: var(--font-h3, inherit);
  font-weight: var(--weight-h3, 600);
  font-size: clamp(1.25rem, 2.2vw, 1.6rem);
  line-height: 1.4;
  color: var(--sb-active-text-color, var(--text-color-h3, inherit));
}
.nl-b-quote cite { display: block; margin-top: 0.9rem; font-style: normal; font-size: 0.9rem; letter-spacing: 0.04em; opacity: 0.72; }
.nl-b-stat { display: flex; flex-direction: column; gap: 0.35rem; }
.nl-b-stat-value {
  font-family: var(--font-h1, inherit);
  font-weight: var(--weight-h1, 800);
  font-size: clamp(2.6rem, 6vw, 4.2rem);
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--nl-stat, var(--color-accent, currentColor));
}
.nl-b-stat-label { font-size: 0.95rem; opacity: 0.75; }
.nl-b-divider { width: 100%; height: 1px; border: 0; background: color-mix(in srgb, currentColor 16%, transparent); }
[data-sb-columns="1"] > [data-sb-stack] > .nl-b-divider { width: 64px; height: 3px; border-radius: 3px; margin-inline: auto; background: var(--color-accent, currentColor); }
.nl-b-play { display: inline-flex; align-items: center; gap: 0.95rem; align-self: flex-start; }
[data-sb-columns="1"] > [data-sb-stack] > .nl-b-play { align-self: center; }
.nl-b-play-disc {
  position: relative;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 4.4rem;
  height: 4.4rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--color-accent, #fff);
  color: var(--nl-play-ink, rgba(0,0,0,.85));
  box-shadow: 0 12px 34px rgba(0,0,0,.28);
  cursor: pointer;
  transition: transform .3s cubic-bezier(.2,.7,.2,1);
}
.nl-b-play-disc:hover { transform: scale(1.07); }
.nl-b-play-disc > span {
  width: 0;
  height: 0;
  margin-left: 0.3rem;
  border-style: solid;
  border-width: 0.72rem 0 0.72rem 1.2rem;
  border-color: transparent transparent transparent currentColor;
}
.nl-b-play-label { font-weight: 700; letter-spacing: 0.02em; }
/* Neat interactions */
[data-nl-fx] {
  transition: transform calc(0.35s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)), box-shadow calc(0.35s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)), filter calc(0.35s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)), translate calc(0.45s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)), scale calc(0.2s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1));
}
[data-nl-fx="lift"]:is(:hover, :focus-within, [data-sb-demo-hover]) { transform: translateY(-6px); box-shadow: 0 2px 5px 0px color-mix(in srgb, var(--nl-sc, #0f1115) calc(7% * var(--nl-depth-k, 1)), transparent), 0 20px 44px -12px color-mix(in srgb, var(--nl-sc, #0f1115) calc(20% * var(--nl-depth-k, 1)), transparent); }
[data-nl-fx="glow"]:is(:hover, :focus-within, [data-sb-demo-hover]) {
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-accent, #6aa1ff) 60%, transparent),
              0 14px 44px color-mix(in srgb, var(--color-accent, #6aa1ff) 45%, transparent);
}
[data-nl-fx="zoom"] { overflow: hidden; }
[data-nl-fx="zoom"] img,
[data-nl-fx="zoom"] [data-sb-image] { transition: transform calc(0.7s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)); }
[data-nl-fx="zoom"]:is(:hover, :focus-within, [data-sb-demo-hover]) img,
[data-nl-fx="zoom"]:is(:hover, :focus-within, [data-sb-demo-hover]) [data-sb-image] { transform: scale(1.06); }
[data-nl-fx="tilt"] {
  transform: perspective(900px) rotateX(var(--nl-tilt-x, 0deg)) rotateY(var(--nl-tilt-y, 0deg));
  transition: transform .18s ease-out, box-shadow calc(0.35s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1));
  will-change: transform;
}
[data-nl-fx="tilt"]:is(:hover, :focus-within, [data-sb-demo-hover]) { box-shadow: 0 4px 10px 0px color-mix(in srgb, var(--nl-sc, #0f1115) calc(8% * var(--nl-depth-k, 1)), transparent), 0 38px 80px -24px color-mix(in srgb, var(--nl-sc, #0f1115) calc(34% * var(--nl-depth-k, 1)), transparent); }
html.nl-motion-on [data-nl-motion] {
  transition: opacity calc(0.8s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)), transform calc(0.8s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)), filter calc(0.8s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)), clip-path calc(0.95s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1));
  transition-delay: var(--nl-motion-delay, 0s);
}
html.nl-motion-on [data-nl-motion]:not(.is-in):not(:is([data-nl-motion="none"], [data-nl-motion="wipe"], [data-nl-motion="words"], [data-nl-motion="lines"], [data-nl-motion="count"])) { opacity: 0; }
html.nl-motion-on [data-nl-motion="fade-up"]:not(.is-in) { transform: translateY(32px); }
html.nl-motion-on [data-nl-motion="slide"]:not(.is-in) { transform: translateX(-48px); }
html.nl-motion-on [data-nl-motion="zoom"]:not(.is-in) { transform: scale(.92); }
html.nl-motion-on [data-nl-motion="blur"]:not(.is-in) { filter: blur(12px); }
html.nl-motion-on [data-nl-motion="flip"]:not(.is-in) { transform: perspective(900px) rotateX(24deg) translateY(24px); }
html.nl-motion-on [data-nl-motion="wipe"]:not(.is-in) { clip-path: inset(0 100% 0 0); }
[data-nl-fx="parallax"] { background-attachment: fixed; }
html.nl-live [data-nl-fx="drift"] { animation: nl-drift 26s ease-in-out infinite alternate; }
@keyframes nl-drift { from { background-position: 50% 30%; } to { background-position: 50% 70%; } }
:where([data-nl-overlay]) { position: relative; isolation: isolate; }
[data-nl-overlay] > .nl-overlay { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
[data-nl-overlay="shade"] > .nl-overlay { background: linear-gradient(rgba(0,0,0,.48), rgba(0,0,0,.48)); }
[data-nl-overlay="cinematic"] > .nl-overlay { background: linear-gradient(180deg, rgba(0,0,0,.16) 0%, rgba(0,0,0,.4) 48%, rgba(0,0,0,.82) 100%); }
[data-nl-overlay="side"] > .nl-overlay { background: linear-gradient(90deg, rgba(0,0,0,.8) 0%, rgba(0,0,0,.52) 46%, rgba(0,0,0,.1) 100%); }
[data-nl-overlay="spotlight"] > .nl-overlay { background: radial-gradient(ellipse 90% 80% at 50% 45%, rgba(0,0,0,.1) 0%, rgba(0,0,0,.78) 100%); }
[data-nl-overlay="tint"] > .nl-overlay { background: linear-gradient(135deg, color-mix(in srgb, var(--color-1, #333) 80%, transparent), color-mix(in srgb, var(--color-2, #111) 84%, transparent)); }
[data-nl-overlay]:not([data-nl-overlay="none"]):not(#nl-x) { --sb-active-text-color: #fff; color: #fff; --nl-raised: rgba(255,255,255,.08); }
[data-nl-overlay]:not([data-nl-overlay="none"]) .nl-b-card { -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
:is([data-nl-overlay]:not([data-nl-overlay="none"]), [data-nl-tone="dark"]) :is(h1, h2, h3, h4, h5, h6, p, li, blockquote, figcaption, cite):not(.nl-b-eyebrow) { color: var(--sb-active-text-color, #fff); }
.nl-video-playing { min-height: min(56.25vw, 92vh); transition: min-height .6s ease; }
.nl-video-playing > :not(.nl-video-stage):not(.nl-overlay) { opacity: 0; visibility: hidden; transition: opacity .45s ease, visibility 0s linear .45s; }
.nl-video-stage { position: absolute; inset: 0; z-index: 20; display: grid; place-items: center; background: #000; opacity: 0; transition: opacity .6s ease; }
.nl-video-playing > .nl-video-stage { opacity: 1; }
.nl-video-stage iframe, .nl-video-stage video { width: 100%; height: 100%; border: 0; object-fit: contain; background: #000; }
.nl-video-close {
  position: absolute; top: 1rem; right: 1rem; z-index: 2;
  width: 2.75rem; height: 2.75rem; border: 0; border-radius: 50%;
  background: rgba(255,255,255,.16); color: #fff; font-size: 1.4rem; line-height: 1; cursor: pointer;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.nl-video-close:hover { background: rgba(255,255,255,.28); }
html.nl-live .nl-b-play-disc::after {
  content: ""; position: absolute; inset: -9px; border-radius: 50%;
  border: 2px solid color-mix(in srgb, var(--color-accent, #fff) 60%, transparent);
  animation: nl-play-pulse 2.6s ease-out infinite;
}
@keyframes nl-play-pulse { from { transform: scale(.9); opacity: .9; } to { transform: scale(1.35); opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  [data-nl-fx] { transition: none; }
  [data-nl-fx]:hover { transform: none; }
  html.nl-live [data-nl-fx="drift"], html.nl-live .nl-b-play-disc::after { animation: none; }
  .nl-video-playing > *, .nl-video-stage { transition: none; }
}
/* Neat polish */
[data-nl-ease="smooth"] { --nl-ease: cubic-bezier(.2,.7,.2,1); }
[data-nl-ease="snappy"] { --nl-ease: cubic-bezier(.16,1,.3,1); }
[data-nl-ease="springy"] { --nl-ease: cubic-bezier(.34,1.56,.64,1); }
[data-nl-ease="cinematic"] { --nl-ease: cubic-bezier(.65,0,.35,1); }
[data-nl-speed="slow"] { --nl-speed: 1.5; }
[data-nl-speed="quick"] { --nl-speed: .65; }
html[data-nl-links="grow"] [data-sb-block] a:not(.cta-btn):not([class*="btn"]):not(:has(img, [data-sb-image])) {
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0% 1px;
  transition: background-size calc(0.4s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)), color calc(0.25s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1));
}
html[data-nl-links="grow"] [data-sb-block] a:not(.cta-btn):not([class*="btn"]):is(:hover, :focus-visible) { background-size: 100% 1px; }
html[data-nl-links="shift"] [data-sb-block] a:not(.cta-btn):not([class*="btn"]) { transition: color calc(0.25s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)); }
html[data-nl-links="shift"] [data-sb-block] a:not(.cta-btn):not([class*="btn"]):is(:hover, :focus-visible) { color: var(--color-accent, currentColor); }
html[data-nl-surfaces="glass"] .nl-b-card:not([data-nl-surface]) {
  background: color-mix(in srgb, var(--color-bg, #fff) 55%, transparent);
  border: 1px solid color-mix(in srgb, currentColor 10%, transparent);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  backdrop-filter: blur(16px) saturate(140%);
}
html[data-nl-surfaces="glass"] :is([data-nl-overlay]:not([data-nl-overlay="none"]), [data-nl-tone="dark"]) .nl-b-card { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.16); }
[data-nl-depth], [data-nl-depth-hover] { transition: box-shadow calc(0.45s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)), transform calc(0.45s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)); }
[data-nl-depth-color="brand"] { --nl-sc: var(--color-accent, #3b6cff); }
[data-nl-depth][data-nl-depth][data-nl-depth="none"] { box-shadow: none; }
[data-nl-depth][data-nl-depth][data-nl-depth="soft"] { box-shadow: 0 1px 2px 0px color-mix(in srgb, var(--nl-sc, #0f1115) calc(6% * var(--nl-depth-k, 1)), transparent), 0 8px 24px -6px color-mix(in srgb, var(--nl-sc, #0f1115) calc(11% * var(--nl-depth-k, 1)), transparent); }
[data-nl-depth][data-nl-depth][data-nl-depth="lifted"] { box-shadow: 0 2px 5px 0px color-mix(in srgb, var(--nl-sc, #0f1115) calc(7% * var(--nl-depth-k, 1)), transparent), 0 20px 44px -12px color-mix(in srgb, var(--nl-sc, #0f1115) calc(20% * var(--nl-depth-k, 1)), transparent); }
[data-nl-depth][data-nl-depth][data-nl-depth="float"] { box-shadow: 0 4px 10px 0px color-mix(in srgb, var(--nl-sc, #0f1115) calc(8% * var(--nl-depth-k, 1)), transparent), 0 38px 80px -24px color-mix(in srgb, var(--nl-sc, #0f1115) calc(34% * var(--nl-depth-k, 1)), transparent); }
[data-nl-depth][data-nl-depth][data-nl-depth="glow"] { box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-accent, #6aa1ff) 42%, transparent), 0 16px 50px -8px color-mix(in srgb, var(--color-accent, #6aa1ff) calc(48% * var(--nl-depth-k, 1)), transparent); }
[data-nl-depth-hover][data-nl-depth-hover][data-nl-depth-hover="rise"]:is(:hover, :focus-within, [data-sb-demo-hover]) { transform: translateY(-3px); box-shadow: 0 2px 5px 0px color-mix(in srgb, var(--nl-sc, #0f1115) calc(7% * var(--nl-depth-k, 1)), transparent), 0 20px 44px -12px color-mix(in srgb, var(--nl-sc, #0f1115) calc(20% * var(--nl-depth-k, 1)), transparent); }
[data-nl-depth-hover][data-nl-depth-hover][data-nl-depth-hover="float"]:is(:hover, :focus-within, [data-sb-demo-hover]) { transform: translateY(-8px); box-shadow: 0 4px 10px 0px color-mix(in srgb, var(--nl-sc, #0f1115) calc(8% * var(--nl-depth-k, 1)), transparent), 0 38px 80px -24px color-mix(in srgb, var(--nl-sc, #0f1115) calc(34% * var(--nl-depth-k, 1)), transparent); }
:where([data-nl-border="gradient"], [data-nl-border="glow"], [data-nl-texture], [data-nl-fx="spotlight"], [data-nl-fx="draw"]) { position: relative; }
:is([data-nl-border="gradient"], [data-nl-border="glow"], [data-nl-texture]) { isolation: isolate; }
[data-nl-border="gradient"]::after, [data-nl-border="glow"]::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  pointer-events: none;
}
[data-nl-border="gradient"]::after {
  padding: 1.5px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--color-accent, #3b6cff) 90%, #fff), color-mix(in srgb, var(--color-accent, #3b6cff) 10%, transparent) 42%, transparent 58%, color-mix(in srgb, var(--color-accent, #3b6cff) 60%, transparent));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
}
[data-nl-border="glow"]::after {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-accent, #3b6cff) 65%, transparent), 0 0 30px -6px color-mix(in srgb, var(--color-accent, #3b6cff) 60%, transparent);
}
[data-nl-glass][data-nl-glass][data-nl-glass="light"] { background-color: color-mix(in srgb, var(--color-bg, #fff) 72%, transparent); -webkit-backdrop-filter: blur(8px) saturate(130%); backdrop-filter: blur(8px) saturate(130%); border: 1px solid color-mix(in srgb, #fff 50%, transparent); }
[data-nl-glass][data-nl-glass][data-nl-glass="frosted"] { background-color: color-mix(in srgb, var(--color-bg, #fff) 50%, transparent); -webkit-backdrop-filter: blur(18px) saturate(150%); backdrop-filter: blur(18px) saturate(150%); border: 1px solid color-mix(in srgb, #fff 42%, transparent); }
[data-nl-glass][data-nl-glass][data-nl-glass="heavy"] { background-color: color-mix(in srgb, var(--color-bg, #fff) 34%, transparent); -webkit-backdrop-filter: blur(32px) saturate(170%); backdrop-filter: blur(32px) saturate(170%); border: 1px solid color-mix(in srgb, #fff 36%, transparent); }
:is([data-nl-overlay]:not([data-nl-overlay="none"]), [data-nl-tone="dark"]) :is([data-nl-glass][data-nl-glass][data-nl-glass="light"], [data-nl-glass][data-nl-glass][data-nl-glass="frosted"], [data-nl-glass][data-nl-glass][data-nl-glass="heavy"]) { background-color: rgba(255,255,255,.08); border-color: rgba(255,255,255,.16); }
[data-nl-texture]::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  pointer-events: none;
}
[data-nl-texture="grain"]::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); background-size: 180px; opacity: .09; }
[data-nl-texture="dots"]::after { background-image: radial-gradient(color-mix(in srgb, currentColor 22%, transparent) 1px, transparent 1.4px); background-size: 18px 18px; }
[data-nl-texture="lines"]::after { background-image: repeating-linear-gradient(135deg, color-mix(in srgb, currentColor 9%, transparent) 0 1px, transparent 1px 11px); }
[data-nl-texture] > .nl-overlay { z-index: -2; }
[data-nl-gradient][data-nl-gradient][data-nl-gradient="linear"] { background-image: linear-gradient(135deg, color-mix(in srgb, var(--color-accent, #3b6cff) 78%, #000) 0%, var(--color-accent, #3b6cff) 48%, color-mix(in srgb, var(--color-accent, #3b6cff) 55%, var(--color-bg, #fff)) 100%); }
[data-nl-gradient][data-nl-gradient][data-nl-gradient="radial"] { background-image: radial-gradient(120% 95% at 18% 0%, color-mix(in srgb, var(--color-accent, #3b6cff) 32%, var(--color-bg, #fff)) 0%, var(--color-bg, #fff) 62%); }
[data-nl-gradient][data-nl-gradient][data-nl-gradient="mesh"], [data-nl-ambient][data-nl-ambient][data-nl-ambient="aurora"] { background-image: radial-gradient(60% 70% at 12% 18%, color-mix(in srgb, var(--color-1, #3b6cff) 38%, transparent) 0%, transparent 70%), radial-gradient(55% 65% at 88% 12%, color-mix(in srgb, var(--color-2, #8b5cf6) 34%, transparent) 0%, transparent 70%), radial-gradient(70% 80% at 60% 100%, color-mix(in srgb, var(--color-3, #14b8a6) 30%, transparent) 0%, transparent 72%); background-color: var(--color-bg, #fff); }
html.nl-live [data-nl-ambient="aurora"] { background-size: 180% 180%; animation: nl-aurora calc(22s * var(--nl-speed, 1)) ease-in-out infinite alternate; }
@keyframes nl-aurora { 0% { background-position: 0% 0%; } 50% { background-position: 100% 30%; } 100% { background-position: 40% 100%; } }
[data-sb-block]:is([data-nl-bg-rest], [data-nl-scroll="parallax"], [data-nl-ambient="zoom"], [data-nl-ambient="drift"], [data-nl-bg-video]) { isolation: isolate; }
:where([data-sb-block]:is([data-nl-bg-rest], [data-nl-scroll="parallax"], [data-nl-ambient="zoom"], [data-nl-ambient="drift"], [data-nl-bg-video])) { position: relative; }
[data-sb-block]:is([data-nl-scroll="parallax"], [data-nl-ambient="zoom"], [data-nl-ambient="drift"]) { overflow: clip; }
[data-sb-block]:is([data-nl-bg-rest], [data-nl-scroll="parallax"], [data-nl-ambient="zoom"], [data-nl-ambient="drift"])::before {
  content: "";
  position: absolute;
  inset: var(--nl-bg-inset, 0);
  z-index: -2;
  pointer-events: none;
  background: inherit;
  translate: 0 var(--nl-py, 0px);
}
[data-sb-block][data-nl-scroll="parallax"] { --nl-bg-inset: -14% 0; }
[data-sb-block][data-nl-bg-rest="muted"]::before { filter: grayscale(.55) saturate(.8) brightness(.97); }
[data-sb-block][data-nl-bg-rest="mono"]::before { filter: grayscale(1) contrast(1.06); }
[data-sb-block][data-nl-bg-rest="dim"]::before { filter: brightness(.66) saturate(.9); }
[data-sb-block][data-nl-bg-rest="duotone"]::before { background-color: var(--color-accent, #3b6cff); background-blend-mode: luminosity; }
html.nl-live [data-sb-block][data-nl-ambient="zoom"]::before { animation: nl-slow-zoom calc(28s * var(--nl-speed, 1)) ease-in-out infinite alternate; }
html.nl-live [data-sb-block][data-nl-ambient="drift"]::before { inset: -6%; animation: nl-photo-drift calc(34s * var(--nl-speed, 1)) ease-in-out infinite alternate; }
@keyframes nl-slow-zoom { from { scale: 1; } to { scale: 1.12; } }
@keyframes nl-photo-drift { from { transform: translate(-3%, -2%); } to { transform: translate(3%, 2%); } }
.nl-bg-video { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; border: 0; pointer-events: none; }
iframe.nl-bg-video { width: max(100%, 177.78vh); height: max(100%, 56.25vw); inset: 50% auto auto 50%; translate: -50% -50%; }
:is([data-nl-img-rest], [data-nl-img-hover], [data-nl-scrim], [data-nl-parallax], [data-nl-img-mask]) [data-sb-image],
[data-sb-image]:is([data-nl-img-rest], [data-nl-img-hover], [data-nl-scrim], [data-nl-parallax], [data-nl-img-mask]) { isolation: isolate; overflow: hidden; }
:where(:is([data-nl-img-rest], [data-nl-img-hover], [data-nl-scrim], [data-nl-parallax], [data-nl-img-mask]) [data-sb-image], [data-sb-image]:is([data-nl-img-rest], [data-nl-img-hover], [data-nl-scrim], [data-nl-parallax], [data-nl-img-mask])) { position: relative; }
:is([data-nl-img-rest], [data-nl-img-hover]) :is([data-sb-image], img:not([data-sb-image] img)), :is([data-sb-image], img:not([data-sb-image] img)):is([data-nl-img-rest], [data-nl-img-hover]) { transition: filter calc(0.6s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)), transform calc(0.6s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)), box-shadow calc(0.6s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)); }
:is([data-nl-img-rest="muted"] :is([data-sb-image], img:not([data-sb-image] img)), :is([data-sb-image], img:not([data-sb-image] img))[data-nl-img-rest="muted"]) { filter: grayscale(.55) saturate(.8) contrast(.97) brightness(.98); }
:is([data-nl-img-rest="mono"] :is([data-sb-image], img:not([data-sb-image] img)), :is([data-sb-image], img:not([data-sb-image] img))[data-nl-img-rest="mono"]) { filter: grayscale(1) contrast(1.06); }
:is([data-nl-img-rest="dim"] :is([data-sb-image], img:not([data-sb-image] img)), :is([data-sb-image], img:not([data-sb-image] img))[data-nl-img-rest="dim"]) { filter: brightness(.7) saturate(.9); }
:is([data-nl-img-rest="duotone"] :is([data-sb-image], img:not([data-sb-image] img)), :is([data-sb-image], img:not([data-sb-image] img))[data-nl-img-rest="duotone"]) { filter: grayscale(1) contrast(1.12); }
:is([data-nl-img-rest="duotone"] [data-sb-image], [data-sb-image][data-nl-img-rest="duotone"])::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: var(--color-accent, #3b6cff); mix-blend-mode: color; }
:is([data-nl-img-hover="zoom"], [data-nl-img-hover="pan"], [data-nl-parallax]) [data-sb-image]::before,
[data-sb-image]:is([data-nl-img-hover="zoom"], [data-nl-img-hover="pan"], [data-nl-parallax])::before {
  content: "";
  position: absolute;
  inset: var(--nl-pic-inset, 0);
  z-index: -1;
  pointer-events: none;
  background: inherit;
  transform: translateX(var(--nl-px, 0%)) scale(var(--nl-pz, 1));
  translate: 0 var(--nl-py, 0px);
  transition: transform calc(0.9s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1));
}
:is([data-nl-img-hover="zoom"], [data-nl-img-hover="pan"], [data-nl-parallax]) [data-sb-image] img,
[data-sb-image]:is([data-nl-img-hover="zoom"], [data-nl-img-hover="pan"], [data-nl-parallax]) img {
  transform: translateX(var(--nl-px, 0%)) scale(var(--nl-pz, 1));
  translate: 0 var(--nl-py, 0px);
  transition: transform calc(0.9s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1));
}
:is([data-nl-img-hover="zoom"], [data-nl-img-hover="pan"]) img:not([data-sb-image] img),
img:not([data-sb-image] img):is([data-nl-img-hover="zoom"], [data-nl-img-hover="pan"]) {
  transform: translateX(var(--nl-px, 0%)) scale(var(--nl-pz, 1));
  clip-path: inset(calc((1 - 1 / var(--nl-pz, 1)) * 50%));
  transition: transform calc(0.9s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)), clip-path calc(0.9s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1));
}
:is([data-nl-parallax="subtle"] [data-sb-image], [data-sb-image][data-nl-parallax="subtle"]) { --nl-pic-inset: -8% 0; }
:is([data-nl-parallax="deep"] [data-sb-image], [data-sb-image][data-nl-parallax="deep"]) { --nl-pic-inset: -16% 0; }
:is([data-nl-img-hover="color"] :is([data-sb-element], figure, [data-nl-set] > *, [data-sb-gallery] > *):is(:hover, :focus-within, [data-sb-demo-hover]) :is([data-sb-image], img:not([data-sb-image] img)), [data-nl-img-hover="color"]:is([data-sb-element], figure):is(:hover, :focus-within, [data-sb-demo-hover]) :is([data-sb-image], img:not([data-sb-image] img)), :is([data-sb-image], img:not([data-sb-image] img))[data-nl-img-hover="color"]:is(:hover, :focus-within, [data-sb-demo-hover])) { filter: none; }
:is([data-nl-img-hover="zoom"] :is([data-sb-element], figure, [data-nl-set] > *, [data-sb-gallery] > *):is(:hover, :focus-within, [data-sb-demo-hover]) :is([data-sb-image], img:not([data-sb-image] img)), [data-nl-img-hover="zoom"]:is([data-sb-element], figure):is(:hover, :focus-within, [data-sb-demo-hover]) :is([data-sb-image], img:not([data-sb-image] img)), :is([data-sb-image], img:not([data-sb-image] img))[data-nl-img-hover="zoom"]:is(:hover, :focus-within, [data-sb-demo-hover])) { filter: none; --nl-pz: 1.08; }
:is([data-nl-img-hover="pan"] :is([data-sb-element], figure, [data-nl-set] > *, [data-sb-gallery] > *):is(:hover, :focus-within, [data-sb-demo-hover]) :is([data-sb-image], img:not([data-sb-image] img)), [data-nl-img-hover="pan"]:is([data-sb-element], figure):is(:hover, :focus-within, [data-sb-demo-hover]) :is([data-sb-image], img:not([data-sb-image] img)), :is([data-sb-image], img:not([data-sb-image] img))[data-nl-img-hover="pan"]:is(:hover, :focus-within, [data-sb-demo-hover])) { filter: none; --nl-pz: 1.12; --nl-px: -4%; }
:is([data-nl-img-hover="pan"] :is([data-sb-image], img:not([data-sb-image] img)), :is([data-sb-image], img:not([data-sb-image] img))[data-nl-img-hover="pan"]) { --nl-pz: 1.12; --nl-px: 4%; }
:is([data-nl-img-hover="lift"] :is([data-sb-element], figure, [data-nl-set] > *, [data-sb-gallery] > *):is(:hover, :focus-within, [data-sb-demo-hover]) :is([data-sb-image], img:not([data-sb-image] img)), [data-nl-img-hover="lift"]:is([data-sb-element], figure):is(:hover, :focus-within, [data-sb-demo-hover]) :is([data-sb-image], img:not([data-sb-image] img)), :is([data-sb-image], img:not([data-sb-image] img))[data-nl-img-hover="lift"]:is(:hover, :focus-within, [data-sb-demo-hover])) { filter: none; transform: translateY(-6px); box-shadow: 0 2px 5px 0px color-mix(in srgb, var(--nl-sc, #0f1115) calc(7% * var(--nl-depth-k, 1)), transparent), 0 20px 44px -12px color-mix(in srgb, var(--nl-sc, #0f1115) calc(20% * var(--nl-depth-k, 1)), transparent); }
:is([data-nl-img-mask] :is([data-sb-image], img:not([data-sb-image] img)), :is([data-sb-image], img:not([data-sb-image] img))[data-nl-img-mask]) { overflow: hidden; }
:is([data-nl-img-mask][data-nl-img-mask][data-nl-img-mask="square"] :is([data-sb-image], img:not([data-sb-image] img)), :is([data-sb-image], img:not([data-sb-image] img))[data-nl-img-mask][data-nl-img-mask][data-nl-img-mask="square"]) { border-radius: 0; }
:is([data-nl-img-mask][data-nl-img-mask][data-nl-img-mask="rounded"] :is([data-sb-image], img:not([data-sb-image] img)), :is([data-sb-image], img:not([data-sb-image] img))[data-nl-img-mask][data-nl-img-mask][data-nl-img-mask="rounded"]) { border-radius: var(--radius, 14px); }
:is([data-nl-img-mask][data-nl-img-mask][data-nl-img-mask="circle"] :is([data-sb-image], img:not([data-sb-image] img)), :is([data-sb-image], img:not([data-sb-image] img))[data-nl-img-mask][data-nl-img-mask][data-nl-img-mask="circle"]) { border-radius: 50%; aspect-ratio: 1; }
:is([data-nl-img-mask][data-nl-img-mask][data-nl-img-mask="arch"] :is([data-sb-image], img:not([data-sb-image] img)), :is([data-sb-image], img:not([data-sb-image] img))[data-nl-img-mask][data-nl-img-mask][data-nl-img-mask="arch"]) { border-radius: 999px 999px var(--radius, 14px) var(--radius, 14px); }
:is([data-nl-img-mask][data-nl-img-mask][data-nl-img-mask="pill"] :is([data-sb-image], img:not([data-sb-image] img)), :is([data-sb-image], img:not([data-sb-image] img))[data-nl-img-mask][data-nl-img-mask][data-nl-img-mask="pill"]) { border-radius: 999px; }
:is([data-nl-scrim] [data-sb-image], [data-sb-image][data-nl-scrim], [data-nl-caption="over"] [data-sb-image], [data-nl-caption="reveal"] [data-sb-image])::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; transition: opacity calc(0.5s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)); }
:is([data-nl-scrim="bottom"] [data-sb-image], [data-sb-image][data-nl-scrim="bottom"], [data-nl-caption="over"] [data-sb-image], [data-nl-caption="reveal"] [data-sb-image])::after { background: linear-gradient(to top, rgba(0,0,0,.74) 0%, rgba(0,0,0,.55) 16%, rgba(0,0,0,.34) 34%, rgba(0,0,0,.16) 54%, rgba(0,0,0,.05) 74%, transparent 100%); mix-blend-mode: normal; }
:is([data-nl-scrim="full"] [data-sb-image], [data-sb-image][data-nl-scrim="full"])::after { background: radial-gradient(120% 90% at 50% 40%, rgba(0,0,0,.18), rgba(0,0,0,.55)); mix-blend-mode: normal; }
[data-nl-caption="reveal"] [data-sb-image]::after { opacity: 0; }
[data-nl-caption="reveal"] :is([data-sb-element], figure, [data-nl-set] > *, [data-sb-gallery] > *):is(:hover, :focus-within, [data-sb-demo-hover]) [data-sb-image]::after { opacity: 1; }
:where([data-nl-caption="over"], [data-nl-caption="reveal"]) :is([data-sb-element], figure, [data-nl-set] > *, [data-sb-gallery] > *) { position: relative; }
:is([data-nl-caption="over"], [data-nl-caption="reveal"]) :is([data-sb-element], figure, [data-nl-set] > *, [data-sb-gallery] > *) > :is(figcaption, [class*="caption"]) {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  margin: 0;
  padding: clamp(.9rem, 2vw, 1.25rem);
  color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,.35);
  transition: opacity calc(0.5s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)), transform calc(0.5s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1));
}
[data-nl-caption="reveal"] :is([data-sb-element], figure, [data-nl-set] > *, [data-sb-gallery] > *) > :is(figcaption, [class*="caption"]) { opacity: 0; transform: translateY(10px); }
[data-nl-caption="reveal"] :is([data-sb-element], figure, [data-nl-set] > *, [data-sb-gallery] > *):is(:hover, :focus-within, [data-sb-demo-hover]) > :is(figcaption, [class*="caption"]) { opacity: 1; transform: none; }
@media (hover: none) {
  [data-nl-caption="reveal"] :is([data-sb-element], figure, [data-nl-set] > *, [data-sb-gallery] > *) > :is(figcaption, [class*="caption"]), [data-nl-caption="reveal"] [data-sb-image]::after { opacity: 1; transform: none; }
}
[data-nl-set], [data-nl-set-layout], [data-nl-set-space], [data-nl-set-across] { --nl-across: 3; --nl-set-gap: clamp(.9rem, 1.8vw, 1.35rem); }
[data-nl-set-across="2"] { --nl-across: 2; }
[data-nl-set-across="3"] { --nl-across: 3; }
[data-nl-set-across="4"] { --nl-across: 4; }
[data-nl-set-across="5"] { --nl-across: 5; }
[data-nl-set-space="seam"] { --nl-set-gap: 3px; }
[data-nl-set-space="tight"] { --nl-set-gap: .6rem; }
[data-nl-set-space="roomy"] { --nl-set-gap: clamp(1.6rem, 3vw, 2.6rem); }
:is([data-nl-set], [data-nl-set-space], [data-nl-set-layout])[data-nl-set-space] { gap: var(--nl-set-gap); }
[data-nl-set-space="seam"] { border-radius: var(--radius, 14px); overflow: hidden; }
[data-nl-set-space="seam"] > *, [data-nl-set-space="seam"] > * :is([data-sb-image], img:not([data-sb-image] img)), [data-nl-set-space="seam"] > :is([data-sb-image], img:not([data-sb-image] img)) { border-radius: 0 !important; }
[data-nl-set-layout][data-nl-set-layout][data-nl-set-layout="grid"] { display: grid; grid-template-columns: repeat(var(--nl-across), minmax(0, 1fr)); gap: var(--nl-set-gap); width: auto; }
[data-nl-set-layout][data-nl-set-layout][data-nl-set-layout="row"] { display: flex; flex-wrap: nowrap; gap: var(--nl-set-gap); }
[data-nl-set-layout][data-nl-set-layout][data-nl-set-layout="row"] > * { flex: 1 1 0; min-width: 0; }
[data-nl-set-layout][data-nl-set-layout][data-nl-set-layout="stack"] { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--nl-set-gap); }
[data-nl-set-layout][data-nl-set-layout][data-nl-set-layout="masonry"] { display: block; columns: var(--nl-across); column-gap: var(--nl-set-gap); }
[data-nl-set-layout][data-nl-set-layout][data-nl-set-layout="masonry"] > * { break-inside: avoid; margin: 0 0 var(--nl-set-gap); width: 100%; }
[data-nl-set-layout][data-nl-set-layout][data-nl-set-layout="masonry"] > :nth-child(3n + 1) :is([data-sb-image], img:not([data-sb-image] img)) { aspect-ratio: 3 / 4; }
[data-nl-set-layout][data-nl-set-layout][data-nl-set-layout="masonry"] > :nth-child(3n + 2) :is([data-sb-image], img:not([data-sb-image] img)) { aspect-ratio: 1; }
:has(> [data-nl-set="drift"], > [data-nl-set="slider"]) { container-type: inline-size; }
:has(> [data-nl-set="drift"]) { overflow-x: auto; scrollbar-width: none; }
:has(> [data-nl-set="drift"])::-webkit-scrollbar { display: none; }
html.nl-live :has(> [data-nl-set="drift"]) { overflow: hidden; }
[data-nl-set][data-nl-set][data-nl-set="drift"] { display: flex; flex-wrap: nowrap; width: max-content; gap: var(--nl-set-gap); will-change: transform; }
[data-nl-set][data-nl-set][data-nl-set="drift"] > * { flex: 0 0 auto; width: calc((100cqi - (var(--nl-across) - 1) * var(--nl-set-gap)) / (var(--nl-across) + .35)); margin: 0; }
[data-nl-set][data-nl-set][data-nl-set="slider"] { display: flex; flex-wrap: nowrap; gap: var(--nl-set-gap); overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; overscroll-behavior-x: contain; scrollbar-width: none; width: auto; }
[data-nl-set][data-nl-set][data-nl-set="slider"]::-webkit-scrollbar { display: none; }
[data-nl-set][data-nl-set][data-nl-set="slider"] > * { flex: 0 0 calc((100% - (var(--nl-across) - 1) * var(--nl-set-gap)) / var(--nl-across)); scroll-snap-align: start; margin: 0; min-width: 0; }
[data-nl-set][data-nl-set][data-nl-set="accordion"] { display: flex; flex-wrap: nowrap; gap: var(--nl-set-gap); width: auto; }
[data-nl-set][data-nl-set][data-nl-set="accordion"] > * { position: relative; flex: 1 1 0; min-width: 0; min-height: clamp(18rem, 34vw, 28rem); overflow: hidden; margin: 0; border-radius: var(--radius, 14px); transition: flex-grow calc(0.8s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)); }
[data-nl-set][data-nl-set][data-nl-set="accordion"] > *:is(:hover, :focus-within, [data-sb-demo-hover]) { flex-grow: 3.2; }
[data-nl-set][data-nl-set][data-nl-set="accordion"] > * > :is([data-sb-image], img:not([data-sb-image] img)) { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; border-radius: 0; }
[data-nl-set][data-nl-set][data-nl-set="accordion"] > * > :is(figcaption, [class*="caption"]) { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; margin: 0; padding: 3rem 1.1rem 1rem; color: #fff; background: linear-gradient(to top, rgba(0,0,0,.74) 0%, rgba(0,0,0,.55) 16%, rgba(0,0,0,.34) 34%, rgba(0,0,0,.16) 54%, rgba(0,0,0,.05) 74%, transparent 100%); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
[data-nl-set][data-nl-set][data-nl-set="deck"] { display: grid; grid-template-columns: repeat(var(--nl-across), minmax(0, 1fr)); gap: var(--nl-set-gap); width: auto; }
html.nl-live [data-nl-set][data-nl-set][data-nl-set="deck"] { grid-template-columns: minmax(0, 1fr); place-items: center; width: auto; max-width: none; margin-inline: auto; padding-block: 2rem; }
html.nl-live [data-nl-set="deck"] > * { grid-area: 1 / 1; width: min(21rem, 70vw); transform: translateX(calc((var(--nl-i, 0) - var(--nl-mid, 0)) * 7%)) rotate(calc((var(--nl-i, 0) - var(--nl-mid, 0)) * 4deg)); transition: transform calc(0.8s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)), box-shadow calc(0.8s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)); box-shadow: 0 2px 5px 0px color-mix(in srgb, var(--nl-sc, #0f1115) calc(7% * var(--nl-depth-k, 1)), transparent), 0 20px 44px -12px color-mix(in srgb, var(--nl-sc, #0f1115) calc(20% * var(--nl-depth-k, 1)), transparent); }
html.nl-live [data-nl-set="deck"]:is(:hover, :focus-within) > * { transform: translateX(calc((var(--nl-i, 0) - var(--nl-mid, 0)) * 78%)) rotate(calc((var(--nl-i, 0) - var(--nl-mid, 0)) * 2.5deg)); }
[data-nl-set-neighbors="recede"] { perspective: 1100px; }
[data-nl-set-neighbors="recede"] > * { transition: opacity calc(0.5s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)), filter calc(0.5s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)), transform calc(0.6s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)); }
[data-nl-set-neighbors="recede"]:not([data-nl-set="deck"]):has(> :is(:hover, :focus-within, [data-sb-demo-hover])) > :not(:hover):not(:focus-within):not([data-sb-demo-hover]) { opacity: .5; filter: saturate(.6); transform: translateZ(-70px); }
[data-nl-set-neighbors="recede"]:not([data-nl-set="deck"]) > :is(:hover, :focus-within, [data-sb-demo-hover]) { transform: translateZ(24px); z-index: 2; }
.nl-set-host { position: relative; }
.nl-set-arrow {
  position: absolute;
  top: 50%;
  z-index: 6;
  display: grid;
  place-items: center;
  width: 2.9rem;
  height: 2.9rem;
  padding: 0;
  translate: 0 -50%;
  border: 1px solid color-mix(in srgb, currentColor 16%, transparent);
  border-radius: 50%;
  background: color-mix(in srgb, var(--color-bg, #fff) 84%, transparent);
  color: var(--color-text, #111);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: 0 1px 2px 0px color-mix(in srgb, var(--nl-sc, #0f1115) calc(6% * var(--nl-depth-k, 1)), transparent), 0 8px 24px -6px color-mix(in srgb, var(--nl-sc, #0f1115) calc(11% * var(--nl-depth-k, 1)), transparent);
  cursor: pointer;
  transition: transform calc(0.3s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)), opacity calc(0.3s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1));
}
.nl-set-arrow:hover { transform: scale(1.06); }
.nl-set-arrow--prev { left: clamp(.5rem, 2vw, 1.25rem); }
.nl-set-arrow--next { right: clamp(.5rem, 2vw, 1.25rem); }
.nl-set-arrow svg, .nl-set-edge svg { width: 1.1rem; height: 1.1rem; }
.nl-set-dots { display: flex; justify-content: center; gap: .5rem; margin-top: 1.25rem; }
.nl-set-dots button { width: .55rem; height: .55rem; padding: 0; border: 0; border-radius: 999px; background: color-mix(in srgb, currentColor 24%, transparent); cursor: pointer; transition: width calc(0.35s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)), background calc(0.35s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)); }
.nl-set-dots button[aria-current="true"] { width: 1.6rem; background: var(--color-accent, currentColor); }
.nl-set-edge {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 5;
  display: grid;
  place-items: center;
  width: clamp(3rem, 9vw, 7rem);
  padding: 0;
  border: 0;
  color: #fff;
  cursor: pointer;
  opacity: 0;
  transition: opacity calc(0.4s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1));
}
.nl-set-edge--prev { left: 0; background: linear-gradient(90deg, rgba(0,0,0,.5), transparent); }
.nl-set-edge--next { right: 0; background: linear-gradient(270deg, rgba(0,0,0,.5), transparent); }
.nl-set-host:hover .nl-set-edge, .nl-set-edge:focus-visible { opacity: 1; }
@media (hover: none) { .nl-set-edge { opacity: .85; } }
@media (max-width: 760px) {
  :is([data-nl-set-layout][data-nl-set-layout][data-nl-set-layout="grid"], [data-nl-set][data-nl-set][data-nl-set="deck"]) { grid-template-columns: repeat(min(var(--nl-across), 2), minmax(0, 1fr)); }
  [data-nl-set-layout][data-nl-set-layout][data-nl-set-layout="row"], [data-nl-set][data-nl-set][data-nl-set="accordion"] { flex-direction: column; }
  [data-nl-set][data-nl-set][data-nl-set="accordion"] > * { min-height: 14rem; }
  [data-nl-set-layout][data-nl-set-layout][data-nl-set-layout="masonry"] { columns: 2; }
  [data-nl-set][data-nl-set][data-nl-set="slider"] > * { flex-basis: 82%; }
  [data-nl-set][data-nl-set][data-nl-set="drift"] > * { width: 72cqi; }
}
[data-nl-fx="spotlight"] { isolation: isolate; }
[data-nl-fx="spotlight"]::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
  pointer-events: none;
  background: radial-gradient(380px circle at var(--nl-mx, 50%) var(--nl-my, 30%), color-mix(in srgb, var(--color-accent, #fff) 26%, transparent), transparent 62%);
  mix-blend-mode: soft-light;
  opacity: 0;
  transition: opacity calc(0.4s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1));
}
[data-nl-fx="spotlight"]:is(:hover, :focus-within, [data-sb-demo-hover])::after { opacity: 1; }
[data-nl-fx="magnetic"] { translate: var(--nl-mgx, 0px) var(--nl-mgy, 0px); }
[data-nl-fx="press"]:active { transform: scale(.97); transition-duration: .12s; }
[data-nl-fx="draw"]::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  border: 2px solid var(--color-accent, currentColor);
  border-radius: inherit;
  pointer-events: none;
  clip-path: inset(0 100% 100% 0);
  transition: clip-path calc(0.7s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1));
}
[data-nl-fx="draw"]:is(:hover, :focus-within, [data-sb-demo-hover])::after { clip-path: inset(0 0 0 0); }
:is([data-nl-fx="reveal"], [data-nl-fx="flip"]):has(> :is([data-sb-image], img:not([data-sb-image] img))) {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: clamp(18rem, 28vw, 24rem);
  overflow: hidden;
  isolation: isolate;
  color: #fff;
  --sb-active-text-color: #fff;
}
:is([data-nl-fx="reveal"], [data-nl-fx="flip"]):has(> :is([data-sb-image], img:not([data-sb-image] img))) > :is([data-sb-image], img:not([data-sb-image] img)) { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; aspect-ratio: auto; margin: 0; border-radius: 0; }
[data-nl-fx="reveal"]:has(> :is([data-sb-image], img:not([data-sb-image] img))) > :is([data-sb-image], img:not([data-sb-image] img))::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.74) 0%, rgba(0,0,0,.55) 16%, rgba(0,0,0,.34) 34%, rgba(0,0,0,.16) 54%, rgba(0,0,0,.05) 74%, transparent 100%); }
[data-nl-fx="reveal"]:has(> :is([data-sb-image], img:not([data-sb-image] img))) > :not(:is([data-sb-image], img:not([data-sb-image] img))) { position: relative; opacity: 0; transform: translateY(14px); transition: opacity calc(0.5s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)), transform calc(0.6s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)); }
[data-nl-fx="reveal"]:has(> :is([data-sb-image], img:not([data-sb-image] img))):is(:hover, :focus-within, [data-sb-demo-hover]) > :not(:is([data-sb-image], img:not([data-sb-image] img))) { opacity: 1; transform: none; }
[data-nl-fx="flip"]:has(> :is([data-sb-image], img:not([data-sb-image] img))) { perspective: 1200px; background: color-mix(in srgb, var(--color-text, #111) 88%, var(--color-accent, #3b6cff)); }
[data-nl-fx="flip"]:has(> :is([data-sb-image], img:not([data-sb-image] img))) > :is([data-sb-image], img:not([data-sb-image] img)) { z-index: 3; backface-visibility: hidden; transform-origin: 50% 50%; transition: transform calc(0.8s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)); }
[data-nl-fx="flip"]:has(> :is([data-sb-image], img:not([data-sb-image] img))):is(:hover, :focus-within, [data-sb-demo-hover]) > :is([data-sb-image], img:not([data-sb-image] img)) { transform: rotateY(180deg); }
[data-nl-fx="flip"]:has(> :is([data-sb-image], img:not([data-sb-image] img))) > :not(:is([data-sb-image], img:not([data-sb-image] img))) { position: relative; transform: rotateY(-90deg); opacity: 0; transition: transform calc(0.8s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)), opacity calc(0.4s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)); }
[data-nl-fx="flip"]:has(> :is([data-sb-image], img:not([data-sb-image] img))):is(:hover, :focus-within, [data-sb-demo-hover]) > :not(:is([data-sb-image], img:not([data-sb-image] img))) { transform: none; opacity: 1; transition-delay: calc(0.15s * var(--nl-speed, 1)); }
@media (hover: none) {
  [data-nl-fx="reveal"]:has(> :is([data-sb-image], img:not([data-sb-image] img))) > :not(:is([data-sb-image], img:not([data-sb-image] img))) { opacity: 1; transform: none; }
}
[data-nl-pad-top][data-nl-pad-top][data-nl-pad-top="none"] { padding-top: 0px !important; }
[data-nl-pad-top][data-nl-pad-top][data-nl-pad-top="s"] { padding-top: clamp(1.5rem, 3vw, 2.25rem) !important; }
[data-nl-pad-top][data-nl-pad-top][data-nl-pad-top="m"] { padding-top: clamp(2.75rem, 5.5vw, 4.5rem) !important; }
[data-nl-pad-top][data-nl-pad-top][data-nl-pad-top="l"] { padding-top: clamp(4rem, 8vw, 7rem) !important; }
[data-nl-pad-top][data-nl-pad-top][data-nl-pad-top="xl"] { padding-top: clamp(5.5rem, 12vw, 10rem) !important; }
[data-nl-pad-bottom][data-nl-pad-bottom][data-nl-pad-bottom="none"] { padding-bottom: 0px !important; }
[data-nl-pad-bottom][data-nl-pad-bottom][data-nl-pad-bottom="s"] { padding-bottom: clamp(1.5rem, 3vw, 2.25rem) !important; }
[data-nl-pad-bottom][data-nl-pad-bottom][data-nl-pad-bottom="m"] { padding-bottom: clamp(2.75rem, 5.5vw, 4.5rem) !important; }
[data-nl-pad-bottom][data-nl-pad-bottom][data-nl-pad-bottom="l"] { padding-bottom: clamp(4rem, 8vw, 7rem) !important; }
[data-nl-pad-bottom][data-nl-pad-bottom][data-nl-pad-bottom="xl"] { padding-bottom: clamp(5.5rem, 12vw, 10rem) !important; }
[data-nl-gap="tight"] { --nl-gap: .75rem; }
[data-nl-gap="normal"] { --nl-gap: clamp(1.25rem, 2.4vw, 1.75rem); }
[data-nl-gap="roomy"] { --nl-gap: clamp(2rem, 4vw, 3.25rem); }
[data-nl-gap] :is([data-sb-columns], [data-nl-set], [data-sb-gallery], :has(> [data-sb-element] + [data-sb-element])) { gap: var(--nl-gap) !important; --nl-set-gap: var(--nl-gap); }
[data-nl-bleed] :is([data-nl-set], [data-sb-gallery], :has(> [data-sb-element] + [data-sb-element])):not([data-nl-bleed] [data-sb-element] *) {
  width: 100vw;
  max-width: none;
  margin-inline: calc(50% - 50vw);
  padding-inline: clamp(.75rem, 2vw, 1.5rem);
}
[data-nl-overlap] { position: relative; z-index: 2; }
[data-nl-overlap][data-nl-overlap][data-nl-overlap="small"] { margin-top: calc(-1 * clamp(2rem, 5vw, 4rem)); }
[data-nl-overlap][data-nl-overlap][data-nl-overlap="large"] { margin-top: calc(-1 * clamp(4rem, 10vw, 8rem)); }
:is([data-nl-edge-top], [data-nl-edge-bottom]) {
  --nl-edge-h: clamp(2rem, 5vw, 4.5rem);
  -webkit-mask: var(--nl-et, linear-gradient(#000, #000)) top / 100% var(--nl-edge-h) no-repeat, linear-gradient(#000, #000) center / 100% calc(100% - 2 * var(--nl-edge-h) + 2px) no-repeat, var(--nl-eb, linear-gradient(#000, #000)) bottom / 100% var(--nl-edge-h) no-repeat;
  mask: var(--nl-et, linear-gradient(#000, #000)) top / 100% var(--nl-edge-h) no-repeat, linear-gradient(#000, #000) center / 100% calc(100% - 2 * var(--nl-edge-h) + 2px) no-repeat, var(--nl-eb, linear-gradient(#000, #000)) bottom / 100% var(--nl-edge-h) no-repeat;
}
[data-nl-edge-top="angle"] { --nl-et: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpolygon points='0,10 100,10 100,0'/%3E%3C/svg%3E"); }
[data-nl-edge-top="curve"] { --nl-et: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath d='M0 10H100V10Q50 -10 0 10Z'/%3E%3C/svg%3E"); }
[data-nl-edge-top="wave"] { --nl-et: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath d='M0 10H100V4C83 -2 67 -2 50 4S17 10 0 4Z'/%3E%3C/svg%3E"); }
[data-nl-edge-top="fade"] { --nl-et: linear-gradient(transparent, #000); }
[data-nl-edge-bottom="angle"] { --nl-eb: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpolygon points='0,0 100,0 0,10'/%3E%3C/svg%3E"); }
[data-nl-edge-bottom="curve"] { --nl-eb: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath d='M0 0H100V0Q50 20 0 0Z'/%3E%3C/svg%3E"); }
[data-nl-edge-bottom="wave"] { --nl-eb: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath d='M0 0H100V6C83 12 67 12 50 6S17 0 0 6Z'/%3E%3C/svg%3E"); }
[data-nl-edge-bottom="fade"] { --nl-eb: linear-gradient(#000, transparent); }
html.nl-live [data-nl-scroll="sticky"] { position: sticky; top: var(--nl-stick, 0px); z-index: 0; }
html.nl-live [data-nl-scroll="sticky"] ~ :is([data-sb-block], section) { position: relative; z-index: 1; }
html.nl-live [data-nl-scroll="sticky"] + :is([data-sb-block], section):not([style*="background"]) { background-color: var(--color-bg, #fff); }
html.nl-live [data-nl-scroll="scale"] { scale: calc(.9 + .1 * var(--nl-sp, 1)); border-radius: calc((1 - var(--nl-sp, 1)) * 36px); transform-origin: 50% 0; }
html.nl-live [data-nl-scroll="fade"] { opacity: var(--nl-fo, 1); }
.nl-w { display: inline-block; }
html.nl-motion-on :is([data-nl-motion="words"], [data-nl-motion="lines"]):not(.is-in) .nl-w { opacity: 0; transform: translateY(.55em); filter: blur(4px); }
html.nl-motion-on :is([data-nl-motion="words"], [data-nl-motion="lines"]) .nl-w { transition: opacity calc(0.7s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)), transform calc(0.8s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)), filter calc(0.7s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)); transition-delay: calc(var(--nl-wd, 0) * calc(0.045s * var(--nl-speed, 1))); }
mark.nl-mark { color: inherit; background: none; padding: 0 .06em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
mark.nl-mark[data-nl-highlight="marker"] { background-image: linear-gradient(transparent 56%, color-mix(in srgb, var(--color-accent, #ffd400) 38%, transparent) 56%, color-mix(in srgb, var(--color-accent, #ffd400) 38%, transparent) 92%, transparent 92%); background-repeat: no-repeat; background-size: 100% 100%; transition: background-size calc(0.9s * var(--nl-speed, 1)) var(--nl-ease, cubic-bezier(.2,.7,.2,1)); }
html.nl-motion-on mark.nl-mark[data-nl-highlight="marker"]:not(.is-in) { background-size: 0% 100%; }
mark.nl-mark[data-nl-highlight="underline"] { text-decoration: underline; text-decoration-color: var(--color-accent, currentColor); text-decoration-thickness: .12em; text-underline-offset: .2em; }
@media (prefers-reduced-motion: reduce) {
  [data-nl-depth-hover], [data-nl-set] > *, [data-nl-set-neighbors] > *, [data-nl-fx]::after, :is([data-nl-img-rest], [data-nl-img-hover]) :is([data-sb-image], img:not([data-sb-image] img)), [data-sb-image]::before, [data-sb-image] img, .nl-w, mark.nl-mark { transition: none !important; }
  [data-nl-depth-hover]:hover, [data-nl-set-neighbors] > * { transform: none !important; }
  html.nl-live [data-nl-ambient], html.nl-live [data-nl-ambient]::before { animation: none !important; }
}
