
/* ── Hero particle canvas ── */
#hero-particles {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
}

/* ── Hero grid overlay ── */
.hero-grid-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(37,99,235,0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(37,99,235,0.08) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse 80% 90% at 50% 40%, black 15%, transparent 70%);
  -webkit-mask-image: radial-gradient(ellipse 80% 90% at 50% 40%, black 15%, transparent 70%);
}

/* ── Horizontal scan line ── */
.hero-scan-line {
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(37,99,235,0.3) 20%,
    rgba(37,99,235,0.75) 50%,
    rgba(37,99,235,0.3) 80%,
    transparent 100%);
  box-shadow: 0 0 12px rgba(37,99,235,0.5);
  animation: heroScan 6s linear infinite;
  pointer-events: none;
  z-index: 2;
}
@keyframes heroScan {
  0%   { top: -2px; opacity: 0; }
  3%   { opacity: 1; }
  94%  { opacity: 0.6; }
  100% { top: 100%; opacity: 0; }
}

/* ── Word rotation ── */
#word-rotate {
  display: inline-block;
  font-style: normal;
}

/* ── Magnetic buttons ── */
.magnetic {
  display: inline-block;
  will-change: transform;
}

/* ── Hero clip-reveal animation ── */
.clip-outer { overflow: hidden; display: block; }
.clip-inner {
  display: block;
  transform: translateY(110%);
  transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}
#hero.hero-revealed .clip-inner { transform: translateY(0); }

/* ── Blue stroke headline ── */
.hl-stroke {
  -webkit-text-stroke: 2px #2563EB;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
@media (max-width: 767px) {
  .hl-stroke { -webkit-text-stroke: 1.5px #2563EB; }
}

/* ── Ghost number background ── */
.hero-ghost-num {
  position: absolute;
  top: 12vh;
  right: 2vw;
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(7rem, 22vw, 20rem);
  font-weight: 900;
  color: rgba(255,255,255,0.025);
  line-height: 1;
  letter-spacing: -0.05em;
  pointer-events: none;
  user-select: none;
  z-index: 3;
}
@media (max-width: 767px) {
  .hero-ghost-num { display: none; }
}

/* ── Blur + slide reveal ── */
.reveal {
  transform: translateY(16px);
  filter: blur(3px);
  transition-property: opacity, transform, filter;
  transition-duration: 0.9s;
  transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal.active {
  transform: translateY(0);
  filter: blur(0);
}

/* ── Shine sweep on CTA buttons ── */
.btn-shine { position: relative; overflow: hidden; }
.btn-shine::after {
  content: '';
  position: absolute;
  top: -10%; left: -80%;
  width: 55%; height: 120%;
  background: linear-gradient(105deg, transparent, rgba(255,255,255,0.22), transparent);
  transform: skewX(-20deg);
  pointer-events: none;
  transition: left 0s;
}
.btn-shine:hover::after { left: 135%; transition: left 0.52s ease; }

/* ── 3D Tilt cards ── */
[data-tilt] { will-change: transform; }

/* ── FAQ accordion ── */
.faq-answer {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  padding-bottom: 0 !important;
  transition:
    max-height 0.42s cubic-bezier(0.16, 1, 0.3, 1),
    opacity 0.25s ease,
    padding-bottom 0.42s cubic-bezier(0.16, 1, 0.3, 1);
}
.faq-answer.open {
  max-height: 260px;
  opacity: 1;
  visibility: visible;
  padding-bottom: 1.25rem !important;
}
.faq-item { transition: border-color 0.3s ease; }
.faq-item.faq-active { border-color: rgba(37,99,235,0.4) !important; }
.faq-icon { transition: transform 0.3s ease; }
.faq-item.faq-active .faq-icon { transform: rotate(45deg); }

/* ── Service section animations ── */
@keyframes svc-float {
  0%,100% { transform: translateY(0); }
  50%     { transform: translateY(-5px); }
}

/* ── Editorial testimonial showcase ── */
#testimonials {
  --testimonial-progress: 12.5%;
  isolation: isolate;
  overflow: hidden;
  content-visibility: visible;
  contain: none;
}
.tst-ambient {
  position: absolute;
  top: 8%;
  left: 48%;
  width: min(44rem, 58vw);
  aspect-ratio: 1;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(37,99,235,.105), transparent 68%);
  filter: blur(32px);
  pointer-events: none;
  z-index: -1;
}
.tst-header {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .65fr);
  gap: clamp(2rem, 7vw, 7rem);
  align-items: end;
  margin-bottom: clamp(2.5rem, 6vw, 4.5rem);
}
.tst-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  color: rgba(37,99,235,.82);
  font: 500 9px/1.2 monospace;
  letter-spacing: .24em;
  text-transform: uppercase;
}
.tst-eyebrow::before {
  content: "";
  width: 2.5rem;
  height: 1px;
  background: linear-gradient(90deg, #2563EB, transparent);
  box-shadow: 0 0 14px rgba(37,99,235,.5);
}
.tst-title {
  max-width: 12ch;
  margin-top: 1.25rem;
  color: #fff;
  font: 500 clamp(2.65rem, 5.15vw, 4.75rem)/1 "Montserrat", sans-serif;
  letter-spacing: -.055em;
}
.tst-title span {
  color: #2563EB;
}
.tst-intro {
  color: rgba(209,213,219,.68);
  font-size: .98rem;
  line-height: 1.75;
}
.tst-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1.5rem;
}
.tst-count {
  color: #fff;
  font: 600 .88rem/1 "Montserrat", sans-serif;
  letter-spacing: -.02em;
}
.tst-count span {
  color: rgba(107,114,128,.7);
}
.tst-arrows {
  display: flex;
  gap: .55rem;
}
.tst-arrow {
  display: grid;
  place-items: center;
  width: 2.7rem;
  height: 2.7rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 999px;
  color: rgba(229,231,235,.78);
  background: rgba(255,255,255,.025);
  transition: color .3s ease, border-color .3s ease, background .3s ease, transform .3s ease;
}
.tst-arrow:hover,
.tst-arrow:focus-visible {
  color: #fff;
  border-color: rgba(37,99,235,.65);
  background: rgba(37,99,235,.16);
  outline: none;
}
.tst-arrow:active {
  transform: scale(.94);
}
.tst-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(19rem, .7fr);
  gap: 1rem;
  align-items: stretch;
  min-width: 0;
}
.tst-featured {
  position: relative;
  display: flex;
  min-height: 31rem;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  padding: clamp(2rem, 4.5vw, 4rem);
  border: 1px solid rgba(37,99,235,.32);
  border-radius: 1.5rem;
  background:
    radial-gradient(circle at 88% 10%, rgba(37,99,235,.16), transparent 31%),
    linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.012)),
    rgba(5,6,12,.94);
  box-shadow:
    0 2.5rem 7rem rgba(0,0,0,.38),
    0 0 0 1px rgba(37,99,235,.04) inset,
    0 0 5rem rgba(37,99,235,.07);
}
.tst-featured::before {
  content: "“";
  position: absolute;
  top: -.8rem;
  right: 2rem;
  color: rgba(37,99,235,.09);
  font: 700 clamp(9rem, 18vw, 16rem)/1 Georgia, serif;
  pointer-events: none;
  user-select: none;
}
.tst-featured::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .5;
  background-image:
    linear-gradient(rgba(37,99,235,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(37,99,235,.035) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: linear-gradient(135deg, black, transparent 64%);
  -webkit-mask-image: linear-gradient(135deg, black, transparent 64%);
  pointer-events: none;
}
.tst-featured-content,
.tst-featured-footer {
  position: relative;
  z-index: 1;
}
.tst-featured-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.tst-stars {
  color: #2563EB;
  font-size: .9rem;
  letter-spacing: .22em;
  text-shadow: 0 0 18px rgba(37,99,235,.5);
}
.tst-project-tag {
  padding: .42rem .7rem;
  border: 1px solid rgba(37,99,235,.22);
  border-radius: 999px;
  color: rgba(191,219,254,.8);
  background: rgba(37,99,235,.08);
  font: 600 .5rem/1 monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.tst-quote {
  max-width: 27ch;
  margin-top: clamp(2rem, 6vw, 4.3rem);
  color: rgba(255,255,255,.94);
  font: 500 clamp(1.6rem, 2.55vw, 2.3rem)/1.4 "Montserrat", sans-serif;
  letter-spacing: -.035em;
}
.tst-featured-footer {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 2.5rem;
  padding-top: 1.4rem;
  border-top: 1px solid rgba(255,255,255,.08);
}
.tst-avatar {
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  flex: 0 0 auto;
  overflow: hidden;
  border: 1px solid rgba(37,99,235,.28);
  border-radius: 999px;
  color: #60a5fa;
  background: #0b1220;
  font: 700 .65rem/1 "Montserrat", sans-serif;
  box-shadow: 0 0 22px rgba(37,99,235,.1);
}
.tst-avatar img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
  object-position: center;
}
.tst-client strong {
  display: block;
  color: #fff;
  font: 600 .86rem/1.25 "Montserrat", sans-serif;
}
.tst-client span {
  display: block;
  margin-top: .25rem;
  color: rgba(156,163,175,.62);
  font-size: .66rem;
  line-height: 1.35;
}
.tst-secondary-list {
  display: grid;
  grid-template-rows: repeat(2, minmax(0,1fr));
  gap: 1rem;
  min-width: 0;
  min-height: 0;
}
.tst-secondary {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 0;
  overflow: hidden;
  padding: 1.65rem;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 1.3rem;
  color: inherit;
  text-align: left;
  background: linear-gradient(145deg, rgba(255,255,255,.032), rgba(255,255,255,.01));
  transition: transform .4s cubic-bezier(.16,1,.3,1), border-color .35s ease, background .35s ease;
  box-sizing: border-box;
}
.tst-secondary::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0;
  background: radial-gradient(circle at 92% 12%, rgba(37,99,235,.13), transparent 35%);
  transition: opacity .35s ease;
  pointer-events: none;
}
.tst-secondary:hover,
.tst-secondary:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(37,99,235,.34);
  outline: none;
}
.tst-secondary:hover::before,
.tst-secondary:focus-visible::before {
  opacity: 1;
}
.tst-secondary > * {
  position: relative;
  z-index: 1;
}
.tst-secondary-stars {
  color: rgba(37,99,235,.85);
  font-size: .7rem;
  letter-spacing: .18em;
}
.tst-secondary-quote {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  margin: 1.2rem 0 1.5rem;
  color: rgba(229,231,235,.8);
  font-size: .86rem;
  line-height: 1.68;
}
.tst-secondary-footer {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-top: auto;
  padding-top: 1rem;
  border-top: 1px solid rgba(255,255,255,.065);
}
.tst-secondary-footer .tst-avatar {
  width: 2.25rem;
  height: 2.25rem;
  font-size: .52rem;
}
.tst-secondary-footer .tst-client strong {
  font-size: .7rem;
}
.tst-secondary-footer .tst-client span {
  font-size: .56rem;
}
.tst-footer-controls {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 2rem;
  margin-top: 1.6rem;
}
.tst-progress {
  height: 2px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.065);
}
.tst-progress span {
  display: block;
  width: var(--testimonial-progress);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #2563EB, #60a5fa);
  box-shadow: 0 0 14px rgba(37,99,235,.65);
  transition: width .5s cubic-bezier(.16,1,.3,1);
}
.tst-dots {
  display: flex;
  align-items: center;
  gap: .55rem;
}
.tst-dot {
  width: .42rem;
  height: .42rem;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  transition: width .35s ease, background .35s ease, box-shadow .35s ease;
}
.tst-dot.is-active {
  width: 1.45rem;
  background: #2563EB;
  box-shadow: 0 0 12px rgba(37,99,235,.65);
}
.tst-dot:focus-visible {
  outline: 2px solid rgba(96,165,250,.8);
  outline-offset: 3px;
}

/* Desktop: geometria fixa para impedir saltos durante fontes, imagens e scroll */
@media (min-width: 901px) {
  .tst-layout {
    grid-template-rows: 31rem;
  }
  .tst-featured,
  .tst-secondary-list {
    width: 100%;
    height: 31rem;
    min-height: 31rem;
  }
  .tst-featured {
    min-width: 0;
  }
  .tst-secondary {
    width: 100%;
    height: 100%;
    min-height: 0;
  }
}

@media (max-width: 900px) {
  .tst-header {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .tst-title {
    max-width: 15ch;
  }
  .tst-layout {
    grid-template-columns: 1fr;
  }
  .tst-featured {
    min-height: 28rem;
  }
  .tst-secondary-list {
    grid-template-columns: repeat(2, minmax(0,1fr));
    grid-template-rows: none;
  }
}
@media (max-width: 639px) {
  .tst-ambient {
    left: 25%;
    width: 70vw;
  }
  .tst-title {
    font-size: clamp(2.55rem, 13vw, 3.6rem);
  }
  .tst-intro {
    font-size: .92rem;
  }
  .tst-featured {
    min-height: 31rem;
    padding: 1.5rem;
    border-radius: 1.2rem;
  }
  .tst-featured::before {
    right: .8rem;
    font-size: 9rem;
  }
  .tst-quote {
    margin-top: 2.8rem;
    font-size: clamp(1.4rem, 6.6vw, 1.85rem);
  }
  .tst-project-tag {
    max-width: 45%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .tst-secondary-list {
    display: none;
  }
  .tst-footer-controls {
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }
  .tst-dots {
    justify-content: center;
    grid-row: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .tst-arrow,
  .tst-secondary,
  .tst-secondary::before,
  .tst-progress span,
  .tst-dot,
  .mobile-slide-sheen::before,
  .mobile-touch-flash {
    transition: none !important;
    animation: none !important;
  }
  .mobile-touch-pressed {
    transform: none !important;
    transition: none !important;
  }
}

/* ── Premium project journey ── */
#process {
  --process-progress: 0%;
  isolation: isolate;
}
.jp-process-ambient {
  position: absolute;
  inset: 8% auto auto 44%;
  width: min(40rem, 54vw);
  aspect-ratio: 1;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(37,99,235,0.11), transparent 68%);
  filter: blur(28px);
  pointer-events: none;
  z-index: -1;
}
.jp-process-grid {
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(520px, 1.22fr);
  gap: clamp(3.5rem, 8vw, 8rem);
  align-items: start;
}
.jp-process-sticky {
  position: sticky;
  top: clamp(6rem, 14vh, 9rem);
  padding: 1rem 0 2rem;
}
@media (min-width: 1024px) {
  #process,
  #process > .max-w-7xl,
  #process .jp-process-grid {
    overflow: visible;
  }
  #process .jp-process-grid {
    align-items: start;
  }
  #process .jp-process-sticky {
    position: sticky !important;
    top: clamp(6.5rem, 13vh, 8.5rem);
    align-self: start;
    height: max-content;
    z-index: 2;
    transform: none;
    filter: none;
  }
}
.jp-process-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  color: rgba(37,99,235,.82);
  font: 500 9px/1.2 monospace;
  letter-spacing: .24em;
  text-transform: uppercase;
}
.jp-process-eyebrow::before {
  content: "";
  width: 2.5rem;
  height: 1px;
  background: linear-gradient(90deg, #2563EB, rgba(37,99,235,.08));
  box-shadow: 0 0 14px rgba(37,99,235,.45);
}
.jp-process-title {
  max-width: 8.5ch;
  margin: 1.5rem 0 1.4rem;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(3rem, 5.6vw, 5.4rem);
  font-weight: 500;
  line-height: .96;
  letter-spacing: -.055em;
}
.jp-process-title span {
  color: #2563EB;
}
.jp-process-copy {
  max-width: 31rem;
  color: rgba(209,213,219,.72);
  font-size: clamp(1rem, 1.45vw, 1.12rem);
  line-height: 1.75;
}
.jp-process-trust {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin-top: 1.35rem;
  color: rgba(229,231,235,.72);
  font-size: .78rem;
}
.jp-process-trust i {
  width: .4rem;
  height: .4rem;
  border-radius: 999px;
  background: #2563EB;
  box-shadow: 0 0 14px rgba(37,99,235,.8);
}
.jp-process-status {
  margin-top: clamp(2.5rem, 6vh, 4.5rem);
  padding-top: 1.25rem;
  border-top: 1px solid rgba(255,255,255,.08);
}
.jp-process-status-top {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.jp-process-count {
  color: #fff;
  font: 600 1.15rem/1 "Montserrat", sans-serif;
  letter-spacing: -.03em;
}
.jp-process-count span {
  color: rgba(107,114,128,.65);
  font-weight: 500;
}
.jp-process-active-name {
  color: rgba(156,163,175,.7);
  font: 500 .62rem/1.2 monospace;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.jp-process-progress {
  width: 100%;
  height: 2px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.07);
}
.jp-process-progress span {
  display: block;
  width: 25%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #2563EB, #60a5fa);
  box-shadow: 0 0 16px rgba(37,99,235,.65);
  transition: width .6s cubic-bezier(.16,1,.3,1);
}
.jp-process-signature {
  margin-top: 1rem;
  color: rgba(107,114,128,.52);
  font: 500 .55rem/1.2 monospace;
  letter-spacing: .24em;
  text-transform: uppercase;
}
.jp-process-timeline {
  position: relative;
  padding-left: 3.25rem;
}
.jp-process-timeline::before,
.jp-process-line {
  content: "";
  position: absolute;
  top: 2.65rem;
  bottom: 2.65rem;
  left: .85rem;
  width: 1px;
  border-radius: 999px;
}
.jp-process-timeline::before {
  background: rgba(255,255,255,.09);
}
.jp-process-line {
  bottom: auto;
  height: var(--process-progress);
  background: linear-gradient(180deg, #60a5fa, #2563EB);
  box-shadow: 0 0 16px rgba(37,99,235,.65);
  transition: height .65s cubic-bezier(.16,1,.3,1);
}
.jp-process-step {
  position: relative;
  min-height: 30rem;
  margin-bottom: 1.25rem;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 1.35rem;
  outline: none;
  background:
    linear-gradient(145deg, rgba(255,255,255,.036), rgba(255,255,255,.012)),
    rgba(5,6,11,.88);
  box-shadow: 0 1.25rem 4.5rem rgba(0,0,0,.2);
  opacity: .48;
  transform: translateY(12px) scale(.985);
  transition:
    opacity .5s ease,
    transform .55s cubic-bezier(.16,1,.3,1),
    border-color .45s ease,
    box-shadow .45s ease,
    background .45s ease;
}
.jp-process-step:last-child {
  margin-bottom: 0;
}
.jp-process-step::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0;
  background:
    radial-gradient(circle at 86% 12%, rgba(37,99,235,.18), transparent 30%),
    linear-gradient(135deg, rgba(37,99,235,.05), transparent 55%);
  transition: opacity .45s ease;
  pointer-events: none;
}
.jp-process-step:hover {
  opacity: .75;
  border-color: rgba(255,255,255,.14);
}
.jp-process-step.is-active {
  opacity: 1;
  transform: translateY(0) scale(1);
  border-color: rgba(37,99,235,.42);
  box-shadow:
    0 2rem 6rem rgba(0,0,0,.42),
    0 0 0 1px rgba(37,99,235,.05) inset,
    0 0 4rem rgba(37,99,235,.075);
}
.jp-process-step.is-active::before {
  opacity: 1;
}
.jp-process-step.is-complete {
  opacity: .72;
  transform: none;
}
.jp-process-step:focus-visible {
  border-color: rgba(96,165,250,.9);
  box-shadow: 0 0 0 3px rgba(37,99,235,.24);
}
.jp-process-node {
  position: absolute;
  top: 2.2rem;
  left: -2.9rem;
  width: 1.1rem;
  height: 1.1rem;
  border: 4px solid #05060b;
  border-radius: 999px;
  background: #252935;
  box-shadow: 0 0 0 1px rgba(255,255,255,.13);
  transition: background .35s ease, box-shadow .35s ease, transform .35s ease;
}
.jp-process-step.is-active .jp-process-node {
  background: #2563EB;
  box-shadow: 0 0 0 1px rgba(96,165,250,.7), 0 0 24px rgba(37,99,235,.95);
  transform: scale(1.18);
}
.jp-process-step.is-complete .jp-process-node {
  background: #2563EB;
  box-shadow: 0 0 0 1px rgba(37,99,235,.55);
}
.jp-process-head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 1.3rem;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.jp-process-index {
  display: flex;
  align-items: center;
  gap: .8rem;
}
.jp-process-index strong {
  display: grid;
  place-items: center;
  width: 2.45rem;
  height: 2.45rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: .75rem;
  color: rgba(147,197,253,.82);
  background: rgba(255,255,255,.035);
  font: 700 .72rem/1 "Montserrat", sans-serif;
}
.jp-process-step.is-active .jp-process-index strong {
  color: #fff;
  border-color: rgba(96,165,250,.55);
  background: #2563EB;
  box-shadow: 0 0 22px rgba(37,99,235,.45);
}
.jp-process-index span {
  color: rgba(229,231,235,.8);
  font: 600 .7rem/1.2 monospace;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.jp-process-ghost {
  color: rgba(255,255,255,.025);
  font: 800 clamp(3.5rem, 7vw, 5.6rem)/.72 "Montserrat", sans-serif;
  letter-spacing: -.08em;
  user-select: none;
}
.jp-process-body {
  position: relative;
  z-index: 1;
  padding-top: 1.6rem;
}
.jp-process-body h3 {
  max-width: 18ch;
  color: #fff;
  font: 600 clamp(1.55rem, 2.8vw, 2.25rem)/1.08 "Montserrat", sans-serif;
  letter-spacing: -.04em;
}
.jp-process-body > p {
  max-width: 42rem;
  margin-top: .85rem;
  color: rgba(209,213,219,.7);
  font-size: .92rem;
  line-height: 1.7;
}
.jp-process-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 1.5rem;
  margin: 1.55rem 0;
}
.jp-process-meta div {
  padding-top: .85rem;
  border-top: 1px solid rgba(255,255,255,.075);
}
.jp-process-meta small {
  display: block;
  margin-bottom: .45rem;
  color: rgba(96,165,250,.72);
  font: 500 .56rem/1.2 monospace;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.jp-process-meta p {
  color: rgba(229,231,235,.76);
  font-size: .76rem;
  line-height: 1.55;
}
.jp-process-visual {
  position: relative;
  min-height: 12rem;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 1rem;
  background:
    linear-gradient(rgba(37,99,235,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(37,99,235,.045) 1px, transparent 1px),
    rgba(2,3,8,.78);
  background-size: 24px 24px;
  transform: translateY(8px);
  transition: transform .6s cubic-bezier(.16,1,.3,1), border-color .45s ease;
}
.jp-process-step.is-active .jp-process-visual {
  transform: translateY(0);
  border-color: rgba(37,99,235,.24);
}
.jp-ui-window {
  position: absolute;
  inset: 1rem;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: .8rem;
  background: rgba(8,9,15,.88);
  box-shadow: 0 1rem 3rem rgba(0,0,0,.35);
}
.jp-ui-bar {
  display: flex;
  align-items: center;
  gap: .32rem;
  height: 1.9rem;
  padding: 0 .7rem;
  border-bottom: 1px solid rgba(255,255,255,.07);
  background: rgba(255,255,255,.025);
}
.jp-ui-bar i {
  width: .28rem;
  height: .28rem;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
}
.jp-ui-bar i:first-child {
  background: #2563EB;
  box-shadow: 0 0 9px rgba(37,99,235,.7);
}
.jp-ui-label {
  color: rgba(156,163,175,.58);
  font: 500 .48rem/1.2 monospace;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.jp-ui-content {
  height: calc(100% - 1.9rem);
  padding: .9rem;
}
.jp-brief-head,
.jp-doc-head,
.jp-live-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .8rem;
}
.jp-brief-head strong,
.jp-doc-head strong,
.jp-live-head strong {
  display: block;
  margin-top: .18rem;
  color: rgba(255,255,255,.88);
  font: 600 .68rem/1.2 "Montserrat", sans-serif;
}
.jp-ui-chip {
  padding: .3rem .48rem;
  border: 1px solid rgba(37,99,235,.25);
  border-radius: 999px;
  color: rgba(147,197,253,.8);
  background: rgba(37,99,235,.09);
  font: 600 .43rem/1 monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.jp-form-row {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  align-items: center;
  gap: .75rem;
  padding: .48rem 0;
  border-top: 1px solid rgba(255,255,255,.05);
}
.jp-form-line,
.jp-wire-line {
  height: .27rem;
  border-radius: 999px;
  background: rgba(255,255,255,.1);
}
.jp-form-line.blue,
.jp-wire-line.blue {
  background: #2563EB;
  box-shadow: 0 0 9px rgba(37,99,235,.35);
}
.jp-doc-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: .5rem;
}
.jp-doc-item {
  padding: .65rem;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: .55rem;
  background: rgba(255,255,255,.022);
}
.jp-doc-item strong {
  display: block;
  margin-top: .35rem;
  color: rgba(255,255,255,.78);
  font: 600 .58rem/1.25 "Montserrat", sans-serif;
}
.jp-approved {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: .7rem;
  padding-top: .65rem;
  border-top: 1px solid rgba(255,255,255,.06);
}
.jp-approved span:last-child {
  color: #93c5fd;
  font: 600 .48rem/1 monospace;
  letter-spacing: .1em;
}
.jp-build-grid {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  height: 100%;
}
.jp-code-pane {
  padding: .8rem;
  border-right: 1px solid rgba(255,255,255,.06);
}
.jp-code-pane .jp-wire-line {
  margin-bottom: .5rem;
}
.jp-preview-pane {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: .5rem;
  padding: .8rem;
}
.jp-preview-block {
  min-height: 2.2rem;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: .4rem;
  background: rgba(255,255,255,.025);
}
.jp-preview-block:first-child {
  grid-column: 1 / -1;
  background: linear-gradient(120deg, rgba(37,99,235,.18), rgba(255,255,255,.025));
}
.jp-site-preview {
  position: relative;
  display: grid;
  place-items: center;
  height: calc(100% - 1.9rem);
  background:
    radial-gradient(circle at 50% 35%, rgba(37,99,235,.18), transparent 40%),
    rgba(2,3,8,.8);
}
.jp-site-preview::before {
  content: "";
  width: 58%;
  height: 42%;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: .55rem;
  background:
    linear-gradient(rgba(255,255,255,.08) 0 0) 14% 24% / 46% 6% no-repeat,
    linear-gradient(#2563EB 0 0) 14% 45% / 28% 7% no-repeat,
    linear-gradient(rgba(255,255,255,.035) 0 0);
  box-shadow: 0 1rem 2.5rem rgba(0,0,0,.35);
}
.jp-live-status {
  position: absolute;
  right: 1rem;
  bottom: .9rem;
  display: flex;
  align-items: center;
  gap: .4rem;
  padding: .42rem .58rem;
  border: 1px solid rgba(37,99,235,.25);
  border-radius: 999px;
  color: #bfdbfe;
  background: rgba(5,8,18,.85);
  font: 600 .46rem/1 monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.jp-live-status i {
  width: .35rem;
  height: .35rem;
  border-radius: 999px;
  background: #2563EB;
  box-shadow: 0 0 10px rgba(37,99,235,.9);
}
.jp-process-cta {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin-top: clamp(4rem, 9vw, 7rem);
  padding: clamp(1.5rem, 4vw, 2.5rem);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 1.35rem;
  background: linear-gradient(100deg, rgba(37,99,235,.09), rgba(255,255,255,.018) 55%);
}
.jp-process-cta::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 36%;
  height: 1px;
  background: linear-gradient(90deg, #2563EB, transparent);
  box-shadow: 0 0 16px rgba(37,99,235,.7);
}
.jp-process-cta small {
  display: block;
  margin-bottom: .5rem;
  color: rgba(96,165,250,.7);
  font: 500 .56rem/1.2 monospace;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.jp-process-cta h3 {
  color: #fff;
  font: 600 clamp(1.35rem, 2.8vw, 2rem)/1.15 "Montserrat", sans-serif;
  letter-spacing: -.035em;
}
.jp-process-cta-link {
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.jp-process-cta-link-content {
  display: inline-grid;
  grid-template-columns: 1rem auto;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  line-height: 1;
  white-space: nowrap;
}
.jp-process-cta-link .iconify {
  display: block;
  width: 1rem;
  height: 1rem;
  margin: 0;
  flex: none;
}

@media (max-width: 1023px) {
  .jp-process-grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .jp-process-sticky {
    position: static;
    padding-bottom: 0;
  }
  .jp-process-title {
    max-width: 11ch;
  }
  .jp-process-status {
    margin-top: 2.25rem;
  }
  .jp-process-step {
    min-height: 0;
  }
}
@media (max-width: 639px) {
  .jp-process-title {
    font-size: clamp(2.65rem, 14vw, 3.75rem);
  }
  .jp-process-copy {
    font-size: .95rem;
  }
  .jp-process-timeline {
    padding-left: 2.2rem;
  }
  .jp-process-timeline::before,
  .jp-process-line {
    left: .5rem;
  }
  .jp-process-node {
    left: -2.25rem;
  }
  .jp-process-step {
    padding: 1.25rem;
    border-radius: 1.1rem;
    opacity: .62;
  }
  .jp-process-meta {
    grid-template-columns: 1fr;
    gap: .8rem;
  }
  .jp-process-ghost {
    font-size: 3.4rem;
  }
  .jp-process-index span {
    font-size: .6rem;
  }
  .jp-process-visual {
    min-height: 11rem;
  }
  .jp-ui-window {
    inset: .7rem;
  }
  .jp-doc-grid {
    grid-template-columns: 1fr;
    gap: .28rem;
  }
  .jp-doc-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .4rem .5rem;
  }
  .jp-doc-item strong {
    margin-top: 0;
  }
  .jp-process-cta {
    align-items: stretch;
    flex-direction: column;
  }
  .jp-process-cta a {
    justify-content: center;
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .jp-process-step,
  .jp-process-step::before,
  .jp-process-node,
  .jp-process-line,
  .jp-process-progress span,
  .jp-process-visual {
    transition: none !important;
  }
}

/* Floating JPC Assist */
.jpc-whatsapp-agent {
  appearance: none;
  font: inherit;
  text-align: left;
  cursor: pointer;
  position: fixed;
  right: clamp(1rem, 2.4vw, 2rem);
  bottom: clamp(1rem, 2.4vw, 2rem);
  z-index: 90;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: .85rem;
  width: 17.5rem;
  min-height: 4.4rem;
  padding: .62rem .65rem .62rem 1.05rem;
  overflow: hidden;
  border: 1px solid rgba(79,126,242,.38);
  border-radius: 1.15rem;
  color: #fff;
  background:
    linear-gradient(135deg, rgba(37,99,235,.15), transparent 42%),
    rgba(5,8,15,.92);
  box-shadow:
    0 24px 65px rgba(0,0,0,.52),
    0 0 0 1px rgba(255,255,255,.025) inset,
    0 0 34px rgba(37,99,235,.14);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  animation: jpc-agent-enter .7s cubic-bezier(.22,1,.36,1) .8s both;
  transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease, background-color .35s ease;
}
.jpc-whatsapp-agent::before {
  content: "";
  position: absolute;
  top: 0;
  left: 1rem;
  right: 1rem;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(77,129,255,.95), transparent);
  box-shadow: 0 0 18px rgba(37,99,235,.7);
}
.jpc-whatsapp-agent::after {
  content: "";
  position: absolute;
  top: -30%;
  bottom: -30%;
  left: -28%;
  width: 18%;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(109,153,255,.12), transparent);
  transform: skewX(-18deg);
  animation: jpc-agent-sweep 4.8s ease-in-out 2s infinite;
}
.jpc-whatsapp-agent:hover {
  transform: translateY(-6px);
  border-color: rgba(80,132,255,.72);
  background-color: rgba(8,12,22,.96);
  box-shadow:
    0 30px 80px rgba(0,0,0,.58),
    0 0 0 1px rgba(255,255,255,.04) inset,
    0 0 44px rgba(37,99,235,.25);
}
.jpc-agent-copy {
  position: relative;
  z-index: 2;
  min-width: 0;
}
.jpc-agent-status {
  display: flex;
  align-items: center;
  gap: .45rem;
  margin-bottom: .35rem;
  color: #7e8ba1;
  font: 600 .5rem/1 monospace;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.jpc-agent-status i {
  position: relative;
  display: inline-block;
  width: .38rem;
  height: .38rem;
  border-radius: 50%;
  background: #36d37e;
  box-shadow: 0 0 11px rgba(54,211,126,.9);
}
.jpc-agent-status i::after {
  content: "";
  position: absolute;
  inset: -.25rem;
  border: 1px solid rgba(54,211,126,.28);
  border-radius: inherit;
  animation: jpc-agent-status 2.2s ease-out infinite;
}
.jpc-agent-copy strong {
  display: block;
  overflow: hidden;
  color: #f5f7fb;
  font-family: "Montserrat", sans-serif;
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: -.01em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.jpc-agent-copy small {
  display: block;
  margin-top: .3rem;
  color: #596477;
  font: 500 .48rem/1 monospace;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.jpc-agent-core {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 3.05rem;
  height: 3.05rem;
  overflow: visible;
  border: 1px solid rgba(96,141,255,.52);
  border-radius: .95rem;
  color: #dce7ff;
  background:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(145deg, rgba(37,99,235,.38), rgba(8,14,28,.95));
  background-size: 7px 7px, 7px 7px, auto;
  box-shadow: inset 0 0 20px rgba(37,99,235,.18), 0 10px 26px rgba(5,16,45,.45);
}
.jpc-agent-core::before,
.jpc-agent-core::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
.jpc-agent-core::before {
  inset: -.38rem;
  border: 1px solid rgba(37,99,235,.16);
  border-radius: 1.2rem;
  animation: jpc-agent-orbit 3.2s ease-in-out infinite;
}
.jpc-agent-core::after {
  top: 50%;
  left: .5rem;
  right: .5rem;
  height: 1px;
  opacity: .8;
  background: linear-gradient(90deg, transparent, #60a5fa, transparent);
  box-shadow: 0 0 9px rgba(96,165,250,.8);
  animation: jpc-agent-scan 2.5s ease-in-out infinite;
}
.jpc-agent-core .iconify {
  position: relative;
  z-index: 2;
}
.jpc-agent-message {
  position: absolute;
  right: -.35rem;
  bottom: -.35rem;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 1.15rem;
  height: 1.15rem;
  border: 2px solid #07101d;
  border-radius: 50%;
  color: #fff;
  background: #22c55e;
  box-shadow: 0 0 14px rgba(34,197,94,.5);
}
.jpc-agent-arrow {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 1.65rem;
  height: 1.65rem;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: .55rem;
  color: #6995ff;
  background: rgba(255,255,255,.025);
  transition: color .3s ease, background-color .3s ease, transform .3s ease;
}
.jpc-whatsapp-agent:hover .jpc-agent-arrow {
  color: #fff;
  background: #2563eb;
  transform: translate(2px, -2px);
}
.jpc-whatsapp-agent:focus-visible {
  outline: 2px solid #75a0ff;
  outline-offset: 5px;
}
@keyframes jpc-agent-enter {
  from { opacity: 0; transform: translateY(1.25rem) scale(.94); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes jpc-agent-sweep {
  0%, 48% { left: -28%; opacity: 0; }
  58% { opacity: 1; }
  78%, 100% { left: 112%; opacity: 0; }
}
@keyframes jpc-agent-status {
  from { opacity: .8; transform: scale(.5); }
  to { opacity: 0; transform: scale(1.65); }
}
@keyframes jpc-agent-orbit {
  0%, 100% { opacity: .45; transform: scale(.94); }
  50% { opacity: 1; transform: scale(1.04); }
}
@keyframes jpc-agent-scan {
  0%, 100% { transform: translateY(-.65rem); opacity: .25; }
  50% { transform: translateY(.65rem); opacity: .9; }
}
@media (min-width: 641px) and (max-width: 1919px) {
  .jpc-whatsapp-agent {
    right: .5rem;
    bottom: max(1rem, env(safe-area-inset-bottom));
    grid-template-columns: 1fr;
    width: 3.75rem;
    min-height: 3.75rem;
    padding: .375rem;
    border-radius: 1.05rem;
  }
  .jpc-agent-copy,
  .jpc-agent-arrow {
    display: none;
  }
  .jpc-agent-core {
    width: 3rem;
    height: 3rem;
    margin: auto;
  }
}
@media (min-width: 1024px) and (max-width: 1919px) {
  .hero-actions {
    margin-right: 1.5rem;
  }
}
@media (max-width: 640px) {
  .jpc-whatsapp-agent {
    right: 1rem;
    bottom: max(1rem, env(safe-area-inset-bottom));
    display: grid;
    grid-template-columns: 1fr;
    width: 3.9rem;
    min-height: 3.9rem;
    padding: .42rem;
    border-radius: 1.15rem;
  }
  .jpc-agent-copy,
  .jpc-agent-arrow {
    display: none;
  }
  .jpc-agent-core {
    width: 3rem;
    height: 3rem;
    margin: auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  .jpc-whatsapp-agent,
  .jpc-whatsapp-agent::after,
  .jpc-agent-status i::after,
  .jpc-agent-core::before,
  .jpc-agent-core::after,
  .jpc-agent-arrow {
    animation: none !important;
    transition: none !important;
  }
}

/* JPC Assist: intelligent qualification flow */
.jpc-assist-backdrop {
  position: fixed;
  inset: 0;
  z-index: 91;
  visibility: hidden;
  opacity: 0;
  background: rgba(0,3,9,.68);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
  transition: opacity .3s ease, visibility .3s ease;
}
.jpc-assist-backdrop.is-open {
  visibility: visible;
  opacity: 1;
}
.jpc-assist-panel {
  position: fixed;
  right: clamp(1rem, 2.4vw, 2rem);
  bottom: clamp(6.3rem, 9vw, 7.5rem);
  z-index: 92;
  display: flex;
  visibility: hidden;
  flex-direction: column;
  width: min(27rem, calc(100vw - 2rem));
  max-height: min(44rem, calc(100dvh - 8.5rem));
  overflow: hidden;
  opacity: 0;
  border: 1px solid rgba(87,132,241,.32);
  border-radius: 1.45rem;
  color: #f7f9ff;
  background:
    linear-gradient(145deg, rgba(37,99,235,.1), transparent 28%),
    rgba(5,8,15,.985);
  box-shadow:
    0 32px 100px rgba(0,0,0,.7),
    0 0 0 1px rgba(255,255,255,.025) inset,
    0 0 55px rgba(37,99,235,.13);
  transform: translateY(1.25rem) scale(.97);
  transform-origin: right bottom;
  transition: opacity .3s ease, transform .35s cubic-bezier(.22,1,.36,1), visibility .3s ease;
}
.jpc-assist-panel.is-open {
  visibility: visible;
  opacity: 1;
  transform: translateY(0) scale(1);
}
.jpc-assist-panel::before {
  content: "";
  position: absolute;
  top: 0;
  left: 1.5rem;
  right: 1.5rem;
  height: 1px;
  background: linear-gradient(90deg, transparent, #477bff, transparent);
  box-shadow: 0 0 18px rgba(37,99,235,.65);
}
.jpc-assist-header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: .8rem;
  padding: 1rem 1rem .9rem;
  border-bottom: 1px solid rgba(255,255,255,.065);
  background: rgba(255,255,255,.018);
}
.jpc-assist-avatar {
  display: grid;
  place-items: center;
  width: 2.65rem;
  height: 2.65rem;
  border: 1px solid rgba(91,137,255,.42);
  border-radius: .85rem;
  color: #dbe7ff;
  background:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(145deg, rgba(37,99,235,.36), rgba(8,14,28,.96));
  background-size: 7px 7px, 7px 7px, auto;
  box-shadow: inset 0 0 18px rgba(37,99,235,.18);
}
.jpc-assist-heading {
  min-width: 0;
}
.jpc-assist-heading small {
  display: flex;
  align-items: center;
  gap: .38rem;
  margin-bottom: .28rem;
  color: #758198;
  font: 600 .5rem/1 monospace;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.jpc-assist-heading small::before {
  content: "";
  width: .38rem;
  height: .38rem;
  border-radius: 50%;
  background: #38d681;
  box-shadow: 0 0 10px rgba(56,214,129,.85);
}
.jpc-assist-heading strong {
  display: block;
  overflow: hidden;
  color: #f5f7fc;
  font-family: "Montserrat", sans-serif;
  font-size: .9rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.jpc-assist-close {
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: .7rem;
  color: #7e899b;
  background: rgba(255,255,255,.025);
  transition: color .25s ease, border-color .25s ease, background-color .25s ease;
}
.jpc-assist-close:hover {
  color: #fff;
  border-color: rgba(94,140,255,.38);
  background: rgba(37,99,235,.12);
}
.jpc-assist-progress {
  display: none;
  align-items: center;
  gap: .7rem;
  padding: .72rem 1rem;
  border-bottom: 1px solid rgba(255,255,255,.055);
}
.jpc-assist-progress.is-visible {
  display: flex;
}
.jpc-assist-progress-track {
  flex: 1;
  height: .22rem;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.07);
}
.jpc-assist-progress-track span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #2563eb, #68a1ff);
  box-shadow: 0 0 12px rgba(37,99,235,.55);
  transition: width .35s ease;
}
.jpc-assist-progress-label {
  min-width: 3.6rem;
  color: #69758a;
  font: 600 .5rem/1 monospace;
  letter-spacing: .1em;
  text-align: right;
  text-transform: uppercase;
}
.jpc-assist-body {
  min-height: 18rem;
  padding: 1.15rem;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(69,117,235,.45) transparent;
}
.jpc-assist-body::-webkit-scrollbar {
  width: 5px;
}
.jpc-assist-body::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(69,117,235,.42);
}
.jpc-assist-eyebrow {
  display: flex;
  align-items: center;
  gap: .45rem;
  margin-bottom: .65rem;
  color: #5688ff;
  font: 600 .52rem/1 monospace;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.jpc-assist-eyebrow::before {
  content: "";
  width: 1.1rem;
  height: 1px;
  background: currentColor;
}
.jpc-assist-title {
  margin: 0;
  color: #f7f8fc;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(1.2rem, 4vw, 1.55rem);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -.035em;
}
.jpc-assist-description {
  margin: .65rem 0 1rem;
  color: #8992a3;
  font-size: .78rem;
  line-height: 1.65;
}
.jpc-assist-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem;
}
.jpc-assist-option,
.jpc-assist-menu-button,
.jpc-assist-faq-button {
  width: 100%;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: .85rem;
  color: #c8ced9;
  background: rgba(255,255,255,.025);
  text-align: left;
  transition: transform .25s ease, border-color .25s ease, color .25s ease, background-color .25s ease;
}
.jpc-assist-option {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  min-height: 4.35rem;
  padding: .72rem;
}
.jpc-assist-option:hover,
.jpc-assist-menu-button:hover,
.jpc-assist-faq-button:hover {
  color: #fff;
  border-color: rgba(76,125,242,.46);
  background: rgba(37,99,235,.09);
  transform: translateY(-2px);
}
.jpc-assist-option-icon {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 1.9rem;
  height: 1.9rem;
  border-radius: .58rem;
  color: #6d98ff;
  background: rgba(37,99,235,.12);
  box-shadow: inset 0 0 0 1px rgba(37,99,235,.17);
}
.jpc-assist-option strong {
  display: block;
  margin-top: .08rem;
  color: inherit;
  font-size: .69rem;
  line-height: 1.3;
}
.jpc-assist-option small {
  display: block;
  margin-top: .26rem;
  color: #656f82;
  font-size: .58rem;
  line-height: 1.35;
}
.jpc-assist-menu {
  display: grid;
  gap: .55rem;
}
.jpc-assist-menu-button {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: .7rem;
  padding: .8rem;
}
.jpc-assist-menu-button > .iconify {
  color: #6795ff;
}
.jpc-assist-menu-button strong {
  display: block;
  font-size: .72rem;
}
.jpc-assist-menu-button small {
  display: block;
  margin-top: .2rem;
  color: #657084;
  font-size: .58rem;
}
.jpc-assist-faq-list {
  display: grid;
  gap: .48rem;
}
.jpc-assist-faq-button {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: .6rem;
  padding: .75rem .8rem;
  font-size: .7rem;
  line-height: 1.4;
}
.jpc-assist-answer {
  padding: .95rem;
  border: 1px solid rgba(74,124,244,.2);
  border-radius: .95rem;
  background: linear-gradient(145deg, rgba(37,99,235,.1), rgba(255,255,255,.018));
}
.jpc-assist-answer p {
  margin: 0;
  color: #aab1bf;
  font-size: .76rem;
  line-height: 1.7;
}
.jpc-assist-form {
  display: grid;
  gap: .75rem;
}
.jpc-assist-field {
  display: grid;
  gap: .38rem;
}
.jpc-assist-field label {
  color: #778297;
  font: 600 .54rem/1 monospace;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.jpc-assist-field input,
.jpc-assist-field textarea {
  width: 100%;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: .78rem;
  outline: 0;
  color: #f5f7fb;
  background: rgba(255,255,255,.03);
  font: 500 .75rem/1.45 "Inter", sans-serif;
  transition: border-color .25s ease, box-shadow .25s ease, background-color .25s ease;
}
.jpc-assist-field input {
  min-height: 2.8rem;
  padding: 0 .85rem;
}
.jpc-assist-field textarea {
  min-height: 5.4rem;
  padding: .75rem .85rem;
  resize: vertical;
}
.jpc-assist-field input:focus,
.jpc-assist-field textarea:focus {
  border-color: rgba(81,132,255,.68);
  background: rgba(37,99,235,.055);
  box-shadow: 0 0 0 3px rgba(37,99,235,.1);
}
.jpc-assist-field-error {
  display: none;
  color: #ff8b8b;
  font-size: .62rem;
}
.jpc-assist-field.is-invalid .jpc-assist-field-error {
  display: block;
}
.jpc-assist-field.is-invalid input {
  border-color: rgba(255,95,95,.65);
}
.jpc-assist-actions {
  display: flex;
  align-items: center;
  gap: .55rem;
  margin-top: 1rem;
}
.jpc-assist-primary,
.jpc-assist-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  min-height: 2.8rem;
  border-radius: .78rem;
  font-size: .67rem;
  font-weight: 700;
  letter-spacing: .04em;
  transition: transform .25s ease, border-color .25s ease, background-color .25s ease, box-shadow .25s ease;
}
.jpc-assist-primary {
  flex: 1;
  border: 1px solid #3975ff;
  color: #fff;
  background: linear-gradient(135deg, #2563eb, #3977f6);
  box-shadow: 0 12px 28px rgba(37,99,235,.24);
}
.jpc-assist-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(37,99,235,.34);
}
.jpc-assist-secondary {
  padding: 0 .9rem;
  border: 1px solid rgba(255,255,255,.09);
  color: #929bad;
  background: rgba(255,255,255,.025);
}
.jpc-assist-secondary:hover {
  color: #fff;
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.05);
}
.jpc-assist-summary {
  display: grid;
  gap: .5rem;
  margin-top: .9rem;
}
.jpc-assist-summary-row {
  display: grid;
  grid-template-columns: minmax(6rem, .65fr) 1fr;
  gap: .7rem;
  padding: .65rem .72rem;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: .72rem;
  background: rgba(255,255,255,.018);
}
.jpc-assist-summary-row small {
  color: #626d80;
  font: 600 .5rem/1.35 monospace;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.jpc-assist-summary-row strong {
  color: #c8cfdb;
  font-size: .67rem;
  font-weight: 600;
  line-height: 1.4;
}
.jpc-assist-recommendation {
  margin-top: .8rem;
  padding: .9rem;
  border: 1px solid rgba(71,122,247,.28);
  border-radius: .9rem;
  background:
    radial-gradient(circle at 90% 0, rgba(37,99,235,.2), transparent 55%),
    rgba(37,99,235,.07);
}
.jpc-assist-recommendation small {
  color: #6e96f5;
  font: 600 .5rem/1 monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.jpc-assist-recommendation strong {
  display: block;
  margin-top: .42rem;
  color: #fff;
  font-size: .83rem;
}
.jpc-assist-recommendation p {
  margin: .4rem 0 0;
  color: #8893a7;
  font-size: .68rem;
  line-height: 1.5;
}
.jpc-assist-privacy {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  margin: 0;
  padding: .68rem 1rem;
  border-top: 1px solid rgba(255,255,255,.055);
  color: #596477;
  background: rgba(255,255,255,.012);
  font: 500 .49rem/1.35 monospace;
  letter-spacing: .05em;
  text-align: center;
}
body.jpc-assist-lock {
  overflow: hidden;
}
@media (max-width: 640px) {
  .jpc-assist-panel {
    right: .7rem;
    bottom: max(5.5rem, calc(4.8rem + env(safe-area-inset-bottom)));
    width: calc(100vw - 1.4rem);
    max-height: calc(100dvh - 6.4rem - env(safe-area-inset-bottom));
    border-radius: 1.2rem;
    transform-origin: center bottom;
  }
  .jpc-assist-body {
    min-height: 15rem;
    padding: 1rem;
  }
  .jpc-assist-grid {
    grid-template-columns: 1fr;
  }
  .jpc-assist-option {
    min-height: 3.85rem;
  }
  .jpc-assist-summary-row {
    grid-template-columns: 1fr;
    gap: .25rem;
  }
}
@media (max-width: 380px) {
  .jpc-assist-panel {
    right: .45rem;
    width: calc(100vw - .9rem);
  }
  .jpc-assist-header {
    padding-inline: .8rem;
  }
  .jpc-assist-body {
    padding: .85rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .jpc-assist-backdrop,
  .jpc-assist-panel,
  .jpc-assist-option,
  .jpc-assist-menu-button,
  .jpc-assist-faq-button,
  .jpc-assist-primary,
  .jpc-assist-secondary {
    transition: none !important;
  }
}

/* Founder biography */
.jpc-founder {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(5.5rem, 9vw, 8.5rem) 0;
  border-top: 1px solid rgba(255,255,255,.055);
  border-bottom: 1px solid rgba(255,255,255,.055);
  background:
    radial-gradient(circle at 18% 44%, rgba(37,99,235,.12), transparent 28rem),
    linear-gradient(180deg, rgba(5,8,16,.32), rgba(2,3,7,.88));
}
.jpc-founder::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: .34;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(72,104,176,.09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(72,104,176,.09) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(90deg, #000, transparent 48%);
  -webkit-mask-image: linear-gradient(90deg, #000, transparent 48%);
}
.jpc-founder::after {
  content: "JPC / FOUNDER / 01";
  position: absolute;
  top: 2.5rem;
  right: 2.5rem;
  z-index: -1;
  color: rgba(107,139,207,.14);
  font: 600 .55rem/1 monospace;
  letter-spacing: .26em;
  writing-mode: vertical-rl;
}
.jpc-founder-shell {
  width: min(100% - 3rem, 1280px);
  margin: 0 auto;
}
.jpc-founder-layout {
  display: grid;
  grid-template-columns: minmax(19rem, .82fr) minmax(0, 1.18fr);
  align-items: center;
  gap: clamp(3.5rem, 8vw, 8rem);
}
.jpc-founder-visual {
  position: relative;
  width: min(100%, 28rem);
}
.jpc-founder-photo-frame {
  position: relative;
  padding: .72rem;
  border: 1px solid rgba(97,139,242,.28);
  border-radius: 1.65rem;
  background:
    linear-gradient(145deg, rgba(37,99,235,.11), rgba(255,255,255,.018));
  box-shadow:
    0 38px 85px rgba(0,0,0,.48),
    inset 0 1px 0 rgba(255,255,255,.055);
}
.jpc-founder-photo {
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: 1.2rem;
  color: #7b89a3;
  background:
    radial-gradient(circle at 50% 34%, rgba(62,112,232,.22), transparent 30%),
    linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px),
    #070b13;
  background-size: auto, 28px 28px, 28px 28px, auto;
}
.jpc-founder-photo::before {
  content: "";
  position: absolute;
  inset: 10% 14%;
  border: 1px solid rgba(80,128,241,.18);
  border-radius: 50% 50% 42% 42%;
  filter: blur(.2px);
}
.jpc-founder-photo::after {
  content: "";
  position: absolute;
  z-index: 3;
  left: 8%;
  right: 8%;
  bottom: 8%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(91,137,247,.55), transparent);
  box-shadow: 0 0 15px rgba(37,99,235,.45);
}
.jpc-founder-photo-image {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.jpc-founder-photo.has-photo::before {
  z-index: 2;
  inset: 0;
  border: 0;
  border-radius: inherit;
  background:
    linear-gradient(180deg, transparent 58%, rgba(3,6,12,.48) 100%),
    linear-gradient(135deg, rgba(37,99,235,.08), transparent 42%);
  filter: none;
  pointer-events: none;
}
.jpc-founder-photo-placeholder {
  position: relative;
  z-index: 2;
  display: grid;
  justify-items: center;
  max-width: 14rem;
  padding: 1rem;
  text-align: center;
}
.jpc-founder-photo-placeholder .iconify {
  margin-bottom: 1.1rem;
  color: #789bf0;
  filter: drop-shadow(0 0 20px rgba(37,99,235,.35));
}
.jpc-founder-photo-placeholder strong {
  color: #dce3f1;
  font-family: "Montserrat", sans-serif;
  font-size: .82rem;
}
.jpc-founder-photo-placeholder small {
  margin-top: .5rem;
  color: #596579;
  font: 500 .54rem/1.6 monospace;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.jpc-founder-corner {
  position: absolute;
  z-index: 3;
  width: 1.7rem;
  height: 1.7rem;
  pointer-events: none;
}
.jpc-founder-corner.is-top {
  top: -.38rem;
  left: -.38rem;
  border-top: 1px solid #4b7fff;
  border-left: 1px solid #4b7fff;
}
.jpc-founder-corner.is-bottom {
  right: -.38rem;
  bottom: -.38rem;
  border-right: 1px solid #4b7fff;
  border-bottom: 1px solid #4b7fff;
}
.jpc-founder-identity {
  position: absolute;
  right: -1.5rem;
  bottom: 2.4rem;
  z-index: 4;
  width: min(15.5rem, 78%);
  padding: .9rem 1rem;
  border: 1px solid rgba(81,131,250,.34);
  border-radius: .9rem;
  background: rgba(5,9,17,.91);
  box-shadow: 0 22px 45px rgba(0,0,0,.44), inset 0 1px 0 rgba(255,255,255,.045);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.jpc-founder-identity small {
  display: block;
  margin-bottom: .35rem;
  color: #5f86e3;
  font: 600 .48rem/1 monospace;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.jpc-founder-identity strong {
  display: block;
  color: #f6f8fc;
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  letter-spacing: -.02em;
}
.jpc-founder-identity span {
  display: block;
  margin-top: .28rem;
  color: #737e91;
  font-size: .62rem;
}
.jpc-founder-content {
  max-width: 42rem;
}
.jpc-founder-eyebrow {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin: 0 0 1.2rem;
  color: #4e7fee;
  font: 600 .58rem/1 monospace;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.jpc-founder-eyebrow::before {
  content: "";
  width: 2.1rem;
  height: 1px;
  background: currentColor;
  box-shadow: 0 0 9px rgba(37,99,235,.55);
}
.jpc-founder-title {
  margin: 0;
  color: #f5f7fb;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(3rem, 5.7vw, 5.7rem);
  font-weight: 500;
  line-height: .95;
  letter-spacing: -.065em;
}
.jpc-founder-title span {
  color: #6e7481;
}
.jpc-founder-title .jpc-founder-title__line:first-child {
  color: #f5f7fb;
}
.jpc-founder-lead {
  max-width: 37rem;
  margin: 1.7rem 0 1.25rem;
  color: #c1c7d2;
  font-size: clamp(1rem, 1.5vw, 1.18rem);
  line-height: 1.75;
}
.jpc-founder-copy {
  display: grid;
  gap: .85rem;
  max-width: 38rem;
}
.jpc-founder-copy p {
  margin: 0;
  color: #7f8796;
  font-size: .88rem;
  line-height: 1.8;
}
.jpc-founder-principles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem;
  margin-top: 1.6rem;
}
.jpc-founder-principle {
  min-height: 6.2rem;
  padding: .85rem;
  border: 1px solid rgba(255,255,255,.065);
  border-radius: .9rem;
  background: rgba(255,255,255,.018);
}
.jpc-founder-principle .iconify {
  margin-bottom: .75rem;
  color: #5d8eff;
}
.jpc-founder-principle strong {
  display: block;
  color: #dfe3ec;
  font-size: .72rem;
}
.jpc-founder-principle small {
  display: block;
  margin-top: .3rem;
  color: #626c7d;
  font-size: .58rem;
  line-height: 1.45;
}
.jpc-founder-quote {
  position: relative;
  margin: 1.5rem 0 0;
  padding: 1rem 1rem 1rem 1.25rem;
  border-left: 2px solid #2563eb;
  color: #9ba4b5;
  background: linear-gradient(90deg, rgba(37,99,235,.08), transparent);
  font-size: .78rem;
  font-style: normal;
  line-height: 1.65;
}
.jpc-founder-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  margin-top: 1.6rem;
}
.jpc-founder-primary,
.jpc-founder-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  min-height: 3rem;
  padding: 0 1.1rem;
  border-radius: .78rem;
  font-size: .64rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  transition: transform .3s ease, border-color .3s ease, background-color .3s ease, box-shadow .3s ease;
}
.jpc-founder-primary {
  border: 1px solid #3975fb;
  color: #fff;
  background: linear-gradient(135deg, #2563eb, #3976ef);
  box-shadow: 0 14px 32px rgba(37,99,235,.22);
}
.jpc-founder-secondary {
  border: 1px solid rgba(255,255,255,.09);
  color: #aeb6c4;
  background: rgba(255,255,255,.025);
}
.jpc-founder-primary:hover,
.jpc-founder-secondary:hover {
  transform: translateY(-3px);
}
.jpc-founder-primary:hover {
  box-shadow: 0 18px 38px rgba(37,99,235,.34);
}
.jpc-founder-secondary:hover {
  border-color: rgba(75,126,246,.36);
  background: rgba(37,99,235,.07);
}
.jpc-founder-trust {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: clamp(3.5rem, 7vw, 5.5rem);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 1rem;
  background: rgba(255,255,255,.016);
}
.jpc-founder-trust-item {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: .75rem;
  min-height: 5.2rem;
  padding: 1rem 1.2rem;
}
.jpc-founder-trust-item + .jpc-founder-trust-item {
  border-left: 1px solid rgba(255,255,255,.065);
}
.jpc-founder-trust-item > span:first-child {
  display: grid;
  place-items: center;
  width: 2.15rem;
  height: 2.15rem;
  border-radius: .7rem;
  color: #6795ff;
  background: rgba(37,99,235,.1);
  box-shadow: inset 0 0 0 1px rgba(37,99,235,.16);
}
.jpc-founder-trust-item strong {
  display: block;
  color: #dce1ea;
  font-size: .72rem;
}
.jpc-founder-trust-item small {
  display: block;
  margin-top: .25rem;
  color: #616b7c;
  font-size: .56rem;
  line-height: 1.45;
}
.jpc-founder a:focus-visible {
  outline: 2px solid #6493ff;
  outline-offset: 4px;
}
@media (max-width: 980px) {
  .jpc-founder-layout {
    grid-template-columns: minmax(16rem, .7fr) 1fr;
    gap: 3rem;
  }
  .jpc-founder-principles {
    grid-template-columns: 1fr;
  }
  .jpc-founder-principle {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: .7rem;
    min-height: 0;
  }
  .jpc-founder-principle .iconify {
    grid-row: 1 / 3;
    margin: .1rem 0 0;
  }
}
@media (max-width: 760px) {
  .jpc-founder {
    padding: 4.75rem 0 5rem;
  }
  .jpc-founder-shell {
    width: min(100% - 2rem, 1280px);
  }
  .jpc-founder-layout {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
  .jpc-founder-visual {
    width: min(84%, 25rem);
    margin: 0 auto;
  }
  .jpc-founder-photo-frame {
    padding: .58rem;
    border-radius: 1.35rem;
  }
  .jpc-founder-photo {
    border-radius: .98rem;
  }
  .jpc-founder-content {
    max-width: none;
  }
  .jpc-founder-title {
    font-size: clamp(2.9rem, 12vw, 4.25rem);
  }
  .jpc-founder-lead {
    margin-top: 1.5rem;
  }
  .jpc-founder-actions {
    justify-content: center;
    width: 100%;
  }
  .jpc-founder-trust {
    margin-top: 3.25rem;
  }
  .jpc-founder-principles {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .jpc-founder-principle {
    display: block;
    min-height: 6.2rem;
  }
  .jpc-founder-principle .iconify {
    margin-bottom: .7rem;
  }
  .jpc-founder-trust {
    grid-template-columns: 1fr;
  }
  .jpc-founder-trust-item + .jpc-founder-trust-item {
    border-top: 1px solid rgba(255,255,255,.065);
    border-left: 0;
  }
}
@media (max-width: 520px) {
  .jpc-founder {
    padding: 4rem 0 4.25rem;
  }
  .jpc-founder::after {
    display: none;
  }
  .jpc-founder-shell {
    width: calc(100% - 1.5rem);
  }
  .jpc-founder-layout {
    gap: 2.65rem;
  }
  .jpc-founder-visual {
    width: 100%;
  }
  .jpc-founder-photo-frame {
    padding: .48rem;
    border-radius: 1.15rem;
  }
  .jpc-founder-photo {
    aspect-ratio: 4 / 4.85;
    border-radius: .82rem;
  }
  .jpc-founder-photo-placeholder {
    max-width: 12rem;
    padding: .75rem;
  }
  .jpc-founder-photo-placeholder .iconify {
    width: 3.1rem;
    height: 3.1rem;
    margin-bottom: .85rem;
  }
  .jpc-founder-photo-placeholder strong {
    font-size: .76rem;
  }
  .jpc-founder-photo-placeholder small {
    font-size: .49rem;
    line-height: 1.5;
  }
  .jpc-founder-identity {
    position: relative;
    right: auto;
    bottom: auto;
    width: calc(100% - 1.25rem);
    margin: -1.3rem auto 0;
    padding: .8rem .9rem;
    border-radius: .8rem;
  }
  .jpc-founder-identity strong {
    font-size: .92rem;
  }
  .jpc-founder-eyebrow {
    gap: .5rem;
    margin-bottom: 1rem;
    font-size: .51rem;
    letter-spacing: .15em;
  }
  .jpc-founder-eyebrow::before {
    width: 1.45rem;
  }
  .jpc-founder-title {
    font-size: clamp(2.6rem, 12vw, 3.35rem);
    line-height: .98;
    letter-spacing: -.055em;
  }
  .jpc-founder-lead {
    margin: 1.3rem 0 1rem;
    font-size: .96rem;
    line-height: 1.65;
  }
  .jpc-founder-copy {
    gap: .72rem;
  }
  .jpc-founder-copy p {
    font-size: .81rem;
    line-height: 1.72;
  }
  .jpc-founder-principles {
    grid-template-columns: 1fr;
    gap: .5rem;
    margin-top: 1.3rem;
  }
  .jpc-founder-principle {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: .7rem;
    min-height: 0;
    padding: .78rem;
  }
  .jpc-founder-principle .iconify {
    grid-row: 1 / 3;
    margin: .1rem 0 0;
  }
  .jpc-founder-principle strong {
    font-size: .68rem;
  }
  .jpc-founder-principle small {
    font-size: .56rem;
  }
  .jpc-founder-quote {
    margin-top: 1.2rem;
    padding: .85rem .85rem .85rem 1rem;
    font-size: .73rem;
    line-height: 1.6;
  }
  .jpc-founder-actions {
    flex-direction: column;
    gap: .55rem;
    margin-top: 1.3rem;
  }
  .jpc-founder-primary,
  .jpc-founder-secondary {
    width: 100%;
    min-height: 3.1rem;
  }
  .jpc-founder-trust {
    margin-top: 2.6rem;
    border-radius: .85rem;
  }
  .jpc-founder-trust-item {
    min-height: 4.45rem;
    gap: .65rem;
    padding: .82rem .9rem;
  }
  .jpc-founder-trust-item > span:first-child {
    width: 2rem;
    height: 2rem;
  }
  .jpc-founder-trust-item strong {
    font-size: .68rem;
  }
  .jpc-founder-trust-item small {
    font-size: .54rem;
  }
}
@media (max-width: 360px) {
  .jpc-founder-shell {
    width: calc(100% - 1.1rem);
  }
  .jpc-founder-title {
    font-size: 2.4rem;
  }
  .jpc-founder-identity {
    width: calc(100% - .8rem);
  }
  .jpc-founder-primary,
  .jpc-founder-secondary {
    padding-inline: .8rem;
    font-size: .58rem;
  }
}
@media (max-width: 760px) {
  .jpc-founder-title {
    font-size: clamp(1.64rem, 8.2vw, 2.2rem);
    line-height: 1.08;
    letter-spacing: -.05em;
  }
  .jpc-founder-title__line {
    display: block;
    white-space: nowrap;
  }
}
@media (prefers-reduced-motion: reduce) {
  .jpc-founder-primary,
  .jpc-founder-secondary {
    transition: none !important;
  }
}

/* Premium pricing plans */
.jpc-pricing {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(5rem, 9vw, 8rem) 0;
  border-top: 1px solid rgba(255,255,255,.055);
  border-bottom: 1px solid rgba(255,255,255,.055);
  background:
    radial-gradient(circle at 50% 32%, rgba(37,99,235,.12), transparent 31rem),
    linear-gradient(180deg, rgba(5,7,12,.32), rgba(2,3,6,.68));
}
.jpc-pricing::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  opacity: .2;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: linear-gradient(to bottom, transparent, #000 14%, #000 78%, transparent);
}
.jpc-pricing-orbit {
  position: absolute;
  top: 16%;
  left: 50%;
  z-index: -1;
  width: min(72vw, 56rem);
  aspect-ratio: 1;
  border: 1px solid rgba(37,99,235,.07);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.jpc-pricing-orbit::before,
.jpc-pricing-orbit::after {
  content: "";
  position: absolute;
  inset: 13%;
  border: 1px solid rgba(37,99,235,.055);
  border-radius: inherit;
}
.jpc-pricing-orbit::after {
  inset: 28%;
}
.jpc-pricing-shell {
  position: relative;
  z-index: 2;
  width: min(100% - 3rem, 1280px);
  margin-inline: auto;
}
.jpc-pricing-header {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: end;
  margin-bottom: clamp(3rem, 6vw, 5.25rem);
}
.jpc-pricing-eyebrow {
  display: flex;
  align-items: center;
  gap: .7rem;
  margin-bottom: 1.2rem;
  color: #5f8fff;
  font: 600 .62rem/1.2 monospace;
  letter-spacing: .23em;
  text-transform: uppercase;
}
.jpc-pricing-eyebrow::before {
  content: "";
  width: 2rem;
  height: 1px;
  background: linear-gradient(90deg, #2563eb, transparent);
}
.jpc-pricing-title {
  max-width: 780px;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(2.6rem, 5.7vw, 5.2rem);
  font-weight: 500;
  line-height: .98;
  letter-spacing: -.055em;
}
.jpc-pricing-title span {
  color: #747b89;
}
.jpc-pricing-intro {
  max-width: 440px;
  color: #8a91a0;
  font-size: 1rem;
  line-height: 1.75;
}
.jpc-pricing-intro strong {
  color: #dfe3ea;
  font-weight: 500;
}
.jpc-pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.15rem;
  align-items: stretch;
}
.jpc-plan {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 100%;
  overflow: hidden;
  padding: clamp(1.45rem, 2.4vw, 2rem);
  border: 1px solid rgba(255,255,255,.095);
  border-radius: 1.6rem;
  background:
    linear-gradient(160deg, rgba(255,255,255,.038), transparent 42%),
    rgba(7,9,14,.88);
  box-shadow: 0 28px 80px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.035);
  transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.jpc-plan::before {
  content: "";
  position: absolute;
  top: 0;
  left: 1.5rem;
  right: 1.5rem;
  height: 1px;
  opacity: .7;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent);
}
.jpc-plan:hover {
  transform: translateY(-8px);
  border-color: rgba(116,139,191,.32);
  box-shadow: 0 34px 90px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.055);
}
.jpc-plan.is-popular {
  border-color: rgba(37,99,235,.58);
  background:
    radial-gradient(circle at 90% 0, rgba(37,99,235,.19), transparent 16rem),
    linear-gradient(160deg, rgba(37,99,235,.1), transparent 47%),
    rgba(7,10,19,.94);
  box-shadow: 0 32px 95px rgba(8,28,82,.3), inset 0 1px 0 rgba(112,151,255,.12);
}
.jpc-plan.is-popular::before {
  background: linear-gradient(90deg, transparent, rgba(55,113,255,.95), transparent);
}
.jpc-plan.is-performance {
  border-color: rgba(85,119,201,.34);
  background:
    radial-gradient(circle at 88% 5%, rgba(37,99,235,.18), transparent 17rem),
    radial-gradient(circle at 10% 100%, rgba(37,99,235,.08), transparent 14rem),
    rgba(6,9,17,.96);
}
.jpc-plan.is-performance::after {
  content: "";
  position: absolute;
  right: -5rem;
  top: 10rem;
  width: 10rem;
  height: 10rem;
  border: 1px solid rgba(37,99,235,.12);
  border-radius: 50%;
  box-shadow: 0 0 0 2rem rgba(37,99,235,.018), 0 0 0 4rem rgba(37,99,235,.012);
  pointer-events: none;
}
.jpc-plan-topline {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 2.8rem;
  margin-bottom: 1.5rem;
}
.jpc-plan-number {
  display: grid;
  place-items: center;
  width: 2.8rem;
  height: 2.8rem;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: .85rem;
  color: #7f8797;
  background: rgba(255,255,255,.035);
  font-family: "Montserrat", sans-serif;
  font-size: .88rem;
  font-weight: 700;
}
.is-popular .jpc-plan-number {
  color: #fff;
  border-color: rgba(73,127,255,.8);
  background: #2563eb;
  box-shadow: 0 10px 30px rgba(37,99,235,.34);
}
.is-performance .jpc-plan-number {
  color: #fff;
  border-color: rgba(106,139,220,.3);
  background: linear-gradient(145deg, rgba(111,145,230,.25), rgba(255,255,255,.035));
}
.jpc-plan-badge {
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  min-height: 1.8rem;
  padding: 0 .7rem;
  border: 1px solid rgba(37,99,235,.3);
  border-radius: 999px;
  color: #8caeff;
  background: rgba(37,99,235,.11);
  font: 700 .55rem/1 monospace;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.is-popular .jpc-plan-badge {
  color: #fff;
  border-color: #2563eb;
  background: #2563eb;
  box-shadow: 0 8px 22px rgba(37,99,235,.27);
}
.jpc-plan-name {
  position: relative;
  z-index: 2;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(1.45rem, 2vw, 1.85rem);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -.035em;
}
.jpc-plan-description {
  position: relative;
  z-index: 2;
  min-height: 4.6rem;
  margin-top: .75rem;
  color: #858d9c;
  font-size: .88rem;
  line-height: 1.6;
}
.jpc-plan-price {
  position: relative;
  z-index: 2;
  padding: 1.4rem 0 1.45rem;
  border-top: 1px solid rgba(255,255,255,.065);
  border-bottom: 1px solid rgba(255,255,255,.065);
}
.jpc-plan-price-label {
  display: block;
  margin-bottom: .55rem;
  color: #626b7a;
  font: 600 .55rem/1.2 monospace;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.jpc-plan-price-line {
  display: flex;
  align-items: flex-start;
  gap: .35rem;
  color: #fff;
}
.jpc-plan-currency {
  margin-top: .5rem;
  color: #9aa2b1;
  font-size: 1rem;
  font-weight: 600;
}
.jpc-plan-amount {
  font-family: "Montserrat", sans-serif;
  font-size: clamp(2.85rem, 4vw, 4rem);
  font-weight: 650;
  line-height: .95;
  letter-spacing: -.065em;
}
.jpc-plan-payment {
  display: block;
  margin-top: .55rem;
  color: #5f6776;
  font: 500 .58rem/1.2 monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.jpc-plan-bonus {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .8rem;
  align-items: center;
  margin: 1rem 0 0;
  padding: .9rem;
  border: 1px solid rgba(56,110,240,.28);
  border-radius: 1rem;
  background: linear-gradient(120deg, rgba(37,99,235,.16), rgba(37,99,235,.045));
}
.jpc-plan-bonus-icon {
  display: grid;
  place-items: center;
  width: 2.3rem;
  height: 2.3rem;
  border-radius: .72rem;
  color: #fff;
  background: #2563eb;
  box-shadow: 0 8px 24px rgba(37,99,235,.3);
}
.jpc-plan-bonus small {
  display: block;
  margin-bottom: .22rem;
  color: #6f96f5;
  font: 700 .52rem/1 monospace;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.jpc-plan-bonus strong {
  display: block;
  color: #eef3ff;
  font-size: .78rem;
  font-weight: 600;
  line-height: 1.35;
}
.jpc-plan-features {
  position: relative;
  z-index: 2;
  display: grid;
  gap: .78rem;
  margin: 1.45rem 0 1.75rem;
}
.jpc-plan-features li {
  display: grid;
  grid-template-columns: 1.15rem 1fr;
  gap: .65rem;
  align-items: start;
  color: #c1c7d1;
  font-size: .78rem;
  line-height: 1.45;
}
.jpc-plan-check {
  display: grid;
  place-items: center;
  width: 1.15rem;
  height: 1.15rem;
  margin-top: .05rem;
  border: 1px solid rgba(91,135,239,.32);
  border-radius: 50%;
  color: #5688ff;
  background: rgba(37,99,235,.09);
}
.jpc-plan-check .iconify {
  width: .68rem;
  height: .68rem;
}
.jpc-plan-cta {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  min-height: 3.4rem;
  margin-top: auto;
  padding: 0 1.05rem;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: .9rem;
  color: #d5dae2;
  background: rgba(255,255,255,.035);
  font-size: .67rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  transition: color .3s ease, background-color .3s ease, border-color .3s ease, transform .3s ease, box-shadow .3s ease;
}
.jpc-plan-cta:hover {
  color: #fff;
  border-color: rgba(255,255,255,.24);
  background: rgba(255,255,255,.07);
  transform: translateY(-2px);
}
.is-popular .jpc-plan-cta,
.is-performance .jpc-plan-cta {
  color: #fff;
  border-color: #2563eb;
  background: #2563eb;
  box-shadow: 0 14px 32px rgba(37,99,235,.24);
}
.is-popular .jpc-plan-cta:hover,
.is-performance .jpc-plan-cta:hover {
  background: #3472f1;
  box-shadow: 0 18px 40px rgba(37,99,235,.36);
}
.jpc-plan-cta .iconify {
  flex: 0 0 auto;
  transition: transform .3s ease;
}
.jpc-plan-cta:hover .iconify {
  transform: translate(3px, -3px);
}
.jpc-pricing-disclaimer {
  display: flex;
  align-items: flex-start;
  gap: .85rem;
  max-width: 780px;
  margin: 1.6rem auto 0;
  padding: 1rem 1.2rem;
  border: 1px solid rgba(255,255,255,.065);
  border-radius: 1rem;
  color: #737b8a;
  background: rgba(255,255,255,.018);
  font-size: .72rem;
  line-height: 1.55;
}
.jpc-pricing-disclaimer .iconify {
  flex: 0 0 auto;
  margin-top: .08rem;
  color: #5787f5;
}
.jpc-pricing-trust {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 2.2rem;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 1.2rem;
  background: rgba(5,7,11,.66);
}
.jpc-pricing-trust-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  min-height: 4.5rem;
  padding: .9rem 1rem;
  color: #8d95a4;
  font: 600 .59rem/1.4 monospace;
  letter-spacing: .11em;
  text-align: center;
  text-transform: uppercase;
}
.jpc-pricing-trust-item + .jpc-pricing-trust-item {
  border-left: 1px solid rgba(255,255,255,.075);
}
.jpc-pricing-trust-item .iconify {
  color: #5688ff;
}
.jpc-pricing a:focus-visible {
  outline: 2px solid #6894ff;
  outline-offset: 4px;
}
@media (max-width: 1020px) {
  .jpc-pricing-grid {
    grid-template-columns: 1fr;
    max-width: 760px;
    margin-inline: auto;
  }
  .jpc-plan-description {
    min-height: auto;
  }
  .jpc-plan {
    padding: 2rem;
  }
  .jpc-plan-features {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .jpc-pricing-shell {
    width: min(100% - 2rem, 1280px);
  }
  .jpc-pricing-header {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .jpc-pricing-title {
    font-size: clamp(2.55rem, 11vw, 4.3rem);
  }
  .jpc-pricing-trust {
    grid-template-columns: 1fr;
  }
  .jpc-pricing-trust-item + .jpc-pricing-trust-item {
    border-top: 1px solid rgba(255,255,255,.075);
    border-left: 0;
  }
}
@media (max-width: 520px) {
  .jpc-plan {
    padding: 1.35rem;
    border-radius: 1.3rem;
  }
  .jpc-plan-features {
    grid-template-columns: 1fr;
  }
  .jpc-plan-badge {
    max-width: 13rem;
    font-size: .49rem;
    letter-spacing: .09em;
  }
  .jpc-pricing-disclaimer {
    font-size: .68rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .jpc-plan,
  .jpc-plan-cta,
  .jpc-plan-cta .iconify {
    transition: none !important;
  }
}

/* Premium brand footer */
.jpc-footer {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-top: 1px solid rgba(255,255,255,.1);
  background:
    radial-gradient(circle at 78% 14%, rgba(37,99,235,.16), transparent 30rem),
    radial-gradient(circle at 8% 86%, rgba(37,99,235,.08), transparent 26rem),
    #030407;
}
.jpc-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  opacity: .32;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(to bottom, #000, transparent 78%);
}
.jpc-footer::after {
  content: "";
  position: absolute;
  top: -1px;
  left: 50%;
  width: min(74vw, 900px);
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(37,99,235,.95), transparent);
  box-shadow: 0 0 32px rgba(37,99,235,.55);
}
.jpc-footer-glow {
  position: absolute;
  top: 5rem;
  right: -8rem;
  z-index: -1;
  width: 28rem;
  height: 28rem;
  border: 1px solid rgba(37,99,235,.13);
  border-radius: 50%;
  pointer-events: none;
}
.jpc-footer-glow::before,
.jpc-footer-glow::after {
  content: "";
  position: absolute;
  inset: 15%;
  border: 1px solid rgba(37,99,235,.1);
  border-radius: inherit;
}
.jpc-footer-glow::after {
  inset: 31%;
  background: rgba(37,99,235,.035);
}
.jpc-footer-matrix {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  height: 17rem;
  overflow: hidden;
  pointer-events: none;
  opacity: .8;
  mask-image: linear-gradient(to bottom, transparent, rgba(0,0,0,.72) 28%, #000 100%);
  -webkit-mask-image: linear-gradient(to bottom, transparent, rgba(0,0,0,.72) 28%, #000 100%);
}
.jpc-footer-matrix::before {
  content: "";
  position: absolute;
  inset: auto 8% -65% 8%;
  height: 100%;
  border-radius: 50%;
  background: rgba(37,99,235,.24);
  filter: blur(72px);
}
.jpc-footer-matrix canvas {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.jpc-footer-shell {
  position: relative;
  z-index: 2;
  width: min(100% - 3rem, 1280px);
  margin-inline: auto;
}
.jpc-footer-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
  gap: clamp(3rem, 7vw, 7rem);
  align-items: end;
  padding: clamp(5rem, 9vw, 8rem) 0 clamp(3rem, 6vw, 5rem);
}
.jpc-footer-kicker {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: 1.4rem;
  color: #5d8fff;
  font: 600 .63rem/1.2 monospace;
  letter-spacing: .24em;
  text-transform: uppercase;
}
.jpc-footer-kicker::before {
  content: "";
  width: 2.25rem;
  height: 1px;
  background: linear-gradient(90deg, #2563eb, transparent);
}
.jpc-footer-title {
  max-width: 820px;
  color: #fff;
  font-family: var(--font-heading, inherit);
  font-size: clamp(2.75rem, 6vw, 5.75rem);
  font-weight: 500;
  line-height: .94;
  letter-spacing: -.055em;
}
.jpc-footer-title span {
  color: #2563eb;
}
.jpc-footer-lead {
  max-width: 650px;
  margin-top: 1.65rem;
  color: #858c9b;
  font-size: clamp(1rem, 1.5vw, 1.15rem);
  line-height: 1.75;
}
.jpc-footer-contact-card {
  position: relative;
  overflow: hidden;
  padding: 1.75rem;
  border: 1px solid rgba(92,139,255,.22);
  border-radius: 1.5rem;
  background:
    linear-gradient(145deg, rgba(37,99,235,.14), rgba(8,10,16,.88) 55%),
    rgba(255,255,255,.025);
  box-shadow: 0 28px 80px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.05);
}
.jpc-footer-contact-card::after {
  content: "";
  position: absolute;
  right: -4rem;
  bottom: -5rem;
  width: 12rem;
  height: 12rem;
  border: 1px solid rgba(71,119,255,.18);
  border-radius: 50%;
  box-shadow:
    0 0 0 1.8rem rgba(37,99,235,.025),
    0 0 0 3.7rem rgba(37,99,235,.018);
}
.jpc-footer-card-label {
  display: flex;
  align-items: center;
  gap: .55rem;
  margin-bottom: 1.4rem;
  color: #8c94a3;
  font: 600 .62rem/1.2 monospace;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.jpc-footer-status {
  position: relative;
  width: .48rem;
  height: .48rem;
  border-radius: 50%;
  background: #3b82f6;
  box-shadow: 0 0 0 .28rem rgba(59,130,246,.1), 0 0 18px rgba(59,130,246,.8);
}
.jpc-footer-card-title {
  max-width: 15ch;
  color: #fff;
  font-family: var(--font-heading, inherit);
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -.03em;
}
.jpc-footer-card-copy {
  position: relative;
  z-index: 1;
  max-width: 34ch;
  margin: .85rem 0 1.4rem;
  color: #858c9b;
  font-size: .92rem;
  line-height: 1.65;
}
.jpc-footer-primary {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  min-height: 3.5rem;
  padding: 0 1.2rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 1rem;
  color: #fff;
  background: #2563eb;
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  box-shadow: 0 14px 35px rgba(37,99,235,.28);
  transition: transform .3s ease, background-color .3s ease, box-shadow .3s ease;
}
.jpc-footer-primary:hover {
  transform: translateY(-3px);
  background: #3472f1;
  box-shadow: 0 18px 48px rgba(37,99,235,.42);
}
.jpc-footer-primary .iconify {
  transition: transform .3s ease;
}
.jpc-footer-primary:hover .iconify {
  transform: translate(3px, -3px);
}
.jpc-footer-signal {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.jpc-footer-signal span {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 5.25rem;
  padding: 1rem;
  color: #6f7684;
  font: 600 .65rem/1.2 monospace;
  letter-spacing: .2em;
  text-align: center;
  text-transform: uppercase;
  transition: color .3s ease, background-color .3s ease;
}
.jpc-footer-signal span + span {
  border-left: 1px solid rgba(255,255,255,.08);
}
.jpc-footer-signal span::before {
  content: "";
  width: .33rem;
  height: .33rem;
  margin-right: .7rem;
  border: 1px solid rgba(37,99,235,.8);
  transform: rotate(45deg);
}
.jpc-footer-signal span:hover {
  color: #fff;
  background: rgba(37,99,235,.06);
}
.jpc-footer-main {
  display: grid;
  grid-template-columns: minmax(300px, 1.4fr) minmax(130px, .55fr) minmax(180px, .7fr) minmax(280px, 1fr);
  gap: clamp(2.5rem, 5vw, 5.5rem);
  padding: clamp(4rem, 7vw, 6rem) 0;
}
.jpc-footer-brand {
  max-width: 390px;
}
.jpc-footer-logo {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  color: #fff;
}
.jpc-site-logo {
  display: block;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}
.jpc-site-logo--nav {
  height: 2.8125rem;
}
.jpc-site-logo--footer {
  height: 4.5625rem;
}
@media (min-width: 1024px) {
  .jpc-site-logo--nav {
    height: 3.796875rem;
  }
  .jpc-site-logo--footer {
    height: 6.159375rem;
  }
}
.jpc-footer-logo-mark {
  position: relative;
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: .85rem;
  background: linear-gradient(145deg, rgba(37,99,235,.18), rgba(255,255,255,.025));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07);
}
.jpc-footer-logo-mark::before {
  content: "";
  width: 1rem;
  height: 1rem;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
}
.jpc-footer-logo-mark::after {
  content: "";
  position: absolute;
  right: .55rem;
  bottom: .55rem;
  width: .38rem;
  height: .38rem;
  background: #2563eb;
  box-shadow: 0 0 12px rgba(37,99,235,.9);
}
.jpc-footer-wordmark strong {
  display: block;
  font-family: var(--font-heading, inherit);
  font-size: 1.35rem;
  line-height: 1;
  letter-spacing: -.04em;
}
.jpc-footer-wordmark small {
  display: block;
  margin-top: .38rem;
  color: #687083;
  font: 500 .53rem/1 monospace;
  letter-spacing: .21em;
  text-transform: uppercase;
}
.jpc-footer-brand p {
  margin: 1.6rem 0;
  color: #757d8d;
  font-size: .95rem;
  line-height: 1.75;
}
.jpc-footer-mini-actions {
  display: flex;
  gap: .65rem;
}
.jpc-footer-icon-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: .85rem;
  color: #aeb5c1;
  background: rgba(255,255,255,.025);
  transition: color .3s ease, border-color .3s ease, background-color .3s ease, transform .3s ease;
}
.jpc-social-icon {
  display: block;
  width: 1.08rem;
  height: 1.08rem;
  object-fit: contain;
  transition: transform .3s ease;
}
.jpc-social-icon--cta {
  width: 1rem;
  height: 1rem;
}
.jpc-start-cta {
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.jpc-start-cta-content {
  display: inline-grid;
  grid-template-columns: 1rem auto;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  line-height: 1;
  white-space: nowrap;
}
.jpc-start-cta .jpc-social-icon--cta {
  display: block;
  flex: none;
  margin: 0;
  transform: none;
}
.jpc-footer-icon-link:hover .jpc-social-icon {
  transform: scale(1.1);
}
.jpc-footer-icon-link:hover {
  color: #fff;
  border-color: rgba(37,99,235,.5);
  background: rgba(37,99,235,.13);
  transform: translateY(-3px);
}
.jpc-footer-column-title {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin: .35rem 0 1.45rem;
  color: #d9dde6;
  font: 600 .64rem/1.2 monospace;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.jpc-footer-column-title span {
  color: #2563eb;
}
.jpc-footer-links {
  display: grid;
  gap: .95rem;
}
.jpc-footer-links a {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  color: #747c8c;
  font-size: .94rem;
  transition: color .25s ease, transform .25s ease;
}
.jpc-footer-links a::before {
  content: "";
  width: 0;
  height: 1px;
  margin-right: 0;
  background: #2563eb;
  transition: width .25s ease, margin-right .25s ease;
}
.jpc-footer-links a:hover {
  color: #fff;
  transform: translateX(2px);
}
.jpc-footer-links a:hover::before {
  width: .9rem;
  margin-right: .45rem;
}
.jpc-footer-contact-stack {
  display: grid;
  gap: .75rem;
}
.jpc-footer-detail {
  display: flex;
  align-items: center;
  gap: .9rem;
  min-height: 4.6rem;
  padding: .9rem 1rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 1rem;
  background: rgba(255,255,255,.02);
  transition: border-color .3s ease, background-color .3s ease, transform .3s ease;
}
a.jpc-footer-detail:hover {
  border-color: rgba(37,99,235,.42);
  background: rgba(37,99,235,.07);
  transform: translateY(-2px);
}
.jpc-footer-detail-icon {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: .75rem;
  color: #5e8cff;
  background: rgba(37,99,235,.12);
  box-shadow: inset 0 0 0 1px rgba(37,99,235,.18);
}
.jpc-footer-detail-icon .jpc-social-icon {
  width: 1.05rem;
  height: 1.05rem;
}
.jpc-footer-detail-icon--globe {
  color: #fff;
}
.jpc-agent-message .jpc-social-icon {
  width: .625rem;
  height: .625rem;
}
.jpc-footer-detail small {
  display: block;
  margin-bottom: .28rem;
  color: #61697a;
  font: 500 .56rem/1 monospace;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.jpc-footer-detail strong {
  display: block;
  color: #f3f5f8;
  font-size: .88rem;
  font-weight: 500;
}
.jpc-footer-detail-arrow {
  margin-left: auto;
  color: #5e8cff;
}
.jpc-footer-bottom {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  min-height: 6rem;
  border-top: 1px solid rgba(255,255,255,.08);
  color: #565e6e;
  font: 500 .57rem/1.5 monospace;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.jpc-footer-legal {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.jpc-footer-legal::before {
  content: "";
  width: .35rem;
  height: .35rem;
  border-radius: 50%;
  background: #2563eb;
  box-shadow: 0 0 12px rgba(37,99,235,.8);
}
.jpc-footer-cnpj {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  color: #737c8d;
}
.jpc-footer-cnpj::before {
  content: "";
  width: 1px;
  height: .85rem;
  background: rgba(255,255,255,.12);
}
.jpc-footer-meta {
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
.jpc-footer-top-link {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  color: #8b93a2;
  transition: color .25s ease;
}
.jpc-footer-top-link span {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: .6rem;
  color: #fff;
  background: rgba(255,255,255,.025);
  transition: transform .25s ease, border-color .25s ease, background-color .25s ease;
}
.jpc-footer-top-link:hover {
  color: #fff;
}
.jpc-footer-top-link:hover span {
  transform: translateY(-3px);
  border-color: rgba(37,99,235,.5);
  background: rgba(37,99,235,.12);
}
.jpc-footer a:focus-visible {
  outline: 2px solid #5e8cff;
  outline-offset: 4px;
}
@media (max-width: 1050px) {
  .jpc-footer-hero {
    grid-template-columns: 1fr .78fr;
    gap: 2.5rem;
  }
  .jpc-footer-main {
    grid-template-columns: 1.25fr .75fr .9fr;
  }
  .jpc-footer-contact-column {
    grid-column: 1 / -1;
  }
  .jpc-footer-contact-stack {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 780px) {
  .jpc-site-logo--nav {
    height: 3.0875rem;
  }
  .jpc-site-logo--footer {
    height: 3.75rem;
  }
  .jpc-footer-shell {
    width: min(100% - 2rem, 1280px);
  }
  .jpc-footer-hero {
    grid-template-columns: 1fr;
    align-items: center;
    padding-top: 4.5rem;
    text-align: center;
  }
  .jpc-footer-kicker {
    justify-content: center;
  }
  .jpc-footer-title,
  .jpc-footer-lead {
    margin-inline: auto;
  }
  .jpc-footer-contact-card {
    width: min(100%, 540px);
    max-width: 540px;
    margin-inline: auto;
    text-align: center;
  }
  .jpc-footer-card-label {
    justify-content: center;
  }
  .jpc-footer-card-title,
  .jpc-footer-card-copy {
    margin-inline: auto;
    text-align: center;
  }
  .jpc-footer-signal {
    grid-template-columns: repeat(2, 1fr);
  }
  .jpc-footer-signal span {
    min-height: 4.25rem;
  }
  .jpc-footer-signal span + span {
    border-left: 0;
  }
  .jpc-footer-signal span:nth-child(even) {
    border-left: 1px solid rgba(255,255,255,.08);
  }
  .jpc-footer-signal span:nth-child(n+3) {
    border-top: 1px solid rgba(255,255,255,.08);
  }
  .jpc-footer-signal span:last-child {
    grid-column: 1 / -1;
    border-left: 0;
  }
  .jpc-footer-main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    text-align: center;
  }
  .jpc-footer-brand {
    grid-column: 1 / -1;
    width: min(100%, 36rem);
    max-width: none;
    margin-inline: auto;
  }
  .jpc-footer-logo {
    justify-content: center;
  }
  .jpc-footer-brand p {
    max-width: 34rem;
    margin-inline: auto;
  }
  .jpc-footer-mini-actions,
  .jpc-footer-column-title {
    justify-content: center;
  }
  .jpc-footer-links {
    justify-items: center;
  }
  .jpc-footer-contact-column {
    width: min(100%, 540px);
    margin-inline: auto;
    grid-column: 1 / -1;
    text-align: center;
  }
  .jpc-footer-contact-stack {
    grid-template-columns: 1fr;
  }
  .jpc-footer-detail {
    position: relative;
    justify-content: center;
    padding-inline: 4.25rem;
    text-align: center;
  }
  .jpc-footer-detail > span:nth-child(2) {
    width: 100%;
    min-width: 0;
    text-align: center;
  }
  .jpc-footer-detail-icon {
    position: absolute;
    left: 1rem;
  }
  .jpc-footer-detail-arrow {
    position: absolute;
    right: 1rem;
    margin-left: 0;
  }
  .jpc-footer-bottom {
    align-items: center;
    flex-direction: column;
    justify-content: center;
    padding: 1.5rem 0;
    text-align: center;
  }
  body.jpc-footer-end-visible .jpc-whatsapp-agent {
    bottom: max(6.75rem, calc(1rem + env(safe-area-inset-bottom)));
  }
  .jpc-footer-legal,
  .jpc-footer-meta {
    justify-content: center;
  }
  .jpc-footer-legal {
    width: 100%;
  }
}
@media (max-width: 520px) {
  .jpc-footer-main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 1.25rem;
    row-gap: 2.75rem;
  }
  .jpc-footer-brand,
  .jpc-footer-contact-column {
    grid-column: 1 / -1;
  }
  .jpc-footer-contact-stack {
    grid-template-columns: 1fr;
  }
  .jpc-footer-meta {
    width: 100%;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    gap: .9rem;
  }
  .jpc-footer-cnpj {
    flex-basis: 100%;
    justify-content: center;
    margin-left: 0;
  }
  .jpc-footer-cnpj::before {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .jpc-footer a,
  .jpc-footer a::before,
  .jpc-footer .iconify {
    transition: none !important;
  }
  .jpc-footer-matrix {
    opacity: .34;
  }
}

/* Complete mobile adaptation */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  max-width: 100%;
  overflow-x: clip;
}
section[id],
header[id] {
  scroll-margin-top: 6.5rem;
}
@media (max-width: 1023px) {
  .site-nav .md\:flex,
  .site-nav .md\:block {
    display: none !important;
  }
  .site-mobile-menu-button {
    display: grid !important;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    flex: 0 0 2.75rem;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: .85rem;
    color: #fff;
    background: rgba(255,255,255,.035);
  }
  .site-mobile-menu:not(.hidden) {
    display: block !important;
  }
  #hero {
    min-height: 100svh;
  }
  #gallery > .max-w-7xl > .grid {
    grid-template-columns: 1fr !important;
    max-width: 46rem;
    margin-inline: auto;
  }
  #gallery > .max-w-7xl > .grid > .glass-panel {
    width: 100%;
    transform: none !important;
  }
  #testimonials .tst-header,
  #testimonials .tst-layout {
    grid-template-columns: 1fr;
  }
  #testimonials .tst-secondary-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
  }
  .jpc-pricing-grid {
    grid-template-columns: 1fr;
    max-width: 46rem;
    margin-inline: auto;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  #gallery > .max-w-7xl > .grid,
  .jpc-pricing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: none;
  }
  #gallery > .max-w-7xl > .grid > .glass-panel:last-child,
  .jpc-pricing-grid > .jpc-plan:last-child {
    grid-column: 1 / -1;
    justify-self: center;
    width: min(100%, 38rem);
  }
}
@media (min-width: 1024px) {
  #services > .max-w-7xl > .grid > .glass-panel,
  #gallery > .max-w-7xl > .grid > .glass-panel,
  .jpc-pricing-grid > .jpc-plan {
    height: 100%;
  }
}
.mobile-carousel-ui {
  display: none;
}
.mobile-slide-sheen {
  display: none;
}
.jpc-case-mobile-meta,
.jpc-case-description-mobile {
  display: none;
}
@media (max-width: 767px) {
  :root {
    --mobile-gutter: 1rem;
  }
  body {
    cursor: auto;
    overflow-x: clip;
    overscroll-behavior-x: none;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }
  #cursor {
    display: none !important;
  }
  img,
  canvas,
  svg {
    max-width: 100%;
  }
  a,
  button {
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }
  .noise-overlay {
    display: none;
  }
  .liquid-blob {
    display: none !important;
  }
  .glass-panel {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  .will-change-transform,
  [data-tilt],
  .magnetic {
    will-change: auto;
  }

  /* Compact touch carousels */
  [data-mobile-carousel] {
    --mobile-slide-size: 84vw;
    --mobile-slide-max: 22rem;
    display: flex !important;
    flex-direction: row !important;
    grid-template-columns: none !important;
    align-items: stretch !important;
    max-width: none !important;
    margin-inline: 0 !important;
    padding: .12rem max(var(--mobile-gutter), env(safe-area-inset-left)) .55rem 0;
    gap: .85rem !important;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-padding-inline: 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
  }
  [data-mobile-carousel]::-webkit-scrollbar {
    display: none;
  }
  [data-mobile-carousel] > [data-mobile-slide] {
    position: relative;
    isolation: isolate;
    flex: 0 0 min(var(--mobile-slide-size), var(--mobile-slide-max));
    width: min(var(--mobile-slide-size), var(--mobile-slide-max)) !important;
    max-width: none !important;
    min-width: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
  .mobile-slide-sheen {
    display: block;
    position: absolute;
    inset: 0;
    z-index: 8;
    overflow: hidden;
    border: 1px solid transparent;
    border-radius: inherit;
    opacity: 0;
    pointer-events: none;
    transition: opacity .22s ease, border-color .32s ease;
  }
  .mobile-slide-sheen::before {
    content: "";
    position: absolute;
    top: -25%;
    bottom: -25%;
    left: -48%;
    width: 34%;
    opacity: 0;
    background: linear-gradient(90deg, transparent, rgba(116,162,255,.3), transparent);
    transform: translateX(-120%) skewX(-17deg);
  }
  [data-mobile-slide].is-mobile-active .mobile-slide-sheen {
    opacity: 1;
    border-color: rgba(67,119,246,.22);
  }
  [data-mobile-slide].is-mobile-active .mobile-slide-sheen::before {
    animation: mobile-card-sheen .72s cubic-bezier(.22,1,.36,1) both;
  }
  @keyframes mobile-card-sheen {
    0% {
      opacity: 0;
      transform: translateX(-120%) skewX(-17deg);
    }
    28% {
      opacity: 1;
    }
    100% {
      opacity: 0;
      transform: translateX(520%) skewX(-17deg);
    }
  }

  /* Feedback tátil visual, sem novos canvases ou filtros pesados */
  .mobile-touch-host {
    position: relative !important;
    overflow: hidden;
  }
  .mobile-touch-pressed {
    transform: scale(.975) !important;
    transition: transform .14s cubic-bezier(.22,1,.36,1) !important;
  }
  .mobile-touch-flash {
    position: absolute;
    z-index: 30;
    width: 8rem;
    height: 8rem;
    border-radius: 999px;
    pointer-events: none;
    background: radial-gradient(circle, rgba(174,202,255,.3) 0%, rgba(37,99,235,.14) 38%, transparent 70%);
    transform: translate(-50%, -50%) scale(.12);
    transform-origin: center;
    animation: mobile-touch-flash .42s ease-out forwards;
  }
  @keyframes mobile-touch-flash {
    0% {
      opacity: .9;
      transform: translate(-50%, -50%) scale(.12);
    }
    100% {
      opacity: 0;
      transform: translate(-50%, -50%) scale(1);
    }
  }
  #gallery [data-mobile-carousel] > [data-mobile-slide] {
    align-self: stretch;
    height: auto !important;
  }
  .mobile-carousel-ui {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    min-height: 3rem;
    margin: .7rem 0 1.65rem;
  }
  .mobile-carousel-count {
    min-width: 3.3rem;
    color: #697386;
    font: 600 .58rem/1 monospace;
    letter-spacing: .11em;
    white-space: nowrap;
  }
  .mobile-carousel-count b {
    color: #7fa3ff;
    font-size: .72rem;
  }
  .mobile-carousel-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .38rem;
    min-width: 0;
  }
  .mobile-carousel-dot {
    width: .38rem;
    height: .38rem;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(255,255,255,.17);
    transition: width .28s ease, background-color .28s ease, box-shadow .28s ease;
  }
  .mobile-carousel-dot.is-active {
    width: 1.2rem;
    background: #2563eb;
    box-shadow: 0 0 12px rgba(37,99,235,.6);
  }
  .mobile-carousel-actions {
    display: flex;
    gap: .42rem;
  }
  .mobile-carousel-button {
    display: grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: .8rem;
    color: #d7dce5;
    background: rgba(255,255,255,.035);
    font-size: .95rem;
  }
  .mobile-carousel-button:disabled {
    opacity: .32;
  }
  .mobile-carousel-button:focus-visible,
  .mobile-carousel-dot:focus-visible {
    outline: 2px solid #6f98ff;
    outline-offset: 2px;
  }
  #services [data-mobile-carousel] {
    --mobile-slide-size: 84vw;
    --mobile-slide-max: 24rem;
    margin-bottom: 0 !important;
  }
  .jpc-pricing-grid[data-mobile-carousel],
  #gallery [data-mobile-carousel] {
    --mobile-slide-size: 84vw;
    --mobile-slide-max: 24rem;
  }
  .jp-process-timeline[data-mobile-carousel] {
    --mobile-slide-size: 89vw;
    --mobile-slide-max: 25rem;
    padding-left: 0 !important;
  }
  .jp-process-timeline[data-mobile-carousel]::before,
  .jp-process-timeline[data-mobile-carousel] > .jp-process-line,
  .jp-process-timeline[data-mobile-carousel] .jp-process-node {
    display: none;
  }
  .jp-process-timeline[data-mobile-carousel] > .jp-process-step {
    padding: 1.15rem;
    margin-bottom: 0 !important;
    opacity: 1;
    transform: none !important;
  }
  #sobre [data-mobile-carousel] {
    --mobile-slide-size: 76vw;
    --mobile-slide-max: 19rem;
    grid-template-columns: none !important;
  }
  .jpc-founder-trust[data-mobile-carousel] {
    --mobile-slide-size: 82vw;
    --mobile-slide-max: 22rem;
    margin-top: 2.6rem !important;
    padding-bottom: .35rem;
    border: 0;
    border-radius: 0;
    background: transparent;
  }
  .jpc-founder-trust[data-mobile-carousel] > .jpc-founder-trust-item {
    min-height: 6rem;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(255,255,255,.09) !important;
    border-radius: 1.1rem;
    background:
      linear-gradient(135deg, rgba(37,99,235,.08), transparent 52%),
      rgba(5,7,11,.82);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
  }
  .jpc-founder-trust[data-mobile-carousel] + .mobile-carousel-ui {
    margin-top: .55rem;
    margin-bottom: 0;
  }
  .jpc-pricing-trust[data-mobile-carousel] {
    --mobile-slide-size: 82vw;
    --mobile-slide-max: 22rem;
    margin-top: 2.2rem !important;
    padding-bottom: .35rem;
    border: 0;
    border-radius: 0;
    background: transparent;
  }
  .jpc-pricing-trust[data-mobile-carousel] > .jpc-pricing-trust-item {
    justify-content: center;
    min-height: 6.25rem;
    padding: 1.15rem 1rem;
    border: 1px solid rgba(255,255,255,.09) !important;
    border-radius: 1.1rem;
    background:
      linear-gradient(135deg, rgba(37,99,235,.08), transparent 50%),
      rgba(5,7,11,.82);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
  }
  .jpc-pricing-trust[data-mobile-carousel] + .mobile-carousel-ui {
    margin-top: .55rem;
    margin-bottom: 0;
  }

  /* Navigation */
  .site-nav {
    padding-top: max(.7rem, env(safe-area-inset-top));
    padding-bottom: .35rem;
  }
  .site-nav > div {
    padding-inline: .75rem;
  }
  .site-nav-bar {
    min-height: 3.6rem;
    padding: .55rem .7rem .55rem 1rem;
    border-radius: 1rem;
    background: rgba(4,6,11,.86);
  }
  .site-nav-bar > a .font-heading {
    font-size: 1.05rem;
  }
  .site-nav-bar > a .w-3 {
    width: .55rem;
    height: .55rem;
  }
  .site-mobile-menu-button {
    width: 2.75rem;
    height: 2.75rem;
    flex: 0 0 auto;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: .85rem;
    color: #fff;
    background: rgba(255,255,255,.035);
  }
  .site-mobile-menu {
    max-height: calc(100svh - 5.5rem);
    margin-top: .55rem;
    padding: .55rem;
    overflow-y: auto;
    border-radius: 1rem;
    background: rgba(4,6,12,.96);
    overscroll-behavior: contain;
  }
  .site-mobile-menu a {
    display: flex;
    align-items: center;
    min-height: 2.85rem;
    padding: .7rem .9rem;
  }

  /* Global section rhythm */
  #services,
  #work,
  #gallery,
  #testimonials,
  #faq,
  #start {
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
  }
  #process {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
  #sobre {
    padding-top: 4.75rem;
  }
  #services > .max-w-7xl,
  #work > .max-w-7xl,
  #gallery > .max-w-7xl,
  #process > .max-w-7xl,
  #sobre > .max-w-7xl,
  #testimonials > .max-w-7xl,
  #faq > .max-w-7xl,
  #start > .max-w-4xl {
    padding-inline: var(--mobile-gutter);
  }
  #services h2,
  #work h2,
  #gallery h2,
  #sobre h2,
  #faq h2 {
    overflow-wrap: anywhere;
    font-size: clamp(2.05rem, 10vw, 3rem);
    line-height: 1.05;
    letter-spacing: -.04em;
  }
  #services > .max-w-7xl > .flex,
  #work > .max-w-7xl > .flex {
    align-items: flex-start;
    margin-bottom: 2.4rem;
  }

  /* Hero */
  #hero {
    height: auto !important;
    min-height: clamp(35rem, 70svh, 40rem);
    align-items: flex-start;
    background: #020205;
  }
  #hero .hero-image-layer,
  #hero-particles,
  .hero-scan-line {
    display: none !important;
  }
  .hero-grid-overlay {
    display: block !important;
    opacity: .9;
    background-image:
      linear-gradient(rgba(37,99,235,.11) 1px, transparent 1px),
      linear-gradient(90deg, rgba(37,99,235,.11) 1px, transparent 1px);
    background-size: 38px 38px;
    background-position: center top;
    mask-image: radial-gradient(ellipse 115% 92% at 50% 42%, black 22%, transparent 82%);
    -webkit-mask-image: radial-gradient(ellipse 115% 92% at 50% 42%, black 22%, transparent 82%);
  }
  .hero-content {
    padding: clamp(8.5rem, 19svh, 10rem) max(1.25rem, var(--mobile-gutter)) 2.6rem;
    text-align: center;
  }
  .hero-content > div:first-child {
    justify-content: center;
  }
  #hero .hero-location-badge {
    display: grid !important;
    grid-template-columns: .4rem max-content .4rem;
    align-items: center;
    width: 100%;
    max-width: 100%;
    justify-content: center !important;
    gap: .45rem;
    padding-inline: .1rem;
    box-sizing: border-box;
  }
  #hero .hero-location-badge::after {
    content: "";
    display: block;
    width: .4rem;
  }
  #hero .hero-location-badge > span:first-child {
    justify-self: center;
  }
  #hero .hero-location-line {
    display: block;
    flex: 0 0 auto;
    min-width: 0;
    max-width: 100%;
    overflow: visible;
    white-space: nowrap;
    font-size: clamp(5.75px, 1.85vw, 8.25px);
    line-height: 1.25;
    letter-spacing: clamp(.03em, .14vw, .08em);
  }
  #hero-rain {
    max-width: none;
    contain: strict;
    transform: translateZ(0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
  }
  .hero-content > .hero-intro {
    align-items: center;
  }
  .hero-content > .hero-intro > p {
    max-width: 22rem;
    margin-inline: auto;
  }
  #hero h1 {
    margin-bottom: 1.55rem;
  }
  #hero h1 .clip-inner {
    max-width: 100%;
    overflow-wrap: normal;
    font-size: clamp(3rem, 13vw, 4rem) !important;
    white-space: nowrap;
  }
  #hero .hero-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(100%, 36rem);
    margin-inline: auto;
    gap: .65rem;
  }
  #hero .hero-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-height: 2.9rem;
    padding: .75rem .8rem;
    box-sizing: border-box;
    text-align: center;
    transform: none !important;
  }
  #hero .hero-scroll {
    display: none;
  }

  /* Services */
  #services > .max-w-7xl > .grid {
    gap: 1rem;
    margin-bottom: 1rem;
  }
  #services > .max-w-7xl > .grid > .glass-panel {
    border-radius: 1.25rem;
  }
  #services > .max-w-7xl > .grid > .glass-panel > .p-8 {
    padding: 1.25rem;
  }
  #services .p-8 .flex.items-center.justify-between {
    gap: .8rem;
    margin-bottom: 1.2rem;
  }
  #services .p-8 h3 {
    font-size: 1.25rem;
  }
  #services .p-8 p,
  #services .p-8 li {
    font-size: .82rem;
  }
  #services > .max-w-7xl > .grid:last-child {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
  }
  #services > .max-w-7xl > .grid:last-child .glass-panel {
    padding: 1rem .7rem;
    border-radius: .95rem;
  }
  #services > .max-w-7xl > .grid:last-child .text-3xl {
    font-size: 1.65rem;
  }

  /* Work carousel */
  #work {
    padding-top: 6rem;
  }
  #work > .max-w-7xl {
    min-width: 0;
  }
  #work .jpc-work-header {
    gap: 0;
    margin-bottom: 1.75rem;
  }
  #work .jpc-work-header h2 {
    max-width: 18rem;
    margin-bottom: .85rem;
  }
  #work .jpc-work-header p {
    max-width: 21rem;
    font-size: .91rem;
    line-height: 1.6;
  }
  #work .jpc-work-lead-cta {
    display: none;
  }
  #work-carousel {
    min-width: 0;
  }
  #workTrack .jpc-case-card {
    min-height: 0 !important;
    border-radius: 1.25rem;
  }
  #workTrack .jpc-case-visual {
    height: 11.75rem;
    border-bottom: 1px solid rgba(255,255,255,.07);
  }
  #workTrack .jpc-case-visual img {
    object-position: top center;
  }
  #workTrack .jpc-case-fade-side,
  #workTrack .jpc-case-fade-mobile,
  #workTrack .jpc-case-type,
  #workTrack .jpc-case-year,
  #workTrack .jpc-case-image-meta {
    display: none !important;
  }
  #workTrack .jpc-case-status {
    top: .75rem;
    left: .75rem;
  }
  #workTrack .jpc-case-status > span:first-child {
    padding: .36rem .62rem;
  }
  #workTrack .jpc-case-content {
    padding: 1rem 1rem 1.1rem;
  }
  #workTrack .jpc-case-mobile-meta {
    display: block;
    margin-bottom: .85rem;
  }
  #workTrack .jpc-case-mobile-meta-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .45rem;
  }
  #workTrack .jpc-case-mobile-meta-top p {
    color: #6f98ff;
    font: 600 .52rem/1.2 monospace;
    letter-spacing: .16em;
    text-transform: uppercase;
  }
  #workTrack .jpc-case-delivery-badge {
    flex: 0 0 auto;
    padding: .32rem .55rem;
    border: 1px solid rgba(37,99,235,.28);
    border-radius: 999px;
    color: #a9c0ff;
    background: rgba(37,99,235,.09);
    font: 600 .5rem/1 monospace;
    letter-spacing: .09em;
    text-transform: uppercase;
  }
  #workTrack .jpc-case-mobile-meta h3 {
    margin-bottom: .18rem;
    color: #fff;
    font-family: 'Montserrat', 'Prompt', sans-serif;
    font-size: 1.18rem;
    font-weight: 650;
    letter-spacing: -.025em;
  }
  #workTrack .jpc-case-mobile-meta > p {
    color: #747d8d;
    font-size: .68rem;
    line-height: 1.4;
  }
  #workTrack .jpc-case-description {
    margin-bottom: 1rem;
    color: #929bab;
    font-size: .82rem;
    line-height: 1.55;
  }
  #workTrack .jpc-case-description-desktop {
    display: none;
  }
  #workTrack .jpc-case-description-mobile {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }
  #workTrack .jpc-case-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
    margin-bottom: 1rem;
  }
  #workTrack .jpc-case-metrics > div {
    min-width: 0;
    padding: .78rem .5rem;
  }
  #workTrack .jpc-case-delivery-metric {
    display: none;
  }
  #workTrack .jpc-case-metrics .text-xl {
    font-size: 1rem;
  }
  #workTrack .jpc-case-metrics .text-\[9px\] {
    font-size: .48rem;
    line-height: 1.25;
    letter-spacing: .06em;
  }
  #workTrack .jpc-case-tech {
    display: none;
  }
  #workTrack .jpc-case-cta {
    min-height: 3rem;
    padding-block: .8rem;
    border-radius: .85rem;
  }
  #workTrack .jpc-case-cta-extra {
    display: none;
  }
  #workCarousel .glass-panel:hover,
  #work-carousel .glass-panel:hover {
    transform: none;
  }
  #work > .max-w-7xl > .grid {
    gap: .6rem;
  }
  #work > .max-w-7xl > .grid .glass-panel {
    padding: 1rem .55rem;
    border-radius: .95rem;
  }
  #work > .max-w-7xl > .grid .text-3xl {
    font-size: 1.65rem;
  }
  #work > .max-w-7xl > .grid .text-\[10px\] {
    font-size: .5rem;
    letter-spacing: .08em;
  }

  /* Paid traffic */
  #gallery > .max-w-7xl {
    min-width: 0;
  }
  #gallery > .max-w-7xl > .text-center {
    margin-bottom: 2.8rem;
  }
  #gallery > .max-w-7xl > .text-center p {
    font-size: .95rem;
    line-height: 1.7;
  }
  #gallery > .max-w-7xl > .grid {
    gap: 1rem;
  }
  #gallery > .max-w-7xl > .grid > .glass-panel {
    padding: 1.3rem;
    border-radius: 1.2rem;
  }
  #gallery > .max-w-7xl > .grid > .glass-panel h3 {
    font-size: 1.3rem;
  }
  #gallery > .max-w-7xl > .grid > .glass-panel .text-4xl {
    font-size: 2.35rem;
  }
  #gallery > .max-w-7xl > .grid > .glass-panel ul {
    gap: .8rem;
  }
  #gallery > .max-w-7xl > .grid > .glass-panel li {
    font-size: .8rem;
    line-height: 1.45;
  }
  #gallery > .max-w-7xl > .grid > .glass-panel a {
    min-height: 3rem;
  }
  #trafego-comparison {
    margin-top: 1.1rem;
    margin-bottom: 2rem;
  }
  #trafego-comparison > .glass-panel {
    padding: 1.1rem;
    border-radius: 1.1rem;
  }
  #trafego-comparison .grid {
    gap: 1.5rem;
  }
  #trafego-comparison .w-14 {
    width: 3.35rem;
  }
  #trafego-comparison .w-16 {
    width: 3.75rem;
  }

  /* Project journey */
  .jp-process-grid {
    gap: 2rem;
  }
  .jp-process-sticky {
    padding-top: 0;
  }
  #process .jp-process-status {
    display: none;
  }
  .jp-process-title {
    max-width: 10ch;
    margin-top: 1.15rem;
    font-size: clamp(2.55rem, 13vw, 3.6rem);
  }
  .jp-process-status {
    margin-top: 1.8rem;
  }
  .jp-process-timeline {
    padding-left: 1.65rem;
  }
  .jp-process-timeline::before,
  .jp-process-line {
    left: .28rem;
  }
  .jp-process-node {
    left: -1.75rem;
  }
  .jp-process-step {
    width: 100%;
    padding: 1.05rem;
    border-radius: 1.05rem;
  }
  .jp-process-meta {
    gap: .65rem;
  }
  .jp-process-visual {
    min-width: 0;
    min-height: 10.25rem;
  }
  .jp-process-cta {
    padding: 1.25rem;
  }
  .jp-process-cta a {
    min-height: 3rem;
    padding-inline: 1rem;
    text-align: center;
  }

  /* Studio */
  #sobre > .max-w-7xl > .grid {
    gap: 2.25rem;
    padding-bottom: 4.25rem;
  }
  #sobre h2 {
    margin-bottom: 1.5rem;
  }
  #sobre .grid.grid-cols-2.lg\:hidden {
    gap: .6rem;
  }
  #sobre .grid.grid-cols-2.lg\:hidden > .glass-panel {
    min-width: 0;
    padding: 1rem;
    border-radius: 1rem;
  }
  #sobre .grid.grid-cols-2.lg\:hidden p {
    overflow-wrap: anywhere;
  }
  #sobre .eco-proc-steps {
    padding-left: 1.8rem;
  }
  #sobre .eco-process-row {
    display: none !important;
  }
  #trafego-comparison {
    display: none !important;
  }
  #sobre .eco-trust-band {
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
    backdrop-filter: none !important;
  }
  #sobre .eco-trust-track[data-mobile-carousel] {
    --mobile-slide-size: 82vw;
    --mobile-slide-max: 22rem;
    padding-bottom: .35rem;
  }
  #sobre .eco-trust-track[data-mobile-carousel] > .eco-trust-item {
    min-height: 6rem;
    height: auto !important;
    align-items: center;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(255,255,255,.09) !important;
    border-radius: 1.1rem;
    background:
      linear-gradient(135deg, rgba(37,99,235,.08), transparent 52%),
      rgba(5,7,11,.82);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
  }
  #sobre .eco-trust-track[data-mobile-carousel] + .mobile-carousel-ui {
    margin-top: .55rem;
    margin-bottom: 0;
  }
  #sobre .eco-trust-item {
    min-width: 0;
    padding: 1rem;
  }
  #sobre .eco-trust-item > div:last-child {
    min-width: 0;
  }
  #sobre .eco-trust-item p {
    overflow-wrap: anywhere;
  }

  /* Testimonials */
  #testimonials .tst-header {
    margin-bottom: 2.25rem;
  }
  #testimonials .tst-title {
    max-width: 12ch;
    font-size: clamp(2.45rem, 12vw, 3.3rem);
  }
  #testimonials .tst-controls {
    margin-top: 1rem;
  }
  #testimonials .tst-arrow {
    width: 2.85rem;
    height: 2.85rem;
  }
  #testimonials .tst-featured {
    min-height: 0;
    padding: 1.25rem;
  }
  #testimonials .tst-quote {
    margin-top: 2rem;
    font-size: clamp(1.3rem, 6.4vw, 1.72rem);
    line-height: 1.42;
  }
  #testimonials .tst-featured-footer {
    margin-top: 2rem;
  }
  #testimonials .tst-secondary-list {
    display: none;
  }
  #testimonials .tst-dots {
    width: 100%;
    min-height: 2.75rem;
    justify-content: center;
  }

  /* Site plans */
  .jpc-pricing {
    padding: 4.75rem 0;
  }
  .jpc-pricing-shell {
    width: calc(100% - 2rem);
  }
  .jpc-pricing-header {
    gap: 1.5rem;
    margin-bottom: 2.75rem;
  }
  .jpc-pricing-title {
    font-size: clamp(2.4rem, 11.5vw, 3.35rem);
  }
  .jpc-pricing-intro {
    font-size: .92rem;
  }
  .jpc-pricing-grid {
    gap: 1rem;
  }
  .jpc-plan {
    padding: 1.25rem;
    border-radius: 1.2rem;
  }
  .jpc-plan:hover {
    transform: none;
  }
  .jpc-plan-description {
    min-height: 0;
  }
  .jpc-plan-amount {
    font-size: 3.25rem;
  }
  .jpc-plan-features {
    grid-template-columns: 1fr;
  }
  .jpc-plan-cta {
    min-height: 3.2rem;
  }
  .jpc-pricing-disclaimer {
    padding: .9rem;
  }

  /* FAQ and closing CTA */
  #faq > .max-w-7xl > .max-w-2xl > .text-center {
    margin-bottom: 2.5rem;
  }
  #faq .faq-item {
    border-radius: 1rem;
  }
  #faq .faq-btn {
    gap: 1rem;
    min-height: 4rem;
    padding: 1rem 1.05rem;
  }
  #faq .faq-btn .font-heading {
    font-size: .92rem;
    line-height: 1.4;
  }
  #faq .faq-answer {
    padding-inline: 1.05rem;
  }
  #faq .faq-answer.open {
    padding-bottom: 1rem !important;
  }
  #start h2 {
    font-size: clamp(2.75rem, 14vw, 4rem) !important;
  }
  #start p {
    margin-bottom: 2rem;
    font-size: .95rem;
  }
  #start a {
    justify-content: center;
    min-height: 3.2rem;
    padding-inline: 1.2rem;
  }
  .jpc-start-cta-content {
    gap: .5rem;
    font-size: .625rem;
    letter-spacing: .09em;
  }

  /* Footer and floating assistant clearance */
  .jpc-footer-shell {
    width: calc(100% - 2rem);
  }
  .jpc-footer-hero {
    padding-top: 4.5rem;
  }
  .jpc-footer-title {
    font-size: clamp(2.5rem, 12.5vw, 3.6rem);
  }
  .jpc-footer-contact-card {
    padding: 1.25rem;
    border-radius: 1.2rem;
  }
  .jpc-footer-main {
    column-gap: 1.25rem;
    row-gap: 2.75rem;
    padding: 3rem 0;
  }
  .jpc-footer-detail {
    min-width: 0;
  }
  .jpc-footer-detail strong {
    overflow-wrap: anywhere;
  }
  .jpc-footer-bottom {
    padding-bottom: calc(5.4rem + env(safe-area-inset-bottom));
  }
  .jpc-whatsapp-agent {
    right: .85rem;
    bottom: max(.85rem, env(safe-area-inset-bottom));
  }
}
@media (max-width: 639px) {
  #hero .hero-actions {
    grid-template-columns: 1fr;
    width: min(100%, 22rem);
  }
  #hero .hero-actions a {
    min-height: 3rem;
  }
}
@media (max-width: 420px) {
  #jpc-ecosystem .eco-node {
    width: 34% !important;
  }
  #jpc-ecosystem .eco-node-inner {
    padding: 9px;
  }
  #jpc-ecosystem .eco-node .mb-2 {
    margin-bottom: .35rem;
  }
  #jpc-ecosystem .eco-node h4 {
    margin-bottom: .25rem !important;
    font-size: 10.5px !important;
  }
  #jpc-ecosystem .eco-node p {
    font-size: 8px !important;
    line-height: 1.35 !important;
  }
  #hero .hero-actions {
    grid-template-columns: 1fr;
  }
  #hero .hero-actions a {
    min-height: 3rem;
  }
  #services .flex.flex-wrap > span {
    font-size: .52rem;
    letter-spacing: .09em;
  }
  #workTrack .jpc-case-visual {
    height: 10.75rem;
  }
  #workTrack .jpc-case-metrics .text-xl {
    font-size: .9rem;
  }
  #gallery > .max-w-7xl > .grid > .glass-panel {
    padding: 1.1rem;
  }
  #sobre .grid.grid-cols-2.lg\:hidden > .glass-panel {
    padding: .85rem;
  }
  #sobre .grid.grid-cols-2.lg\:hidden p {
    font-size: .56rem;
  }
  .tst-project-tag {
    max-width: 48%;
  }
  .jpc-plan-topline {
    align-items: flex-start;
  }
  .jpc-plan-badge {
    max-width: 11.5rem;
    min-height: 1.65rem;
    line-height: 1.25;
    text-align: center;
  }
  .jpc-footer-signal span {
    min-width: 0;
    overflow-wrap: anywhere;
  }
}
@media (max-width: 359px) {
  :root {
    --mobile-gutter: .75rem;
  }
  .site-nav > div {
    padding-inline: .5rem;
  }
  .site-nav-bar {
    padding-left: .8rem;
  }
  #hero h1 .clip-inner {
    font-size: clamp(2.65rem, 13vw, 2.95rem) !important;
  }
  #services > .max-w-7xl > .grid:last-child,
  #work > .max-w-7xl > .grid {
    grid-template-columns: 1fr;
  }
  #sobre .grid.grid-cols-2.lg\:hidden {
    grid-template-columns: 1fr;
  }
  .jpc-plan-badge {
    max-width: 9.5rem;
  }
}
@media (hover: none), (pointer: coarse) {
  .glass-panel:hover,
  .tst-secondary:hover,
  .jpc-plan:hover,
  .jpc-footer-primary:hover,
  .jpc-footer-icon-link:hover,
  .jpc-footer-detail:hover,
  .jpc-whatsapp-agent:hover {
    transform: none;
  }
}
@media (max-width: 960px) and (max-height: 500px) and (orientation: landscape) {
  .site-nav {
    padding-top: max(.5rem, env(safe-area-inset-top));
  }
  .site-nav > div {
    padding-left: max(.75rem, env(safe-area-inset-left));
    padding-right: max(.75rem, env(safe-area-inset-right));
  }
  #hero {
    height: auto !important;
    min-height: 30rem;
    align-items: flex-start;
  }
  .hero-content {
    padding-top: 5rem !important;
    padding-right: max(2rem, env(safe-area-inset-right)) !important;
    padding-bottom: 1.5rem !important;
    padding-left: max(2rem, env(safe-area-inset-left)) !important;
    text-align: center;
  }
  .hero-content > div:first-child {
    justify-content: center;
  }
  #hero .hero-location-badge {
    display: grid !important;
    grid-template-columns: .4rem max-content .4rem;
    align-items: center;
    justify-content: center !important;
    width: 100%;
    max-width: 100%;
    gap: .45rem;
  }
  #hero .hero-location-badge::after {
    content: "";
    display: block;
    width: .4rem;
  }
  #hero .hero-location-badge > span:first-child {
    justify-self: center;
  }
  #hero .hero-location-line {
    display: block;
    max-width: 100%;
    overflow: visible;
    white-space: nowrap;
    font-size: clamp(6px, .82vw, 8px);
    line-height: 1.25;
    letter-spacing: clamp(.03em, .12vw, .08em);
  }
  #hero h1 {
    margin-bottom: 1rem !important;
  }
  #hero h1 .clip-inner {
    max-width: 100%;
    font-size: clamp(2.75rem, 6.5vw, 4rem) !important;
    white-space: nowrap;
  }
  .hero-content > .hero-intro {
    align-items: center;
    gap: .65rem;
  }
  .hero-content > .hero-intro > p {
    margin-inline: auto;
  }
  #hero .hero-actions {
    margin-right: 0;
  }
}

/* Performance pass: renderiza seco fora da tela e preserva a experiência premium */
@supports (content-visibility: auto) {
  section:not(#hero):not(#process):not(#testimonials),
  footer {
    content-visibility: auto;
    contain-intrinsic-size: 1px 900px;
  }
}
@media (min-width: 1024px) {
  #services,
  #work,
  #gallery {
    padding-top: 7rem !important;
    padding-bottom: 7rem !important;
  }
  #testimonials {
    padding-top: 9rem !important;
    padding-bottom: 9rem !important;
  }
  #testimonials .tst-header {
    margin-bottom: 5.25rem;
  }
  #testimonials .tst-layout {
    gap: 1.35rem;
  }
}

/* Notebook: preserva o visual, reduz camadas caras e evita o hero apertado. */
@media (min-width: 768px) and (max-width: 1600px), (min-width: 768px) and (max-height: 900px) {
  .glass-panel {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
  #hero-particles,
  .hero-scan-line {
    display: none !important;
  }
  .parallax-element {
    transform: none !important;
    will-change: auto !important;
  }
  .liquid-blob {
    animation: none !important;
    will-change: auto !important;
  }
  [data-tilt],
  .magnetic {
    will-change: auto !important;
  }
  .jpc-whatsapp-agent::after,
  .jpc-agent-core::before,
  .jpc-agent-core::after,
  .jpc-agent-status i::after,
  .jpc-agent-arrow,
  .eco-nucleus-ring-outer {
    animation: none !important;
  }
}
@media (min-width: 1024px) and (max-width: 1600px), (min-width: 1024px) and (max-height: 900px) {
  .hero-content {
    padding-top: clamp(8rem, 18vh, 9rem) !important;
    padding-bottom: 2rem !important;
  }
  #hero h1 {
    margin-bottom: 2rem !important;
  }
  #hero h1 .clip-inner {
    font-size: clamp(4.75rem, 7.6vw, 7rem) !important;
  }
  #services,
  #work,
  #gallery {
    padding-top: 5.5rem !important;
    padding-bottom: 5.5rem !important;
  }
  #testimonials {
    padding-top: 7rem !important;
    padding-bottom: 7rem !important;
  }
}
@media (max-width: 767px) {
  #preloader {
    transition-duration: .28s;
    will-change: transform;
  }
  #preloader.loaded {
    pointer-events: none;
  }
  #preloader .loader-progress {
    transition-duration: .12s;
  }
  .magnetic,
  [data-tilt],
  .parallax-element {
    transform: none !important;
  }
  #hero-rain {
    opacity: 1;
  }
}

/* Cabeçalho dos cards: número e selo nunca se sobrepõem. */
.tst-title .tst-title__line--primary {
  color: #fff;
}
.jp-process-title .jp-process-title__line--primary {
  color: #fff;
}
.jpc-pricing-title .jpc-pricing-title__line--primary {
  color: #fff;
}
.jpc-pricing-title__mobile {
  display: none;
}
@media (max-width: 767px) {
  #services h2.services-section-title,
  #pricing .jpc-pricing-title {
    overflow-wrap: normal;
    font-size: clamp(1.64rem, 8.2vw, 2.2rem);
    line-height: 1.08;
  }
  #pricing .jpc-pricing-title {
    max-width: none;
    font-size: clamp(1.55rem, 7.7vw, 2.1rem);
  }
  .jpc-pricing-title__desktop {
    display: none;
  }
  .jpc-pricing-title__mobile {
    display: block;
  }
  .services-section-title__line,
  .jpc-pricing-title__line {
    display: block;
    white-space: nowrap;
  }
  #contact .jpc-footer-bottom {
    min-height: 0;
    padding: 1.5rem 0 max(.7rem, env(safe-area-inset-bottom));
  }
  #contact .jpc-footer-meta {
    gap: 0;
  }
  #contact .jpc-footer-top-link {
    display: none;
  }
}
@media (min-width: 1024px) {
  #process .jp-process-title {
    width: 100%;
    max-width: none;
    font-size: clamp(2.6rem, 4.78vw, 3.8rem);
  }
  .jp-process-title__line {
    display: block;
    white-space: nowrap;
  }
}
@media (max-width: 767px) {
  #testimonials .tst-title {
    width: 100%;
    max-width: none;
    font-size: clamp(1.64rem, 8.2vw, 2.2rem);
    line-height: 1.05;
    letter-spacing: -.055em;
  }
  .tst-title__line {
    display: block;
    white-space: nowrap;
  }
}
@media (min-width: 768px) {
  #testimonials .tst-title {
    width: 100%;
    max-width: none;
    font-size: clamp(2.65rem, 5.15vw, 4rem);
  }
  .tst-title__line {
    display: block;
    white-space: nowrap;
  }
}
.jpc-about-title--mobile {
  display: none;
}
@media (max-width: 767px) {
  #sobre h2.jpc-about-title {
    overflow-wrap: normal;
    font-size: clamp(1.3rem, 6.8vw, 2rem);
    line-height: 1.08;
    letter-spacing: -.055em;
  }
  .jpc-about-title--desktop {
    display: none;
  }
  .jpc-about-title--mobile {
    display: block;
  }
  .jpc-about-title__line {
    display: block;
    white-space: nowrap;
  }
}
.traffic-section-title__line {
  display: block;
}
@media (min-width: 1024px) {
  .traffic-section-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    text-align: center;
  }
  .traffic-section-header__heading {
    text-align: center;
  }
  .traffic-section-header__copy {
    margin-inline: auto;
    text-align: center;
  }
}
@media (max-width: 767px) {
  #gallery h2.traffic-section-title {
    overflow-wrap: normal;
    font-size: clamp(1.64rem, 8.2vw, 2.2rem);
    line-height: 1.08;
  }
  .traffic-section-title__line {
    white-space: nowrap;
  }
}
.traffic-plan-price-block {
  width: 100%;
  text-align: center;
}
.traffic-plan-price-block > .flex {
  justify-content: center;
  flex-wrap: wrap;
}
.traffic-plan-index {
  width: 2.5rem !important;
  min-width: 2.5rem;
  max-width: 2.5rem;
  height: 2.5rem;
  flex: 0 0 2.5rem;
}
.traffic-plan-featured-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(.9rem, 2vw, 1.35rem);
  width: 100%;
  margin-bottom: 1.25rem;
}
.traffic-plan-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.75rem;
  padding: .35rem .7rem;
  line-height: 1.15;
  text-align: center;
  white-space: nowrap;
}
@media (max-width: 420px) {
  .traffic-plan-featured-head {
    gap: .7rem;
  }
  .traffic-plan-badge {
    padding-inline: .55rem;
    font-size: 9px;
    letter-spacing: .07em;
  }
}

/* Contact invitation following the process section. */
.jp-process-cta-shell {
  padding: clamp(2.5rem, 6vw, 5rem) 0 clamp(4rem, 8vw, 7rem);
}
.jp-process-cta-shell .jp-process-cta {
  margin-top: 0;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
}
