:root {
  --intersection-polish-accent: #7441aa;
  --intersection-polish-accent-dark: #542b78;
  --intersection-polish-ink: #15141c;
  --intersection-polish-paper: #f7f6f2;
  --intersection-polish-muted: #625f69;
  --intersection-polish-line: #d9d5df;
  --intersection-polish-focus: #e5b63d;
  --intersection-polish-surface: oklch(98.5% 0.006 305);
  --intersection-polish-on-dark: oklch(97.5% 0.007 305);
}

.intersection-site-polished {
  scroll-behavior: smooth;
}

.intersection-site-polished body {
  color: var(--intersection-polish-ink);
}

.intersection-site-polished body:not(.elementor-editor-active) {
  background: var(--intersection-polish-paper);
}

.intersection-site-polished :focus-visible {
  outline: 3px solid var(--intersection-polish-focus) !important;
  outline-offset: 4px;
}

.intersection-site-polished :is(p, li) {
  text-wrap: pretty;
}

.intersection-site-polished :is(h1, h2, h3) {
  text-wrap: balance;
}

.intersection-site-polished .elementor-location-header {
  background: #fafaff;
  border-block-end: 1px solid #dedbe4;
  position: relative;
  z-index: 20;
}

.intersection-site-polished
  .elementor-location-header
  > .elementor
  > .e-con {
  min-height: 118px;
}

.intersection-site-polished .elementor-location-header nav a {
  position: relative;
  text-decoration: none;
  transition: color 180ms ease;
}

.intersection-site-polished .elementor-location-header nav a::after {
  background: var(--intersection-polish-accent);
  block-size: 2px;
  content: "";
  inline-size: 100%;
  inset-block-end: -9px;
  inset-inline-start: 0;
  position: absolute;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 180ms ease;
}

.intersection-site-polished
  .elementor-location-header
  nav
  a:is(:hover, [aria-current="page"]) {
  color: var(--intersection-polish-accent-dark) !important;
}

.intersection-site-polished
  .elementor-location-header
  nav
  a:is(:hover, [aria-current="page"])::after {
  transform: scaleX(1);
}

.intersection-site-polished
  body:not(.page-id-5909):not(.page-id-6655)
  .elementor-location-single
  > .elementor-element-d4f75fc {
  background:
    linear-gradient(rgb(255 255 255 / 7%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(255 255 255 / 7%) 1px, transparent 1px),
    var(--intersection-polish-accent) !important;
  background-size: 42px 42px !important;
  border-block-end: 1px solid var(--intersection-polish-accent-dark);
  min-height: 112px;
}

.intersection-site-polished
  .elementor-location-single
  > .elementor-element-d4f75fc
  :is(h1, h2) {
  font-size: clamp(32px, 3vw, 48px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.035em;
}

.intersection-site-polished .elementor-location-footer {
  background: #0f0f14;
  border-block-start: 4px solid var(--intersection-polish-accent);
}

.intersection-site-polished .elementor-location-footer a {
  transition: color 180ms ease, opacity 180ms ease;
}

.intersection-site-polished .elementor-location-footer a:hover {
  color: #caa8e6 !important;
  opacity: 1;
}

.intersection-site-polished
  :is(.page-id-7912, .post-type-archive-reports)
  :is(.elementor-7912, .elementor-6826) {
  min-height: 560px;
  padding-block: clamp(46px, 6vw, 84px) clamp(72px, 8vw, 118px);
}

.intersection-site-polished
  :is(.page-id-7912, .post-type-archive-reports)
  :is(.elementor-7912, .elementor-6826)
  .jet-listing-grid__items {
  align-items: stretch;
  gap: clamp(20px, 2.5vw, 34px);
  justify-content: center;
}

.intersection-site-polished
  :is(.page-id-7912, .post-type-archive-reports)
  .intersection-report-card {
  background: var(--intersection-polish-surface);
  border: 1px solid var(--intersection-polish-line);
  box-shadow: none;
  overflow: hidden;
  padding: 0 !important;
  position: relative;
  transition: border-color 180ms ease, transform 180ms ease;
}

.intersection-site-polished
  :is(.page-id-7912, .post-type-archive-reports)
  .intersection-report-card::before {
  color: var(--intersection-polish-on-dark);
  content: var(--intersection-card-index);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 12px;
  inset-block-start: 14px;
  inset-inline-start: 14px;
  position: absolute;
  z-index: 2;
}

.intersection-site-polished
  :is(.page-id-7912, .post-type-archive-reports)
  .intersection-report-card:hover {
  border-color: var(--intersection-polish-accent);
  transform: translateY(-5px);
}

.intersection-site-polished
  :is(.page-id-7912, .post-type-archive-reports)
  .intersection-report-card img {
  aspect-ratio: 4 / 5;
  border-radius: 0 !important;
  display: block;
  object-fit: cover;
  transition: transform 300ms ease;
}

.intersection-site-polished
  :is(.page-id-7912, .post-type-archive-reports)
  .intersection-report-card:hover
  img {
  transform: scale(1.025);
}

.intersection-site-polished
  :is(.page-id-7912, .post-type-archive-reports)
  .intersection-report-card
  :is(h2, h3, .jet-listing-dynamic-field__content) {
  font-size: 18px !important;
  line-height: 1.55 !important;
}

.intersection-site-polished .page-id-6653 .elementor-6653 {
  align-items: center;
  background:
    linear-gradient(rgb(116 65 170 / 9%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(116 65 170 / 9%) 1px, transparent 1px),
    var(--intersection-polish-paper);
  background-size: 56px 56px;
  display: flex;
  justify-content: center;
  min-height: 520px;
  padding: 64px 24px 84px;
}

.intersection-site-polished
  .page-id-6653
  .elementor-6653
  > .elementor-element {
  background: var(--intersection-polish-surface);
  border-block-start: 5px solid var(--intersection-polish-accent);
  max-width: 760px;
  padding: clamp(40px, 6vw, 76px) !important;
  width: 100%;
}

.intersection-site-polished .page-id-6653 .elementor-6653 h2 {
  color: var(--intersection-polish-ink);
  font-size: clamp(30px, 4vw, 48px);
  margin-block-end: 32px;
}

.intersection-site-polished .page-id-6653 .elementor-6653 a {
  color: var(--intersection-polish-accent-dark);
  font-weight: 700;
  text-underline-offset: 4px;
}

.intersection-site-polished .page-id-980 .elementor-980 {
  background: var(--intersection-polish-paper);
  padding: clamp(48px, 6vw, 84px) 24px clamp(72px, 8vw, 110px);
}

.intersection-site-polished .page-id-980 .elementor-form {
  background: var(--intersection-polish-surface);
  border: 1px solid var(--intersection-polish-line);
  border-block-start: 5px solid var(--intersection-polish-accent);
  margin-inline: auto;
  max-width: 1080px;
  padding: clamp(28px, 4vw, 52px);
}

.intersection-site-polished .page-id-980 .elementor-field-group {
  margin-block-end: 22px !important;
}

.intersection-site-polished .page-id-980 .elementor-field-label {
  color: var(--intersection-polish-ink) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  margin-block-end: 9px;
}

.intersection-site-polished
  .page-id-980
  :is(.elementor-field, input[type="file"]) {
  background: #fbfafc !important;
  border: 1px solid #bbb6c2 !important;
  border-radius: 0 !important;
  color: var(--intersection-polish-ink) !important;
  min-height: 50px;
  padding: 12px 14px !important;
  transition: border-color 180ms ease, background-color 180ms ease;
}

.intersection-site-polished .page-id-980 textarea.elementor-field {
  min-height: 190px;
}

.intersection-site-polished .page-id-980 .elementor-field:focus {
  background: var(--intersection-polish-surface) !important;
  border-color: var(--intersection-polish-accent) !important;
}

.intersection-site-polished .page-id-980 button[type="submit"] {
  background: var(--intersection-polish-ink) !important;
  border: 2px solid var(--intersection-polish-ink) !important;
  border-radius: 0 !important;
  min-height: 54px;
  transition: background-color 180ms ease, border-color 180ms ease,
    transform 180ms ease;
}

.intersection-site-polished .page-id-980 button[type="submit"]:hover {
  background: var(--intersection-polish-accent) !important;
  border-color: var(--intersection-polish-accent) !important;
  transform: translateY(-2px);
}

.intersection-site-polished .page-id-6082 .elementor-6082 {
  background:
    linear-gradient(rgb(116 65 170 / 8%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(116 65 170 / 8%) 1px, transparent 1px),
    var(--intersection-polish-paper);
  background-size: 52px 52px;
  min-height: 520px;
  padding: clamp(58px, 7vw, 96px) 24px;
}

.intersection-site-polished .intersection-empty-state {
  background: var(--intersection-polish-surface);
  border: 1px solid var(--intersection-polish-line);
  border-block-start: 6px solid var(--intersection-polish-accent);
  margin-inline: auto;
  max-width: 860px;
  padding: clamp(36px, 6vw, 72px);
}

.intersection-site-polished .intersection-empty-state__index {
  color: var(--intersection-polish-accent-dark);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 12px;
  margin-block-end: 28px;
}

.intersection-site-polished .intersection-empty-state h2 {
  color: var(--intersection-polish-ink);
  font-size: clamp(32px, 4vw, 54px);
  letter-spacing: -0.04em;
  line-height: 1.12;
}

.intersection-site-polished .intersection-empty-state > p:not(:first-child) {
  color: var(--intersection-polish-muted);
  font-size: 17px;
  line-height: 1.85;
  margin-block: 26px 34px;
  max-width: 55ch;
}

.intersection-site-polished .intersection-empty-state > div {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.intersection-site-polished .intersection-empty-state a {
  background: var(--intersection-polish-ink);
  border: 2px solid var(--intersection-polish-ink);
  color: var(--intersection-polish-on-dark);
  display: inline-flex;
  font-weight: 800;
  min-height: 50px;
  padding: 11px 20px;
  text-decoration: none;
  transition: background-color 180ms ease, border-color 180ms ease;
}

.intersection-site-polished .intersection-empty-state a:last-child {
  background: transparent;
  color: var(--intersection-polish-ink);
}

.intersection-site-polished .intersection-empty-state a:hover {
  background: var(--intersection-polish-accent);
  border-color: var(--intersection-polish-accent);
  color: var(--intersection-polish-on-dark);
}

.intersection-site-polished .intersection-template-nav {
  background: var(--intersection-polish-paper);
  border-block-end: 1px solid var(--intersection-polish-line);
  padding: 14px clamp(20px, 5vw, 72px);
}

.intersection-site-polished .intersection-template-nav a {
  color: var(--intersection-polish-accent-dark);
  display: inline-flex;
  font-size: 14px;
  font-weight: 800;
  gap: 10px;
  text-decoration: none;
}

.intersection-site-polished .single-reports .elementor-6044 {
  background: var(--intersection-polish-paper);
}

.intersection-site-polished .single-reports .elementor-6044 :is(h1, h2) {
  letter-spacing: -0.035em;
  line-height: 1.2;
}

.intersection-site-polished .single-reports .elementor-6044 p {
  color: #39363f;
  font-size: clamp(16px, 1.15vw, 19px);
  line-height: 2;
}

.intersection-site-polished .single-reports .elementor-6044 img {
  border-radius: 0 !important;
}

.intersection-site-polished .single-reports .elementor-6044 a {
  color: var(--intersection-polish-accent-dark);
  font-weight: 750;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.intersection-site-polished
  .single-violations
  .elementor-location-single {
  background: var(--intersection-polish-paper);
}

.intersection-site-polished
  .single-violations
  .elementor-location-single
  :is(h1, h2, h3) {
  letter-spacing: -0.025em;
}

.intersection-site-polished .error404 .site-main {
  align-items: center;
  background:
    linear-gradient(rgb(116 65 170 / 8%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(116 65 170 / 8%) 1px, transparent 1px),
    var(--intersection-polish-paper);
  background-size: 52px 52px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: calc(100dvh - 280px);
  padding: clamp(64px, 9vw, 130px) 22px;
  text-align: center;
}

.intersection-site-polished .error404 .site-main h1 {
  color: var(--intersection-polish-ink);
  font-size: clamp(44px, 7vw, 96px);
  letter-spacing: -0.05em;
  line-height: 1;
}

.intersection-site-polished .error404 .site-main p {
  color: var(--intersection-polish-muted);
  font-size: 17px;
  line-height: 1.8;
  margin-block: 26px 0;
  max-width: 58ch;
}

.intersection-site-polished .intersection-404-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin-block-start: 36px;
}

.intersection-site-polished .intersection-404-actions a {
  background: var(--intersection-polish-ink);
  border: 2px solid var(--intersection-polish-ink);
  color: var(--intersection-polish-on-dark);
  font-weight: 800;
  min-height: 48px;
  padding: 10px 20px;
  text-decoration: none;
  transition: background-color 180ms cubic-bezier(0.22, 1, 0.36, 1),
    border-color 180ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 180ms cubic-bezier(0.22, 1, 0.36, 1);
}

.intersection-site-polished .intersection-404-actions a:hover {
  background: var(--intersection-polish-accent);
  border-color: var(--intersection-polish-accent);
  transform: translateY(-2px);
}

.intersection-site-polished :is(a, button):active {
  transform: translateY(1px);
}

@media (max-width: 767px) {
  .intersection-site-polished
    .elementor-location-header
    > .elementor
    > .e-con {
    min-height: 86px;
  }

  .intersection-site-polished
    body:not(.page-id-5909):not(.page-id-6655)
    .elementor-location-single
    > .elementor-element-d4f75fc {
    min-height: 92px;
  }

  .intersection-site-polished
    :is(.page-id-7912, .post-type-archive-reports)
    :is(.elementor-7912, .elementor-6826) {
    padding-inline: 18px;
  }

  .intersection-site-polished .page-id-6653 .elementor-6653 {
    min-height: auto;
    padding: 34px 14px 52px;
  }

  .intersection-site-polished
    .page-id-6653
    .elementor-6653
    > .elementor-element {
    padding: 32px 20px !important;
  }

  .intersection-site-polished .page-id-980 .elementor-980 {
    padding: 34px 12px 58px;
  }

  .intersection-site-polished .page-id-980 .elementor-form {
    padding: 24px 16px;
  }

  .intersection-site-polished .page-id-6082 .elementor-6082 {
    min-height: auto;
    padding: 38px 14px 56px;
  }

  .intersection-site-polished .intersection-empty-state {
    padding: 34px 22px;
  }

  .intersection-site-polished .intersection-empty-state > div {
    flex-direction: column;
  }

  .intersection-site-polished .intersection-empty-state a {
    justify-content: center;
    width: 100%;
  }

  .intersection-site-polished .intersection-template-nav {
    padding-inline: 18px;
  }

  .intersection-site-polished .single-reports .elementor-6044 p {
    font-size: 16px;
    line-height: 1.9;
  }

  .intersection-site-polished .intersection-404-actions {
    flex-direction: column;
    width: 100%;
  }

  .intersection-site-polished .intersection-404-actions a {
    align-items: center;
    display: flex;
    justify-content: center;
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .intersection-site-polished *,
  .intersection-site-polished *::before,
  .intersection-site-polished *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
