

/* ============================================================
   PLOCAL HOME PAGE SECTIONS (Phase 2B)
   All colors reference the :root tokens defined in style.css.
   ============================================================ */

/* ---- Shared helpers ---- */
/* Unified h2 size for every section heading using .site-title.
   Several sections had drifted to their own clamp() (58px-68px caps)
   while others fell back to the template's flat 40px — this is the
   single source of truth so every section reads at the same scale.
   Keep section-scoped .site-title rules for color/spacing only; do
   not reintroduce a font-size there. */
.site-title { font-size: var(--font-size-h2); }

.plocal-section-intro {
  max-width: 720px;
  margin: 23px auto;
  color: var(--body-text-color);
  font-size: 16px;
  line-height: 1.8;
}

.plocal-btn-outline {
  background: transparent;
  border: 2px solid var(--theme-color);
  color: var(--theme-color);
}
.plocal-btn-outline:hover {
  background: var(--theme-color);
  color: var(--color-white);
}

/* ---- 1. HERO ---- */
.plocal-hero {
  position: relative;
  padding: 160px 0 120px;
  background: linear-gradient(135deg, var(--color-dark) 0%, var(--theme-color2) 60%, #0a3f78 100%);
  overflow: hidden;
}
.plocal-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 80% 20%, rgba(36, 189, 199, 0.28), transparent 45%),
    radial-gradient(circle at 15% 85%, rgba(36, 189, 199, 0.18), transparent 40%);
  pointer-events: none;
}
.plocal-hero .container { position: relative; z-index: 2; }
.plocal-hero-tagline {
  display: inline-block;
  margin-bottom: 20px;
  padding: 8px 18px;
  border: 1px solid var(--border-white-color);
  border-radius: 50px;
  background: var(--border-white-color2);
  color: var(--theme-color-light);
  font-family: var(--heading-font);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .3px;
}
.plocal-hero-tagline i { color: var(--theme-color); }
.plocal-hero-title {
  color: var(--color-white);
  font-size: var(--font-size-h1);
  font-weight: 800;
  line-height: 1.15;
  margin-bottom: 20px;
}
.plocal-hero-title span { color: var(--theme-color); }
.plocal-hero-text {
  max-width: 720px;
  margin: 0 auto 36px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 18px;
  line-height: 1.8;
}

/* Hero search mockup */
.plocal-hero-search {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 14px;
  max-width: 860px;
  margin: 0 auto 30px;
  padding: 18px;
  background: var(--color-white);
  border-radius: 16px;
  box-shadow: var(--box-shadow2);
  text-align: left;
}
.plocal-search-field { flex: 1 1 240px; }
.plocal-search-field label {
  display: block;
  margin-bottom: 6px;
  color: var(--color-dark);
  font-family: var(--heading-font);
  font-size: 13px;
  font-weight: 600;
}
.plocal-search-input {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  height: 52px;
  background: var(--color-gray);
  border: 1px solid var(--border-info-color);
  border-radius: 10px;
}
.plocal-search-input i { color: var(--theme-color); }
.plocal-search-input select,
.plocal-search-input input {
  width: 100%;
  border: none;
  background: transparent;
  color: var(--color-dark);
  font-size: 15px;
  outline: none;
}
.plocal-search-btn {
  flex: 0 0 auto;
  height: 52px;
  padding: 0 28px;
  border: none;
  border-radius: 10px;
  background: var(--theme-color);
  color: var(--color-white);
  font-family: var(--heading-font);
  font-weight: 600;
  cursor: pointer;
  transition: var(--transition2);
}
.plocal-search-btn:hover { background: var(--theme-color2); }

.plocal-hero-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
}

/* ---- 1b. HERO CATEGORY VISUALS ----
   Twelve predefined "slots" positioned around the outer edges of the
   hero. A JS controller shows one at a time (see plocal-custom.js);
   this stylesheet only owns positioning, sizing and the fade/scale
   transition. Keep FADE_IN / FADE_OUT below in sync with the JS
   timing constants. ---- */
.plocal-hero-visuals {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.plocal-hero-image-slot {
  position: absolute;
  top: var(--slot-top, auto);
  right: var(--slot-right, auto);
  bottom: var(--slot-bottom, auto);
  left: var(--slot-left, auto);
  width: var(--slot-width, 160px);
  height: var(--slot-height, 130px);
  overflow: hidden;
  border-radius: var(--slot-radius, 18px);
  background: var(--color-white);
  border: 1px solid var(--border-white-color);
  box-shadow: var(--box-shadow2);
  opacity: 0;
  transform:
    rotate(var(--slot-rotation, 0deg))
    scale(.92)
    translate3d(var(--slot-move-x, 0), var(--slot-move-y, 10px), 0);
  transition: opacity .8s ease, transform .8s ease;
}

.plocal-hero-image-slot img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.plocal-hero-image-slot.is-active {
  opacity: 1;
  transform: rotate(var(--slot-rotation, 0deg)) scale(1) translate3d(0, 0, 0);
  transition-duration: .8s;
  will-change: opacity, transform;
}

.plocal-hero-image-slot.is-leaving {
  opacity: 0;
  transform:
    rotate(var(--slot-rotation, 0deg))
    scale(.97)
    translate3d(var(--slot-move-x, 0), calc(var(--slot-move-y, 10px) * -1), 0);
  transition-duration: .7s;
  will-change: opacity, transform;
}

/* Predefined safe areas — edit width/height/position/rotation per slot.
   Widths/heights are sized to each source photo's real ratio:
   landscape images are 350x262 (~4:3), portrait images are 300x380 (~4:5). */
.plocal-hero-image-slot--01 { /* General Contractor — landscape */
  --slot-width: 180px; --slot-height: 135px;
  --slot-top: 4%; --slot-left: 4%;
  --slot-rotation: -4deg; --slot-radius: 20px; --slot-move-y: 12px;
}
.plocal-hero-image-slot--02 { /* Plumbing — portrait */
  --slot-width: 150px; --slot-height: 190px;
  --slot-top: 68%; --slot-left: 6%;
  --slot-rotation: 3deg; --slot-radius: 24px; --slot-move-x: -10px; --slot-move-y: 0px;
}
.plocal-hero-image-slot--03 { /* HVAC — landscape */
  --slot-width: 170px; --slot-height: 127px;
  --slot-top: 6%; --slot-right: 5%;
  --slot-rotation: 5deg; --slot-radius: 18px; --slot-move-y: 12px;
}
.plocal-hero-image-slot--04 { /* Roofing — landscape */
  --slot-width: 190px; --slot-height: 142px;
  --slot-top: 38%; --slot-right: 2%;
  --slot-rotation: -3deg; --slot-radius: 22px; --slot-move-x: 10px;
}
.plocal-hero-image-slot--05 { /* Hair Salon — portrait */
  --slot-width: 145px; --slot-height: 184px;
  --slot-top: 70%; --slot-right: 7%;
  --slot-rotation: 4deg; --slot-radius: 26px; --slot-move-y: -10px;
}
.plocal-hero-image-slot--06 { /* Nail Salon — landscape */
  --slot-width: 150px; --slot-height: 112px;
  --slot-bottom: 4%; --slot-right: 10%;
  --slot-rotation: -6deg; --slot-radius: 20px; --slot-move-x: 10px;
}
.plocal-hero-image-slot--07 { /* Barber Shop — landscape */
  --slot-width: 155px; --slot-height: 116px;
  --slot-top: 20%; --slot-left: 2%;
  --slot-rotation: 8deg; --slot-radius: 24px; --slot-move-y: 10px;
}
.plocal-hero-image-slot--08 { /* Spa — landscape */
  --slot-width: 170px; --slot-height: 127px;
  --slot-top: 22%; --slot-right: 3%;
  --slot-rotation: -8deg; --slot-radius: 24px; --slot-move-y: -10px;
}
.plocal-hero-image-slot--09 { /* Restaurant — portrait */
  --slot-width: 140px; --slot-height: 177px;
  --slot-top: 52%; --slot-left: 2%;
  --slot-rotation: 2deg; --slot-radius: 18px; --slot-move-x: -10px;
}
.plocal-hero-image-slot--10 { /* Café — landscape */
  --slot-width: 165px; --slot-height: 124px;
  --slot-bottom: 4%; --slot-left: 8%;
  --slot-rotation: -3deg; --slot-radius: 20px; --slot-move-y: -10px;
}
.plocal-hero-image-slot--11 { /* Bakery — landscape */
  --slot-width: 155px; --slot-height: 116px;
  --slot-top: 54%; --slot-right: 5%;
  --slot-rotation: 6deg; --slot-radius: 22px; --slot-move-x: 10px;
}
.plocal-hero-image-slot--12 { /* Food Truck — landscape */
  --slot-width: 145px; --slot-height: 109px;
  --slot-top: 36%; --slot-left: 5%;
  --slot-rotation: -5deg; --slot-radius: 16px; --slot-move-y: 10px;
}

/* Tablet: smaller footprint, drop the corner/overflow + inner-ring slots. */
@media (max-width: 991px) {
  .plocal-hero-image-slot { width: calc(var(--slot-width, 160px) * .8); height: calc(var(--slot-height, 130px) * .8); }
  .plocal-hero-image-slot--07,
  .plocal-hero-image-slot--08,
  .plocal-hero-image-slot--11,
  .plocal-hero-image-slot--12 { display: none; }
}

/* Mobile: keep only the four safest corner-adjacent slots, kept subtle. */
@media (max-width: 767px) {
  .plocal-hero-image-slot { width: calc(var(--slot-width, 160px) * .62); height: calc(var(--slot-height, 130px) * .62); box-shadow: var(--box-shadow); }
  .plocal-hero-image-slot--02,
  .plocal-hero-image-slot--04,
  .plocal-hero-image-slot--05,
  .plocal-hero-image-slot--09 { display: none; }
}

/* Reduced motion: freeze on a small static pair, no cycling. */
@media (prefers-reduced-motion: reduce) {
  .plocal-hero-image-slot { transition: none; }
  .plocal-hero-image-slot--01,
  .plocal-hero-image-slot--06 {
    opacity: 1;
    transform: rotate(var(--slot-rotation, 0deg)) scale(1) translate3d(0, 0, 0);
  }
  .plocal-hero-image-slot--02,
  .plocal-hero-image-slot--03,
  .plocal-hero-image-slot--04,
  .plocal-hero-image-slot--05,
  .plocal-hero-image-slot--07,
  .plocal-hero-image-slot--08,
  .plocal-hero-image-slot--09,
  .plocal-hero-image-slot--10,
  .plocal-hero-image-slot--11,
  .plocal-hero-image-slot--12 { display: none; }
}

/* ---- 2. WHAT IS PLOCAL ---- */
.plocal-about-text {
  max-width: 760px;
  margin: 0 auto;
  color: var(--body-text-color);
  font-size: 17px;
  line-height: 1.85;
}
.plocal-about-card {
  position: relative;
  height: 100%;
  padding: 36px 28px;
  overflow: hidden;
  background: var(--color-white);
  border: 1px solid var(--border-info-color2);
  border-radius: 16px;
  box-shadow: var(--box-shadow);
  text-align: center;
  transition: var(--transition2);
}
.plocal-about-card:hover { transform: translateY(-6px); }
.plocal-about-card i {
  font-size: 34px;
  color: var(--theme-color);
  margin-bottom: 16px;
}
.plocal-about-card h3 {
  font-size: 20px;
  color: var(--color-dark);
  margin-bottom: 10px;
}
.plocal-about-card p { color: var(--body-text-color); margin: 0; }

/* Animated teal top border: expands once the card scrolls into view. */
.plocal-about-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 3px;
  background: var(--theme-color);
  transition: width .7s ease;
}
.plocal-about-card.plocal-inview::before { width: 100%; }
.col-md-4:nth-child(2) .plocal-about-card::before { transition-delay: .12s; }
.col-md-4:nth-child(3) .plocal-about-card::before { transition-delay: .24s; }

/* ---- 2b. WHAT IS PLOCAL — DECORATIVE PLATFORM VISUALS ----
   Absolute layer of SVG paths, floating category icons and a
   ProScore preview widget, sitting behind the section content.
   Stacking: visuals (z-index 1) < floating icons/ProScore (z-index 2)
   < text/cards via .plocal-platform-content (z-index 3). ---- */
.plocal-about-platform {
  position: relative;
  overflow: hidden;
}
.plocal-platform-visuals {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}
.plocal-platform-content {
  position: relative;
  z-index: 3;
}

.plocal-platform-paths {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.plocal-path-solid {
  fill: none;
  stroke: var(--theme-color);
  stroke-width: 1.5;
  stroke-linecap: round;
  opacity: .14;
}
.plocal-path-contour {
  fill: none;
  stroke: var(--border-info-color);
  stroke-width: 1;
  opacity: .6;
}
.plocal-path-orbit {
  fill: none;
  stroke: var(--theme-color);
  stroke-width: 1;
  stroke-dasharray: 1 6;
  opacity: .22;
}
.plocal-path-dotted {
  fill: none;
  stroke: var(--theme-color2);
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-dasharray: 2 10;
  opacity: .3;
}
.plocal-path-dot {
  fill: var(--theme-color);
  opacity: .45;
}
.plocal-path-node {
  fill: var(--theme-color);
  filter: drop-shadow(0 0 4px rgba(36, 189, 199, .65));
}
.plocal-path-node--alt {
  fill: var(--theme-color2);
  filter: drop-shadow(0 0 4px rgba(12, 44, 122, .5));
}

/* Floating category icons */
.plocal-platform-icon {
  position: absolute;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  background: var(--color-white);
  border: 1px solid var(--border-info-color2);
  border-radius: 50%;
  box-shadow: var(--box-shadow);
  color: var(--theme-color);
  font-size: 18px;
  animation: plocalPlatformFloat 5s ease-in-out infinite;
}
.plocal-platform-icon--pin { top: 30%; left: 9%; }
.plocal-platform-icon--shield { top: 44%; right: 6%; animation-delay: .6s; }
.plocal-platform-icon--search { top: 70%; left: 5%; animation-delay: 1.2s; }
.plocal-platform-icon--store { bottom: 6%; right: 6%; animation-delay: 1.8s; }

@keyframes plocalPlatformFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

/* Floating ProScore widget */
.plocal-proscore-widget {
  position: absolute;
  z-index: 2;
  top: 2%;
  right: 4%;
  width: 180px;
  padding: 22px 18px 20px;
  background: var(--color-white);
  border: 1px solid var(--border-info-color2);
  border-radius: 20px;
  box-shadow: var(--box-shadow2);
  text-align: center;
  animation: plocalPlatformFloat 6s ease-in-out infinite;
  animation-delay: .3s;
}
.plocal-proscore-label {
  display: block;
  margin-bottom: 10px;
  color: var(--body-text-color);
  font-family: var(--heading-font);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.plocal-proscore-ring {
  position: relative;
  width: 96px;
  height: 96px;
  margin: 0 auto;
}
.plocal-proscore-ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.plocal-proscore-track {
  fill: none;
  stroke: var(--color-gray);
  stroke-width: 8;
}
.plocal-proscore-fill {
  fill: none;
  stroke: var(--theme-color);
  stroke-width: 8;
  stroke-linecap: round;
  stroke-dasharray: 263.9;
  stroke-dashoffset: 263.9;
  transition: stroke-dashoffset 1.4s ease;
}
.plocal-proscore-center {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.plocal-proscore-value {
  color: var(--color-dark);
  font-family: var(--heading-font);
  font-size: 26px;
  font-weight: 800;
}
.plocal-proscore-tag {
  display: block;
  margin-top: 10px;
  color: var(--theme-color);
  font-family: var(--heading-font);
  font-size: 13px;
  font-weight: 600;
}
.plocal-proscore-stars {
  margin-top: 6px;
  color: var(--theme-color);
  font-size: 11px;
  letter-spacing: 2px;
}

/* Below lg the heading/paragraph lose their col-lg-8 centering and run
   close to the container edges, so the decorative layer would start
   sitting on top of the text. Hide it rather than risk readability. */
@media (max-width: 991px) {
  .plocal-platform-visuals { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .plocal-platform-icon,
  .plocal-proscore-widget { animation: none; }
  .plocal-path-node { display: none; }
  .plocal-about-card::before,
  .plocal-proscore-fill { transition: none; }
}

/* ---- 3. TWO AUDIENCES ---- */
.plocal-audiences { background: var(--color-white); }
.plocal-audience-card {
  height: 100%;
  padding: 44px 40px;
  background: var(--color-white);
  border-radius: 18px;
  box-shadow: var(--box-shadow);
  border-top: 4px solid var(--theme-color);
}
.plocal-audience-card-alt { border-top-color: var(--theme-color2); }
.plocal-audience-icon {
  width: 70px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: var(--theme-bg-light);
  color: var(--theme-color);
  font-size: 28px;
  margin-bottom: 22px;
}
.plocal-audience-card-alt .plocal-audience-icon { color: var(--theme-color2); }
.plocal-audience-card h3 { font-size: 24px; color: var(--color-dark); margin-bottom: 14px; }
.plocal-audience-card > p { color: var(--body-text-color); line-height: 1.8; }
.plocal-audience-list { list-style: none; padding: 0; margin: 20px 0 28px; }
.plocal-audience-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 12px;
  color: var(--color-dark);
}
.plocal-audience-list i { color: var(--theme-color); margin-top: 4px; }

/* ---- 4. WHAT MAKES DIFFERENT ---- */
.plocal-feature-card {
  position: relative;
  height: 100%;
  padding: 44px 28px 34px;
  overflow: visible;
  background: var(--color-white);
  border: 1px solid var(--border-info-color2);
  border-radius: 16px;
  box-shadow: var(--box-shadow);
  text-align: left;
  transition: var(--transition2);
}
.plocal-feature-card:hover {
  transform: translateY(-6px);
  border-color: var(--theme-color);
}
/* Thin teal accent line across the card top; expands once revealed. */
.plocal-feature-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 3px;
  border-radius: 16px 16px 0 0;
  background: var(--theme-color);
  transition: width .7s ease;
}
.plocal-feature-card.plocal-inview::before { width: 100%; }
.plocal-difference-grid > div:nth-child(2) .plocal-feature-card::before { transition-delay: .1s; }
.plocal-difference-grid > div:nth-child(3) .plocal-feature-card::before { transition-delay: .2s; }
.plocal-difference-grid > div:nth-child(4) .plocal-feature-card::before { transition-delay: .3s; }
.plocal-difference-grid > div:nth-child(5) .plocal-feature-card::before { transition-delay: .4s; }
.plocal-difference-grid > div:nth-child(6) .plocal-feature-card::before { transition-delay: .5s; }

/* Circular icon badge overlapping the card's top edge. */
.plocal-feature-badge {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  transform: translate(-50%, -50%);
  background: var(--color-white);
  border: 1px solid var(--border-info-color2);
  border-radius: 50%;
  box-shadow: var(--box-shadow);
  color: var(--theme-color);
  font-size: 24px;
}
.plocal-feature-num {
  display: block;
  margin-bottom: 6px;
  color: var(--theme-color);
  font-family: var(--heading-font);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1px;
}
.plocal-feature-card h3 { font-size: 19px; color: var(--color-dark); margin-bottom: 10px; }
.plocal-feature-card p { color: var(--body-text-color); margin: 0; }

/* ---- 4b. WHAT MAKES DIFFERENT — DECORATIVE AMBIENT LAYER ----
   Same stacking convention as the "What is PLOCAL" visuals: ambient
   layer (z-index 1) < floating icons/ProScore (z-index 2) <
   text/cards via .plocal-difference-content (z-index 3). ---- */
.plocal-difference-section {
  position: relative;
  overflow: hidden;
}
.plocal-difference-ambient {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}
.plocal-difference-content {
  position: relative;
  z-index: 3;
}

/* Outlined eyebrow pill (overrides the default filled .site-title-tagline). */
.plocal-difference-tagline {
  background: var(--color-white);
  border: 1.5px solid var(--theme-color);
  color: var(--theme-color);
}
.plocal-difference-tagline i { border: 1.5px solid var(--theme-color); }

/* Left-aligned header (default .site-heading/.plocal-section-intro
   assume a centered column; this section is left-aligned instead). */
.plocal-difference-intro {
  margin-left: 0;
  margin-right: 0;
  max-width: 640px;
}

/* Animated teal underline beneath "PLOCAL Evaluates Them." */
.plocal-underline { position: relative; display: inline-block; }
.plocal-underline-svg {
  position: absolute;
  left: 0;
  bottom: -8px;
  width: 100%;
  height: 16px;
  overflow: visible;
  pointer-events: none;
}
.plocal-underline-svg path {
  fill: none;
  stroke: var(--theme-color);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  transition: stroke-dashoffset 1.1s ease;
}
.plocal-underline.plocal-inview .plocal-underline-svg path { stroke-dashoffset: 0; }

.plocal-difference-paths {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.plocal-route-arrow {
  fill: none;
  stroke: var(--theme-color);
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .55;
}
.plocal-dot-cluster circle { fill: var(--theme-color); opacity: .35; }

/* Soft ambient glows in the outer corners. */
.plocal-difference-glow {
  position: absolute;
  width: 360px;
  height: 360px;
  background: radial-gradient(circle, var(--theme-bg-light), transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}
.plocal-difference-glow--tl { top: -120px; left: -120px; }
.plocal-difference-glow--br { right: -100px; bottom: -140px; }

/* Floating route icons */
.plocal-difference-icon {
  position: absolute;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  background: var(--color-white);
  border: 1px solid var(--border-info-color2);
  border-radius: 50%;
  box-shadow: var(--box-shadow);
  color: var(--theme-color);
  font-size: 18px;
  animation: plocalPlatformFloat 5s ease-in-out infinite;
}
.plocal-difference-icon--search { top: 8%; left: 9%; }
.plocal-difference-icon--phone { top: 48%; left: 4%; animation-delay: .5s; }
.plocal-difference-icon--star { top: 80%; left: 9%; animation-delay: 1s; }
.plocal-difference-icon--globe { top: 42%; right: 6%; animation-delay: .8s; }
.plocal-difference-icon--shield { top: 70%; right: 4%; animation-delay: 1.4s; }

/* Floating ProScore widget */
.plocal-difference-proscore {
  position: absolute;
  z-index: 2;
  top: 5%;
  right: 5%;
  width: 200px;
  padding: 22px 20px 26px;
  background: var(--color-white);
  border: 1px solid var(--border-info-color2);
  border-radius: 20px;
  box-shadow: var(--box-shadow2);
  text-align: left;
  animation: plocalPlatformFloat 6s ease-in-out infinite;
  animation-delay: .3s;
}
.plocal-difference-proscore-label {
  display: block;
  margin-bottom: 16px;
  color: var(--color-dark);
  font-family: var(--heading-font);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}
.plocal-difference-proscore-ring {
  position: relative;
  width: 110px;
  height: 110px;
  margin: 0 auto;
}
.plocal-difference-proscore-ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.plocal-difference-proscore-track {
  fill: none;
  stroke: var(--color-gray);
  stroke-width: 9;
}
.plocal-difference-proscore-fill {
  fill: none;
  stroke: var(--theme-color);
  stroke-width: 9;
  stroke-linecap: round;
  stroke-dasharray: 289;
  stroke-dashoffset: 289;
  transition: stroke-dashoffset 1.4s ease;
}
.plocal-difference-proscore-center {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.plocal-difference-proscore-value {
  color: var(--color-dark);
  font-family: var(--heading-font);
  font-size: 30px;
  font-weight: 800;
}

/* Below lg the header loses its col-lg-9 width and the cards run
   close to the container edges — hide the ambient layer rather than
   risk it sitting on top of the text (same rule as "What is PLOCAL"). */
@media (max-width: 991px) {
  .plocal-difference-ambient { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .plocal-difference-icon,
  .plocal-difference-proscore { animation: none; }
  .plocal-feature-card::before,
  .plocal-difference-proscore-fill,
  .plocal-underline-svg path { transition: none; }
}

/* ---- 5. PROSCORE ---- */
.plocal-proscore { background: #ffffff; }
.plocal-score-ring {
  width: 220px;
  height: 220px;
  margin: 0 auto 22px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: conic-gradient(var(--theme-color) 0 75%, var(--theme-color2) 75% 100%);
  box-shadow: var(--box-shadow2);
}
.plocal-score-ring-inner {
  width: 168px;
  height: 168px;
  border-radius: 50%;
  background: var(--color-white);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.plocal-score-number {
  font-family: var(--heading-font);
  font-size: 58px;
  font-weight: 800;
  color: var(--color-dark);
  line-height: 1;
}
.plocal-score-label { color: var(--body-text-color); font-size: 14px; margin-top: 6px; }
.plocal-score-caption { color: var(--body-text-color); max-width: 280px; margin: 0 auto; }
.plocal-criteria {
  background: var(--color-white);
  border-radius: 18px;
  padding: 4px 36px;
  box-shadow: var(--box-shadow);
}
.plocal-criteria-row { margin-bottom: 22px; }
.plocal-criteria-row:last-child { margin-bottom: 0; }
.plocal-criteria-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 8px;
}
.plocal-criteria-name { font-family: var(--heading-font); font-weight: 600; color: var(--color-dark); }
.plocal-criteria-pts {
  font-family: var(--heading-font);
  font-weight: 700;
  color: var(--theme-color);
  font-size: 14px;
}
.plocal-criteria-bar {
  height: 10px;
  border-radius: 50px;
  background: var(--color-gray);
  overflow: hidden;
}
.plocal-criteria-bar span {
  display: block;
  height: 100%;
  border-radius: 50px;
  background: linear-gradient(90deg, var(--theme-color2), var(--theme-color));
}

/* ---- 5b. PLOCAL PROSCORE DASHBOARD ----
   The classes above (.plocal-proscore, .plocal-score-ring*,
   .plocal-criteria*) are shared with plocal-proscore.html and every
   state/city landing page — left untouched on purpose. Everything
   below is scoped to fresh, dashboard-only class names so this
   rebuild can't shift layout anywhere else on the site.
   Stacking: ambient (z-index 1) < floating orbs/callouts (z-index 2)
   < dashboard content via .plocal-proscore-content (z-index 3). ---- */
.plocal-proscore-section {
  position: relative;
  overflow: hidden;
}
.plocal-proscore-content {
  position: relative;
  z-index: 3;
}
.plocal-proscore-ambient {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}
.plocal-proscore-paths {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.plocal-proscore-glow {
  position: absolute;
  width: 380px;
  height: 380px;
  background: radial-gradient(circle, var(--theme-bg-light), transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}
.plocal-proscore-glow--tl { top: -140px; left: -140px; }
.plocal-proscore-glow--br { right: -120px; bottom: -160px; }

/* Floating evaluation icon orbs (reuses the shared float keyframe). */
.plocal-proscore-orb {
  position: absolute;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  background: var(--color-white);
  border: 1px solid var(--border-info-color2);
  border-radius: 50%;
  box-shadow: var(--box-shadow);
  color: var(--theme-color);
  font-size: 18px;
  animation: plocalPlatformFloat 5s ease-in-out infinite;
}
.plocal-proscore-orb--shield { top: 20%; left: 7%; }
.plocal-proscore-orb--chart { top: 58%; left: 4%; animation-delay: .6s; }
.plocal-proscore-orb--target { top: 42%; left: 38%; animation-delay: 1.1s; }

/* Floating trust/visibility metric callouts */
.plocal-proscore-callout {
  position: absolute;
  z-index: 2;
  width: 168px;
  padding: 16px 18px;
  background: var(--color-white);
  border: 1px solid var(--border-info-color2);
  border-radius: 16px;
  box-shadow: var(--box-shadow2);
  text-align: left;
  animation: plocalPlatformFloat 6s ease-in-out infinite;
}
.plocal-proscore-callout--visibility { top: 22%; right: 4%; }
.plocal-proscore-callout--trust { top: 58%; right: 3%; animation-delay: .8s; }
.plocal-proscore-callout-label {
  display: block;
  margin-bottom: 4px;
  color: var(--body-text-color);
  font-family: var(--heading-font);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.plocal-proscore-callout-value {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--color-dark);
  font-family: var(--heading-font);
  font-size: 18px;
  font-weight: 800;
}
.plocal-proscore-callout-value i { color: var(--theme-color); font-size: 14px; }
.plocal-proscore-callout-sub { display: block; margin-top: 2px; color: var(--body-text-color); font-size: 12px; }

/* Dashboard grid: gauge/metrics column + evaluation breakdown panel */
.plocal-proscore-dashboard {
  display: grid;
  grid-template-columns: minmax(280px, 380px) 1fr;
  gap: 40px;
  align-items: start;
  margin-top: 30px;
}

.plocal-proscore-overview { text-align: center; }

/* Animated 100-point segmented gauge */
.plocal-proscore-gauge {
  position: relative;
  width: 220px;
  height: 220px;
  margin: 0 auto 18px;
}
.plocal-proscore-gauge-svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
  filter: drop-shadow(0 10px 24px var(--theme-bg-light));
}
.plocal-gauge-stop-start { stop-color: var(--theme-color); }
.plocal-gauge-stop-end { stop-color: var(--theme-color2); }
.plocal-proscore-gauge-track {
  fill: none;
  stroke: var(--color-white);
  stroke-width: 14;
}
.plocal-proscore-gauge-fill {
  fill: none;
  stroke-width: 14;
  stroke-linecap: round;
  stroke-dasharray: 590.6; /* 2 * PI * 94 */
  stroke-dashoffset: 590.6;
  transition: stroke-dashoffset 1.6s ease;
}
.plocal-proscore-gauge-ticks line {
  stroke: var(--color-white);
  stroke-width: 2;
  opacity: .85;
}
.plocal-proscore-gauge-inner {
  position: absolute;
  inset: 26px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--color-white);
  border-radius: 50%;
  box-shadow: var(--box-shadow);
}
.plocal-proscore-gauge-value {
  font-family: var(--heading-font);
  font-size: 52px;
  font-weight: 800;
  line-height: 1;
  color: var(--color-dark);
}
.plocal-proscore-gauge-label { margin-top: 4px; color: var(--body-text-color); font-size: 14px; }
.plocal-proscore-gauge-stars { margin-top: 8px; color: var(--theme-color); font-size: 12px; letter-spacing: 2px; }
.plocal-proscore-gauge-badge {
  position: absolute;
  left: 50%;
  bottom: -6px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  background: var(--color-white);
  border: 1px solid var(--border-info-color2);
  border-radius: 50%;
  box-shadow: var(--box-shadow2);
  color: var(--theme-color);
  font-size: 14px;
}

/* Three metric cards beneath the gauge */
.plocal-proscore-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 22px;
}
.plocal-proscore-metric {
  padding: 16px 10px;
  background: var(--color-white);
  border: 1px solid var(--border-info-color2);
  border-radius: 14px;
  box-shadow: var(--box-shadow);
  text-align: center;
}
.plocal-proscore-metric i { color: var(--theme-color); font-size: 16px; margin-bottom: 8px; }
.plocal-proscore-metric-value {
  display: block;
  font-family: var(--heading-font);
  font-size: 24px;
  font-weight: 800;
  color: var(--color-dark);
}
.plocal-proscore-metric-label {
  display: block;
  margin-top: 4px;
  color: var(--color-dark);
  font-family: var(--heading-font);
  font-size: 12px;
  font-weight: 600;
}
.plocal-proscore-metric-sub { display: block; color: var(--body-text-color); font-size: 11px; }

/* Evaluation breakdown panel */
.plocal-eval-panel {
  background: var(--color-white);
  border-radius: 20px;
  padding: 32px 34px;
  box-shadow: var(--box-shadow2);
}
.plocal-eval-panel-head { display: flex; justify-content: flex-end; margin-bottom: 8px; }
.plocal-eval-panel-tag {
  color: var(--theme-color);
  font-family: var(--heading-font);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.plocal-eval-row {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 18px 0;
  border-top: 1px solid var(--border-info-color2);
}
.plocal-eval-row:first-child { border-top: none; padding-top: 6px; }
.plocal-eval-index {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  margin-top: 2px;
  background: var(--color-dark);
  border-radius: 50%;
  color: var(--color-white);
  font-family: var(--heading-font);
  font-size: 12px;
  font-weight: 700;
}
.plocal-eval-icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: var(--theme-bg-light);
  border-radius: 50%;
  color: var(--theme-color);
  font-size: 16px;
}
.plocal-eval-body { flex: 1 1 auto; min-width: 0; }
.plocal-eval-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 8px;
}
.plocal-eval-name { font-family: var(--heading-font); font-weight: 600; color: var(--color-dark); }
.plocal-eval-pts {
  flex: 0 0 auto;
  font-family: var(--heading-font);
  font-weight: 700;
  color: var(--theme-color);
  font-size: 14px;
}
.plocal-eval-bar {
  height: 8px;
  border-radius: 50px;
  background: var(--color-gray);
  overflow: hidden;
}
.plocal-eval-bar span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: 50px;
  background: linear-gradient(90deg, var(--theme-color2), var(--theme-color));
  transition: width 1s ease;
}
.plocal-eval-list.plocal-inview .plocal-eval-bar span { width: var(--bar-fill, 0%); }
.plocal-eval-row:nth-child(2) .plocal-eval-bar span { transition-delay: .08s; }
.plocal-eval-row:nth-child(3) .plocal-eval-bar span { transition-delay: .16s; }
.plocal-eval-row:nth-child(4) .plocal-eval-bar span { transition-delay: .24s; }
.plocal-eval-row:nth-child(5) .plocal-eval-bar span { transition-delay: .32s; }
.plocal-eval-row:nth-child(6) .plocal-eval-bar span { transition-delay: .4s; }

/* Bottom credibility note: storefront sequence.
   (The .plocal-proscore-method icon/divider/layout overrides live
   further down, folded into the original rule so source order can't
   flip which one wins — see "QA POLISH ADDITIONS".) */
.plocal-storefront-sequence {
  position: relative;
  display: flex;
  align-items: center;
  gap: 20px;
  flex: 0 0 auto;
  margin-left: auto;
  padding-left: 20px;
}
.plocal-storefront-sequence::before {
  content: "";
  position: absolute;
  left: 20px;
  right: 20px;
  top: 50%;
  border-top: 2px dashed var(--border-info-color);
}
.plocal-storefront-node {
  position: absolute;
  top: 50%;
  left: 20px;
  width: 8px;
  height: 8px;
  margin-top: -4px;
  border-radius: 50%;
  background: var(--theme-color);
  box-shadow: 0 0 8px color-mix(in srgb, var(--theme-color) 65%, transparent);
  animation: plocalStorefrontTravel 4.5s ease-in-out infinite;
}
.plocal-storefront-icon {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  background: var(--color-white);
  border: 1px solid var(--border-info-color2);
  border-radius: 50%;
  color: color-mix(in srgb, var(--body-text-color) 55%, transparent);
  font-size: 14px;
}
.plocal-storefront-icon--active {
  background: var(--theme-color);
  border-color: var(--theme-color);
  color: var(--color-white);
}

@keyframes plocalStorefrontTravel {
  0% { left: 20px; opacity: 0; }
  12% { opacity: 1; }
  88% { opacity: 1; }
  100% { left: calc(100% - 20px); opacity: 0; }
}

@media (max-width: 1199px) {
  .plocal-proscore-dashboard { grid-template-columns: 1fr; }
  .plocal-proscore-overview { max-width: 420px; margin: 0 auto; }
}

/* Below lg the header/panels run close to the section edges — hide
   the ambient layer rather than risk it crossing over the dashboard
   (same rule already used for the other decorative sections). */
@media (max-width: 991px) {
  .plocal-proscore-ambient { display: none; }
  .plocal-storefront-sequence { display: none; }
}

@media (max-width: 767px) {
  .plocal-proscore-metrics { grid-template-columns: 1fr; }
  .plocal-eval-panel { padding: 26px 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .plocal-proscore-orb,
  .plocal-proscore-callout,
  .plocal-storefront-node { animation: none; }
  .plocal-proscore-gauge-fill,
  .plocal-eval-bar span { transition: none; }
}

/* ---- 6. PAY FOR EVALUATION (transparency) ---- */
.plocal-transparency {
  padding: 90px 0;
  background: var(--color-dark);
}
.plocal-transparency-tagline {
  display: inline-block;
  margin-bottom: 16px;
  color: var(--theme-color);
  font-family: var(--heading-font);
  font-weight: 600;
  letter-spacing: .4px;
}
.plocal-transparency-title {
  color: var(--color-white);
  font-size: var(--font-size-h2);
  font-weight: 800;
  margin-bottom: 16px;
}
.plocal-transparency-text {
  max-width: 680px;
  margin: 0 auto 28px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 17px;
  line-height: 1.8;
}
.plocal-transparency-list {
  display: grid;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.plocal-transparency-list li {
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border: 1px solid var(--border-white-color);
  border-radius: 50px;
  background: var(--border-white-color2);
  color: var(--color-white);
  font-weight: 500;
}
.plocal-transparency-list i { color: var(--color-red); }

/* ---- 7. BADGES ---- */
.plocal-badge-card {
  height: 100%;
  padding: 26px 14px;
  text-align: center;
  background: var(--color-white);
  border: 1px dashed var(--border-info-color);
  border-radius: 16px;
  transition: var(--transition2);
}
.plocal-badge-card:hover { border-color: var(--theme-color); transform: translateY(-5px); }
.plocal-badge-mark {
  width: 64px;
  height: 64px;
  margin: 0 auto 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--theme-bg-light);
  color: var(--theme-color);
  font-size: 26px;
}
.plocal-badge-card span {
  display: block;
  font-family: var(--heading-font);
  font-size: 14px;
  font-weight: 600;
  color: var(--color-dark);
}
.plocal-badges-note {
  margin-top: 34px;
  text-align: center;
  color: var(--body-text-color);
  font-size: 14px;
}
.plocal-badges-note i { color: var(--theme-color); }

/* ---- 7b. BADGES & VERIFICATION SHOWCASE ----
   .plocal-badge-card / .plocal-badge-mark above are shared with the
   business-profile demo pages — left untouched. Everything below is
   scoped to fresh class names for the homepage showcase only.
   Stacking: ambient (z-index 1) < floating orbs (z-index 2) <
   showcase content via .plocal-badges-content (z-index 3). ---- */
.plocal-badges-section {
  position: relative;
  overflow: hidden;
}
.plocal-badges-content {
  position: relative;
  z-index: 3;
}
.plocal-badges-ambient {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}
.plocal-badges-paths {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.plocal-badges-glow {
  position: absolute;
  width: 340px;
  height: 340px;
  background: radial-gradient(circle, var(--theme-bg-light), transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}
.plocal-badges-glow--tl { top: -100px; left: -100px; }
.plocal-badges-glow--br { right: -110px; bottom: -130px; }

.plocal-badges-orb {
  position: absolute;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  background: var(--color-white);
  border: 1px solid var(--border-info-color2);
  border-radius: 50%;
  box-shadow: var(--box-shadow);
  color: var(--theme-color);
  font-size: 15px;
  animation: plocalPlatformFloat 5s ease-in-out infinite;
}
.plocal-badges-orb--check { top: 18%; left: 12%; }
.plocal-badges-orb--star { top: 24%; right: 22%; animation-delay: .7s; }

/* Shared premium hover shine, used by the featured badge, the
   secondary tiles and the year-tier cards. */
.plocal-badges-featured,
.plocal-badge-tile,
.plocal-year-badge {
  position: relative;
  overflow: hidden;
}
.plocal-badges-featured::after,
.plocal-badge-tile::after,
.plocal-year-badge::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 42%, color-mix(in srgb, var(--color-white) 55%, transparent) 50%, transparent 58%);
  transform: translateX(-130%);
  transition: transform .8s ease;
  pointer-events: none;
}
.plocal-badges-featured:hover::after,
.plocal-badge-tile:hover::after,
.plocal-year-badge:hover::after {
  transform: translateX(130%);
}

/* Layout: main column (featured + grid + year tiers) + meaning aside */
.plocal-badges-showcase {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 32px;
  align-items: start;
  margin-top: 34px;
}
.plocal-badges-main {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* Featured badge */
.plocal-badges-featured {
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 30px;
  background: var(--color-white);
  border-radius: 22px;
  box-shadow: var(--box-shadow2);
}
.plocal-badges-featured-visual {
  position: relative;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  height: 200px;
}
.plocal-badges-featured-glow {
  position: absolute;
  inset: -10px;
  background: radial-gradient(circle, var(--theme-bg-light), transparent 72%);
  border-radius: 50%;
}
.plocal-badges-featured-plinth {
  position: absolute;
  left: 50%;
  bottom: 4px;
  width: 150px;
  height: 22px;
  background: var(--color-gray);
  border-radius: 50%;
  transform: translateX(-50%);
  filter: blur(1px);
}
.plocal-badges-featured-visual img {
  position: relative;
  width: 176px;
  height: auto;
  filter: drop-shadow(0 14px 20px color-mix(in srgb, var(--color-dark) 20%, transparent));
}
.plocal-badges-featured-info { flex: 1 1 auto; min-width: 0; }
.plocal-badges-featured-tag {
  display: inline-block;
  margin-bottom: 8px;
  color: var(--theme-color);
  font-family: var(--heading-font);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.plocal-badges-featured-info h3 { margin-bottom: 8px; font-size: 24px; color: var(--color-dark); }
.plocal-badges-featured-info p { margin-bottom: 16px; color: var(--body-text-color); }
.plocal-badges-featured-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: var(--theme-bg-light);
  border-radius: 50px;
  color: var(--theme-color);
  font-family: var(--heading-font);
  font-size: 13px;
  font-weight: 600;
}

/* Secondary badge tiles: sized to each asset's real aspect ratio */
.plocal-badges-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 18px;
}
.plocal-badge-tile {
  padding: 20px;
  background: var(--color-white);
  border: 1px solid var(--border-info-color2);
  border-radius: 18px;
  box-shadow: var(--box-shadow);
  text-align: center;
  transition: var(--transition2);
}
.plocal-badge-tile:hover { transform: translateY(-5px); border-color: var(--theme-color); }
.plocal-badge-tile--square,
.plocal-badge-tile--tall { grid-column: span 2; }
.plocal-badge-tile--wide { grid-column: span 3; }
.plocal-badge-tile-visual {
  aspect-ratio: var(--badge-ratio, 1 / 1);
  width: 100%;
  max-width: 132px;
  margin: 0 auto 14px;
}
.plocal-badge-tile--wide .plocal-badge-tile-visual { max-width: 220px; }
.plocal-badge-tile-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.plocal-badge-tile h3 { margin-bottom: 6px; font-size: 15px; color: var(--color-dark); }
.plocal-badge-tile p { margin: 0; color: var(--body-text-color); font-size: 13px; line-height: 1.6; }

/* Year-tier badges (CSS/SVG medallion, no baked-in image text) */
.plocal-year-badges {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.plocal-year-badge {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px;
  background: var(--color-white);
  border: 1px solid var(--border-info-color2);
  border-radius: 18px;
  box-shadow: var(--box-shadow);
}
.plocal-year-badge-medal {
  position: relative;
  flex: 0 0 auto;
  width: 82px;
  height: 82px;
}
.plocal-year-badge-laurel {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.plocal-year-badge-laurel path { fill: var(--color-white); opacity: .8; }
.plocal-year-badge-ring {
  position: absolute;
  inset: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  box-shadow: var(--box-shadow2);
}
.plocal-year-badge-num {
  font-family: var(--heading-font);
  font-size: 20px;
  font-weight: 800;
  line-height: 1;
  color: var(--color-white);
}
.plocal-year-badge-years {
  margin-top: 1px;
  color: color-mix(in srgb, var(--color-white) 85%, transparent);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.plocal-year-badge-ribbon {
  margin-top: 4px;
  padding: 1px 8px;
  background: color-mix(in srgb, var(--color-dark) 35%, transparent);
  border-radius: 50px;
  color: var(--color-white);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
}
.plocal-year-badge--1 .plocal-year-badge-ring { background: radial-gradient(circle at 35% 30%, var(--theme-color-light), var(--theme-color) 70%); }
.plocal-year-badge--3 .plocal-year-badge-ring { background: radial-gradient(circle at 35% 30%, var(--color-skyblue), var(--theme-color2) 70%); }
.plocal-year-badge--5 .plocal-year-badge-ring { background: radial-gradient(circle at 35% 30%, var(--color-yellow), var(--theme-color2) 85%); }
.plocal-year-badge-body { flex: 1 1 auto; min-width: 0; }
.plocal-year-badge-body h3 { margin-bottom: 4px; font-size: 14px; color: var(--color-dark); }
.plocal-year-badge-body p { margin: 0; color: var(--body-text-color); font-size: 12px; line-height: 1.6; }

/* "What these badges mean" aside */
.plocal-badges-meaning {
  padding: 28px 26px;
  background: var(--color-white);
  border-radius: 20px;
  box-shadow: var(--box-shadow2);
}
.plocal-badges-meaning-head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;
}
.plocal-badges-meaning-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  background: var(--theme-bg-light);
  border-radius: 50%;
  color: var(--theme-color);
  font-size: 18px;
}
.plocal-badges-meaning-head h3 { margin: 0; font-size: 18px; color: var(--color-dark); line-height: 1.3; }
.plocal-badges-meaning-list { list-style: none; margin: 0 0 20px; padding: 0; }
.plocal-badges-meaning-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 16px;
  color: var(--color-dark);
  font-size: 14px;
  line-height: 1.6;
}
.plocal-badges-meaning-list li:last-child { margin-bottom: 0; }
.plocal-badges-meaning-item-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  margin-top: -2px;
  background: var(--theme-bg-light);
  border-radius: 50%;
  color: var(--theme-color);
  font-size: 12px;
}
.plocal-badges-meaning-footer {
  margin: 0;
  padding-top: 18px;
  border-top: 1px solid var(--border-info-color2);
  color: var(--body-text-color);
  font-size: 14px;
}
.plocal-badges-meaning-footer i { margin-right: 6px; color: var(--theme-color); }
.plocal-badges-meaning-footer strong { color: var(--theme-color); }

@media (max-width: 1199px) {
  .plocal-badges-showcase { grid-template-columns: 1fr; }
  .plocal-badges-meaning { max-width: 460px; }
}

@media (max-width: 991px) {
  .plocal-badges-ambient { display: none; }
  .plocal-badges-featured { flex-direction: column; text-align: center; }
  .plocal-badges-featured-info { text-align: center; }
}

@media (max-width: 767px) {
  .plocal-badges-grid { grid-template-columns: repeat(2, 1fr); }
  .plocal-badge-tile--square,
  .plocal-badge-tile--tall,
  .plocal-badge-tile--wide { grid-column: span 2; }
  .plocal-year-badges { grid-template-columns: 1fr; }
  .plocal-year-badge { flex-direction: column; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  .plocal-badges-orb { animation: none; }
  .plocal-badges-featured::after,
  .plocal-badge-tile::after,
  .plocal-year-badge::after { transition: none; content: none; }
}

/* ---- 8. CATEGORIES ---- */
.plocal-categories { background: var(--color-gray); }
.plocal-category-card {
  height: 100%;
  padding: 38px 32px;
  background: var(--color-white);
  border-radius: 18px;
  box-shadow: var(--box-shadow);
  transition: var(--transition2);
}
.plocal-category-card:hover { transform: translateY(-6px); }
.plocal-category-icon {
  width: 72px;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: var(--theme-color2);
  color: var(--color-white);
  font-size: 30px;
  margin-bottom: 22px;
}
.plocal-category-card h3 { font-size: 22px; color: var(--color-dark); margin-bottom: 12px; }
.plocal-category-card > p { color: var(--body-text-color); margin-bottom: 18px; }
.plocal-category-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.plocal-category-tags span {
  padding: 6px 14px;
  border-radius: 50px;
  background: var(--theme-bg-light);
  color: var(--theme-color2);
  font-size: 13px;
  font-weight: 500;
}
.plocal-category-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--theme-color);
  font-family: var(--heading-font);
  font-weight: 600;
  text-decoration: none;
}
.plocal-category-link i { transition: var(--transition2); }
.plocal-category-link:hover i { transform: translateX(5px); }

/* ---- 9. NATIONWIDE ---- */
.plocal-nationwide { padding: 110px 0; }
.plocal-nationwide .site-title-tagline {  font-family: var(--heading-font); font-weight: 600; }
.plocal-nationwide-title { font-size: var(--font-size-h2); font-weight: 800; color: var(--color-dark); margin: 12px 0 18px; }
.plocal-nationwide-text { color: var(--body-text-color); font-size: 17px; line-height: 1.85; margin-bottom: 30px; }
.plocal-nationwide-stats { margin-top: 6px; }
.plocal-stat {
  padding: 22px 10px;
  text-align: center;
  background: var(--color-gray);
  border-radius: 14px;
}
.plocal-stat-num {
  display: block;
  font-family: var(--heading-font);
  font-size: 30px;
  font-weight: 800;
  color: var(--theme-color2);
}
.plocal-stat-label { display: block; margin-top: 4px; font-size: 13px; color: var(--body-text-color); }
.plocal-map-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 320px;
  border: 2px dashed var(--border-info-color);
  border-radius: 20px;
  background: var(--theme-bg-light);
  color: var(--theme-color2);
  text-align: center;
}
.plocal-map-placeholder i { font-size: 64px; color: var(--theme-color); margin-bottom: 14px; }
.plocal-map-placeholder span { font-family: var(--heading-font); font-weight: 700; font-size: 18px; }
.plocal-map-placeholder small { color: var(--body-text-color); margin-top: 6px; }

/* ---- 10. SEO STRUCTURE ---- */
.plocal-seo { background: var(--color-dark); }
.plocal-url-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 26px 24px;
  background: #24bcc764;
  border: 1px solid var(--border-info-color2);
  border-left: 4px solid var(--theme-color);
  border-radius: 12px;
  box-shadow: var(--box-shadow);
  transition: var(--transition2);
}
.plocal-url-card:hover { transform: translateY(-4px); border-left-color: var(--theme-color2); }
.plocal-url-card i { color: var(--theme-color); font-size: 20px; }
.plocal-url-card code {
  font-size: 15px;
  font-weight: 600;
  color: var(--color-white);
  word-break: break-all;
  background: none;
  padding: 0;
}
.plocal-url-card span { color: var(--color-white); font-size: 13px; }

/* ---- 11. BUSINESS PROFILE PREVIEW ---- */
.plocal-profile-card {
  position: relative;
  padding: 40px;
  background: var(--color-white);
  border-radius: 20px;
  box-shadow: var(--box-shadow2);
  border: 1px solid var(--border-info-color2);
}
.plocal-profile-flag {
  position: absolute;
  top: 18px;
  right: 18px;
  padding: 5px 14px;
  border-radius: 50px;
  background: var(--theme-color);
  color: var(--color-white);
  font-size: 12px;
  font-weight: 700;
}
.plocal-profile-top {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  justify-content: space-between;
  align-items: flex-start;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--border-info-color2);
}
.plocal-profile-name { font-size: 26px; color: var(--color-dark); margin-bottom: 8px; }
.plocal-profile-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--body-text-color); margin-bottom: 16px; }
.plocal-profile-meta i { color: var(--theme-color); }
.plocal-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--border-info-color); display: inline-block; }
.plocal-profile-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.plocal-mini-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 13px;
  border-radius: 50px;
  background: var(--theme-bg-light);
  color: var(--theme-color2);
  font-size: 13px;
  font-weight: 600;
}
.plocal-mini-badge i { color: var(--theme-color); }
.plocal-profile-since { color: var(--body-text-color); font-size: 14px; margin: 0; }
.plocal-profile-since i { color: var(--theme-color); }
.plocal-profile-score {
  flex: 0 0 auto;
  width: 130px;
  padding: 18px;
  text-align: center;
  border-radius: 16px;
  background: var(--theme-color2);
  color: var(--color-white);
}
.plocal-profile-score-num { font-family: var(--heading-font); font-size: 44px; font-weight: 800; line-height: 1; }
.plocal-profile-score-label { font-size: 12px; opacity: .85; margin-top: 6px; }
.plocal-profile-metrics { padding: 28px 0; }
.plocal-metric-head { display: flex; align-items: center; gap: 8px; font-family: var(--heading-font); font-weight: 600; color: var(--color-dark); margin-bottom: 10px; font-size: 15px; }
.plocal-metric-head i { color: var(--theme-color); }
.plocal-metric-bar { height: 8px; border-radius: 50px; background: var(--color-gray); overflow: hidden; margin-bottom: 6px; }
.plocal-metric-bar span { display: block; height: 100%; border-radius: 50px; background: linear-gradient(90deg, var(--theme-color2), var(--theme-color)); }
.plocal-metric-val { font-size: 13px; font-weight: 600; color: var(--body-text-color); }
.plocal-profile-actions { display: flex; flex-wrap: wrap; gap: 12px; padding-top: 8px; }

/* ---- 12. TRUST & SAFETY ---- */
.plocal-trust-card {
  height: 100%;
  padding: 30px 26px;
  background: var(--color-white);
  border: 1px solid var(--border-info-color2);
  border-radius: 16px;
  box-shadow: var(--box-shadow);
  transition: var(--transition2);
}
.plocal-trust-card:hover { transform: translateY(-5px); }
.plocal-trust-card i { font-size: 28px; color: var(--theme-color); margin-bottom: 16px; }
.plocal-trust-card h3 { font-size: 19px; color: var(--color-dark); margin-bottom: 10px; }
.plocal-trust-card p { color: var(--body-text-color); margin: 0; }

/* ---- 12b. TRUST & SAFETY CONTROL CENTER ----
   .plocal-trust-card above is shared with contact.html and
   trust-and-safety.html — left untouched. Everything below is
   scoped to fresh class names for the homepage showcase only.
   Stacking: ambient (z-index 1) < shield/orbs (z-index 2) <
   content via .plocal-trust-content (z-index 3). ---- */
.plocal-trust-section {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.plocal-trust-content {
  position: relative;
  z-index: 3;
}
.plocal-trust-ambient {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}
.plocal-trust-paths {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* Ambient glows */
.plocal-trust-glow {
  position: absolute;
  border-radius: 50%;
  background: radial-gradient(circle, var(--theme-bg-light), transparent 70%);
  pointer-events: none;
}
.plocal-trust-glow--tl { top: -120px; left: -120px; width: 360px; height: 360px; }
.plocal-trust-glow--br { right: -130px; bottom: -140px; width: 380px; height: 380px; }
.plocal-trust-glow--cta { right: 6%; bottom: 4%; width: 320px; height: 320px; }

/* Header entry sequence: eyebrow, then heading, then paragraph.
   Scoped under .plocal-trust-section so the shared .site-title /
   .plocal-section-intro classes used by every other section are
   never affected. */
.plocal-trust-header { max-width: 720px; margin: 0 auto; text-align: center; }
.plocal-trust-section .plocal-trust-tagline,
.plocal-trust-section .plocal-trust-header .site-title,
.plocal-trust-section .plocal-trust-header .plocal-section-intro {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .7s ease, transform .7s ease;
}
.plocal-trust-section.is-visible .plocal-trust-tagline { opacity: 1; transform: none; }
.plocal-trust-section.is-visible .plocal-trust-header .site-title { opacity: 1; transform: none; transition-delay: .15s; }
.plocal-trust-section.is-visible .plocal-trust-header .plocal-section-intro { opacity: 1; transform: none; transition-delay: .3s; }

/* Route system: draws in once as a solid line, then settles into its
   permanent dotted texture (see .is-drawn below). */
.plocal-trust-route {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  transition: stroke-dashoffset 2s cubic-bezier(.4, 0, .2, 1);
}
.plocal-trust-section.is-visible .plocal-trust-route { stroke-dashoffset: 0; }
.plocal-trust-route--left { transition-duration: 1.8s; }
.plocal-trust-route--right { transition-duration: 2.1s; transition-delay: .3s; }
.plocal-trust-route--central { transition-duration: 2.4s; transition-delay: .6s; }
.plocal-trust-route--lower { transition-duration: 1.5s; transition-delay: .9s; }
.plocal-trust-section.is-drawn .plocal-trust-route {
  stroke-dasharray: 2 10;
  transition: none;
}

.plocal-trust-orbit-track {
  fill: none;
  stroke: var(--theme-color);
  stroke-width: 1;
  opacity: .18;
}
.plocal-trust-orbit-shimmer {
  fill: var(--theme-color);
  filter: drop-shadow(0 0 5px color-mix(in srgb, var(--theme-color) 70%, transparent));
}

/* Floating safety icon orbs */
.plocal-trust-orb {
  position: absolute;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  background: var(--color-white);
  border: 1px solid var(--border-info-color2);
  border-radius: 50%;
  box-shadow: var(--box-shadow);
  color: var(--theme-color);
  font-size: 18px;
  animation: plocalTrustOrbFloat 6s ease-in-out infinite;
}
.plocal-trust-orb--search { top: 12%; left: 14%; }
.plocal-trust-orb--shield { top: 40%; left: 6%; animation-delay: .8s; }
.plocal-trust-orb--check  { top: 33%; left: 27%; animation-delay: 1.6s; width: 46px; height: 46px; font-size: 15px; }
.plocal-trust-orb--lock   { top: 13%; right: 13%; animation-delay: .4s; }
.plocal-trust-orb--alert  { top: 33%; right: 27%; animation-delay: 1.2s; color: var(--theme-color2); }
.plocal-trust-orb--people { top: 40%; right: 6%; animation-delay: 2s; }

@keyframes plocalTrustOrbFloat {
  0%, 100% { transform: translate(0, 0); }
  50% { transform: translate(3px, -10px); }
}

/* Central shield centerpiece: sits in normal document flow via its
   .plocal-trust-shield-anchor wrapper (see HTML), so it always lands
   correctly between the header and the grid regardless of viewport. */
.plocal-trust-shield-anchor {
  position: relative;
  z-index: 2;
  width: 220px;
  height: 250px;
  margin: 10px auto 0;
  pointer-events: none;
}
.plocal-trust-shield { position: absolute; inset: 0; }
.plocal-trust-shield-halo {
  position: absolute;
  inset: -60px;
  background: radial-gradient(circle, var(--theme-bg-light), transparent 68%);
  border-radius: 50%;
  animation: plocalShieldBreathe 4.5s ease-in-out infinite;
}
.plocal-trust-shield-orbit {
  position: absolute;
  left: 50%;
  border: 1px solid var(--border-info-color);
  border-radius: 50%;
}
.plocal-trust-shield-orbit--outer { top: 62%; width: 260px; height: 46px; transform: translate(-50%, -50%); opacity: .5; }
.plocal-trust-shield-orbit--inner { top: 68%; width: 190px; height: 30px; transform: translate(-50%, -50%); opacity: .7; }
.plocal-trust-shield-svg {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  filter: drop-shadow(0 16px 26px color-mix(in srgb, var(--theme-color2) 30%, transparent));
}
.plocal-shield-stop-start { stop-color: var(--theme-color); stop-opacity: .88; }
.plocal-shield-stop-end { stop-color: var(--theme-color2); stop-opacity: .88; }
.plocal-trust-shield-shape {
  stroke: var(--color-white);
  stroke-width: 2;
  stroke-linejoin: round;
}
.plocal-trust-shield-lock {
  position: absolute;
  top: 42%;
  left: 50%;
  z-index: 2;
  transform: translate(-50%, -50%);
  color: var(--color-white);
  font-size: 46px;
  animation: plocalShieldPulse 3.6s ease-in-out infinite;
}

@keyframes plocalShieldBreathe {
  0%, 100% { opacity: .7; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.06); }
}
@keyframes plocalShieldPulse {
  0%, 100% { transform: translate(-50%, -50%) scale(1); }
  50% { transform: translate(-50%, -50%) scale(1.08); }
}

/* Six safety-topic cards */
.plocal-trust-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-top: 34px;
}
.plocal-trust-topic {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 26px 24px 24px;
  background: var(--color-white);
  border: 1px solid var(--border-info-color2);
  border-radius: 16px;
  box-shadow: var(--box-shadow);
  overflow: hidden;
  opacity: 0;
  transform: translateY(24px) scale(.97);
  transition: opacity .6s ease, transform .6s ease, box-shadow .3s ease, border-color .3s ease;
}
.plocal-trust-section.is-visible .plocal-trust-topic { opacity: 1; transform: none; }
.plocal-trust-grid > .plocal-trust-topic:nth-child(1) { transition-delay: 0ms; }
.plocal-trust-grid > .plocal-trust-topic:nth-child(2) { transition-delay: 120ms; }
.plocal-trust-grid > .plocal-trust-topic:nth-child(3) { transition-delay: 240ms; }
.plocal-trust-grid > .plocal-trust-topic:nth-child(4) { transition-delay: 360ms; }
.plocal-trust-grid > .plocal-trust-topic:nth-child(5) { transition-delay: 480ms; }
.plocal-trust-grid > .plocal-trust-topic:nth-child(6) { transition-delay: 600ms; }
.plocal-trust-topic::before {
  content: "";
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 0;
  height: 3px;
  background: var(--theme-color);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .4s ease;
}
.plocal-trust-topic:hover {
  transform: translateY(-6px);
  border-color: var(--theme-color);
  box-shadow: var(--box-shadow2);
}
.plocal-trust-topic:hover::before { transform: scaleX(1); }
.plocal-trust-topic-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 52px;
  height: 52px;
  background: var(--theme-bg-light);
  border-radius: 50%;
  color: var(--theme-color);
  font-size: 20px;
  transition: var(--transition2);
}
.plocal-trust-topic:hover .plocal-trust-topic-icon { background: var(--theme-color); color: var(--color-white); }
.plocal-trust-topic-body { flex: 1 1 auto; min-width: 0; padding-right: 20px; }
.plocal-trust-topic-body h3 { margin-bottom: 6px; font-size: 17px; color: var(--color-dark); }
.plocal-trust-topic-body p { margin: 0; color: var(--body-text-color); font-size: 14px; line-height: 1.65; }
.plocal-trust-topic-arrow {
  position: absolute;
  top: 26px;
  right: 22px;
  color: var(--border-info-color);
  font-size: 14px;
  opacity: 0;
  transform: translateX(-4px);
  transition: var(--transition2);
}
.plocal-trust-topic:hover .plocal-trust-topic-arrow { opacity: 1; transform: translateX(0); color: var(--theme-color); }

/* Lower safety panel */
.plocal-trust-footer {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-top: 40px;
  padding: 30px 34px;
  background: var(--color-white);
  border: 1px solid var(--border-info-color2);
  border-radius: 22px;
  box-shadow: var(--box-shadow2);
}
.plocal-trust-footer-summary { display: flex; align-items: flex-start; gap: 16px; flex: 1 1 300px; min-width: 0; }
.plocal-trust-footer-icon {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 58px;
  height: 58px;
  background: var(--theme-bg-light);
  border-radius: 50%;
  color: var(--theme-color);
  font-size: 22px;
}
.plocal-trust-footer-orbit {
  position: absolute;
  inset: -8px;
  border: 1px dashed var(--border-info-color);
  border-radius: 50%;
  animation: plocalTrustSpin 18s linear infinite;
}
.plocal-trust-footer-summary h3 { margin-bottom: 6px; font-size: 19px; color: var(--color-dark); }
.plocal-trust-footer-summary p { margin: 0; color: var(--body-text-color); font-size: 14px; line-height: 1.7; }
.plocal-trust-footer-divider { flex: 0 0 auto; width: 1px; align-self: stretch; background: var(--border-info-color2); }
.plocal-trust-footer-tips { display: flex; gap: 26px; flex: 1 1 360px; }
.plocal-trust-tip { flex: 1 1 0; min-width: 0; }
.plocal-trust-tip i { display: block; margin-bottom: 8px; color: var(--theme-color); font-size: 18px; }
.plocal-trust-tip h4 { margin-bottom: 4px; font-size: 15px; color: var(--color-dark); }
.plocal-trust-tip p { margin: 0; color: var(--body-text-color); font-size: 13px; line-height: 1.6; }

.plocal-trust-cta {
  flex: 0 0 auto;
  box-shadow: 0 10px 28px color-mix(in srgb, var(--theme-color) 35%, transparent);
}
.plocal-trust-cta:hover { transform: translateY(-3px); box-shadow: 0 16px 34px color-mix(in srgb, var(--theme-color) 45%, transparent); }

@keyframes plocalTrustSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@media (max-width: 1199px) {
  .plocal-trust-shield-anchor { width: 190px; height: 220px; }
  .plocal-trust-orb--check,
  .plocal-trust-orb--alert { display: none; }
}

@media (max-width: 991px) {
  .plocal-trust-ambient { display: none; }
  .plocal-trust-shield-anchor { display: none; }
  .plocal-trust-grid { grid-template-columns: repeat(2, 1fr); }
  .plocal-trust-footer { flex-wrap: wrap; }
  .plocal-trust-footer-divider { display: none; }
  .plocal-trust-footer-tips { flex-basis: 100%; }
  .plocal-trust-cta { flex-basis: 100%; text-align: center; }
}

@media (max-width: 767px) {
  .plocal-trust-grid { grid-template-columns: 1fr; }
  .plocal-trust-topic-arrow { display: none; }
  .plocal-trust-footer-tips { flex-direction: column; gap: 18px; }
  .plocal-trust-footer { padding: 26px 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .plocal-trust-section .plocal-trust-tagline,
  .plocal-trust-section .plocal-trust-header .site-title,
  .plocal-trust-section .plocal-trust-header .plocal-section-intro,
  .plocal-trust-topic { transition: none; opacity: 1; transform: none; }
  .plocal-trust-route { transition: none; stroke-dasharray: 2 10; stroke-dashoffset: 0; }
  .plocal-trust-orb,
  .plocal-trust-shield-halo,
  .plocal-trust-shield-lock,
  .plocal-trust-footer-orbit { animation: none; }
  .plocal-path-node,
  .plocal-trust-orbit-shimmer { display: none; }
}

/* ---- 13. FINAL CTA ---- */
.plocal-final-cta {
  position: relative;
  padding: 110px 0;
  background: linear-gradient(135deg, var(--theme-color2) 0%, var(--color-dark) 100%);
  overflow: hidden;
}
.plocal-final-cta-overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 70% 30%, rgba(36, 189, 199, 0.25), transparent 50%);
  pointer-events: none;
}
.plocal-final-cta .container { position: relative; z-index: 2; }
.plocal-final-cta-title { color: var(--color-white); font-size: var(--font-size-h2); font-weight: 800; margin-bottom: 16px; }
.plocal-final-cta-text { max-width: 640px; margin: 0 auto 32px; color: rgba(255, 255, 255, 0.85); font-size: 18px; line-height: 1.8; }
.plocal-final-actions { margin-top: 8px; }


/* footer */


/* Copyright Section */
.copyright {
  padding: 22px 0;
  background: var(--footer-bg);
  border-top: 1px solid var(--border-white-color);
}

.copyright .row {
  align-items: center;
}

/* Copyright Text */
.copyright-text {
  margin: 0;
  color: var(--footer-text-color);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.7;
}

.copyright-text a {
  color: var(--footer-text-color);
  font-weight: 600;
  text-decoration: none;
  transition: var(--transition2);
}

.copyright-text a:hover {
  color: var(--theme-color);
}

/* Legal Links */
.footer-legal-links {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-legal-links li {
  position: relative;
  display: flex;
  align-items: center;
}

.footer-legal-links li:not(:last-child)::after {
  content: "";
  width: 1px;
  height: 14px;
  margin: 0 16px;
  background: var(--border-white-color);
}

.footer-legal-links a {
  position: relative;
  display: inline-flex;
  align-items: center;
  color: var(--footer-text-color);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  text-decoration: none;
  transition: var(--transition2);
}

.footer-legal-links a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 2px;
  margin: auto;
  background: var(--theme-color);
  border-radius: 10px;
  transition: var(--transition2);
}

.footer-legal-links a:hover,
.footer-legal-links a:focus {
  color: var(--theme-color);
}

.footer-legal-links a:hover::after,
.footer-legal-links a:focus::after {
  width: 100%;
}

/* Keyboard Accessibility */
.footer-legal-links a:focus-visible,
.copyright-text a:focus-visible {
  color: var(--theme-color);
  outline: 2px solid var(--theme-color);
  outline-offset: 5px;
  border-radius: 2px;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 991px) {
  .plocal-hero { padding: 120px 0 90px; }
  .plocal-hero-title { font-size: var(--font-size-h1); }
  .plocal-nationwide-title,
  .plocal-final-cta-title { font-size: var(--font-size-h2); }
  .plocal-transparency-title { font-size: var(--font-size-h2); }
}

@media (max-width: 767px) {
  .plocal-hero-title { font-size: var(--font-size-h1); }
  .plocal-hero-text { font-size: 16px; }
  .plocal-hero-search { padding: 16px; }
  .plocal-search-btn { width: 100%; }
  .plocal-hero-actions { flex-direction: column; }
  .plocal-hero-actions .theme-btn { width: 100%; }
  .plocal-profile-top { flex-direction: column; }
  .plocal-profile-score { width: 100%; }
  .plocal-profile-actions .theme-btn { width: 100%; text-align: center; }
  .plocal-score-ring { width: 180px; height: 180px; }
  .plocal-score-ring-inner { width: 138px; height: 138px; }
  .plocal-score-number { font-size: 46px; }
}

/* ============================================================
   PHASE 2C — QA POLISH ADDITIONS
   ============================================================ */

/* Header-top scope label (replaces travel currency/lang) */
.top-scope {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--color-gray);
  font-size: 14px;
}
.top-scope i { color: var(--theme-color); }

/* ProScore methodology credibility note */
.plocal-proscore-method {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 40px;
  padding: 22px 26px;
  background: var(--color-white);
  border: 1px solid var(--border-info-color2);
  border-left: 4px solid var(--theme-color);
  border-radius: 12px;
  box-shadow: var(--box-shadow);
}
.plocal-proscore-method i {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  margin-top: 0;
  border: 1.5px solid var(--theme-color);
  border-radius: 50%;
  color: var(--theme-color);
  font-size: 17px;
}
.plocal-proscore-method p {
  flex: 1 1 320px;
  margin: 0;
  padding-left: 18px;
  border-left: 1px solid var(--border-info-color);
  color: var(--body-text-color);
  line-height: 1.75;
}

/* Spacing consistency for the dark transparency band */
.plocal-transparency { padding: 110px 0; }


/* ============================================================
   PHASE 3 — INTERNAL PAGES
   ============================================================ */

/* Page banner (inner-page hero) */
.plocal-page-banner {
  position: relative;
  padding: 130px 0 70px;
  background: linear-gradient(135deg, var(--color-dark) 0%, var(--theme-color2) 70%, #0a3f78 100%);
  overflow: hidden;
  margin-bottom: 100px;
}
.plocal-page-banner + .main,
.plocal-pro-hero + .main {
  margin-top: 0;
}
.plocal-page-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 85% 15%, rgba(36, 189, 199, 0.28), transparent 45%);
  pointer-events: none;
}
.plocal-page-banner .container { position: relative; z-index: 2; }
.plocal-page-banner h1 {
  color: var(--color-white);
  font-size: var(--font-size-h1);
  font-weight: 800;
  margin-bottom: 14px;
}
.plocal-page-banner h1 span { color: var(--theme-color); }
.plocal-banner-text {
  max-width: 720px;
  color: rgba(255, 255, 255, 0.85);
  font-size: 17px;
  line-height: 1.7;
  margin-bottom: 18px;
}
.plocal-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.plocal-breadcrumb li { color: rgba(255, 255, 255, 0.7); font-size: 14px; }
.plocal-breadcrumb li a { color: var(--theme-color-light); text-decoration: none; }
.plocal-breadcrumb li a:hover { color: var(--theme-color); }
.plocal-breadcrumb li:not(:last-child)::after { content: "/"; margin-left: 10px; color: rgba(255, 255, 255, 0.4); }

/* Prose / text-heavy pages */
.plocal-prose { color: var(--body-text-color); font-size: 16px; line-height: 1.85; }
.plocal-prose h2 { font-size: var(--font-size-h2); color: var(--color-dark); margin: 0 0 16px; }
.plocal-prose h3 { font-size: 21px; color: var(--color-dark); margin: 28px 0 12px; }
.plocal-prose p { margin: 0 0 18px; }
.plocal-prose ul { padding-left: 0; margin: 0 0 22px; list-style: none; }
.plocal-prose ul li {
  position: relative;
  padding-left: 30px;
  margin-bottom: 12px;
}
.plocal-prose ul li::before {
  content: "\f00c";
  font-family: "Font Awesome 6 Pro", "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 2px;
  color: var(--theme-color);
}

/* Disclaimer / trust callout box */
.plocal-disclaimer {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 22px 26px;
  background: var(--theme-bg-light);
  border: 1px solid var(--border-info-color);
  border-left: 4px solid var(--theme-color);
  border-radius: 12px;
}
.plocal-disclaimer i { flex: 0 0 auto; margin-top: 3px; color: var(--theme-color); font-size: 20px; }
.plocal-disclaimer p { margin: 0; color: var(--color-dark); line-height: 1.7; }
.plocal-disclaimer strong { color: var(--color-dark); }

/* Forms */
.plocal-form {
  background: var(--color-white);
  border-radius: 18px;
  box-shadow: var(--box-shadow);
  padding: 40px;
  border: 1px solid var(--border-info-color2);
}
.plocal-form-group { margin-bottom: 22px; }
.plocal-form-group label {
  display: block;
  margin-bottom: 8px;
  font-family: var(--heading-font);
  font-size: 14px;
  font-weight: 600;
  color: var(--color-dark);
}
.plocal-form-group label .req { color: var(--color-red); }
.plocal-form-control {
  width: 100%;
  min-height: 52px;
  padding: 12px 16px;
  background: var(--color-gray);
  border: 1px solid var(--border-info-color);
  border-radius: 10px;
  color: var(--color-dark);
  font-size: 15px;
  font-family: var(--body-font);
  transition: var(--transition2);
}
textarea.plocal-form-control { min-height: 130px; resize: vertical; }
.plocal-form-control:focus {
  outline: none;
  border-color: var(--theme-color);
  background: var(--color-white);
  box-shadow: 0 0 0 3px var(--theme-bg-light);
}
.plocal-form-note { margin-top: 10px; font-size: 13px; color: var(--body-text-color); }

/* FAQ accordion */
.plocal-faq-item {
  background: var(--color-white);
  border: 1px solid var(--border-info-color2);
  border-radius: 12px;
  margin-bottom: 16px;
  box-shadow: var(--box-shadow);
  overflow: hidden;
}
.plocal-faq-q {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  width: 100%;
  padding: 22px 26px;
  background: none;
  border: none;
  text-align: left;
  font-family: var(--heading-font);
  font-size: 17px;
  font-weight: 600;
  color: var(--color-dark);
  cursor: pointer;
}
.plocal-faq-q i { color: var(--theme-color); transition: var(--transition2); flex: 0 0 auto; }
.plocal-faq-item.open .plocal-faq-q i { transform: rotate(180deg); }
.plocal-faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
.plocal-faq-a p { margin: 0; padding: 0 26px 24px; color: var(--body-text-color); line-height: 1.8; }
.plocal-faq-item.open .plocal-faq-a { max-height: 400px; }

/* Contact path cards reuse trust-card; small icon list */
.plocal-contact-meta { list-style: none; padding: 0; margin: 24px 0 0; }
.plocal-contact-meta li { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; color: var(--color-dark); }
.plocal-contact-meta li i {
  width: 46px; height: 46px; flex: 0 0 auto;
  display: flex; align-items: center; justify-content: center;
  border-radius: 12px; background: var(--theme-bg-light); color: var(--theme-color); font-size: 18px;
}

@media (max-width: 767px) {
  .plocal-page-banner { padding: 100px 0 50px; }
  .plocal-page-banner h1 { font-size: var(--font-size-h1); }
  .plocal-form { padding: 26px; }
}


/* ============================================================
   PHASE 4 — SEO STATE / CITY / CATEGORY PAGES
   ============================================================ */

/* Demo business listing card */
.plocal-listing-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 24px;
  background: var(--color-white);
  border: 1px solid var(--border-info-color2);
  border-radius: 14px;
  box-shadow: var(--box-shadow);
}
.plocal-listing-flag {
  align-self: flex-start;
  margin-bottom: 12px;
  padding: 3px 10px;
  border-radius: 50px;
  background: var(--color-yellow);
  color: var(--color-dark);
  font-size: 11px;
  font-weight: 700;
}
.plocal-listing-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.plocal-listing-name { font-size: 18px; color: var(--color-dark); margin: 0 0 4px; }
.plocal-listing-cat { color: var(--body-text-color); font-size: 13px; }
.plocal-listing-cat i { color: var(--theme-color); }
.plocal-listing-score {
  flex: 0 0 auto;
  width: 58px; height: 58px;
  border-radius: 12px;
  background: var(--theme-color2);
  color: var(--color-white);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
}
.plocal-listing-score b { font-family: var(--heading-font); font-size: 20px; line-height: 1; }
.plocal-listing-score small { font-size: 9px; opacity: .85; }
.plocal-listing-badges { display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0; }
.plocal-listing-badges span {
  font-size: 12px; padding: 4px 10px; border-radius: 50px;
  background: var(--theme-bg-light); color: var(--theme-color2);
}
.plocal-listing-actions { margin-top: auto; display: flex; flex-wrap: wrap; gap: 8px; }

/* Honest empty state */
.plocal-empty-state {
  text-align: center;
  padding: 54px 30px;
  border: 2px dashed var(--border-info-color);
  border-radius: 18px;
  background: var(--theme-bg-light);
}
.plocal-empty-state i { font-size: 46px; color: var(--theme-color); margin-bottom: 14px; }
.plocal-empty-state h3 { color: var(--color-dark); margin-bottom: 8px; }
.plocal-empty-state p { color: var(--body-text-color); max-width: 540px; margin: 0 auto; }


/* ============================================================
   PHASE 5 — BUSINESS PROFILE SYSTEM
   ============================================================ */
.plocal-pro-hero {
  position: relative;
  padding: 120px 0 60px;
  background: linear-gradient(135deg, var(--color-dark) 0%, var(--theme-color2) 70%, #0a3f78 100%);
  overflow: hidden;
}
.plocal-pro-hero::after {
  content: "";
  position: absolute; inset: 0;
  background: radial-gradient(circle at 85% 15%, rgba(36,189,199,0.26), transparent 45%);
  pointer-events: none;
}
.plocal-pro-hero .container { position: relative; z-index: 2; }
.plocal-pro-flag {
  display: inline-block; margin-bottom: 14px; padding: 5px 14px;
  border-radius: 50px; background: var(--color-yellow); color: var(--color-dark);
  font-size: 12px; font-weight: 700;
}
.plocal-pro-hero h1 { color: var(--color-white); font-size: var(--font-size-h1); font-weight: 800; margin-bottom: 12px; }
.plocal-pro-hero-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; color: rgba(255,255,255,0.85); margin-bottom: 18px; }
.plocal-pro-hero-meta i { color: var(--theme-color); }
.plocal-pro-hero-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.plocal-year-badge {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 7px 16px; border-radius: 50px;
  background: rgba(255,255,255,0.12); border: 1px solid var(--border-white-color);
  color: var(--color-white); font-family: var(--heading-font); font-weight: 600; font-size: 14px;
}
.plocal-year-badge i { color: var(--theme-color); }
.plocal-pro-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.plocal-pro-score-box {
  background: var(--color-white); border-radius: 18px; box-shadow: var(--box-shadow2);
  padding: 28px; text-align: center;
}
.plocal-pro-score-box .num { font-family: var(--heading-font); font-size: 56px; font-weight: 800; color: var(--color-dark); line-height: 1; }
.plocal-pro-score-box .out { color: var(--body-text-color); font-size: 15px; }
.plocal-pro-score-box .lbl { margin-top: 8px; font-weight: 700; color: var(--theme-color2); font-family: var(--heading-font); }
.plocal-pro-score-box .note { margin-top: 6px; font-size: 12px; color: var(--body-text-color); }

.plocal-info-list { list-style: none; padding: 0; margin: 0; }
.plocal-info-list li { display: flex; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--border-info-color2); }
.plocal-info-list li:last-child { border-bottom: none; }
.plocal-info-list i { width: 22px; color: var(--theme-color); margin-top: 3px; flex: 0 0 auto; }
.plocal-info-list .k { display: block; font-size: 13px; color: var(--body-text-color); }
.plocal-info-list .v { font-weight: 600; color: var(--color-dark); }

.plocal-eval-card {
  height: 100%; padding: 22px; background: var(--color-white);
  border: 1px solid var(--border-info-color2); border-radius: 12px; box-shadow: var(--box-shadow);
}
.plocal-eval-card i { color: var(--theme-color); font-size: 20px; margin-bottom: 10px; }
.plocal-eval-card h3 { font-size: 16px; color: var(--color-dark); margin-bottom: 6px; }
.plocal-eval-card p { margin: 0; color: var(--body-text-color); font-size: 14px; }

.plocal-section-card {
  background: var(--color-white); border: 1px solid var(--border-info-color2);
  border-radius: 16px; box-shadow: var(--box-shadow); padding: 34px;
}
.plocal-section-card h2 { font-size: var(--font-size-h2); color: var(--color-dark); margin-bottom: 8px; }
.plocal-card-tagline { color: var(--theme-color); font-family: var(--heading-font); font-weight: 600; font-size: 14px; }

@media (max-width: 767px) {
  .plocal-pro-hero { padding: 100px 0 40px; }
  .plocal-pro-hero h1 { font-size: var(--font-size-h1); }
  .plocal-pro-hero-actions .theme-btn { width: 100%; text-align: center; }
}

.plocal-h100 { height: 100%; }


/* ============================================================
   PHASE 6 — FORMS & LEAD FLOW
   ============================================================ */
.plocal-form-msg {
  display: none;
  margin-top: 16px;
  padding: 14px 18px;
  border-radius: 10px;
  font-weight: 500;
  line-height: 1.6;
}
.plocal-form-msg.success, .plocal-form-msg.error { display: block; }
.plocal-form-msg.success {
  background: rgba(36, 189, 199, 0.12);
  border: 1px solid var(--theme-color);
  color: var(--color-dark);
}
.plocal-form-msg.error {
  background: rgba(226, 85, 85, 0.10);
  border: 1px solid var(--color-red);
  color: var(--color-red);
}
.plocal-form-control.plocal-field-error {
  border-color: var(--color-red);
  box-shadow: 0 0 0 3px rgba(226, 85, 85, 0.12);
}
.plocal-consent {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 22px;
}
.plocal-consent input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 3px; }
.plocal-consent label { font-size: 14px; color: var(--body-text-color); line-height: 1.6; }
.plocal-consent.plocal-field-error {
  outline: 2px solid var(--color-red);
  outline-offset: 4px;
  border-radius: 8px;
}
/* Honeypot: visually hidden, kept in DOM for bots */
.plocal-hp {
  position: absolute !important;
  left: -9999px !important;
  top: auto;
  width: 1px; height: 1px;
  overflow: hidden;
}

.plocal-optional { color: var(--body-text-color); font-weight: 400; font-size: 12px; }

/* PLOCAL inner-page spacing guard is defined with the banner styles above. */

/* ============================================================
   EXTRA HOME SECTIONS — steps / counter band / resources
   ============================================================ */

/* How PLOCAL Works (steps) */

.plocal-step:hover { transform: translateY(-6px); border-color: var(--theme-color); }
.plocal-step-num {
  position: absolute; top: 16px; right: 20px;
  font-family: var(--heading-font); font-weight: 800; font-size: 30px;
  color: var(--theme-bg-light); -webkit-text-stroke: 1px var(--theme-color); color: transparent;
}
.plocal-step-icon {
  width: 70px; height: 70px; margin: 0 auto 18px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%; background: var(--theme-bg-light); color: var(--theme-color); font-size: 28px;
}
.plocal-step h3 { font-size: 18px; color: var(--color-dark); margin-bottom: 10px; }
.plocal-step p { color: var(--body-text-color); margin: 0; font-size: 15px; }

/* Animated counter band */
.plocal-counter-band {
  position: relative;
  padding: 90px 0;
  background: linear-gradient(135deg, var(--theme-color2) 0%, var(--color-dark) 100%);
  overflow: hidden;
}
.plocal-counter-overlay {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 80% 20%, rgba(36,189,199,0.25), transparent 45%);
  pointer-events: none;
}
.plocal-counter-band .container { position: relative; z-index: 2; }
.plocal-counter-tagline { display:inline-block; margin-bottom:12px; color: var(--theme-color); font-family: var(--heading-font); font-weight:600; }
.plocal-counter-title { color: var(--color-white); font-size: var(--font-size-h2); font-weight: 800; margin-bottom: 44px; }
.plocal-counter-box { text-align: center; }
.plocal-counter-icon {
  width: 64px; height: 64px; margin: 0 auto 14px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,0.10); border: 1px solid var(--border-white-color);
  color: var(--theme-color); font-size: 26px;
}
.plocal-counter-band .counter-number {
  display: flex; align-items: baseline; justify-content: center; gap: 2px;
  font-family: var(--heading-font); font-weight: 800; font-size: 48px; color: var(--color-white); line-height: 1;
}
.plocal-counter-plus { font-size: 32px; color: var(--theme-color); font-weight: 800; }
.plocal-counter-label { margin-top: 10px; color: rgba(255,255,255,0.82); font-size: 14px; font-weight: 500; }

/* Resources / Learn cards */
.plocal-resource-card {
  display: block; height: 100%; padding: 34px 28px;
  background: var(--color-white); border: 1px solid var(--border-info-color2);
  border-radius: 16px; box-shadow: var(--box-shadow); text-decoration: none;
  transition: var(--transition2);
}
.plocal-resource-card:hover { transform: translateY(-6px); border-color: var(--theme-color); }
.plocal-resource-icon {
  width: 60px; height: 60px; margin-bottom: 20px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 14px; background: var(--theme-color2); color: var(--color-white); font-size: 24px;
}
.plocal-resource-card h3 { font-size: 19px; color: var(--color-dark); margin-bottom: 10px; }
.plocal-resource-card p { color: var(--body-text-color); margin-bottom: 16px; }
.plocal-resource-link { display: inline-flex; align-items: center; gap: 8px; color: var(--theme-color); font-family: var(--heading-font); font-weight: 600; }
.plocal-resource-link i { transition: var(--transition2); }
.plocal-resource-card:hover .plocal-resource-link i { transform: translateX(5px); }

@media (max-width: 767px) {
  .plocal-counter-band .counter-number { font-size: 38px; }
  .plocal-counter-title { font-size: var(--font-size-h2); }
}

.counter-box .counter {
    display: block;
    line-height: 1;
    color: var(--theme-color)!important;
    font-size: 50px;
    font-weight: 600;
}
/* ==========================================================
   PLOCAL — MAIN CATEGORIES
   WHITE SECTION + MUTED CARDS + COLOR ON HOVER
========================================================== */

.plocal-categories {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: var(--color-white);
}

/*
The section background remains completely white.
Only subtle gray decorations are used.
*/

.plocal-categories::before,
.plocal-categories::after {
    position: absolute;
    content: "";
    z-index: -1;
    pointer-events: none;
    border-radius: 50%;
}

.plocal-categories::before {
    top: -350px;
    left: -300px;
    width: 660px;
    height: 660px;
    border: 1px solid rgba(102, 112, 133, 0.06);
    box-shadow:
        0 0 0 55px rgba(102, 112, 133, 0.012),
        0 0 0 112px rgba(102, 112, 133, 0.008);
}

.plocal-categories::after {
    right: -310px;
    bottom: -370px;
    width: 700px;
    height: 700px;
    border: 1px solid rgba(102, 112, 133, 0.055);
    box-shadow:
        0 0 0 60px rgba(102, 112, 133, 0.011),
        0 0 0 120px rgba(102, 112, 133, 0.007);
}

/* ==========================================================
   WIDE CONTAINER
========================================================== */

.plocal-categories-shell {
    width: 100%;
    max-width: 1760px;
    padding-right: clamp(18px, 3.5vw, 66px);
    padding-left: clamp(18px, 3.5vw, 66px);
    margin-right: auto;
    margin-left: auto;
}

/* ==========================================================
   SECTION HEADING
========================================================== */

.plocal-categories-heading {
    max-width: 920px;
    margin: 0 auto clamp(40px, 4vw, 58px);
}

.plocal-categories .site-title-tagline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 7px 15px 7px 8px;
    margin-bottom: 18px;
    color: var(--theme-color);
    font-family: var(--body-font);
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 2.4px;
    text-transform: uppercase;
    border-radius: 50px;
    background: var(--theme-color-light);
}

.plocal-categories .site-title-tagline i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 27px;
    height: 27px;
    color: var(--color-white);
    font-size: 12px;
    border-radius: 50%;
    background: var(--theme-color);
}

.plocal-categories .site-title {
    margin: 0 0 18px;
    color: var(--theme-color2);
    font-family: var(--heading-font);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -2px;
}

.plocal-categories .site-title span {
    color: var(--theme-color);
}

.plocal-categories .plocal-section-intro {
    max-width: 760px;
    margin: 0 auto;
    color: var(--body-text-color);
    font-family: var(--body-font);
    font-size: 17px;
    line-height: 1.75;
}

/* ==========================================================
   CATEGORY GRID
========================================================== */

.plocal-categories-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(20px, 2vw, 30px);
    width: 100%;
}

/* ==========================================================
   CATEGORY ACCENT COLORS
========================================================== */

.plocal-category-card-construction {
    --category-accent: #5da9e9;
    --category-accent-rgb: 93, 169, 233;
    --category-soft: rgba(93, 169, 233, 0.13);
}

.plocal-category-card-beauty {
    --category-accent: #c18ae2;
    --category-accent-rgb: 193, 138, 226;
    --category-soft: rgba(193, 138, 226, 0.14);
}

.plocal-category-card-food {
    --category-accent: var(--theme-color);
    --category-accent-rgb: 36, 189, 199;
    --category-soft: var(--theme-bg-light);
}

/* ==========================================================
   CATEGORY CARD — MUTED DEFAULT STATE
========================================================== */

.plocal-category-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 560px;
    padding: clamp(26px, 2.2vw, 36px);
    overflow: hidden;
    border: 1px solid rgba(102, 112, 133, 0.17);
    border-top: 4px solid #b8c0cc;
    border-radius: 24px;
    background:
        linear-gradient(
            145deg,
            #f7f8fa,
            #ffffff 68%
        );
    box-shadow:
        0 16px 46px rgba(8, 29, 77, 0.07),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
    transition:
        transform 0.45s ease,
        border-color 0.45s ease,
        border-top-color 0.45s ease,
        background 0.45s ease,
        box-shadow 0.45s ease;
}

/* Colored background glow, hidden initially */

.plocal-category-card-glow {
    position: absolute;
    z-index: 0;
    top: -110px;
    right: -105px;
    width: 350px;
    height: 350px;
    pointer-events: none;
    border-radius: 50%;
    opacity: 0;
    background: radial-gradient(
        circle,
        rgba(var(--category-accent-rgb), 0.24),
        rgba(var(--category-accent-rgb), 0.065) 42%,
        transparent 72%
    );
    filter: blur(7px);
    transform: scale(0.72);
    transition:
        opacity 0.55s ease,
        transform 0.55s ease;
}

/* Full-card color layer */

.plocal-category-card::before {
    position: absolute;
    content: "";
    z-index: 0;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    background:
        linear-gradient(
            145deg,
            rgba(var(--category-accent-rgb), 0.075),
            transparent 48%
        );
    transition: opacity 0.45s ease;
}

/* Animated bottom accent */

.plocal-category-card::after {
    position: absolute;
    content: "";
    z-index: 3;
    right: 34px;
    bottom: 0;
    left: 34px;
    height: 2px;
    opacity: 0;
    background: linear-gradient(
        90deg,
        transparent,
        var(--category-accent),
        transparent
    );
    transform: scaleX(0.25);
    transition:
        opacity 0.45s ease,
        transform 0.45s ease;
}

/* ==========================================================
   CARD COLORED HOVER STATE
========================================================== */

.plocal-category-card:hover,
.plocal-category-card:focus-within {
    border-color: rgba(var(--category-accent-rgb), 0.5);
    border-top-color: var(--category-accent);
    background:
        linear-gradient(
            145deg,
            rgba(var(--category-accent-rgb), 0.08),
            var(--color-white) 60%
        );
    box-shadow:
        0 28px 65px rgba(8, 29, 77, 0.13),
        0 0 34px rgba(var(--category-accent-rgb), 0.14);
    transform: translateY(-9px);
}

.plocal-category-card:hover::before,
.plocal-category-card:focus-within::before {
    opacity: 1;
}

.plocal-category-card:hover::after,
.plocal-category-card:focus-within::after {
    opacity: 1;
    transform: scaleX(1);
}

.plocal-category-card:hover .plocal-category-card-glow,
.plocal-category-card:focus-within .plocal-category-card-glow {
    opacity: 1;
    transform: scale(1.08);
}

/* ==========================================================
   TOP AREA
========================================================== */

.plocal-category-top {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    align-items: start;
    min-height: 160px;
    margin-bottom: 18px;
}

/* ==========================================================
   MUTED ICON
========================================================== */

.plocal-category-icon {
    position: relative;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 76px;
    color: var(--color-white);
    font-size: 29px;
    border: 1px solid rgba(102, 112, 133, 0.14);
    border-radius: 17px;
    background:
        linear-gradient(
            145deg,
            #98a2b3,
            #667085
        );
    box-shadow:
        0 12px 26px rgba(52, 64, 84, 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 0.15);
    filter: grayscale(1);
    transition:
        color 0.4s ease,
        filter 0.4s ease,
        transform 0.4s ease,
        background 0.4s ease,
        border-color 0.4s ease,
        box-shadow 0.4s ease;
}

.plocal-category-card:hover .plocal-category-icon,
.plocal-category-card:focus-within .plocal-category-icon {
    color: var(--color-white);
    border-color: rgba(var(--category-accent-rgb), 0.55);
    background:
        linear-gradient(
            145deg,
            var(--theme-color2),
            var(--category-accent)
        );
    box-shadow:
        0 17px 34px rgba(12, 44, 122, 0.18),
        0 0 26px rgba(var(--category-accent-rgb), 0.22);
    filter: grayscale(0);
    transform: translateY(-3px) rotate(-2deg) scale(1.04);
}

/* ==========================================================
   CATEGORY IMAGE — GRAY UNTIL HOVER
========================================================== */

.plocal-category-visual {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    min-width: 0;
    height: 175px;
    margin: -13px 0 0;
    pointer-events: none;
}

.plocal-category-visual img {
    display: block;
    width: 100%;
    max-width: 245px;
    height: 175px;
    object-fit: contain;
    object-position: right top;
    opacity: 0.34;
    filter:
        grayscale(1)
        saturate(0)
        contrast(0.88)
        brightness(1.02);
    transform: translate3d(8px, 10px, 0) scale(0.93);
    transition:
        opacity 0.55s ease,
        filter 0.55s ease,
        transform 0.55s ease;
}

.plocal-category-card:hover .plocal-category-visual img,
.plocal-category-card:focus-within .plocal-category-visual img {
    opacity: 1;
    filter:
        grayscale(0)
        saturate(1.05)
        contrast(1)
        brightness(1);
    transform: translate3d(0, 0, 0) scale(1.03);
}

/* ==========================================================
   CARD CONTENT
========================================================== */

.plocal-category-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
}

/* Gray title initially */

.plocal-category-card h3 {
    max-width: 410px;
    margin: 0 0 14px;
    color: #667085;
    font-family: var(--heading-font);
    font-size: clamp(24px, 1.85vw, 31px);
    font-weight: 700;
    line-height: 1.22;
    letter-spacing: -0.7px;
    transition: color 0.4s ease;
}

.plocal-category-card:hover h3,
.plocal-category-card:focus-within h3 {
    color: var(--category-accent);
}

/* Gray description initially */

.plocal-category-card p {
    max-width: 440px;
    min-height: 58px;
    margin: 0 0 23px;
    color: #98a2b3;
    font-family: var(--body-font);
    font-size: 15px;
    line-height: 1.7;
    transition: color 0.4s ease;
}

.plocal-category-card:hover p,
.plocal-category-card:focus-within p {
    color: var(--body-text-color);
}

/* ==========================================================
   MUTED TAGS
========================================================== */

.plocal-category-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 28px;
}

.plocal-category-tags span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 14px;
    color: #667085;
    font-family: var(--body-font);
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    border: 1px solid rgba(102, 112, 133, 0.08);
    border-radius: 50px;
    background: #eef2f6;
    transition:
        color 0.35s ease,
        background 0.35s ease,
        border-color 0.35s ease,
        transform 0.35s ease;
}

.plocal-category-card:hover .plocal-category-tags span,
.plocal-category-card:focus-within .plocal-category-tags span {
    color: var(--theme-color2);
    border-color: rgba(var(--category-accent-rgb), 0.23);
    background: var(--category-soft);
}

.plocal-category-tags span:hover {
    transform: translateY(-2px);
}

/* ==========================================================
   MUTED CATEGORY LINK
========================================================== */

.plocal-category-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 11px;
    margin-top: auto;
    color: #98a2b3;
    font-family: var(--body-font);
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    transition:
        color 0.35s ease,
        transform 0.35s ease;
}

.plocal-category-link::after {
    position: absolute;
    content: "";
    right: 0;
    bottom: -7px;
    left: 0;
    height: 1px;
    background: var(--category-accent);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.35s ease;
}

.plocal-category-link i {
    font-size: 13px;
    transition: transform 0.35s ease;
}

.plocal-category-card:hover .plocal-category-link,
.plocal-category-card:focus-within .plocal-category-link {
    color: var(--category-accent);
}

.plocal-category-link:hover::after,
.plocal-category-link:focus-visible::after {
    transform: scaleX(1);
}

.plocal-category-link:hover i,
.plocal-category-link:focus-visible i {
    transform: translateX(5px);
}

/* ==========================================================
   VIEW ALL BUTTON
========================================================== */

.plocal-categories-footer {
    margin-top: clamp(36px, 4vw, 54px);
}

.plocal-categories .plocal-categories-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    min-height: 58px;
    padding: 15px 30px;
    border-radius: 50px;
}

.plocal-categories .plocal-categories-button i {
    font-size: 13px;
    transition: transform 0.3s ease;
}

.plocal-categories .plocal-categories-button:hover i {
    transform: translateX(4px);
}

/* ==========================================================
   MEDIUM DESKTOP
========================================================== */

@media (max-width: 1399px) {
    .plocal-categories-shell {
        padding-right: 30px;
        padding-left: 30px;
    }

    .plocal-category-card {
        min-height: 545px;
        padding: 28px;
    }

    .plocal-category-top {
        grid-template-columns: 76px minmax(0, 1fr);
        min-height: 150px;
    }

    .plocal-category-icon {
        width: 68px;
        height: 68px;
        font-size: 26px;
    }

    .plocal-category-visual,
    .plocal-category-visual img {
        height: 160px;
    }

    .plocal-category-visual img {
        max-width: 215px;
    }

    .plocal-category-card h3 {
        font-size: 25px;
    }
}

/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 991px) {
    .plocal-categories-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .plocal-category-card {
        min-height: 540px;
    }

    .plocal-category-card-food {
        grid-column: 1 / -1;
        width: 100%;
        max-width: calc(50% - 10px);
        justify-self: center;
    }
}

/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 767px) {
    .plocal-categories {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .plocal-categories-shell {
        padding-right: 16px;
        padding-left: 16px;
    }

    .plocal-categories-heading {
        margin-bottom: 38px;
    }

    .plocal-categories .site-title {
        font-size: var(--font-size-h2);
        letter-spacing: -1px;
    }

    .plocal-categories .plocal-section-intro {
        font-size: 15px;
    }

    .plocal-categories-grid {
        grid-template-columns: 1fr;
    }

    .plocal-category-card,
    .plocal-category-card-food {
        grid-column: auto;
        width: 100%;
        max-width: none;
        min-height: 520px;
    }

    .plocal-category-card p {
        min-height: auto;
    }
}

/* ==========================================================
   SMALL MOBILE
========================================================== */

@media (max-width: 480px) {
    .plocal-category-card {
        min-height: 500px;
        padding: 23px 20px;
        border-radius: 21px;
    }

    .plocal-category-top {
        grid-template-columns: 64px minmax(0, 1fr);
        min-height: 130px;
    }

    .plocal-category-icon {
        width: 58px;
        height: 58px;
        font-size: 23px;
        border-radius: 14px;
    }

    .plocal-category-visual,
    .plocal-category-visual img {
        height: 140px;
    }

    .plocal-category-visual img {
        max-width: 180px;
    }

    .plocal-category-card h3 {
        font-size: 24px;
    }

    .plocal-category-tags span {
        padding-right: 11px;
        padding-left: 11px;
        font-size: 11px;
    }
}

/* ==========================================================
   TOUCH DEVICES
========================================================== */

@media (hover: none) {
    .plocal-category-card {
        border-top-color: rgba(102, 112, 133, 0.5);
    }

    .plocal-category-visual img {
        opacity: 0.7;
        filter:
            grayscale(0.25)
            saturate(0.75)
            brightness(1);
        transform: translate3d(0, 3px, 0) scale(0.98);
    }
}

/* ==========================================================
   REDUCED MOTION
========================================================== */

@media (prefers-reduced-motion: reduce) {
    .plocal-category-card,
    .plocal-category-card-glow,
    .plocal-category-icon,
    .plocal-category-visual img,
    .plocal-category-card h3,
    .plocal-category-card p,
    .plocal-category-tags span,
    .plocal-category-link,
    .plocal-category-link i {
        transition: none;
    }
}

/* ============================================================
   PLOCAL PROSCORE PAGE — EVALUATION SYSTEM EXPLAINER
   ------------------------------------------------------------
   The .plocal-categories base rule (position/overflow/isolation/
   background) is shared with the homepage's real category grid —
   left untouched. Everything below is scoped to fresh class names.
   Stacking: ambient (z-index 1) < floating orbs (z-index 2) <
   content via .plocal-explainer-content (z-index 3).
   ============================================================ */

.plocal-explainer-ambient {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}
.plocal-explainer-paths {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.plocal-explainer-glow {
  position: absolute;
  width: 360px;
  height: 360px;
  background: radial-gradient(circle, var(--theme-bg-light), transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}
.plocal-explainer-glow--tl { top: -120px; left: -120px; }
.plocal-explainer-glow--br { right: -130px; bottom: -140px; }

.plocal-explainer-orb {
  position: absolute;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  background: var(--color-white);
  border: 1px solid var(--border-info-color2);
  border-radius: 50%;
  box-shadow: var(--box-shadow);
  color: var(--theme-color);
  font-size: 17px;
  animation: plocalPlatformFloat 5.5s ease-in-out infinite;
}
.plocal-explainer-orb--shield { top: 6%; left: 8%; }
.plocal-explainer-orb--pin    { top: 30%; left: 4%; animation-delay: .5s; }
.plocal-explainer-orb--search { top: 58%; left: 7%; animation-delay: 1s; }
.plocal-explainer-orb--lock   { top: 8%; right: 8%; animation-delay: .3s; }
.plocal-explainer-orb--store  { top: 32%; right: 4%; animation-delay: .8s; }
.plocal-explainer-orb--star   { top: 56%; right: 8%; animation-delay: 1.3s; }
.plocal-explainer-orb--chart  { top: 74%; right: 12%; animation-delay: 1.7s; }

.plocal-explainer-content { position: relative; z-index: 3; }

.plocal-explainer-top {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(270px, 1fr) minmax(340px, 1.25fr);
  gap: 36px;
  align-items: start;
}

/* Outlined eyebrow pill (overrides the default filled .site-title-tagline) */
.plocal-explainer-tagline {
  background: var(--color-white);
  border: 1.5px solid var(--theme-color);
  color: var(--theme-color);
}
.plocal-explainer-tagline i { border: 1.5px solid var(--theme-color); }

.plocal-explainer-heading {
  margin: 14px 0 18px;
  color: var(--color-dark);
  font-family: var(--heading-font);
  font-size: var(--font-size-h2);
  font-weight: 800;
  line-height: 1.15;
}
.plocal-explainer-heading span { color: var(--theme-color); }

.plocal-explainer-text {
  margin-bottom: 22px;
  color: var(--body-text-color);
  font-size: 15px;
  line-height: 1.75;
}
.plocal-explainer-text strong { color: var(--color-dark); }

/* Example business profile card */
.plocal-explainer-profile {
  position: relative;
  height: 140px;
  margin-bottom: 16px;
  background: var(--color-white);
  border: 1px solid var(--border-info-color2);
  border-radius: 16px;
  box-shadow: var(--box-shadow);
}
/* Cycles through one example business at a time (Construction & Home
   Services / Beauty & Personal Care / Restaurants & Food), matching
   the fade + slight-scale pattern used by the hero category slots. */
.plocal-explainer-profile-slide {
  position: absolute;
  inset: 0;
  display: flex;
  gap: 16px;
  padding: 16px;
  opacity: 0;
  transform: scale(.97) translateY(6px);
  transition: opacity .8s ease, transform .8s ease;
  pointer-events: none;
}
.plocal-explainer-profile-slide.is-active {
  opacity: 1;
  transform: scale(1) translateY(0);
  transition-duration: .8s;
}
.plocal-explainer-profile-slide.is-leaving {
  opacity: 0;
  transform: scale(.98) translateY(-6px);
  transition-duration: .7s;
}
.plocal-explainer-profile-media {
  position: relative;
  flex: 0 0 auto;
  width: 84px;
  height: 108px;
  border-radius: 12px;
  overflow: hidden;
}
.plocal-explainer-profile-media img { width: 100%; height: 100%; object-fit: cover; }
.plocal-explainer-profile-badge {
  position: absolute;
  top: -6px;
  left: -6px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  background: var(--theme-color);
  border: 2px solid var(--color-white);
  border-radius: 50%;
  color: var(--color-white);
  font-size: 11px;
}
.plocal-explainer-profile-info { flex: 1 1 auto; min-width: 0; }
.plocal-explainer-profile-info h3 { margin-bottom: 6px; font-size: 16px; color: var(--color-dark); }
.plocal-explainer-profile-info span {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 3px;
  color: var(--body-text-color);
  font-size: 12px;
}
.plocal-explainer-profile-info span i { color: var(--theme-color); font-size: 11px; }
.plocal-explainer-profile-score { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.plocal-explainer-profile-score-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px 10px;
  background: var(--theme-color);
  border-radius: 8px;
  color: var(--color-white);
  font-family: var(--heading-font);
  font-weight: 800;
  font-size: 14px;
}
.plocal-explainer-profile-score-tag {
  color: var(--theme-color);
  font-family: var(--heading-font);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}
.plocal-explainer-profile-stars { color: var(--theme-color); font-size: 10px; letter-spacing: 1px; }

.plocal-explainer-caption {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--body-text-color);
  font-size: 13px;
}
.plocal-explainer-caption i { color: var(--theme-color); }

/* Animated speedometer-style gauge */
.plocal-explainer-gauge-wrap { text-align: center; }
.plocal-explainer-gauge {
  position: relative;
  width: 100%;
  max-width: 280px;
  margin: 0 auto;
  aspect-ratio: 1 / 1;
}
.plocal-explainer-gauge-svg { width: 100%; height: 100%; }
.plocal-explainer-gauge-track {
  fill: none;
  stroke: var(--color-gray);
  stroke-width: 16;
  stroke-linecap: round;
}
.plocal-explainer-gauge-fill {
  fill: none;
  stroke-width: 16;
  stroke-linecap: round;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  transition: stroke-dashoffset 1.6s ease;
}
.plocal-explainer-gauge-stop-start { stop-color: var(--theme-color); }
.plocal-explainer-gauge-stop-end { stop-color: var(--theme-color2); }
.plocal-explainer-gauge-ticks line { stroke: var(--color-white); stroke-width: 2; opacity: .85; }
.plocal-explainer-gauge-marker {
  fill: var(--color-white);
  stroke: var(--theme-color);
  stroke-width: 4;
  filter: drop-shadow(0 0 6px color-mix(in srgb, var(--theme-color) 70%, transparent));
  animation: plocalGaugeMarkerPulse 2.2s ease-in-out infinite;
}
.plocal-explainer-gauge-label {
  fill: var(--body-text-color);
  font-family: var(--heading-font);
  font-size: 13px;
  font-weight: 600;
}
.plocal-explainer-gauge-center {
  position: absolute;
  inset: 22%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--color-white);
  border-radius: 50%;
  box-shadow: var(--box-shadow);
  text-align: center;
}
.plocal-explainer-gauge-brand {
  color: var(--theme-color);
  font-family: var(--heading-font);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  line-height: 1.4;
}
.plocal-explainer-gauge-value {
  font-family: var(--heading-font);
  font-size: clamp(38px, 5vw, 54px);
  font-weight: 800;
  line-height: 1;
  color: var(--color-dark);
}
.plocal-explainer-gauge-tag {
  margin-top: 2px;
  color: var(--theme-color);
  font-family: var(--heading-font);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
}
.plocal-explainer-gauge-sub { margin-top: 2px; color: var(--body-text-color); font-size: 11px; }
.plocal-explainer-gauge-stars { margin-top: 14px; color: var(--theme-color); font-size: 14px; letter-spacing: 3px; }
.plocal-explainer-gauge-caption { margin-top: 8px; color: var(--body-text-color); font-size: 13px; }

@keyframes plocalGaugeMarkerPulse {
  0%, 100% { r: 6; opacity: 1; }
  50% { r: 8; opacity: .75; }
}

/* 6-criteria breakdown panel */
.plocal-explainer-criteria-head {
  margin-bottom: 14px;
  color: var(--color-dark);
  font-family: var(--heading-font);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
}
.plocal-explainer-criteria-head span { color: var(--theme-color); }
.plocal-explainer-criteria-list { display: flex; flex-direction: column; gap: 10px; }
.plocal-explainer-criteria-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  background: var(--color-white);
  border: 1px solid var(--border-info-color2);
  border-radius: 14px;
  box-shadow: var(--box-shadow);
}
.plocal-explainer-criteria-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  background: var(--color-white);
  border: 1.5px solid var(--theme-color);
  border-radius: 50%;
  color: var(--theme-color);
  font-size: 15px;
}
.plocal-explainer-criteria-body { flex: 1 1 auto; min-width: 0; }
.plocal-explainer-criteria-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 8px;
}
.plocal-explainer-criteria-top h3 { margin-bottom: 2px; font-size: 14px; color: var(--color-dark); }
.plocal-explainer-criteria-top p { margin: 0; color: var(--body-text-color); font-size: 11.5px; line-height: 1.5; }
.plocal-explainer-criteria-pts {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  line-height: 1;
}
.plocal-explainer-criteria-pts strong { font-family: var(--heading-font); font-size: 19px; font-weight: 800; color: var(--color-dark); }
.plocal-explainer-criteria-pts small { color: var(--theme-color); font-size: 9px; font-weight: 700; text-transform: uppercase; }
.plocal-explainer-criteria-bar {
  height: 6px;
  border-radius: 50px;
  background: var(--color-gray);
  overflow: hidden;
}
.plocal-explainer-criteria-bar span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: 50px;
  background: linear-gradient(90deg, var(--theme-color2), var(--theme-color));
  transition: width 1s ease;
}
.plocal-explainer-criteria-list.plocal-inview .plocal-explainer-criteria-bar span { width: var(--bar-fill, 0%); }
.plocal-explainer-criteria-row:nth-child(2) .plocal-explainer-criteria-bar span { transition-delay: .08s; }
.plocal-explainer-criteria-row:nth-child(3) .plocal-explainer-criteria-bar span { transition-delay: .16s; }
.plocal-explainer-criteria-row:nth-child(4) .plocal-explainer-criteria-bar span { transition-delay: .24s; }
.plocal-explainer-criteria-row:nth-child(5) .plocal-explainer-criteria-bar span { transition-delay: .32s; }
.plocal-explainer-criteria-row:nth-child(6) .plocal-explainer-criteria-bar span { transition-delay: .4s; }

.plocal-explainer-criteria-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 14px;
  padding: 16px 20px;
  background: var(--color-dark);
  border-radius: 14px;
  color: var(--color-white);
  font-family: var(--heading-font);
  font-weight: 600;
  font-size: 14px;
}
.plocal-explainer-criteria-total i { margin-right: 8px; color: var(--theme-color); }
.plocal-explainer-criteria-total span { display: flex; align-items: baseline; gap: 4px; font-size: 20px; font-weight: 800; }
.plocal-explainer-criteria-total span small { font-size: 11px; font-weight: 600; color: var(--theme-color); text-transform: uppercase; }

/* 3 metric cards */
.plocal-explainer-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 40px;
}
.plocal-explainer-metric {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 22px 50px 20px 22px;
  background: var(--color-white);
  border: 1px solid var(--border-info-color2);
  border-radius: 16px;
  box-shadow: var(--box-shadow);
  transition: var(--transition2);
}
.plocal-explainer-metric:hover { transform: translateY(-5px); border-color: var(--theme-color); }
.plocal-explainer-metric-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-bottom: 12px;
  background: var(--color-dark);
  border-radius: 50%;
  color: var(--color-white);
  font-size: 17px;
}
.plocal-explainer-metric-icon--text { font-family: var(--heading-font); font-size: 13px; font-weight: 800; }
.plocal-explainer-metric-value { font-family: var(--heading-font); font-size: 26px; font-weight: 800; color: var(--color-dark); }
.plocal-explainer-metric-value--accent { color: var(--theme-color); font-size: 20px; }
.plocal-explainer-metric-label {
  margin-top: 4px;
  color: var(--color-dark);
  font-family: var(--heading-font);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
}
.plocal-explainer-metric-desc { margin-top: 4px; color: var(--body-text-color); font-size: 12.5px; }
.plocal-explainer-metric-arrow {
  position: absolute;
  top: 22px;
  right: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  background: var(--theme-bg-light);
  border-radius: 50%;
  color: var(--theme-color);
  font-size: 12px;
  transition: var(--transition2);
}
.plocal-explainer-metric:hover .plocal-explainer-metric-arrow { background: var(--theme-color); color: var(--color-white); }

/* Bottom trust strip */
.plocal-explainer-trust {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
  margin-top: 24px;
  padding: 20px 26px;
  background: var(--theme-bg-light);
  border-radius: 50px;
}
.plocal-explainer-trust-item {
  position: relative;
  padding-right: 18px;
  color: var(--color-dark);
  font-family: var(--heading-font);
  font-size: 13px;
  font-weight: 600;
}
.plocal-explainer-trust-item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 1px;
  height: 16px;
  background: var(--border-info-color);
  transform: translateY(-50%);
}
.plocal-explainer-trust-item i { margin-right: 6px; color: var(--theme-color); }
.plocal-explainer-trust-item--lock {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  padding-right: 0;
}
.plocal-explainer-trust-item--lock::after { display: none; }
.plocal-explainer-trust-item--lock i {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  margin-right: 0;
  background: var(--color-white);
  border-radius: 50%;
}
.plocal-explainer-trust-item--lock strong { color: var(--theme-color); }

@media (max-width: 1199px) {
  .plocal-explainer-top { grid-template-columns: 1fr 1fr; }
  .plocal-explainer-criteria { grid-column: span 2; }
}

@media (max-width: 991px) {
  .plocal-explainer-ambient { display: none; }
  .plocal-explainer-top { grid-template-columns: 1fr; }
  .plocal-explainer-criteria { grid-column: auto; }
  .plocal-explainer-metrics { grid-template-columns: 1fr; }
  .plocal-explainer-trust { border-radius: 20px; justify-content: center; }
  .plocal-explainer-trust-item--lock { margin-left: 0; }
}

@media (max-width: 767px) {
  .plocal-explainer-profile { flex-direction: column; }
  .plocal-explainer-profile-media { width: 100%; height: 160px; }
  .plocal-explainer-trust-item { padding-right: 0; }
  .plocal-explainer-trust-item::after { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .plocal-explainer-orb { animation: none; }
  .plocal-explainer-gauge-marker { animation: none; }
  .plocal-explainer-gauge-fill,
  .plocal-explainer-criteria-bar span { transition: none; }
  .plocal-path-node { display: none; }
  .plocal-explainer-profile-slide { transition: none; }
  .plocal-explainer-profile-slide.is-active { opacity: 1; transform: none; }
  .plocal-explainer-profile-slide:not(.is-active) { display: none; }
}

/* =========================================================
   PLOCAL
   DALLAS PLUMBING — EVALUATED SERVICES CAROUSEL

   IMPORTANT:
   - White section background
   - Only ONE slide visible while idle
   - Next slide enters from the right
   - Current slide exits to the left
   - No neighboring slide peeking
========================================================= */


/* =========================================================
   SECTION
========================================================= */

.plocal-plumbing-showcase {
    position: relative;
    isolation: isolate;

    overflow: hidden;

    padding: 110px 0 95px;

    background: var(--color-white);
}


/* =========================================================
   BACKGROUND DECORATIONS
========================================================= */

.plocal-plumbing-showcase__orbit {
    position: absolute;

    top: 42%;
    left: -190px;

    width: 460px;
    height: 460px;

    border: 1px solid rgba(36, 189, 199, 0.13);
    border-radius: 50%;

    pointer-events: none;
}


.plocal-plumbing-showcase__orbit::before,
.plocal-plumbing-showcase__orbit::after {
    content: "";

    position: absolute;

    border: 1px solid rgba(36, 189, 199, 0.08);
    border-radius: inherit;
}


.plocal-plumbing-showcase__orbit::before {
    inset: 55px;
}


.plocal-plumbing-showcase__orbit::after {
    inset: 110px;
}


.plocal-plumbing-showcase__dots {
    position: absolute;

    width: 105px;
    height: 105px;

    opacity: 0.18;

    background-image:
        radial-gradient(
            circle,
            var(--theme-color) 1.6px,
            transparent 1.8px
        );

    background-size: 13px 13px;

    pointer-events: none;
}


.plocal-plumbing-showcase__dots--top {
    top: 65px;
    right: 6%;
}


.plocal-plumbing-showcase__dots--bottom {
    left: 7%;
    bottom: 85px;
}


/* =========================================================
   SECTION HEADER
========================================================= */

.plocal-plumbing-showcase__header {
    position: relative;
    z-index: 2;

    max-width: 850px;

    margin: 0 auto 52px;

    text-align: center;
}


.plocal-plumbing-showcase__eyebrow {
    display: inline-flex;
    align-items: center;

    gap: 12px;

    margin-bottom: 14px;

    color: var(--theme-color);

    font-family: var(--body-font);
    font-size: 11px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: 0.15em;
}


.plocal-plumbing-showcase__eyebrow-line {
    width: 34px;
    height: 1px;

    background: var(--theme-color);
}


.plocal-plumbing-showcase__title {
    margin: 0;

    color: var(--color-dark);

    font-family: var(--heading-font);
    font-size: var(--font-size-h2);
    font-weight: var(--heading-weight);

    line-height: var(--heading-line-height);
    letter-spacing: var(--heading-letter-spacing);
}


.plocal-plumbing-showcase__title span {
    color: var(--theme-color);
}


.plocal-plumbing-showcase__intro {
    max-width: 720px;

    margin: 18px auto 0;

    color: var(--body-text-color);

    font-family: var(--body-font);
    font-size: 16px;

    line-height: 1.75;
}


/* =========================================================
   CAROUSEL WRAPPER
========================================================= */

.plocal-plumbing-carousel {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1240px;

    margin: 0 auto;
}


/* =========================================================
   VIEWPORT

   THIS IS THE IMPORTANT PART.
   Nothing outside the active slide area can appear.
========================================================= */

.plocal-plumbing-carousel__viewport {
    position: relative;

    width: 100%;
    max-width: 100%;

    overflow: hidden !important;

    padding:
        15px
        12px
        36px;

    box-sizing: border-box;

    isolation: isolate;

    touch-action: pan-y;
}


/* =========================================================
   TRACK

   Slides are NOT placed side-by-side anymore.

   They all occupy the same grid position.
========================================================= */

.plocal-plumbing-carousel__track {
    position: relative;

    display: grid;

    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;

    width: 100%;
    max-width: 100%;

    margin: 0;
    padding: 0;

    box-sizing: border-box;

    /*
       IMPORTANT:
       No flex.
       No translateX on this element.
    */
    transform: none !important;
}


/* =========================================================
   CAROUSEL SLIDE MOVEMENT
   CLEAN HORIZONTAL TRANSLATION

   - No fade
   - No scale
   - No zoom
   - Pure horizontal movement
========================================================= */

.plocal-plumbing-slide {
    position: relative;

    grid-column: 1;
    grid-row: 1;

    width: 100%;
    min-width: 0;
    max-width: 100%;

    margin: 0;
    padding: 0 4px;

    box-sizing: border-box;

    /*
     * Hidden slides stay outside the viewport.
     * They do NOT fade.
     */
    visibility: hidden;

    pointer-events: none;

    transform: translate3d(100%, 0, 0);

    /*
     * Important:
     * Only transform is animated.
     */
    transition:
        transform 1.05s
        cubic-bezier(0.22, 0.61, 0.36, 1);

    will-change: transform;

    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}


/* =========================================================
   ACTIVE SLIDE
   Perfectly centered
========================================================= */

.plocal-plumbing-slide.is-active {
    z-index: 3;

    visibility: visible;

    pointer-events: auto;

    transform: translate3d(0, 0, 0);

    transition:
        transform 1.05s
        cubic-bezier(0.22, 0.61, 0.36, 1);
}


/* =========================================================
   NEXT SLIDE
   Starts completely outside on the right
========================================================= */

.plocal-plumbing-slide.is-entering {
    z-index: 4;

    visibility: visible;

    pointer-events: none;

    transform: translate3d(100%, 0, 0);

    /*
     * No transition here.
     * JS first positions it on the right.
     */
    transition: none;
}


/* =========================================================
   CURRENT SLIDE
   Moves naturally toward the left
========================================================= */

.plocal-plumbing-slide.is-leaving-left {
    z-index: 3;

    visibility: visible;

    pointer-events: none;

    transform: translate3d(-100%, 0, 0);

    transition:
        transform 1.05s
        cubic-bezier(0.22, 0.61, 0.36, 1);
}


/* =========================================================
   PREVIOUS SLIDE
   Starts completely outside on the left
========================================================= */

.plocal-plumbing-slide.is-entering-left {
    z-index: 4;

    visibility: visible;

    pointer-events: none;

    transform: translate3d(-100%, 0, 0);

    transition: none;
}


/* =========================================================
   CURRENT SLIDE
   Moves right when pressing previous
========================================================= */

.plocal-plumbing-slide.is-leaving-right {
    z-index: 3;

    visibility: visible;

    pointer-events: none;

    transform: translate3d(100%, 0, 0);

    transition:
        transform 1.05s
        cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* =========================================================
   CAROUSEL INNER CONTENT
   The entire slide moves as one solid composition.
========================================================= */

.plocal-plumbing-slide__media,
.plocal-plumbing-slide__card,
.plocal-plumbing-slide__evaluation {
    animation: none !important;
}
/* =========================================================
   SLIDE STAGE
========================================================= */

.plocal-plumbing-slide__stage {
    position: relative;

    display: grid;

    grid-template-columns:
        minmax(0, 1.08fr)
        minmax(420px, 0.92fr);

    align-items: start;

    width: 100%;
    max-width: 100%;

    min-height: 660px;

    padding:
        18px
        0
        120px;

    box-sizing: border-box;
}


/* =========================================================
   IMAGE AREA
========================================================= */

.plocal-plumbing-slide__media {
    position: relative;
    isolation: isolate;

    z-index: 1;

    min-width: 0;
    min-height: 520px;

    overflow: hidden;

    border-radius: 26px;

    background: var(--color-gray);

    box-shadow: var(--box-shadow2);
}


.plocal-plumbing-slide__image {
    position: absolute;
    inset: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform 0.8s ease;
}


.plocal-plumbing-slide.is-active:hover
.plocal-plumbing-slide__image {
    transform: scale(1.025);
}


/* Dark fade for location */

.plocal-plumbing-slide__media::after {
    content: "";

    position: absolute;
    inset: 0;

    z-index: 1;

    background:
        linear-gradient(
            180deg,
            rgba(8, 29, 77, 0.01) 38%,
            rgba(8, 29, 77, 0.38) 100%
        );

    pointer-events: none;
}


/* =========================================================
   PLOCAL IMAGE BADGE
========================================================= */

.plocal-plumbing-slide__image-badge {
    position: absolute;

    top: 26px;
    left: 26px;

    z-index: 3;

    display: flex;
    align-items: center;

    gap: 12px;

    padding: 13px 16px;

    border-radius: 15px;

    background: var(--theme-color2);

    box-shadow: var(--box-shadow2);
}


.plocal-plumbing-slide__badge-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 auto;

    width: 38px;
    height: 38px;

    border-radius: 50%;

    background: var(--slider-arrow-bg);

    color: var(--theme-color);
}


.plocal-plumbing-slide__image-badge > span:last-child {
    display: flex;
    flex-direction: column;

    gap: 2px;
}


.plocal-plumbing-slide__image-badge strong {
    color: var(--color-white);

    font-family: var(--heading-font);
    font-size: 12px;
    font-weight: 700;
}


.plocal-plumbing-slide__image-badge small {
    color: var(--footer-text-color);

    font-family: var(--body-font);
    font-size: 9px;
}


/* =========================================================
   LOCATION ON IMAGE
========================================================= */

.plocal-plumbing-slide__location {
    position: absolute;

    left: 28px;
    bottom: 25px;

    z-index: 3;

    display: inline-flex;
    align-items: center;

    gap: 10px;

    color: var(--color-white);

    font-family: var(--body-font);
    font-size: 11px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: 0.08em;
}


.plocal-plumbing-slide__location i {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 auto;

    width: 38px;
    height: 38px;

    border-radius: 50%;

    background: var(--theme-color);

    color: var(--color-white);

    font-size: 13px;
}


/* =========================================================
   WHITE INFORMATION CARD
========================================================= */

.plocal-plumbing-slide__card {
    position: relative;
    z-index: 2;

    min-width: 0;
    min-height: 480px;

    margin:
        62px
        0
        0
        -78px;

    padding:
        48px
        48px
        105px;

    border: 1px solid var(--border-info-color2);
    border-radius: 26px;

    background: var(--color-white);

    box-shadow: var(--box-shadow2);

    box-sizing: border-box;
}


/* =========================================================
   CARD KICKER
========================================================= */

.plocal-plumbing-slide__kicker {
    display: block;

    margin-bottom: 18px;

    color: var(--theme-color);

    font-family: var(--body-font);
    font-size: 10px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: 0.15em;
}


/* =========================================================
   CARD TITLE
========================================================= */

.plocal-plumbing-slide__card h3 {
    max-width: 520px;

    margin: 0;

    color: var(--color-dark);

    font-family: var(--heading-font);
    font-size: clamp(30px, 3vw, 46px);
    font-weight: var(--heading-weight);

    line-height: 1.08;
    letter-spacing: var(--heading-letter-spacing);
}


.plocal-plumbing-slide__card h3 span {
    color: var(--theme-color);
}


/* =========================================================
   TITLE ACCENT
========================================================= */

.plocal-plumbing-slide__title-line {
    display: block;

    width: 58px;
    height: 2px;

    margin: 19px 0 20px;

    background: var(--theme-color);
}


/* =========================================================
   DESCRIPTION
========================================================= */

.plocal-plumbing-slide__description {
    max-width: 540px;

    margin: 0;

    color: var(--body-text-color);

    font-family: var(--body-font);
    font-size: 15px;

    line-height: 1.75;
}


/* =========================================================
   SERVICES GRID
========================================================= */

.plocal-plumbing-slide__services {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    margin-top: 36px;

    padding-top: 28px;

    border-top:
        1px solid
        var(--border-info-color2);
}


.plocal-plumbing-service {
    position: relative;

    min-width: 0;

    padding: 0 15px;

    text-align: center;

    box-sizing: border-box;
}


.plocal-plumbing-service:first-child {
    padding-left: 0;
}


.plocal-plumbing-service:last-child {
    padding-right: 0;
}


.plocal-plumbing-service:not(:last-child)::after {
    content: "";

    position: absolute;

    top: 5px;
    right: 0;

    width: 1px;
    height: 92%;

    background:
        var(--border-info-color);
}


/* =========================================================
   SERVICE ICON
========================================================= */

.plocal-plumbing-service__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;

    margin-bottom: 12px;

    border-radius: 50%;

    background: var(--theme-bg-light);

    color: var(--theme-color);

    font-size: 18px;
}


.plocal-plumbing-service strong {
    display: block;

    margin-bottom: 6px;

    color: var(--color-dark);

    font-family: var(--heading-font);
    font-size: 11px;
    font-weight: 700;

    line-height: 1.3;
}


.plocal-plumbing-service small {
    display: block;

    color: var(--body-text-color);

    font-family: var(--body-font);
    font-size: 9px;

    line-height: 1.5;
}


/* =========================================================
   BLUE PLOCAL EVALUATION CTA
========================================================= */

.plocal-plumbing-slide__evaluation {
    position: absolute;

    right: 0;
    bottom: 30px;

    z-index: 5;

    display: grid;

    grid-template-columns:
        minmax(220px, 0.9fr)
        minmax(250px, 1.1fr)
        minmax(245px, 0.9fr);

    align-items: center;

    width: 72%;

    min-height: 140px;

    padding: 25px 28px;

    border: 1px solid var(--border-white-color);
    border-radius: 20px;

    background:
        linear-gradient(
            135deg,
            var(--color-dark),
            var(--theme-color2)
        );

    box-shadow: var(--box-shadow2);

    box-sizing: border-box;
}


/* =========================================================
   SCORE AREA
========================================================= */

.plocal-plumbing-evaluation__score {
    display: flex;
    align-items: center;

    gap: 15px;

    min-width: 0;
}


.plocal-plumbing-evaluation__ring {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 auto;

    width: 68px;
    height: 68px;

    border: 2px solid var(--theme-color);
    border-radius: 50%;

    background:
        rgba(255, 255, 255, 0.05);

    box-shadow:
        inset 0 0 0 6px
        rgba(36, 189, 199, 0.07);
}


.plocal-plumbing-evaluation__ring strong {
    color: var(--theme-color);

    font-family: var(--heading-font);
    font-size: 21px;
    font-weight: 700;
}


.plocal-plumbing-evaluation__score-copy {
    display: flex;
    flex-direction: column;

    gap: 4px;
}


.plocal-plumbing-evaluation__score-copy strong {
    color: var(--color-white);

    font-family: var(--heading-font);
    font-size: 13px;
    font-weight: 700;
}


.plocal-plumbing-evaluation__score-copy small {
    color: var(--footer-text-color);

    font-family: var(--body-font);
    font-size: 9px;

    line-height: 1.4;
}


/* =========================================================
   EVALUATION SIGNALS
========================================================= */

.plocal-plumbing-evaluation__signals {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    align-items: center;

    gap: 0;

    min-width: 0;

    padding:
        0
        24px;

    border-left:
        1px solid
        var(--border-white-color);

    border-right:
        1px solid
        var(--border-white-color);
}


/* Each evaluation signal */

.plocal-plumbing-evaluation__signals span {
    position: relative;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 7px;

    min-width: 0;

    padding:
        4px
        14px;

    color: var(--footer-text-color);

    font-family: var(--body-font);
    font-size: 9px;
    font-weight: 500;

    line-height: 1.35;
    text-align: center;
}


/* Vertical divider between signals */

.plocal-plumbing-evaluation__signals span:not(:last-child)::after {
    content: "";

    position: absolute;

    top: 50%;
    right: 0;

    width: 1px;
    height: 42px;

    background:
        var(--border-white-color);

    transform:
        translateY(-50%);
}


/* Check icon */

.plocal-plumbing-evaluation__signals i {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 28px;
    height: 28px;

    border-radius: 50%;

    background:
        rgba(36, 189, 199, 0.10);

    color: var(--theme-color);

    font-size: 11px;
}

.plocal-plumbing-evaluation__signals span {
    display: flex;
    align-items: center;

    gap: 8px;

    color: var(--footer-text-color);

    font-family: var(--body-font);
    font-size: 10px;
}


.plocal-plumbing-evaluation__signals i {
    flex: 0 0 auto;

    color: var(--theme-color);
}


/* =========================================================
   EVALUATION CTA
   CLEAN — NO POSITION MOVEMENT
========================================================= */

.plocal-plumbing-evaluation__cta {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 15px;

    min-width: 0;
    min-height: 66px;

    margin-left: 26px;

    padding:
        13px
        18px;

    border-radius: 14px;

    background: var(--theme-color);

    color: var(--color-dark);

    /*
     * Important:
     * Do NOT animate transform on this CTA.
     */
    transform: none;

    transition:
        background-color 0.3s ease,
        color 0.3s ease,
        box-shadow 0.3s ease;
}


.plocal-plumbing-evaluation__cta > span {
    display: flex;
    flex-direction: column;

    min-width: 0;

    gap: 3px;
}


.plocal-plumbing-evaluation__cta strong {
    color: inherit;

    font-family: var(--heading-font);
    font-size: 12px;
    font-weight: 700;

    line-height: 1.35;
}


.plocal-plumbing-evaluation__cta small {
    color: var(--theme-color2);

    font-family: var(--body-font);
    font-size: 9px;
}


.plocal-plumbing-evaluation__cta > i {
    flex: 0 0 auto;

    font-size: 14px;

    /*
     * Only the arrow moves.
     * The button itself stays completely still.
     */
    transition:
        transform 0.3s
        cubic-bezier(0.22, 0.61, 0.36, 1);
}


.plocal-plumbing-evaluation__cta:hover {
    background: var(--color-white);

    color: var(--theme-color2);

    /*
     * NO translateY
     */
    transform: none;

    box-shadow:
        0 8px 22px
        rgba(8, 29, 77, 0.14);
}


.plocal-plumbing-evaluation__cta:hover > i {
    transform: translateX(4px);
}

/* =========================================================
   CAROUSEL CONTROLS
========================================================= */

.plocal-plumbing-carousel__controls {
    position: relative;
    z-index: 10;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 16px;

    margin-top: 8px;
}


/* =========================================================
   ARROWS
========================================================= */

.plocal-plumbing-carousel__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 auto;

    width: 44px;
    height: 44px;

    padding: 0;

    border: 1px solid var(--border-info-color);
    border-radius: 50%;

    background: var(--color-white);

    color: var(--theme-color2);

    box-shadow: var(--box-shadow);

    cursor: pointer;

    transition: var(--transition2);
}


.plocal-plumbing-carousel__arrow:hover {
    border-color: var(--theme-color);

    background: var(--theme-color);

    color: var(--color-white);

    transform: translateY(-2px);
}


/* =========================================================
   DOTS
========================================================= */

.plocal-plumbing-carousel__dots {
    display: flex;
    align-items: center;

    gap: 8px;
}


.plocal-plumbing-carousel__dot {
    display: block;

    width: 8px;
    height: 8px;

    min-width: 8px;

    margin: 0;
    padding: 0;

    border: 0;
    border-radius: 999px;

    background: var(--color-gray);

    cursor: pointer;

    transition: var(--transition2);
}


.plocal-plumbing-carousel__dot.is-active {
    width: 30px;

    background: var(--theme-color);
}


/* =========================================================
   COUNTER
========================================================= */

.plocal-plumbing-carousel__counter {
    display: flex;
    align-items: baseline;

    gap: 4px;

    min-width: 48px;

    color: var(--body-text-color);

    font-family: var(--body-font);
    font-size: 10px;
}


.plocal-plumbing-carousel__counter strong {
    color: var(--theme-color2);

    font-family: var(--heading-font);
    font-size: 14px;
    font-weight: 700;
}


/* =========================================================
   LAPTOP — 1199px
========================================================= */

@media (max-width: 1199px) {

    .plocal-plumbing-showcase {
        padding:
            95px
            0
            85px;
    }


    .plocal-plumbing-slide__stage {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(380px, 0.9fr);
    }


    .plocal-plumbing-slide__card {
        margin-left: -55px;

        padding:
            42px
            38px
            110px;
    }


    .plocal-plumbing-slide__evaluation {
        width: 78%;

        grid-template-columns:
            minmax(190px, 0.8fr)
            minmax(230px, 1fr)
            minmax(220px, 0.9fr);
    }


    .plocal-plumbing-evaluation__signals {
        padding:
            0
            20px;
    }


    .plocal-plumbing-evaluation__cta {
        margin-left: 20px;
    }

}


/* =========================================================
   TABLET — 991px
========================================================= */

@media (max-width: 991px) {

    .plocal-plumbing-showcase {
        padding:
            85px
            0
            75px;
    }


    .plocal-plumbing-showcase__header {
        margin-bottom: 42px;
    }


    .plocal-plumbing-slide__stage {
        display: block;

        min-height: 0;

        padding-bottom: 0;
    }


    .plocal-plumbing-slide__media {
        min-height: 500px;

        margin:
            0
            20px;
    }


    .plocal-plumbing-slide__card {
        min-height: 0;

        margin:
            -55px
            0
            0
            70px;

        padding:
            55px
            40px
            75px;
    }


    .plocal-plumbing-slide__evaluation {
        position: relative;

        right: auto;
        bottom: auto;

        width: calc(100% - 80px);

        margin:
            -28px
            40px
            0;

        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1.2fr);

        padding:
            24px;
    }


    .plocal-plumbing-evaluation__signals {
        border-right: 0;
    }


    .plocal-plumbing-evaluation__cta {
        grid-column: 1 / -1;

        justify-content: center;

        margin:
            20px
            0
            0;
    }

}


/* =========================================================
   MOBILE — 767px
========================================================= */

@media (max-width: 767px) {

    .plocal-plumbing-showcase {
        padding:
            70px
            0
            65px;
    }


    .plocal-plumbing-showcase__header {
        margin-bottom: 35px;
    }


    .plocal-plumbing-showcase__intro {
        font-size: 14px;
    }


    .plocal-plumbing-showcase__orbit {
        display: none;
    }


    .plocal-plumbing-carousel__viewport {
        padding:
            8px
            0
            28px;
    }


    .plocal-plumbing-slide {
        padding: 0;
    }


    .plocal-plumbing-slide__media {
        min-height: 390px;

        margin: 0;

        border-radius: 20px;
    }


    .plocal-plumbing-slide__image-badge {
        top: 16px;
        left: 16px;

        padding:
            10px
            12px;
    }


    .plocal-plumbing-slide__location {
        left: 18px;
        bottom: 18px;
    }


    .plocal-plumbing-slide__card {
        margin:
            -35px
            12px
            0;

        padding:
            45px
            22px
            55px;

        border-radius: 20px;
    }


    .plocal-plumbing-slide__card h3 {
        font-size: 31px;
    }


    .plocal-plumbing-slide__services {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        row-gap: 28px;
    }


    .plocal-plumbing-service:nth-child(2)::after {
        display: none;
    }


    .plocal-plumbing-slide__evaluation {
        width: calc(100% - 24px);

        margin:
            -24px
            12px
            0;

        grid-template-columns: 1fr;

        padding: 22px;

        border-radius: 18px;
    }


    .plocal-plumbing-evaluation__signals {
        margin-top: 20px;

        padding:
            18px
            0
            0;

        border: 0;

        border-top:
            1px solid
            var(--border-white-color);
    }


    .plocal-plumbing-evaluation__cta {
        margin:
            20px
            0
            0;
    }


    .plocal-plumbing-carousel__controls {
        margin-top: 5px;
    }

}


/* =========================================================
   SMALL MOBILE — 480px
========================================================= */

@media (max-width: 480px) {

    .plocal-plumbing-showcase {
        padding:
            60px
            0;
    }


    .plocal-plumbing-slide__media {
        min-height: 335px;
    }


    .plocal-plumbing-slide__image-badge small {
        display: none;
    }


    .plocal-plumbing-slide__services {
        grid-template-columns: 1fr;

        gap: 20px;
    }


    .plocal-plumbing-service {
        display: grid;

        grid-template-columns:
            46px
            minmax(0, 1fr);

        column-gap: 12px;

        padding:
            0
            0
            18px;

        text-align: left;

        border-bottom:
            1px solid
            var(--border-info-color2);
    }


    .plocal-plumbing-service:last-child {
        padding-bottom: 0;

        border-bottom: 0;
    }


    .plocal-plumbing-service__icon {
        grid-row: 1 / 3;

        margin: 0;
    }


    .plocal-plumbing-service:not(:last-child)::after {
        display: none;
    }


    .plocal-plumbing-evaluation__score {
        align-items: flex-start;
    }


    .plocal-plumbing-evaluation__ring {
        width: 60px;
        height: 60px;
    }


    .plocal-plumbing-carousel__arrow {
        width: 40px;
        height: 40px;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .plocal-plumbing-slide,
    .plocal-plumbing-slide.is-active,
    .plocal-plumbing-slide.is-entering,
    .plocal-plumbing-slide.is-entering-left,
    .plocal-plumbing-slide.is-leaving-left,
    .plocal-plumbing-slide.is-leaving-right {
        transition: none !important;
    }


    .plocal-plumbing-slide__image,
    .plocal-plumbing-carousel__arrow,
    .plocal-plumbing-evaluation__cta {
        transition: none !important;
    }


    .plocal-plumbing-slide.is-active
    .plocal-plumbing-slide__media,

    .plocal-plumbing-slide.is-active
    .plocal-plumbing-slide__card,

    .plocal-plumbing-slide.is-active
    .plocal-plumbing-slide__evaluation {
        animation: none !important;
    }


    .plocal-plumbing-slide.is-active:hover
    .plocal-plumbing-slide__image {
        transform: none;
    }

}
/* =========================================================
   SLIDE CONTENT SAFETY
========================================================= */

.plocal-plumbing-slide__stage {
    position: relative;

    width: 100%;
    max-width: 100%;

    box-sizing: border-box;
}


/* Prevent image/card content from affecting neighbour slides */

.plocal-plumbing-slide__media,
.plocal-plumbing-slide__card,
.plocal-plumbing-slide__evaluation {
    box-sizing: border-box;
}


/* Important because the white information card overlaps image */

.plocal-plumbing-slide__card {
    max-width: calc(100% + 78px);
}

.plocal-plumbing-carousel__track {
    position: relative;

    display: grid;

    grid-template-columns: minmax(0, 1fr);

    width: 100%;
    max-width: 100%;

    min-height: 660px;

    transform: none !important;
}

  /* =========================================================
   PLOCAL — FEATURED DALLAS PLUMBING SERVICES
========================================================= */

.plocal-featured-services {
    position: relative;
    isolation: isolate;

    overflow: hidden;

    padding: 110px 0;

    background: var(--color-white);
}


/* =========================================================
   DECORATIVE BACKGROUND
========================================================= */

.plocal-featured-services__orbit {
    position: absolute;

    top: -330px;
    right: -190px;

    width: 680px;
    height: 680px;

    border: 1px solid rgba(36, 189, 199, 0.18);
    border-radius: 50%;

    pointer-events: none;
}


.plocal-featured-services__orbit::before {
    content: "";

    position: absolute;

    inset: 105px;

    border: 1px solid rgba(36, 189, 199, 0.08);
    border-radius: inherit;
}


.plocal-featured-services__cross {
    position: absolute;

    top: 80px;
    right: 13%;

    width: 250px;
    height: 250px;

    opacity: 0.4;

    pointer-events: none;
}


.plocal-featured-services__cross::before,
.plocal-featured-services__cross::after {
    content: "";

    position: absolute;

    background: var(--border-info-color);
}


.plocal-featured-services__cross::before {
    top: 50%;
    left: 0;

    width: 100%;
    height: 1px;
}


.plocal-featured-services__cross::after {
    top: 0;
    left: 50%;

    width: 1px;
    height: 100%;
}


.plocal-featured-services__dots {
    position: absolute;

    width: 120px;
    height: 120px;

    opacity: 0.18;

    background-image:
        radial-gradient(
            circle,
            var(--theme-color) 1.6px,
            transparent 1.8px
        );

    background-size: 14px 14px;

    pointer-events: none;
}


.plocal-featured-services__dots--top {
    top: 30px;
    right: 4%;
}


.plocal-featured-services__dots--bottom {
    bottom: 45px;
    left: 2%;
}


/* =========================================================
   HEADER
========================================================= */

.plocal-featured-services__header {
    position: relative;
    z-index: 2;

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(370px, 0.72fr);

    align-items: end;

    gap: 70px;

    margin-bottom: 58px;
}


/* =========================================================
   HEADING
========================================================= */

.plocal-featured-services__eyebrow {
    display: inline-flex;
    align-items: center;

    gap: 12px;

    margin-bottom: 17px;

    color: var(--theme-color);

    font-family: var(--body-font);
    font-size: 11px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: 0.14em;
}


.plocal-featured-services__eyebrow-line {
    width: 40px;
    height: 2px;

    background: var(--theme-color);
}


.plocal-featured-services__heading h2 {
    max-width: 620px;

    margin: 0;

    color: var(--theme-color2);

    font-family: var(--heading-font);
    font-size: var(--font-size-h2);
    font-weight: var(--heading-weight);

    line-height: 1.05;
    letter-spacing: var(--heading-letter-spacing);
}


.plocal-featured-services__heading h2 span {
    display: block;
}


.plocal-featured-services__heading-line {
    display: block;

    width: 60px;
    height: 2px;

    margin: 20px 0;

    background: var(--theme-color);
}


.plocal-featured-services__heading p {
    max-width: 620px;

    margin: 0;

    color: var(--body-text-color);

    font-family: var(--body-font);
    font-size: 15px;

    line-height: 1.7;
}


/* =========================================================
   HEADER SIDE
========================================================= */

.plocal-featured-services__header-side {
    display: flex;
    flex-direction: column;
    align-items: flex-end;

    gap: 28px;
}


/* =========================================================
   LOCATION CARD
========================================================= */

.plocal-featured-services__location-card {
    display: flex;
    align-items: center;

    gap: 13px;

    min-width: 250px;

    padding: 16px 22px;

    border: 1px solid var(--border-info-color);
    border-radius: 14px;

    background:
        rgba(255, 255, 255, 0.9);

    box-shadow: var(--box-shadow);
}


.plocal-featured-services__location-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    flex: 0 0 auto;

    border-radius: 50%;

    background: var(--theme-bg-light);

    color: var(--theme-color);
}


.plocal-featured-services__location-card > span:last-child {
    display: flex;
    flex-direction: column;

    gap: 3px;
}


.plocal-featured-services__location-card strong {
    color: var(--theme-color);

    font-family: var(--heading-font);
    font-size: 13px;
    font-weight: 700;

    text-transform: uppercase;
}


.plocal-featured-services__location-card small {
    color: var(--body-text-color);

    font-family: var(--body-font);
    font-size: 9px;

    text-transform: uppercase;
}


/* =========================================================
   SMALL SIGNAL CARDS
========================================================= */

.plocal-featured-services__signals {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    width: 100%;
    max-width: 390px;
}


.plocal-featured-services__signal {
    display: flex;
    align-items: center;

    gap: 11px;

    min-height: 72px;

    padding: 12px 16px;

    border: 1px solid var(--border-info-color2);

    background: var(--color-white);
}


.plocal-featured-services__signal:first-child {
    border-radius: 12px 0 0 12px;
}


.plocal-featured-services__signal:last-child {
    border-radius: 0 12px 12px 0;

    border-left: 0;
}


.plocal-featured-services__signal > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 auto;

    width: 40px;
    height: 40px;

    border-radius: 50%;

    background: var(--theme-bg-light);

    color: var(--theme-color);

    font-size: 17px;
}


.plocal-featured-services__signal > div {
    display: flex;
    flex-direction: column;

    gap: 3px;
}


.plocal-featured-services__signal strong {
    color: var(--theme-color2);

    font-family: var(--heading-font);
    font-size: 10px;
    font-weight: 700;

    text-transform: uppercase;
}


.plocal-featured-services__signal small {
    color: var(--body-text-color);

    font-family: var(--body-font);
    font-size: 9px;
}


/* =========================================================
   SERVICE GRID
========================================================= */

.plocal-featured-services__grid {
    position: relative;
    z-index: 3;

    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 28px 30px;
}


/* =========================================================
   CARD
========================================================= */

.plocal-service-card {
    position: relative;

    overflow: hidden;

    min-width: 0;

    border:
        1px solid
        var(--border-info-color);

    border-radius: 17px;

    background: var(--color-white);

    box-shadow:
        0 8px 28px
        rgba(12, 44, 122, 0.08);

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease,
        border-color 0.35s ease;
}


.plocal-service-card:hover {
    border-color:
        rgba(36, 189, 199, 0.35);

    box-shadow:
        0 18px 42px
        rgba(12, 44, 122, 0.13);

    transform:
        translateY(-6px);
}


.plocal-service-card__link {
    position: absolute;
    inset: 0;

    z-index: 10;
}


/* =========================================================
   CARD MAIN
========================================================= */

.plocal-service-card__main {
    display: grid;

    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(155px, 0.9fr);

    min-height: 185px;
}


/* =========================================================
   IMAGE
========================================================= */

.plocal-service-card__media {
    position: relative;

    overflow: hidden;

    min-width: 0;

    clip-path:
        polygon(
            0 0,
            100% 0,
            88% 100%,
            0 100%
        );

    background: var(--color-gray);
}


.plocal-service-card__media img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform 0.55s ease;
}


.plocal-service-card:hover
.plocal-service-card__media img {
    transform:
        scale(1.045);
}


/* =========================================================
   CARD CONTENT
========================================================= */

.plocal-service-card__content {
    position: relative;

    display: flex;
    flex-direction: column;
    justify-content: center;

    min-width: 0;

    padding:
        26px
        22px
        20px;
}


/* Icon */

.plocal-service-card__icon {
    position: absolute;

    top: 17px;
    left: -20px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 52px;
    height: 52px;

    border: 1px solid var(--border-info-color);
    border-radius: 50%;

    background: var(--color-white);

    color: var(--theme-color);

    box-shadow: var(--box-shadow);

    font-size: 18px;

    transition: var(--transition2);
}


.plocal-service-card:hover
.plocal-service-card__icon {
    border-color: var(--theme-color);

    background: var(--theme-color);

    color: var(--color-white);
}


/* Title */

.plocal-service-card__content h3 {
    margin: 27px 0 0;

    color: var(--theme-color2);

    font-family: var(--heading-font);
    font-size: 18px;
    font-weight: 700;

    line-height: 1.25;
    letter-spacing: var(--heading-letter-spacing);
}


.plocal-service-card__content h3 span {
    display: block;
}


/* Arrow */

.plocal-service-card__arrow {
    position: absolute;

    right: 16px;
    bottom: 15px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 32px;
    height: 32px;

    border-radius: 50%;

    background: var(--theme-color);

    color: var(--color-white);

    font-size: 11px;

    transition: var(--transition2);
}


.plocal-service-card:hover
.plocal-service-card__arrow {
    background: var(--theme-color2);

    transform:
        translateX(3px);
}


/* =========================================================
   CARD META
========================================================= */

.plocal-service-card__meta {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    align-items: center;

    border-top:
        1px solid
        var(--border-info-color2);

    min-height: 45px;

    padding:
        0
        13px;

    background:
        rgba(255, 255, 255, 0.96);
}


.plocal-service-card__meta span {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 6px;

    min-width: 0;

    color: var(--body-text-color);

    font-family: var(--body-font);
    font-size: 8px;
    font-weight: 600;

    text-transform: uppercase;
    white-space: nowrap;
}


.plocal-service-card__meta span:not(:last-child)::after {
    content: "";

    position: absolute;

    top: 50%;
    right: 0;

    width: 1px;
    height: 17px;

    background: var(--border-info-color);

    transform: translateY(-50%);
}


.plocal-service-card__meta i {
    flex: 0 0 auto;

    color: var(--theme-color);

    font-size: 10px;
}


/* =========================================================
   VIEW MORE BUTTON
========================================================= */

.plocal-featured-services__more {
    position: relative;
    z-index: 4;

    display: flex;
    justify-content: center;

    margin-top: 46px;
}


.plocal-featured-services__more-btn {
    display: inline-flex;
    align-items: center;

    gap: 20px;

    min-height: 58px;

    padding:
        7px
        8px
        7px
        26px;

    border:
        1px solid
        var(--theme-color2);

    border-radius: 50px;

    background: var(--theme-color2);

    color: var(--color-white);

    font-family: var(--heading-font);
    font-size: 13px;
    font-weight: 700;

    box-shadow:
        0 12px 28px
        rgba(12, 44, 122, 0.18);

    transition: var(--transition2);
}


.plocal-featured-services__more-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 43px;
    height: 43px;

    border-radius: 50%;

    background: var(--theme-color);

    color: var(--color-white);

    transition: var(--transition2);
}


.plocal-featured-services__more-btn:hover {
    border-color: var(--theme-color);

    background: var(--theme-color);

    color: var(--color-dark);

    transform: translateY(-3px);
}


.plocal-featured-services__more-btn:hover
.plocal-featured-services__more-icon {
    background: var(--color-white);

    color: var(--theme-color2);

    transform: translateX(3px);
}


/* =========================================================
   STANDARD BAR
========================================================= */

.plocal-featured-services__standard {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-wrap: wrap;

    gap: 22px;

    max-width: 900px;

    margin:
        0px
        auto
        0;

    padding:
        18px
        28px;

    border:
        1px solid
        var(--border-info-color);

    border-radius: 13px;

    background: var(--color-white);

    box-shadow: var(--box-shadow);

    color: var(--body-text-color);

    font-family: var(--body-font);
    font-size: 10px;
    font-weight: 500;

    text-transform: uppercase;
}


.plocal-featured-services__standard-main {
    display: flex;
    align-items: center;

    gap: 10px;

    color: var(--theme-color);
}


.plocal-featured-services__standard-main > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    border-radius: 50%;

    background: var(--theme-bg-light);

    font-size: 16px;
}


.plocal-featured-services__standard-main strong {
    font-family: var(--heading-font);
    font-size: 11px;
    font-weight: 700;
}


.plocal-featured-services__standard-divider {
    width: 1px;
    height: 32px;

    background:
        var(--border-info-color);
}


.plocal-featured-services__standard-dot {
    width: 4px;
    height: 4px;

    border-radius: 50%;

    background: var(--theme-color2);

    opacity: 0.45;
}


/* =========================================================
   LAPTOP
========================================================= */

@media (max-width: 1199px) {

    .plocal-featured-services__header {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(320px, 0.65fr);

        gap: 40px;
    }


    .plocal-service-card__main {
        grid-template-columns:
            minmax(0, 1.15fr)
            minmax(145px, 0.9fr);
    }


    .plocal-service-card__content h3 {
        font-size: 16px;
    }


    .plocal-service-card__meta span {
        font-size: 7px;
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .plocal-featured-services {
        padding:
            90px
            0;
    }


    .plocal-featured-services__header {
        grid-template-columns: 1fr;

        align-items: start;

        gap: 35px;
    }


    .plocal-featured-services__header-side {
        align-items: flex-start;
    }


    .plocal-featured-services__signals {
        max-width: 450px;
    }


    .plocal-featured-services__grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    .plocal-featured-services__orbit {
        opacity: 0.5;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .plocal-featured-services {
        padding:
            75px
            0;
    }


    .plocal-featured-services__header {
        margin-bottom: 40px;
    }


    .plocal-featured-services__heading p {
        font-size: 14px;
    }


    .plocal-featured-services__signals {
        grid-template-columns: 1fr;

        max-width: 100%;
    }


    .plocal-featured-services__signal:first-child,
    .plocal-featured-services__signal:last-child {
        border-radius: 12px;

        border:
            1px solid
            var(--border-info-color2);
    }


    .plocal-featured-services__signal + 
    .plocal-featured-services__signal {
        margin-top: 10px;
    }


    .plocal-featured-services__grid {
        grid-template-columns: 1fr;

        gap: 22px;
    }


    .plocal-service-card__main {
        grid-template-columns:
            minmax(0, 1.25fr)
            minmax(145px, 0.8fr);
    }


    .plocal-service-card__meta span {
        font-size: 7.5px;
    }


    .plocal-featured-services__standard-divider,
    .plocal-featured-services__standard-dot {
        display: none;
    }


    .plocal-featured-services__standard {
        gap: 14px 22px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .plocal-featured-services__location-card {
        width: 100%;

        min-width: 0;
    }


    .plocal-service-card__main {
        display: block;
    }


    .plocal-service-card__media {
        height: 220px;

        clip-path: none;
    }


    .plocal-service-card__content {
        min-height: 130px;

        padding:
            25px
            22px;
    }


    .plocal-service-card__icon {
        top: -27px;
        left: 22px;
    }


    .plocal-service-card__content h3 {
        margin-top: 10px;

        font-size: 20px;
    }


    .plocal-service-card__meta {
        grid-template-columns: 1fr;

        gap: 8px;

        padding:
            14px
            18px;
    }


    .plocal-service-card__meta span {
        justify-content: flex-start;

        font-size: 8px;
    }


    .plocal-service-card__meta span::after {
        display: none;
    }


    .plocal-featured-services__more-btn {
        width: 100%;

        justify-content: space-between;
    }


    .plocal-featured-services__standard {
        flex-direction: column;

        text-align: center;
    }

}


/* =========================================================
   PLOCAL — BUSINESS PROFILE INTRO
========================================================= */

.plocal-business-intro {
    position: relative;
    isolation: isolate;

    overflow: hidden;

    padding:
        95px
        0
        105px;

    background:
        linear-gradient(
            180deg,
            var(--color-white) 0%,
            rgba(238, 242, 247, 0) 100%
        );
}


/* =========================================================
   DECORATIVE BACKGROUND
========================================================= */

.plocal-business-intro__decor {
    position: absolute;
    inset: 0;

    z-index: -1;

    overflow: hidden;

    pointer-events: none;
}


.plocal-business-intro__dots {
    position: absolute;

    width: 118px;
    height: 118px;

    opacity: 0.15;

    background-image:
        radial-gradient(
            circle,
            var(--theme-color) 1.5px,
            transparent 1.8px
        );

    background-size:
        14px
        14px;
}


.plocal-business-intro__dots--left {
    top: 70px;
    left: 3%;
}


.plocal-business-intro__dots--right {
    right: 4%;
    bottom: 80px;
}


.plocal-business-intro__orbit {
    position: absolute;

    border:
        1px solid
        rgba(36, 189, 199, 0.13);

    border-radius: 50%;
}


.plocal-business-intro__orbit::before,
.plocal-business-intro__orbit::after {
    content: "";

    position: absolute;

    border:
        1px solid
        rgba(36, 189, 199, 0.07);

    border-radius: inherit;
}


.plocal-business-intro__orbit::before {
    inset: 46px;
}


.plocal-business-intro__orbit::after {
    inset: 92px;
}


.plocal-business-intro__orbit--top {
    top: -270px;
    right: -210px;

    width: 620px;
    height: 620px;
}


.plocal-business-intro__orbit--bottom {
    bottom: -330px;
    left: -250px;

    width: 650px;
    height: 650px;
}


/* =========================================================
   MAIN LAYOUT
========================================================= */

.plocal-business-intro__layout {
    position: relative;

    width: 100%;
    max-width: 1060px;

    margin: 0 auto;
}


/* =========================================================
   TOP AREA
========================================================= */

.plocal-business-intro__top {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(220px, 0.34fr);

    align-items: end;

    gap: 50px;

    margin-bottom: 30px;
}


/* =========================================================
   COMPANY IDENTITY
========================================================= */

.plocal-business-intro__eyebrow {
    display: inline-flex;
    align-items: center;

    gap: 12px;

    margin-bottom: 14px;

    color: var(--theme-color);

    font-family: var(--body-font);
    font-size: 10px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: 0.17em;
}


.plocal-business-intro__eyebrow-line {
    width: 38px;
    height: 1px;

    background:
        var(--theme-color);
}


.plocal-business-intro__identity h1 {
    margin: 0;

    color: var(--theme-color2);

    font-family: var(--heading-font);
    font-size:
        clamp(
            42px,
            5vw,
            68px
        );

    font-weight:
        var(--heading-weight);

    line-height: 0.98;
    letter-spacing:
        var(--heading-letter-spacing);
}


.plocal-business-intro__identity h1 span {
    display: block;

    color: var(--theme-color);
}


.plocal-business-intro__identity-meta {
    display: flex;
    align-items: center;

    flex-wrap: wrap;

    gap: 10px;

    margin-top: 17px;

    color:
        var(--body-text-color);

    font-family:
        var(--body-font);

    font-size: 11px;
    font-weight: 600;

    text-transform: uppercase;
    letter-spacing: 0.08em;
}


.plocal-business-intro__identity-meta i {
    color:
        var(--theme-color);

    font-size: 4px;
}


/* =========================================================
   PROFILE STATUS
========================================================= */

.plocal-business-intro__status {
    display: flex;
    flex-direction: column;

    gap: 4px;

    padding:
        19px
        20px;

    border:
        1px solid
        var(--border-info-color);

    border-radius: 15px;

    background:
        rgba(255, 255, 255, 0.88);

    box-shadow:
        var(--box-shadow);
}


.plocal-business-intro__status-label {
    color:
        var(--theme-color);

    font-family:
        var(--body-font);

    font-size: 8px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: 0.16em;
}


.plocal-business-intro__status strong {
    color:
        var(--theme-color2);

    font-family:
        var(--heading-font);

    font-size: 14px;
    font-weight: 700;
}


.plocal-business-intro__status small {
    color:
        var(--body-text-color);

    font-family:
        var(--body-font);

    font-size: 9px;

    line-height: 1.45;
}


/* =========================================================
   MAIN IMAGE
========================================================= */

.plocal-business-intro__visual {
    position: relative;
    isolation: isolate;

    min-height: 520px;

    margin: 0;

    overflow: hidden;

    border:
        10px solid
        var(--color-white);

    border-radius: 22px;

    background:
        var(--color-gray);

    box-shadow:
        0 24px 60px
        rgba(8, 29, 77, 0.17);
}


.plocal-business-intro__visual::after {
    content: "";

    position: absolute;
    inset: 0;

    z-index: 1;

    background:
        linear-gradient(
            180deg,
            transparent 45%,
            rgba(5, 20, 58, 0.34) 100%
        );

    pointer-events: none;
}


.plocal-business-intro__visual img {
    position: absolute;
    inset: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform 0.75s ease;
}


.plocal-business-intro__visual:hover img {
    transform:
        scale(1.025);
}


/* =========================================================
   IMAGE LABEL
========================================================= */

.plocal-business-intro__visual-label {
    position: absolute;

    left: 24px;
    bottom: 23px;

    z-index: 3;

    display: inline-flex;
    align-items: center;

    gap: 12px;

    padding:
        12px
        16px;

    border:
        1px solid
        var(--border-white-color);

    border-radius: 14px;

    background:
        rgba(8, 29, 77, 0.84);

    backdrop-filter:
        blur(10px);

    -webkit-backdrop-filter:
        blur(10px);
}


.plocal-business-intro__visual-label-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 auto;

    width: 38px;
    height: 38px;

    border-radius: 50%;

    background:
        var(--theme-color);

    color:
        var(--color-white);

    font-size: 13px;
}


.plocal-business-intro__visual-label > span:last-child {
    display: flex;
    flex-direction: column;

    gap: 2px;
}


.plocal-business-intro__visual-label strong {
    color:
        var(--color-white);

    font-family:
        var(--heading-font);

    font-size: 12px;
    font-weight: 700;
}


.plocal-business-intro__visual-label small {
    color:
        var(--footer-text-color);

    font-family:
        var(--body-font);

    font-size: 8px;

    text-transform: uppercase;
    letter-spacing: 0.08em;
}


/* =========================================================
   PROFILE NUMBER
========================================================= */

.plocal-business-intro__profile-number {
    position: absolute;

    top: 22px;
    right: 22px;

    z-index: 3;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 56px;
    height: 34px;

    padding:
        0
        13px;

    border-radius: 50px;

    background:
        var(--color-white);

    color:
        var(--theme-color2);

    box-shadow:
        var(--box-shadow);

    font-family:
        var(--heading-font);

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 0.12em;
}


/* =========================================================
   SUMMARY
========================================================= */

.plocal-business-intro__summary {
    display: grid;

    grid-template-columns:
        minmax(0, 1.25fr)
        minmax(280px, 0.75fr);

    gap: 55px;

    padding:
        30px
        20px
        28px;
}


.plocal-business-intro__section-label {
    display: block;

    margin-bottom: 10px;

    color:
        var(--theme-color2);

    font-family:
        var(--heading-font);

    font-size: 9px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: 0.14em;
}


.plocal-business-intro__about p {
    margin: 0;

    color:
        var(--body-text-color);

    font-family:
        var(--body-font);

    font-size: 13px;

    line-height: 1.75;
}


/* =========================================================
   TAGS
========================================================= */

.plocal-business-intro__tag-list {
    display: flex;
    flex-wrap: wrap;

    gap: 8px;
}


.plocal-business-intro__tag-list span {
    display: inline-flex;
    align-items: center;

    min-height: 30px;

    padding:
        0
        12px;

    border:
        1px solid
        var(--border-info-color);

    border-radius: 50px;

    background:
        var(--color-white);

    color:
        var(--body-text-color);

    font-family:
        var(--body-font);

    font-size: 9px;
    font-weight: 600;
}


/* =========================================================
   FACTS
========================================================= */

.plocal-business-intro__facts {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    border-top:
        1px solid
        var(--border-info-color);

    border-bottom:
        1px solid
        var(--border-info-color);
}


.plocal-business-intro__fact {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 13px;

    min-height: 108px;

    padding:
        18px
        20px;
}


.plocal-business-intro__fact:not(:last-child)::after {
    content: "";

    position: absolute;

    top: 50%;
    right: 0;

    width: 1px;
    height: 42px;

    background:
        var(--border-info-color);

    transform:
        translateY(-50%);
}


.plocal-business-intro__fact-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 auto;

    width: 43px;
    height: 43px;

    border-radius: 50%;

    background:
        var(--theme-bg-light);

    color:
        var(--theme-color);

    font-size: 15px;
}


.plocal-business-intro__fact-copy {
    display: flex;
    flex-direction: column;

    gap: 3px;

    min-width: 0;
}


.plocal-business-intro__fact-copy small {
    color:
        var(--body-text-color);

    font-family:
        var(--body-font);

    font-size: 8px;
    font-weight: 600;

    text-transform: uppercase;
    letter-spacing: 0.08em;
}


.plocal-business-intro__fact-copy strong {
    color:
        var(--theme-color2);

    font-family:
        var(--heading-font);

    font-size: 13px;
    font-weight: 700;

    line-height: 1.25;
}


/* =========================================================
   ACTION
========================================================= */

.plocal-business-intro__action {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding:
        28px
        20px
        0;
}


.plocal-business-intro__action-label {
    color:
        var(--body-text-color);

    font-family:
        var(--body-font);

    font-size: 9px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: 0.15em;
}


.plocal-business-intro__action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;

    gap: 24px;

    min-height: 54px;

    padding:
        7px
        8px
        7px
        22px;

    border-radius: 50px;

    background:
        var(--theme-color2);

    color:
        var(--color-white);

    box-shadow:
        0 12px 30px
        rgba(12, 44, 122, 0.18);

    font-family:
        var(--heading-font);

    font-size: 11px;
    font-weight: 700;

    transition:
        var(--transition2);
}


.plocal-business-intro__action-btn i {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;

    border-radius: 50%;

    background:
        var(--theme-color);

    color:
        var(--color-white);

    transition:
        var(--transition2);
}


.plocal-business-intro__action-btn:hover {
    background:
        var(--theme-color);

    color:
        var(--color-dark);

    transform:
        translateY(-3px);
}


.plocal-business-intro__action-btn:hover i {
    background:
        var(--color-white);

    color:
        var(--theme-color2);

    transform:
        translateY(3px);
}


/* =========================================================
   LAPTOP
========================================================= */

@media (max-width: 1199px) {

    .plocal-business-intro__layout {
        max-width: 940px;
    }


    .plocal-business-intro__visual {
        min-height: 485px;
    }


    .plocal-business-intro__summary {
        gap: 35px;
    }


    .plocal-business-intro__fact {
        padding:
            18px
            12px;
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .plocal-business-intro {
        padding:
            85px
            0
            90px;
    }


    .plocal-business-intro__top {
        grid-template-columns: 1fr;

        align-items: start;

        gap: 25px;
    }


    .plocal-business-intro__status {
        max-width: 300px;
    }


    .plocal-business-intro__visual {
        min-height: 440px;
    }


    .plocal-business-intro__summary {
        grid-template-columns: 1fr;

        gap: 25px;
    }


    .plocal-business-intro__facts {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    .plocal-business-intro__fact:nth-child(2)::after {
        display: none;
    }


    .plocal-business-intro__fact:nth-child(-n + 2) {
        border-bottom:
            1px solid
            var(--border-info-color);
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .plocal-business-intro {
        padding:
            70px
            0
            75px;
    }


    .plocal-business-intro__identity h1 {
        font-size:
            clamp(
                38px,
                12vw,
                52px
            );
    }


    .plocal-business-intro__visual {
        min-height: 390px;

        border-width: 7px;

        border-radius: 18px;
    }


    .plocal-business-intro__visual-label {
        left: 16px;
        bottom: 16px;
    }


    .plocal-business-intro__profile-number {
        top: 15px;
        right: 15px;
    }


    .plocal-business-intro__summary {
        padding:
            26px
            5px;
    }


    .plocal-business-intro__facts {
        grid-template-columns: 1fr;
    }


    .plocal-business-intro__fact {
        justify-content: flex-start;

        min-height: 88px;

        padding:
            16px
            8px;
    }


    .plocal-business-intro__fact::after {
        display: none;
    }


    .plocal-business-intro__fact:not(:last-child) {
        border-bottom:
            1px solid
            var(--border-info-color);
    }


    .plocal-business-intro__action {
        flex-direction: column;
        align-items: flex-start;

        padding:
            26px
            0
            0;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .plocal-business-intro__visual {
        min-height: 330px;
    }


    .plocal-business-intro__visual-label {
        max-width:
            calc(100% - 32px);
    }


    .plocal-business-intro__action-btn {
        width: 100%;

        justify-content: space-between;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .plocal-business-intro__visual img,
    .plocal-business-intro__action-btn,
    .plocal-business-intro__action-btn i {
        transition: none !important;
    }


    .plocal-business-intro__visual:hover img,
    .plocal-business-intro__action-btn:hover,
    .plocal-business-intro__action-btn:hover i {
        transform: none;
    }

}

/* =========================================================
   PLOCAL — TRUST & TRANSPARENCY
========================================================= */

.plocal-transparency {
    position: relative;
    isolation: isolate;

    overflow: hidden;

    padding:
        110px
        0;


}


/* =========================================================
   DECORATIVE BACKGROUND
========================================================= */

.plocal-transparency__dots {
    position: absolute;

    width: 125px;
    height: 125px;

    opacity: 0.15;

    background-image:
        radial-gradient(
            circle,
            var(--theme-color) 1.5px,
            transparent 1.8px
        );

    background-size:
        14px
        14px;

    pointer-events: none;
}


.plocal-transparency__dots--top {
    top: 45px;
    right: 4%;
}


.plocal-transparency__dots--bottom {
    bottom: 40px;
    left: 3%;
}


.plocal-transparency__orbit {
    position: absolute;

    right: -260px;
    bottom: -370px;

    width: 680px;
    height: 680px;

    border:
        1px solid
        rgba(36, 189, 199, 0.13);

    border-radius: 50%;

    pointer-events: none;
}


.plocal-transparency__orbit::before,
.plocal-transparency__orbit::after {
    content: "";

    position: absolute;

    border:
        1px solid
        rgba(36, 189, 199, 0.07);

    border-radius: inherit;
}


.plocal-transparency__orbit::before {
    inset: 70px;
}


.plocal-transparency__orbit::after {
    inset: 140px;
}


/* =========================================================
   MAIN CARD
========================================================= */

.plocal-transparency__card {
    position: relative;
    z-index: 2;

    display: grid;

    grid-template-columns:
        minmax(0, 0.95fr)
        minmax(420px, 1.05fr);

    gap: 0;

    overflow: hidden;

    border:
        1px solid
        var(--border-info-color);

    border-radius: 24px;

    background:
        var(--color-white);

    box-shadow:
        0 24px 65px
        rgba(8, 29, 77, 0.11);
}


/* Cyan corner accent */

.plocal-transparency__card::before {
    content: "";

    position: absolute;

    top: 0;
    right: 0;

    z-index: 3;

    width: 88px;
    height: 88px;

    background:
        linear-gradient(
            135deg,
            transparent 49%,
            var(--theme-color) 50%
        );

    pointer-events: none;
}


/* Small corner dot detail */

.plocal-transparency__card::after {
    content: "";

    position: absolute;

    top: 17px;
    right: 18px;

    z-index: 4;

    width: 30px;
    height: 30px;

    opacity: 0.65;

    background-image:
        radial-gradient(
            circle,
            var(--color-white) 1.4px,
            transparent 1.7px
        );

    background-size:
        8px
        8px;

    pointer-events: none;
}


/* =========================================================
   LEFT COLUMN
========================================================= */

.plocal-transparency__intro {
    position: relative;

    padding:
        62px
        56px;

    border-right:
        1px solid
        var(--border-info-color);
}


/* =========================================================
   EYEBROW
========================================================= */

.plocal-transparency__eyebrow {
    display: inline-flex;
    align-items: center;

    gap: 10px;

    margin-bottom: 22px;

    color:
        var(--theme-color);

    font-family:
        var(--body-font);

    font-size: 10px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: 0.14em;
}


.plocal-transparency__eyebrow-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;

    border-radius: 50%;

    background:
        var(--theme-bg-light);

    color:
        var(--theme-color);

    font-size: 13px;
}


/* =========================================================
   TITLE
========================================================= */

.plocal-transparency__title {
    max-width: 600px;

    margin:
        0
        0
        22px;

    color:
        var(--theme-color2);

    font-family:
        var(--heading-font);

    font-size:
        var(--font-size-h2);

    font-weight:
        var(--heading-weight);

    line-height:
        1.08;

    letter-spacing:
        var(--heading-letter-spacing);
}


.plocal-transparency__title span {
    display: block;

    color:
        var(--theme-color);
}


/* =========================================================
   DESCRIPTION
========================================================= */

.plocal-transparency__text {
    max-width: 610px;

    margin:
        0
        0
        34px;

    color:
        var(--body-text-color);

    font-family:
        var(--body-font);

    font-size: 14px;

    line-height: 1.75;
}


.plocal-transparency__text strong {
    color:
        var(--theme-color2);

    font-weight: 700;
}


/* =========================================================
   PAYMENT CARD
========================================================= */

.plocal-transparency__payment {
    display: flex;
    align-items: flex-start;

    gap: 16px;

    margin-bottom: 22px;

    padding:
        22px;

    border:
        1px solid
        rgba(36, 189, 199, 0.18);

    border-radius: 16px;

    background:
        linear-gradient(
            135deg,
            var(--theme-bg-light),
            rgba(217, 245, 247, 0.38)
        );
}


.plocal-transparency__payment-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 auto;

    width: 48px;
    height: 48px;

    border-radius: 14px;

    background:
        var(--color-white);

    color:
        var(--theme-color);

    box-shadow:
        var(--box-shadow);

    font-size: 18px;
}


.plocal-transparency__payment-copy {
    display: flex;
    flex-direction: column;

    min-width: 0;
}


.plocal-transparency__payment-copy > span {
    margin-bottom: 4px;

    color:
        var(--body-text-color);

    font-family:
        var(--body-font);

    font-size: 8px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: 0.12em;
}


.plocal-transparency__payment-copy strong {
    margin-bottom: 6px;

    color:
        var(--theme-color2);

    font-family:
        var(--heading-font);

    font-size: 14px;
    font-weight: 700;
}


.plocal-transparency__payment-copy p {
    margin: 0;

    color:
        var(--body-text-color);

    font-family:
        var(--body-font);

    font-size: 11px;

    line-height: 1.65;
}


/* =========================================================
   INDEPENDENCE STATEMENT
========================================================= */

.plocal-transparency__independence {
    display: flex;
    align-items: flex-start;

    gap: 13px;

    padding-top: 20px;

    border-top:
        1px solid
        var(--border-info-color);
}


.plocal-transparency__independence > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 auto;

    width: 34px;
    height: 34px;

    border-radius: 50%;

    background:
        var(--theme-color2);

    color:
        var(--color-white);

    font-size: 12px;
}


.plocal-transparency__independence p {
    margin: 0;

    color:
        var(--body-text-color);

    font-family:
        var(--body-font);

    font-size: 11px;

    line-height: 1.65;
}


/* =========================================================
   RIGHT COLUMN
========================================================= */

.plocal-transparency__rules {
    padding:
        62px
        54px;

    background:
        linear-gradient(
            180deg,
            rgba(248, 251, 255, 0.70) 0%,
            var(--color-white) 100%
        );
}


/* =========================================================
   RULES HEADER
========================================================= */

.plocal-transparency__rules-head {
    display: flex;
    flex-direction: column;

    gap: 5px;

    margin-bottom: 27px;
}


.plocal-transparency__rules-head span {
    color:
        var(--theme-color);

    font-family:
        var(--body-font);

    font-size: 9px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: 0.14em;
}


.plocal-transparency__rules-head strong {
    color:
        var(--theme-color2);

    font-family:
        var(--heading-font);

    font-size:
        var(--heading-size-h3);

    font-weight: 700;

    line-height: 1.3;
}


/* =========================================================
   RULE LIST
========================================================= */

.plocal-transparency__list {
    display: flex;
    flex-direction: column;

    gap: 0;

    margin: 0;
    padding: 0;

    list-style: none;
}


/* =========================================================
   RULE ITEM
========================================================= */

.plocal-transparency__item {
    display: grid;

    grid-template-columns:
        48px
        minmax(0, 1fr)
        36px;

    align-items: center;

    gap: 15px;

    min-height: 82px;

    padding:
        14px
        4px;

    border-bottom:
        1px solid
        var(--border-info-color2);

    transition:
        background-color 0.3s ease,
        padding 0.3s ease;
}


.plocal-transparency__item:first-child {
    border-top:
        1px solid
        var(--border-info-color2);
}


.plocal-transparency__item:hover {
    padding:
        14px
        12px;

    background:
        var(--theme-bg-light);
}


/* Rule icon */

.plocal-transparency__item-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    border-radius: 14px;

    background:
        var(--theme-bg-light);

    color:
        var(--theme-color);

    font-size: 15px;

    transition:
        var(--transition2);
}


.plocal-transparency__item:hover
.plocal-transparency__item-icon {
    background:
        var(--theme-color);

    color:
        var(--color-white);
}


/* Rule copy */

.plocal-transparency__item-copy {
    display: flex;
    flex-direction: column;

    min-width: 0;

    gap: 3px;
}


.plocal-transparency__item-copy small {
    color:
        var(--body-text-color);

    font-family:
        var(--body-font);

    font-size: 8px;
    font-weight: 600;

    text-transform: uppercase;
    letter-spacing: 0.1em;
}


.plocal-transparency__item-copy strong {
    color:
        var(--theme-color2);

    font-family:
        var(--heading-font);

    font-size: 13px;
    font-weight: 700;

    line-height: 1.35;
}


/* X status */

.plocal-transparency__item-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 32px;
    height: 32px;

    border-radius: 50%;

    background:
        rgba(226, 85, 85, 0.09);

    color:
        var(--color-red);

    font-size: 11px;
}


/* =========================================================
   FINAL NOTE
========================================================= */

.plocal-transparency__rule-note {
    display: flex;
    align-items: flex-start;

    gap: 14px;

    margin-top: 27px;

    padding:
        20px;

    border-radius: 15px;

    background:
        var(--theme-color2);

    color:
        var(--color-white);

    box-shadow:
        0 14px 34px
        rgba(12, 44, 122, 0.18);
}


.plocal-transparency__rule-note-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 auto;

    width: 42px;
    height: 42px;

    border-radius: 50%;

    background:
        var(--theme-color);

    color:
        var(--color-white);

    font-size: 14px;
}


.plocal-transparency__rule-note > div {
    display: flex;
    flex-direction: column;

    min-width: 0;

    gap: 5px;
}


.plocal-transparency__rule-note strong {
    color:
        var(--color-white);

    font-family:
        var(--heading-font);

    font-size: 12px;
    font-weight: 700;
}


.plocal-transparency__rule-note p {
    margin: 0;

    color:
        var(--footer-text-color);

    font-family:
        var(--body-font);

    font-size: 10px;

    line-height: 1.55;
}


/* =========================================================
   LAPTOP
========================================================= */

@media (max-width: 1199px) {

    .plocal-transparency__card {
        grid-template-columns:
            minmax(0, 0.92fr)
            minmax(390px, 1.08fr);
    }


    .plocal-transparency__intro,
    .plocal-transparency__rules {
        padding:
            52px
            42px;
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .plocal-transparency {
        padding:
            90px
            0;
    }


    .plocal-transparency__card {
        grid-template-columns: 1fr;
    }


    .plocal-transparency__intro {
        border-right: 0;

        border-bottom:
            1px solid
            var(--border-info-color);
    }


    .plocal-transparency__rules {
        background:
            var(--color-white);
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .plocal-transparency {
        padding:
            75px
            0;
    }


    .plocal-transparency__card {
        border-radius: 19px;
    }


    .plocal-transparency__intro,
    .plocal-transparency__rules {
        padding:
            40px
            25px;
    }


    .plocal-transparency__title {
        font-size:
            clamp(
                31px,
                9vw,
                42px
            );
    }


    .plocal-transparency__payment {
        padding:
            18px;
    }


    .plocal-transparency__item {
        grid-template-columns:
            44px
            minmax(0, 1fr)
            30px;

        gap: 12px;
    }


    .plocal-transparency__item-icon {
        width: 42px;
        height: 42px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .plocal-transparency__intro,
    .plocal-transparency__rules {
        padding:
            35px
            19px;
    }


    .plocal-transparency__payment,
    .plocal-transparency__rule-note {
        flex-direction: column;
    }


    .plocal-transparency__item {
        grid-template-columns:
            40px
            minmax(0, 1fr)
            28px;

        gap: 10px;
    }


    .plocal-transparency__item-icon {
        width: 38px;
        height: 38px;

        border-radius: 12px;
    }


    .plocal-transparency__item-copy strong {
        font-size: 11px;
    }


    .plocal-transparency__item-status {
        width: 28px;
        height: 28px;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .plocal-transparency__item,
    .plocal-transparency__item-icon {
        transition: none !important;
    }

}

/* =========================================================
   PLOCAL — REPORT OR VERIFY
========================================================= */

.plocal-profile-safety {
    position: relative;
    isolation: isolate;

    overflow: hidden;

    background:
        linear-gradient(
            180deg,
            var(--color-white) 0%,
            rgba(238, 242, 247, 0.42) 100%
        );
}


/* =========================================================
   DECORATIVE BACKGROUND
========================================================= */

.plocal-profile-safety__decor {
    position: absolute;
    inset: 0;

    z-index: -1;

    overflow: hidden;

    pointer-events: none;
}


.plocal-profile-safety__glow {
    position: absolute;

    border-radius: 50%;

    filter: blur(8px);

    opacity: 0.55;
}


.plocal-profile-safety__glow--left {
    top: 10%;
    left: -170px;

    width: 360px;
    height: 360px;

    background:
        radial-gradient(
            circle,
            rgba(36, 189, 199, 0.12),
            transparent 70%
        );
}


.plocal-profile-safety__glow--right {
    right: -200px;
    bottom: -150px;

    width: 440px;
    height: 440px;

    background:
        radial-gradient(
            circle,
            rgba(12, 44, 122, 0.10),
            transparent 70%
        );
}


.plocal-profile-safety__dots {
    position: absolute;

    width: 126px;
    height: 126px;

    opacity: 0.16;

    background-image:
        radial-gradient(
            circle,
            var(--theme-color) 1.5px,
            transparent 1.8px
        );

    background-size:
        14px
        14px;
}


.plocal-profile-safety__dots--top {
    top: 48px;
    right: 4%;
}


.plocal-profile-safety__dots--bottom {
    bottom: 40px;
    left: 3%;
}


.plocal-profile-safety__orbit {
    position: absolute;

    top: -320px;
    right: -230px;

    width: 650px;
    height: 650px;

    border:
        1px solid
        rgba(36, 189, 199, 0.12);

    border-radius: 50%;

    animation:
        plocalSafetyOrbitFloat
        9s
        ease-in-out
        infinite alternate;
}


.plocal-profile-safety__orbit::before,
.plocal-profile-safety__orbit::after {
    content: "";

    position: absolute;

    border:
        1px solid
        rgba(36, 189, 199, 0.07);

    border-radius: inherit;
}


.plocal-profile-safety__orbit::before {
    inset: 75px;
}


.plocal-profile-safety__orbit::after {
    inset: 150px;
}


/* =========================================================
   MAIN CARD
========================================================= */

.plocal-profile-safety__card {
    position: relative;
    z-index: 2;

    display: grid;

    grid-template-columns:
        minmax(0, 0.88fr)
        minmax(460px, 1.12fr);

    overflow: hidden;

    border:
        1px solid
        var(--border-info-color);

    border-radius: 26px;

    background:
        var(--color-white);

    box-shadow:
        0 26px 70px
        rgba(8, 29, 77, 0.12);

    animation:
        plocalSafetyCardReveal
        0.85s
        cubic-bezier(0.16, 1, 0.3, 1)
        both;
}


/* Cyan corner */

.plocal-profile-safety__card::before {
    content: "";

    position: absolute;

    top: 0;
    right: 0;

    z-index: 4;

    width: 92px;
    height: 92px;

    background:
        linear-gradient(
            135deg,
            transparent 49%,
            var(--theme-color) 50%
        );

    pointer-events: none;
}


/* Corner dots */

.plocal-profile-safety__card::after {
    content: "";

    position: absolute;

    top: 17px;
    right: 17px;

    z-index: 5;

    width: 32px;
    height: 32px;

    opacity: 0.75;

    background-image:
        radial-gradient(
            circle,
            var(--color-white) 1.4px,
            transparent 1.7px
        );

    background-size:
        8px
        8px;

    pointer-events: none;
}


/* =========================================================
   LEFT PANEL
========================================================= */

.plocal-profile-safety__intro {
    position: relative;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding:
        68px
        58px;

    overflow: hidden;

    background:
        linear-gradient(
            145deg,
            var(--theme-color2) 0%,
            var(--color-dark) 58%,
            var(--footer-bg) 100%
        );
}


/* Technical pattern */

.plocal-profile-safety__intro::before {
    content: "";

    position: absolute;
    inset: 0;

    opacity: 0.16;

    background-image:
        linear-gradient(
            rgba(255, 255, 255, 0.08) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.08) 1px,
            transparent 1px
        );

    background-size:
        42px
        42px;

    pointer-events: none;
}


/* Ambient circle */

.plocal-profile-safety__intro::after {
    content: "";

    position: absolute;

    right: -190px;
    bottom: -210px;

    width: 430px;
    height: 430px;

    border:
        1px solid
        rgba(36, 189, 199, 0.24);

    border-radius: 50%;

    box-shadow:
        0 0 0 65px rgba(36, 189, 199, 0.035),
        0 0 0 130px rgba(36, 189, 199, 0.025);

    pointer-events: none;
}


/* =========================================================
   EYEBROW
========================================================= */

.plocal-profile-safety__eyebrow {
    position: relative;
    z-index: 2;

    display: inline-flex;
    align-items: center;

    align-self: flex-start;

    gap: 11px;

    margin-bottom: 24px;

    color:
        var(--theme-color);

    font-family:
        var(--body-font);

    font-size: 10px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: 0.15em;
}


.plocal-profile-safety__eyebrow-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    border:
        1px solid
        rgba(36, 189, 199, 0.30);

    border-radius: 50%;

    background:
        rgba(36, 189, 199, 0.10);

    color:
        var(--theme-color);

    font-size: 14px;
}


/* =========================================================
   TITLE
========================================================= */

.plocal-profile-safety__intro h2 {
    position: relative;
    z-index: 2;

    max-width: 560px;

    margin:
        0
        0
        24px;

    color:
        var(--color-white);

    font-family:
        var(--heading-font);

    font-size:
        var(--font-size-h2);

    font-weight:
        var(--heading-weight);

    line-height:
        1.08;

    letter-spacing:
        var(--heading-letter-spacing);
}


.plocal-profile-safety__intro h2 span {
    display: block;

    color:
        var(--theme-color);
}


/* =========================================================
   DESCRIPTION
========================================================= */

.plocal-profile-safety__description {
    position: relative;
    z-index: 2;

    max-width: 590px;

    margin:
        0
        0
        32px;

    color:
        rgba(255, 255, 255, 0.76);

    font-family:
        var(--body-font);

    font-size: 14px;

    line-height: 1.75;
}


/* =========================================================
   STATEMENT CARD
========================================================= */

.plocal-profile-safety__statement {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: flex-start;

    gap: 15px;

    margin-bottom: 28px;

    padding:
        20px;

    border:
        1px solid
        var(--border-white-color);

    border-radius: 16px;

    background:
        rgba(255, 255, 255, 0.075);

    backdrop-filter:
        blur(8px);

    -webkit-backdrop-filter:
        blur(8px);
}


.plocal-profile-safety__statement-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 auto;

    width: 44px;
    height: 44px;

    border-radius: 14px;

    background:
        var(--theme-color);

    color:
        var(--color-white);

    font-size: 15px;
}


.plocal-profile-safety__statement > div {
    display: flex;
    flex-direction: column;

    min-width: 0;

    gap: 5px;
}


.plocal-profile-safety__statement strong {
    color:
        var(--color-white);

    font-family:
        var(--heading-font);

    font-size: 13px;
    font-weight: 700;
}


.plocal-profile-safety__statement p {
    margin: 0;

    color:
        rgba(255, 255, 255, 0.68);

    font-family:
        var(--body-font);

    font-size: 10px;

    line-height: 1.6;
}


/* =========================================================
   SMALL SIGNALS
========================================================= */

.plocal-profile-safety__signals {
    position: relative;
    z-index: 2;

    display: flex;
    flex-direction: column;

    gap: 10px;
}


.plocal-profile-safety__signals span {
    display: inline-flex;
    align-items: center;

    gap: 10px;

    color:
        rgba(255, 255, 255, 0.76);

    font-family:
        var(--body-font);

    font-size: 10px;
    font-weight: 500;
}


.plocal-profile-safety__signals i {
    color:
        var(--theme-color);

    font-size: 11px;
}


/* =========================================================
   RIGHT PANEL
========================================================= */

.plocal-profile-safety__actions {
    position: relative;

    padding:
        66px
        56px;

    background:
        linear-gradient(
            180deg,
            var(--color-white) 0%,
            rgba(248, 251, 255, 0.86) 100%
        );
}


/* =========================================================
   ACTIONS HEADING
========================================================= */

.plocal-profile-safety__actions-heading {
    display: flex;
    flex-direction: column;

    gap: 5px;

    margin-bottom: 27px;
}


.plocal-profile-safety__actions-heading span {
    color:
        var(--theme-color);

    font-family:
        var(--body-font);

    font-size: 9px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: 0.14em;
}


.plocal-profile-safety__actions-heading strong {
    color:
        var(--theme-color2);

    font-family:
        var(--heading-font);

    font-size:
        var(--heading-size-h3);

    font-weight: 700;
}


/* =========================================================
   ACTION CARD
========================================================= */

.plocal-profile-safety__action {
    position: relative;

    display: grid;

    grid-template-columns:
        52px
        minmax(0, 1fr)
        40px;

    align-items: center;

    gap: 17px;

    min-height: 112px;

    margin-bottom: 15px;

    padding:
        19px
        18px;

    overflow: hidden;

    border:
        1px solid
        var(--border-info-color);

    border-radius: 17px;

    background:
        var(--color-white);

    box-shadow:
        0 8px 24px
        rgba(12, 44, 122, 0.055);

    transition:
        transform 0.35s
        cubic-bezier(0.22, 1, 0.36, 1),
        border-color 0.35s ease,
        box-shadow 0.35s ease,
        background-color 0.35s ease;

    animation:
        plocalSafetyActionReveal
        0.7s
        cubic-bezier(0.16, 1, 0.3, 1)
        both;
}


.plocal-profile-safety__action:nth-of-type(2) {
    animation-delay: 0.10s;
}


.plocal-profile-safety__action:nth-of-type(3) {
    animation-delay: 0.18s;
}


.plocal-profile-safety__action:nth-of-type(4) {
    animation-delay: 0.26s;
}


.plocal-profile-safety__action:hover {
    border-color:
        rgba(36, 189, 199, 0.42);

    background:
        var(--theme-bg-light);

    box-shadow:
        0 18px 40px
        rgba(12, 44, 122, 0.11);

    transform:
        translateY(-4px);
}


/* Primary action */

.plocal-profile-safety__action--primary {
    border-color:
        rgba(36, 189, 199, 0.24);

    background:
        linear-gradient(
            135deg,
            rgba(36, 189, 199, 0.10),
            rgba(217, 245, 247, 0.34)
        );
}


/* Action icon */

.plocal-profile-safety__action-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 50px;
    height: 50px;

    border-radius: 15px;

    background:
        var(--theme-bg-light);

    color:
        var(--theme-color);

    font-size: 17px;

    transition:
        var(--transition2);
}


.plocal-profile-safety__action--primary
.plocal-profile-safety__action-icon {
    background:
        var(--theme-color);

    color:
        var(--color-white);
}


.plocal-profile-safety__action:hover
.plocal-profile-safety__action-icon {
    background:
        var(--theme-color2);

    color:
        var(--color-white);

    transform:
        rotate(-4deg)
        scale(1.04);
}


/* Action copy */

.plocal-profile-safety__action-copy {
    display: flex;
    flex-direction: column;

    min-width: 0;

    gap: 4px;
}


.plocal-profile-safety__action-copy small {
    color:
        var(--theme-color);

    font-family:
        var(--body-font);

    font-size: 8px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: 0.10em;
}


.plocal-profile-safety__action-copy strong {
    color:
        var(--theme-color2);

    font-family:
        var(--heading-font);

    font-size: 13px;
    font-weight: 700;
}


.plocal-profile-safety__action-copy > span {
    color:
        var(--body-text-color);

    font-family:
        var(--body-font);

    font-size: 10px;

    line-height: 1.55;
}


/* Arrow */

.plocal-profile-safety__action-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 36px;
    height: 36px;

    border-radius: 50%;

    background:
        var(--theme-color2);

    color:
        var(--color-white);

    font-size: 11px;

    transition:
        var(--transition2);
}


.plocal-profile-safety__action:hover
.plocal-profile-safety__action-arrow {
    background:
        var(--theme-color);

    transform:
        translateX(4px);
}


/* =========================================================
   SECURITY NOTE
========================================================= */

.plocal-profile-safety__security-note {
    display: flex;
    align-items: flex-start;

    gap: 10px;

    margin-top: 24px;

    padding-top: 20px;

    border-top:
        1px solid
        var(--border-info-color);
}


.plocal-profile-safety__security-note i {
    flex: 0 0 auto;

    margin-top: 2px;

    color:
        var(--theme-color);

    font-size: 11px;
}


.plocal-profile-safety__security-note p {
    margin: 0;

    color:
        var(--body-text-color);

    font-family:
        var(--body-font);

    font-size: 9px;

    line-height: 1.6;
}


/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes plocalSafetyCardReveal {

    from {
        opacity: 0;
        transform:
            translateY(34px)
            scale(0.985);
    }

    to {
        opacity: 1;
        transform:
            translateY(0)
            scale(1);
    }

}


@keyframes plocalSafetyActionReveal {

    from {
        opacity: 0;
        transform:
            translateX(26px);
    }

    to {
        opacity: 1;
        transform:
            translateX(0);
    }

}


@keyframes plocalSafetyOrbitFloat {

    from {
        transform:
            translate3d(0, 0, 0)
            rotate(0deg);
    }

    to {
        transform:
            translate3d(-18px, 20px, 0)
            rotate(4deg);
    }

}


/* View-based animation where supported */

@supports (animation-timeline: view()) {

    .plocal-profile-safety__card {
        animation-timeline: view();
        animation-range:
            entry 10%
            cover 35%;
    }

}


/* =========================================================
   LAPTOP
========================================================= */

@media (max-width: 1199px) {

    .plocal-profile-safety__card {
        grid-template-columns:
            minmax(0, 0.9fr)
            minmax(420px, 1.1fr);
    }


    .plocal-profile-safety__intro,
    .plocal-profile-safety__actions {
        padding:
            56px
            42px;
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .plocal-profile-safety__card {
        grid-template-columns: 1fr;
    }


    .plocal-profile-safety__intro {
        min-height: 560px;
    }


    .plocal-profile-safety__actions {
        background:
            var(--color-white);
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .plocal-profile-safety__card {
        border-radius: 20px;
    }


    .plocal-profile-safety__intro,
    .plocal-profile-safety__actions {
        padding:
            42px
            26px;
    }


    .plocal-profile-safety__intro {
        min-height: auto;
    }


    .plocal-profile-safety__intro h2 {
        font-size:
            clamp(
                32px,
                9vw,
                44px
            );
    }


    .plocal-profile-safety__action {
        grid-template-columns:
            48px
            minmax(0, 1fr)
            34px;

        gap: 13px;

        padding:
            17px
            14px;
    }


    .plocal-profile-safety__action-icon {
        width: 46px;
        height: 46px;
    }


    .plocal-profile-safety__action-arrow {
        width: 32px;
        height: 32px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .plocal-profile-safety__intro,
    .plocal-profile-safety__actions {
        padding:
            36px
            19px;
    }


    .plocal-profile-safety__statement {
        flex-direction: column;
    }


    .plocal-profile-safety__action {
        grid-template-columns:
            44px
            minmax(0, 1fr);
    }


    .plocal-profile-safety__action-arrow {
        display: none;
    }


    .plocal-profile-safety__action-copy strong {
        font-size: 12px;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .plocal-profile-safety__card,
    .plocal-profile-safety__action,
    .plocal-profile-safety__orbit {
        animation: none !important;
    }


    .plocal-profile-safety__action,
    .plocal-profile-safety__action-icon,
    .plocal-profile-safety__action-arrow {
        transition: none !important;
    }


    .plocal-profile-safety__action:hover,
    .plocal-profile-safety__action:hover
    .plocal-profile-safety__action-icon,
    .plocal-profile-safety__action:hover
    .plocal-profile-safety__action-arrow {
        transform: none;
    }

}

/* =========================================================
   PLOCAL — CONTACT PATHS SECTION
========================================================= */

.plocal-contact-paths {
    position: relative;
    z-index: 1;

    overflow: hidden;

    padding: 110px 0;

    background:
        radial-gradient(
            circle at 18% 20%,
            rgba(36, 189, 199, 0.06),
            transparent 28%
        ),
        radial-gradient(
            circle at 85% 78%,
            rgba(12, 44, 122, 0.04),
            transparent 30%
        ),
        var(--color-white);
}


/* =========================================================
   DECORATIVE BACKGROUND
========================================================= */

.plocal-contact-paths__dots {
    position: absolute;
    z-index: -1;

    width: 170px;
    height: 170px;

    pointer-events: none;

    opacity: 0.6;

    background-image:
        radial-gradient(
            circle,
            rgba(36, 189, 199, 0.42) 2px,
            transparent 2px
        );

    background-size: 14px 14px;
}


.plocal-contact-paths__dots--left {
    top: 18px;
    left: -5px;
}


.plocal-contact-paths__orbit {
    position: absolute;
    z-index: -1;

    pointer-events: none;

    border: 1px solid rgba(36, 189, 199, 0.25);
    border-radius: 50%;
}


.plocal-contact-paths__orbit--top {
    top: -180px;
    right: -125px;

    width: 410px;
    height: 410px;
}


.plocal-contact-paths__orbit--top::before,
.plocal-contact-paths__orbit--top::after {
    content: "";

    position: absolute;

    border: 1px solid rgba(36, 189, 199, 0.18);
    border-radius: 50%;
}


.plocal-contact-paths__orbit--top::before {
    inset: 34px;
}


.plocal-contact-paths__orbit--top::after {
    inset: 70px;
}


.plocal-contact-paths__orbit-dot {
    position: absolute;
    z-index: 0;

    width: 17px;
    height: 17px;

    border-radius: 50%;

    background: var(--theme-color);

    pointer-events: none;
}


.plocal-contact-paths__orbit-dot--top {
    top: 170px;
    right: 137px;
}


/* =========================================================
   SECTION HEADING
========================================================= */

.plocal-contact-paths__heading {
    position: relative;

    margin-bottom: 52px;
}


.plocal-contact-paths__heading .site-title-tagline {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    margin-bottom: 18px;
    padding: 6px 16px 6px 7px;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            var(--theme-color),
            #14a9bc
        );

    color: var(--color-white);

    font-family: var(--heading-font);
    font-size: 14px;
    font-weight: 700;

    letter-spacing: 0.16em;
    line-height: 1;
    text-transform: uppercase;

    box-shadow:
        0 8px 24px rgba(36, 189, 199, 0.2);
}


.plocal-contact-paths__tagline-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 29px;
    height: 29px;

    border-radius: 50%;

    background: var(--color-white);

    color: var(--theme-color);

    font-size: 13px;
}


.plocal-contact-paths__heading .site-title {
    max-width: 1000px;

    margin: 0 auto;

    color: var(--theme-color2);

    font-family: var(--heading-font);
    font-size: var(--font-size-h2);
    font-weight: var(--heading-weight);

    line-height: 1.12;
    letter-spacing: var(--heading-letter-spacing);
}


.plocal-contact-paths__heading .site-title span {
    color: var(--theme-color);
}


/* Optional heading description */

.plocal-contact-paths__heading::after {
    content:
        "We connect you with the right team so your question is handled quickly, by the right people.";

    display: block;

    max-width: 660px;

    margin: 18px auto 0;

    color: var(--body-text-color);

    font-family: var(--body-font);
    font-size: 17px;

    line-height: 1.65;
}


/* =========================================================
   CONTACT GRID
========================================================= */

.plocal-contact-paths__grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));

    gap: 24px;

    width: 100%;
}


/* Top three cards */

.plocal-contact-card:nth-child(1),
.plocal-contact-card:nth-child(2),
.plocal-contact-card:nth-child(3) {
    grid-column: span 2;

    min-height: 305px;
}


/* Bottom two cards */

.plocal-contact-card:nth-child(4) {
    grid-column: 1 / span 3;

    margin-left: 9%;
}


.plocal-contact-card:nth-child(5) {
    grid-column: 4 / span 3;

    margin-right: 9%;
}


.plocal-contact-card:nth-child(4),
.plocal-contact-card:nth-child(5) {
    min-height: 200px;
}


/* =========================================================
   SHARED CARD
========================================================= */

.plocal-contact-card {
    --card-accent:#09a9c3;
    --card-accent-rgb: 36, 189, 199;

    position: relative;

    display: flex;
    flex-direction: column;
    justify-content: flex-end;

    overflow: hidden;

    min-width: 0;

    padding: 32px;

    border: 1px solid rgba(var(--card-accent-rgb), 0.2);
    border-radius: 24px;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.98),
            rgba(255, 255, 255, 0.92)
        );

    box-shadow:
        0 18px 50px rgba(8, 29, 77, 0.08);

    transition:
        transform 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease;
}


.plocal-contact-card::before {
    content: "";

    position: absolute;
    z-index: 2;

    right: 0;
    bottom: 0;
    left: 0;

    height: 3px;

    background: var(--card-accent);

    transform: scaleX(0.25);
    transform-origin: left center;

    transition: transform 0.35s ease;
}


.plocal-contact-card:hover {
    border-color: rgba(var(--card-accent-rgb), 0.48);

    box-shadow:
        0 24px 60px rgba(8, 29, 77, 0.13);

    transform: translateY(-7px);
}


.plocal-contact-card:hover::before {
    transform: scaleX(1);
}


/* =========================================================
   CARD COLORS
========================================================= */

.plocal-contact-card--customers,
.plocal-contact-card--owners {
    --card-accent: #09a9c3;
    --card-accent-rgb: 9, 169, 195;
}


/* =========================================================
   CARD NUMBER
========================================================= */

.plocal-contact-card__number {
    position: absolute;
    top: 28px;
    right: 28px;
    z-index: 4;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    border: 1px solid rgba(var(--card-accent-rgb), 0.25);
    border-radius: 50%;

    background: rgba(255, 255, 255, 0.9);

    color: var(--card-accent);

    font-family: var(--heading-font);
    font-size: 13px;
    font-weight: 700;

    box-shadow:
        0 8px 20px rgba(var(--card-accent-rgb), 0.1);
}

/* =========================================================
   CARD ICON
========================================================= */

.plocal-contact-card__icon {
    position: absolute;
    top: 24px;
    left: 28px;
    z-index: 4;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 88px;
    height: 88px;

    border: 6px solid rgba(255, 255, 255, 0.9);
    border-radius: 50%;

    background:
        linear-gradient(145deg, rgb(233 238 248), rgba(var(--card-accent-rgb), 0.05));

    color: #09a9c7;

    font-size: 38px;

    box-shadow:
       #24BDC7;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


.plocal-contact-card:hover .plocal-contact-card__icon {
    box-shadow:
        0 18px 35px rgba(var(--card-accent-rgb), 0.3), inset 0 0 0 1px rgba(var(--card-accent-rgb), 0.22);

    transform: translateY(-3px) rotate(-3deg);
}


/* =========================================================
   CARD CONTENT
========================================================= */

.plocal-contact-card__content {
    position: relative;
    z-index: 3;

    max-width: 78%;

    padding-top: 100px;
}


.plocal-contact-card:nth-child(4) .plocal-contact-card__content,
.plocal-contact-card:nth-child(5) .plocal-contact-card__content {
    max-width: 64%;

    margin-left: 112px;
    padding-top: 0;
}


.plocal-contact-card__content h3 {
    margin: 0;

    color: var(--theme-color2);

    font-family: var(--heading-font);
    font-size: var(--heading-size-h3);
    font-weight: 700;

    line-height: 1.25;
}


.plocal-contact-card__line {
    display: block;

    width: 30px;
    height: 3px;

    margin: 12px 0;

    border-radius: 20px;

    background: var(--card-accent);

    transition: width 0.3s ease;
}


.plocal-contact-card:hover .plocal-contact-card__line {
    width: 55px;
}


.plocal-contact-card__content p {
    margin: 0;

    color: var(--body-text-color);

    font-family: var(--body-font);
    font-size: 15px;

    line-height: 1.65;
}


.plocal-contact-card__content strong {
    color: var(--theme-color2);

    font-weight: 700;
}


/* =========================================================
   ARROW
========================================================= */

.plocal-contact-card__arrow {
    position: absolute;
    right: 28px;
    bottom: 29px;
    z-index: 5;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 44px;
    height: 44px;

    border: 2px solid var(--card-accent);
    border-radius: 50%;

    background: var(--color-white);

    color: var(--card-accent);

    font-size: 14px;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}


.plocal-contact-card:hover .plocal-contact-card__arrow {
    background: var(--card-accent);

    color: var(--color-white);

    transform: translateX(4px);
}


/* =========================================================
   CARD DECORATIONS
========================================================= */

.plocal-contact-card__decoration {
    position: absolute;
    z-index: 1;

    pointer-events: none;
}


/* Customers city silhouette */

.plocal-contact-card__decoration--city {
    right: 74px;
    bottom: 0;
    left: 14px;

    height: 65px;

    opacity: 0.08;

    background:
        linear-gradient(
            to top,
            var(--card-accent) 0 45%,
            transparent 45%
        );

    clip-path:
        polygon(
            0 100%,
            0 78%,
            8% 78%,
            8% 65%,
            14% 65%,
            14% 85%,
            20% 85%,
            20% 52%,
            26% 52%,
            26% 72%,
            33% 72%,
            33% 42%,
            40% 42%,
            40% 80%,
            47% 80%,
            47% 30%,
            55% 30%,
            55% 70%,
            63% 70%,
            63% 48%,
            70% 48%,
            70% 82%,
            77% 82%,
            77% 60%,
            84% 60%,
            84% 77%,
            92% 77%,
            92% 65%,
            100% 65%,
            100% 100%
        );
}


/* Owners orbit */

.plocal-contact-card__decoration--orbit {
    right: -70px;
    bottom: -110px;

    width: 230px;
    height: 230px;

    border: 1px solid rgba(var(--card-accent-rgb), 0.12);
    border-radius: 50%;
}


.plocal-contact-card__decoration--orbit::before,
.plocal-contact-card__decoration--orbit::after {
    content: "";

    position: absolute;

    border: 1px solid rgba(var(--card-accent-rgb), 0.11);
    border-radius: 50%;
}


.plocal-contact-card__decoration--orbit::before {
    inset: 28px;
}


.plocal-contact-card__decoration--orbit::after {
    inset: 58px;
}


/* Verification shield */

.plocal-contact-card__decoration--shield {
    right: 28px;
    bottom: 20px;

    color: var(--card-accent);

    font-size: 110px;

    opacity: 0.07;
}


/* Warning dots */

.plocal-contact-card__decoration--dots {
    right: 0;
    bottom: 0;

    width: 185px;
    height: 115px;

    opacity: 0.25;

    background-image:
        radial-gradient(
            circle,
            var(--card-accent) 1.5px,
            transparent 1.5px
        );

    background-size: 11px 11px;

    mask-image:
        linear-gradient(
            135deg,
            transparent,
            #000
        );
}


/* Support message */

.plocal-contact-card__decoration--message {
    right: 85px;
    bottom: 18px;

    color: var(--card-accent);

    font-size: 74px;

    opacity: 0.08;
}


/* =========================================================
   BOTTOM URGENT ASSISTANCE BAR
   Add this block only if you include the HTML CTA
========================================================= */

.plocal-contact-paths__support-bar {
    position: relative;

    display: grid;
    grid-template-columns:
        minmax(300px, 1.7fr)
        repeat(3, minmax(130px, 0.7fr))
        minmax(230px, 1fr);

    align-items: center;

    gap: 20px;

    overflow: hidden;

    margin-top: 30px;
    padding: 24px 28px;

    border-radius: 22px;

    background:
        linear-gradient(
            115deg,
            var(--theme-color2) 0%,
            #075494 43%,
            var(--theme-color) 100%
        );

    color: var(--color-white);

    box-shadow:
        0 22px 55px rgba(12, 44, 122, 0.18);
}


.plocal-contact-paths__support-intro {
    display: flex;
    align-items: center;

    gap: 20px;
}


.plocal-contact-paths__support-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 auto;

    width: 82px;
    height: 82px;

    border: 6px solid rgba(255, 255, 255, 0.85);
    border-radius: 50%;

    background: rgba(255, 255, 255, 0.95);

    color: var(--theme-color);

    font-size: 31px;

    box-shadow:
        0 14px 35px rgba(0, 0, 0, 0.16);
}


.plocal-contact-paths__support-copy strong {
    display: block;

    margin-bottom: 5px;

    color: var(--color-white);

    font-family: var(--heading-font);
    font-size: 19px;
}


.plocal-contact-paths__support-copy p {
    margin: 0;

    color: rgba(255, 255, 255, 0.84);

    font-size: 13px;
    line-height: 1.5;
}


.plocal-contact-paths__support-copy p strong {
    display: inline;

    color: var(--theme-color-light);

    font-family: inherit;
    font-size: inherit;
}


.plocal-contact-paths__support-signal {
    position: relative;

    display: flex;
    flex-direction: column;
    align-items: center;

    min-height: 70px;
    padding: 0 12px;

    text-align: center;
}


.plocal-contact-paths__support-signal::before {
    content: "";

    position: absolute;
    top: 50%;
    left: 0;

    width: 1px;
    height: 70px;

    background: rgba(255, 255, 255, 0.25);

    transform: translateY(-50%);
}


.plocal-contact-paths__support-signal i {
    margin-bottom: 8px;

    color: var(--color-white);

    font-size: 27px;
}


.plocal-contact-paths__support-signal strong {
    color: var(--color-white);

    font-size: 12px;
}


.plocal-contact-paths__support-signal small {
    margin-top: 3px;

    color: rgba(255, 255, 255, 0.77);

    font-size: 10px;
}


.plocal-contact-paths__support-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 12px;

    min-height: 64px;
    padding: 16px 22px;

    border-radius: 15px;

    background: var(--color-white);

    color: var(--theme-color2);

    font-family: var(--heading-font);
    font-size: 15px;
    font-weight: 700;

    box-shadow:
        0 12px 30px rgba(0, 0, 0, 0.16);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


.plocal-contact-paths__support-button:hover {
    color: var(--theme-color2);

    box-shadow:
        0 16px 36px rgba(0, 0, 0, 0.2);

    transform: translateY(-3px);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1199px) {

    .plocal-contact-paths__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }


    .plocal-contact-card:nth-child(1),
    .plocal-contact-card:nth-child(2),
    .plocal-contact-card:nth-child(3),
    .plocal-contact-card:nth-child(4),
    .plocal-contact-card:nth-child(5) {
        grid-column: auto;

        min-height: 270px;

        margin: 0;
    }


    .plocal-contact-card:nth-child(5) {
        grid-column: 1 / -1;

        width: calc(50% - 12px);

        margin: 0 auto;
    }


    .plocal-contact-card:nth-child(4) .plocal-contact-card__content,
    .plocal-contact-card:nth-child(5) .plocal-contact-card__content {
        max-width: 78%;

        margin-left: 0;
        padding-top: 100px;
    }


    .plocal-contact-paths__support-bar {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));

        text-align: center;
    }


    .plocal-contact-paths__support-intro,
    .plocal-contact-paths__support-button {
        grid-column: 1 / -1;
    }


    .plocal-contact-paths__support-intro {
        justify-content: center;
    }

}


/* =========================================================
   SMALL TABLET
========================================================= */

@media (max-width: 767px) {

    .plocal-contact-paths {
        padding: 85px 0;
    }


    .plocal-contact-paths__heading {
        margin-bottom: 38px;
    }


    .plocal-contact-paths__heading::after {
        padding: 0 20px;

        font-size: 15px;
    }


    .plocal-contact-paths__grid {
        grid-template-columns: 1fr;
    }


    .plocal-contact-card:nth-child(1),
    .plocal-contact-card:nth-child(2),
    .plocal-contact-card:nth-child(3),
    .plocal-contact-card:nth-child(4),
    .plocal-contact-card:nth-child(5) {
        grid-column: auto;

        width: 100%;
        min-height: 250px;

        margin: 0;
    }


    .plocal-contact-card {
        padding: 28px;
    }


    .plocal-contact-card__icon {
        width: 76px;
        height: 76px;

        font-size: 31px;
    }


    .plocal-contact-card__content,
    .plocal-contact-card:nth-child(4) .plocal-contact-card__content,
    .plocal-contact-card:nth-child(5) .plocal-contact-card__content {
        max-width: calc(100% - 46px);

        margin-left: 0;
        padding-top: 92px;
    }


    .plocal-contact-paths__support-bar {
        grid-template-columns: 1fr;

        padding: 26px 22px;
    }


    .plocal-contact-paths__support-signal::before {
        display: none;
    }


    .plocal-contact-paths__support-signal {
        padding: 15px 0;

        border-top: 1px solid rgba(255, 255, 255, 0.2);
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575px) {

    .plocal-contact-paths {
        padding: 70px 0;
    }


    .plocal-contact-paths__heading .site-title-tagline {
        font-size: 11px;
    }


    .plocal-contact-paths__heading .site-title {
        font-size: clamp(31px, 10vw, 42px);
    }


    .plocal-contact-card {
        min-height: 270px;

        padding: 24px;

        border-radius: 19px;
    }


    .plocal-contact-card__number {
        top: 20px;
        right: 20px;

        width: 34px;
        height: 34px;
    }


    .plocal-contact-card__icon {
        top: 19px;
        left: 20px;

        width: 70px;
        height: 70px;

        border-width: 5px;

        font-size: 27px;
    }


    .plocal-contact-card__content,
    .plocal-contact-card:nth-child(4) .plocal-contact-card__content,
    .plocal-contact-card:nth-child(5) .plocal-contact-card__content {
        max-width: 100%;

        padding-top: 86px;
        padding-right: 34px;
    }


    .plocal-contact-card__content h3 {
        font-size: 20px;
    }


    .plocal-contact-card__content p {
        font-size: 14px;
    }


    .plocal-contact-card__arrow {
        right: 20px;
        bottom: 21px;

        width: 40px;
        height: 40px;
    }


    .plocal-contact-paths__support-intro {
        flex-direction: column;

        text-align: center;
    }


    .plocal-contact-paths__support-button {
        width: 100%;
    }


    .plocal-contact-paths__orbit--top {
        display: none;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .plocal-contact-card,
    .plocal-contact-card::before,
    .plocal-contact-card__icon,
    .plocal-contact-card__line,
    .plocal-contact-card__arrow,
    .plocal-contact-paths__support-button {
        transition: none;
    }

}

/* =========================================================
   PLOCAL — CONTACT SECTION
========================================================= */

.plocal-contact-section {
    position: relative;
    z-index: 1;

    overflow: hidden;

    padding: 110px 0;

    background:
        radial-gradient(
            circle at 8% 90%,
            rgba(36, 189, 199, 0.12),
            transparent 24%
        ),
        radial-gradient(
            circle at 86% 20%,
            rgba(12, 44, 122, 0.05),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            #ffffff 0%,
            #fbfdff 48%,
            #f7fbff 100%
        );
}


/* =========================================================
   BACKGROUND DECORATIONS
========================================================= */

.plocal-contact-section__dots {
    position: absolute;
    z-index: -1;

    width: 160px;
    height: 160px;

    pointer-events: none;

    background-image:
        radial-gradient(
            circle,
            rgba(36, 189, 199, 0.35) 2px,
            transparent 2px
        );

    background-size: 14px 14px;

    animation:
        plocalContactDotsFloat 8s ease-in-out infinite;
}


.plocal-contact-section__dots--top {
    top: -28px;
    left: 34%;
}


.plocal-contact-section__dots--left {
    bottom: 90px;
    left: -55px;

    opacity: 0.55;

    animation-delay: -3s;
}


.plocal-contact-section__grid {
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;

    width: 33%;
    height: 54%;

    pointer-events: none;

    opacity: 0.55;

    background-image:
        linear-gradient(
            rgba(12, 44, 122, 0.045) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(12, 44, 122, 0.045) 1px,
            transparent 1px
        );

    background-size: 44px 44px;

    mask-image:
        linear-gradient(
            135deg,
            transparent 5%,
            #000 70%,
            transparent 100%
        );
}


.plocal-contact-section__orbit {
    position: absolute;
    z-index: -1;

    pointer-events: none;

    border: 1px solid rgba(36, 189, 199, 0.24);
    border-radius: 50%;

    animation:
        plocalContactOrbit 18s linear infinite;
}


.plocal-contact-section__orbit--one {
    bottom: -225px;
    left: -180px;

    width: 440px;
    height: 440px;
}


.plocal-contact-section__orbit--two {
    bottom: -175px;
    left: -130px;

    width: 330px;
    height: 330px;

    animation-direction: reverse;
    animation-duration: 14s;
}


.plocal-contact-section__orbit-dot {
    position: absolute;
    z-index: 0;

    width: 15px;
    height: 15px;

    border-radius: 50%;

    background: var(--theme-color);

    box-shadow:
        0 0 0 6px rgba(36, 189, 199, 0.12);

    pointer-events: none;

    animation:
        plocalContactPulse 2.8s ease-in-out infinite;
}


.plocal-contact-section__orbit-dot--one {
    bottom: 96px;
    left: 205px;
}


.plocal-contact-section__orbit-dot--two {
    bottom: 190px;
    left: 70px;

    width: 10px;
    height: 10px;

    animation-delay: -1.3s;
}


/* =========================================================
   LEFT CONTENT
========================================================= */

.plocal-contact-section__content {
    position: relative;
    z-index: 2;

    padding-right: 18px;
}


.plocal-contact-section__heading {
    margin-bottom: 28px;
}


.plocal-contact-section__heading .site-title-tagline {
    display: inline-flex;
    align-items: center;

    gap: 9px;

    margin-bottom: 18px;
    padding: 6px 16px 6px 7px;

    border: 1px solid rgba(36, 189, 199, 0.5);
    border-radius: 999px;

    background: rgba(255, 255, 255, 0.86);

    color: var(--theme-color);

    font-family: var(--heading-font);
    font-size: 14px;
    font-weight: 700;

    letter-spacing: 0.12em;
    line-height: 1;
    text-transform: uppercase;

    box-shadow:
        0 10px 30px rgba(36, 189, 199, 0.1);

    backdrop-filter: blur(10px);
}


.plocal-contact-section__tagline-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 29px;
    height: 29px;

    border-radius: 50%;

    background: var(--theme-color);

    color: var(--color-white);

    font-size: 12px;
}


.plocal-contact-section__heading .site-title {
    margin: 0;

    color: var(--theme-color2);

    font-family: var(--heading-font);
    font-size: var(--font-size-h2);
    font-weight: var(--heading-weight);

    line-height: 1.1;
    letter-spacing: var(--heading-letter-spacing);
}


.plocal-contact-section__heading .site-title span {
    color: var(--theme-color);
}


.plocal-contact-section__intro {
    max-width: 560px;

    margin: 0 0 34px;

    color: var(--body-text-color);

    font-family: var(--body-font);
    font-size: 16px;

    line-height: 1.75;
}


/* =========================================================
   CONTACT META
========================================================= */

.plocal-contact-meta {
    position: relative;
    z-index: 3;

    overflow: hidden;

    max-width: 550px;

    margin: 0;
    padding: 7px 27px;

    border: 1px solid rgba(36, 189, 199, 0.16);
    border-radius: 20px;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.94),
            rgba(239, 251, 252, 0.82)
        );

    box-shadow:
        0 18px 45px rgba(8, 29, 77, 0.07);

    list-style: none;

    backdrop-filter: blur(12px);
}


.plocal-contact-meta li {
    position: relative;

    display: flex;
    align-items: center;

    gap: 18px;

    min-height: 91px;
    padding: 16px 0;

    color: var(--theme-color2);
}


.plocal-contact-meta li + li {
    border-top: 1px solid rgba(12, 44, 122, 0.1);
}


.plocal-contact-meta__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 auto;

    width: 56px;
    height: 56px;

    border-radius: 50%;

    background:
        linear-gradient(
            145deg,
            rgba(36, 189, 199, 0.18),
            rgba(36, 189, 199, 0.07)
        );

    color: var(--theme-color);

    font-size: 20px;

    box-shadow:
        inset 0 0 0 1px rgba(36, 189, 199, 0.12);

    transition:
        transform 0.3s ease,
        background 0.3s ease,
        color 0.3s ease;
}


.plocal-contact-meta li:hover .plocal-contact-meta__icon {
    background: var(--theme-color);

    color: var(--color-white);

    transform: translateY(-3px);
}


.plocal-contact-meta__content {
    display: block;

    min-width: 0;
}


.plocal-contact-meta__content small {
    display: block;

    margin-bottom: 4px;

    color: var(--body-text-color);

    font-family: var(--body-font);
    font-size: 11px;
    font-weight: 600;

    letter-spacing: 0.08em;
    text-transform: uppercase;
}


.plocal-contact-meta__content strong {
    display: block;

    color: var(--theme-color2);

    font-family: var(--heading-font);
    font-size: 15px;
    font-weight: 700;

    line-height: 1.4;
}


/* =========================================================
   CONTACT ILLUSTRATION
========================================================= */

.plocal-contact-illustration {
    position: relative;

    width: 100%;
    max-width: 390px;
    height: 220px;

    margin: 28px auto 0;

    pointer-events: none;
}


.plocal-contact-illustration__image {
    position: absolute;
    right: 0;
    bottom: -12px;

    display: block;

    width: 280px;
    max-width: none;
    height: auto;

    opacity: 0.96;

    filter:
        drop-shadow(0 20px 26px rgba(12, 44, 122, 0.12));

    animation:
        plocalContactIllustration 5.5s ease-in-out infinite;
}


.plocal-contact-illustration__chat,
.plocal-contact-illustration__location {
    position: absolute;
    z-index: 3;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: var(--color-white);

    box-shadow:
        0 16px 30px rgba(36, 189, 199, 0.2);

    animation:
        plocalContactIconFloat 4s ease-in-out infinite;
}


.plocal-contact-illustration__chat {
    top: 28px;
    left: 75px;

    width: 74px;
    height: 58px;

    border-radius: 26px 26px 26px 8px;

    background:
        linear-gradient(
            135deg,
            var(--theme-color),
            #0fa7b7
        );

    font-size: 25px;
}


.plocal-contact-illustration__location {
    right: 62px;
    bottom: 22px;

    width: 45px;
    height: 45px;

    border-radius: 50%;

    background: var(--theme-color);

    font-size: 17px;

    animation-delay: -1.4s;
}


/* =========================================================
   FORM SHELL
========================================================= */

.plocal-contact-form-shell {
    position: relative;
    z-index: 3;

    overflow: hidden;

    padding: 42px;

    border: 1px solid rgba(12, 44, 122, 0.09);
    border-radius: 24px;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.98),
            rgba(255, 255, 255, 0.91)
        );

    box-shadow:
        0 28px 70px rgba(8, 29, 77, 0.1);

    backdrop-filter: blur(14px);

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease;
}


.plocal-contact-form-shell:hover {
    box-shadow:
        0 34px 85px rgba(8, 29, 77, 0.14);

    transform: translateY(-4px);
}


.plocal-contact-form-shell::before {
    content: "";

    position: absolute;
    top: -120px;
    right: -130px;

    width: 320px;
    height: 320px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(36, 189, 199, 0.1),
            transparent 67%
        );

    pointer-events: none;
}


.plocal-contact-form-shell__line {
    position: absolute;
    top: 0;
    left: 40px;

    width: 120px;
    height: 3px;

    border-radius: 0 0 20px 20px;

    background:
        linear-gradient(
            90deg,
            var(--theme-color2),
            var(--theme-color)
        );
}


/* =========================================================
   FORM
========================================================= */

.plocal-form {
    position: relative;
    z-index: 2;
}


.plocal-form-group {
    margin-bottom: 23px;
}


.plocal-form-group label {
    display: block;

    margin-bottom: 9px;

    color: var(--theme-color2);

    font-family: var(--heading-font);
    font-size: 14px;
    font-weight: 700;

    line-height: 1.4;
}


.plocal-form-group .req {
    color: var(--color-red);
}


.plocal-optional {
    color: var(--body-text-color);

    font-family: var(--body-font);
    font-size: 12px;
    font-weight: 400;
}


.plocal-form-field {
    position: relative;
}


.plocal-form-field > i {
    position: absolute;
    top: 50%;
    left: 17px;
    z-index: 2;

    color: rgba(8, 29, 77, 0.58);

    font-size: 16px;

    pointer-events: none;

    transform: translateY(-50%);

    transition:
        color 0.25s ease,
        transform 0.25s ease;
}


.plocal-form-field--textarea > i {
    top: 20px;

    transform: none;
}


.plocal-form-control {
    display: block;

    width: 100%;
    min-height: 58px;

    padding: 14px 18px 14px 48px;

    border: 1px solid rgba(12, 44, 122, 0.14);
    border-radius: 12px;

    outline: none;

    background: rgba(248, 251, 255, 0.88);

    color: var(--theme-color2);

    font-family: var(--body-font);
    font-size: 14px;

    line-height: 1.5;

    box-shadow:
        inset 0 1px 2px rgba(8, 29, 77, 0.025);

    transition:
        border-color 0.25s ease,
        background 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.25s ease;
}


.plocal-form-control::placeholder {
    color: rgba(102, 112, 133, 0.74);
}


.plocal-form-control:hover {
    border-color: rgba(36, 189, 199, 0.36);

    background: var(--color-white);
}


.plocal-form-control:focus {
    border-color: var(--theme-color);

    background: var(--color-white);

    box-shadow:
        0 0 0 4px rgba(36, 189, 199, 0.11),
        0 10px 24px rgba(12, 44, 122, 0.06);

    transform: translateY(-1px);
}


.plocal-form-field:focus-within > i {
    color: var(--theme-color);

    transform:
        translateY(-50%)
        scale(1.08);
}


.plocal-form-field--textarea:focus-within > i {
    transform: scale(1.08);
}


.plocal-form-field--select .plocal-form-control {
    cursor: pointer;
}


.plocal-form-control option {
    color: var(--theme-color2);

    background: var(--color-white);
}


textarea.plocal-form-control {
    min-height: 190px;

    padding-top: 17px;

    resize: vertical;
}


/* =========================================================
   FORM FOOTER
========================================================= */

.plocal-form__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-top: 3px;
}


.plocal-contact-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 10px;

    min-height: 54px;
    padding: 14px 24px;

    border: 0;
    border-radius: 14px;

    background:
        linear-gradient(
            135deg,
            var(--theme-color),
            #10aebd
        );

    color: var(--color-white);

    font-family: var(--heading-font);
    font-size: 14px;
    font-weight: 700;

    box-shadow:
        0 14px 30px rgba(36, 189, 199, 0.22);

    cursor: pointer;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        background 0.3s ease;
}


.plocal-contact-submit:hover {
    background:
        linear-gradient(
            135deg,
            var(--theme-color2),
            var(--theme-color)
        );

    color: var(--color-white);

    box-shadow:
        0 18px 36px rgba(12, 44, 122, 0.2);

    transform: translateY(-3px);
}


.plocal-contact-submit i {
    transition: transform 0.3s ease;
}


.plocal-contact-submit:hover i {
    transform:
        translateX(3px)
        translateY(-2px);
}


.plocal-form__privacy {
    display: inline-flex;
    align-items: center;

    gap: 8px;

    color: var(--body-text-color);

    font-family: var(--body-font);
    font-size: 11px;

    line-height: 1.4;
}


.plocal-form__privacy i {
    color: var(--theme-color);

    font-size: 13px;
}


.plocal-form-msg {
    margin-top: 18px;
}


/* =========================================================
   HONEYPOT
========================================================= */

.plocal-hp {
    position: absolute !important;

    width: 1px !important;
    height: 1px !important;

    overflow: hidden !important;

    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;

    white-space: nowrap !important;
}


/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes plocalContactDotsFloat {

    0%,
    100% {
        transform: translate3d(0, 0, 0);
    }

    50% {
        transform: translate3d(0, 13px, 0);
    }

}


@keyframes plocalContactOrbit {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }

}


@keyframes plocalContactPulse {

    0%,
    100% {
        box-shadow:
            0 0 0 6px rgba(36, 189, 199, 0.1);

        transform: scale(1);
    }

    50% {
        box-shadow:
            0 0 0 13px rgba(36, 189, 199, 0);

        transform: scale(1.12);
    }

}


@keyframes plocalContactIllustration {

    0%,
    100% {
        transform:
            translate3d(0, 0, 0)
            rotate(0deg);
    }

    50% {
        transform:
            translate3d(0, -9px, 0)
            rotate(-1deg);
    }

}


@keyframes plocalContactIconFloat {

    0%,
    100% {
        transform: translate3d(0, 0, 0);
    }

    50% {
        transform: translate3d(0, -7px, 0);
    }

}


/* =========================================================
   RESPONSIVE — LARGE TABLET
========================================================= */

@media (max-width: 1199px) {

    .plocal-contact-form-shell {
        padding: 34px;
    }


    .plocal-contact-section__content {
        padding-right: 0;
    }


    .plocal-contact-illustration__image {
        width: 250px;
    }

}


/* =========================================================
   RESPONSIVE — TABLET
========================================================= */

@media (max-width: 991px) {

    .plocal-contact-section {
        padding: 90px 0;
    }


    .plocal-contact-section__content {
        max-width: 680px;

        margin: 0 auto;
    }


    .plocal-contact-section__heading,
    .plocal-contact-section__intro {
        text-align: center;
    }


    .plocal-contact-section__heading .site-title-tagline {
        justify-content: center;
    }


    .plocal-contact-section__intro {
        margin-right: auto;
        margin-left: auto;
    }


    .plocal-contact-meta {
        margin-right: auto;
        margin-left: auto;
    }


    .plocal-contact-illustration {
        margin-bottom: 22px;
    }


    .plocal-contact-form-shell {
        max-width: 760px;

        margin: 0 auto;
    }

}


/* =========================================================
   RESPONSIVE — SMALL TABLET
========================================================= */

@media (max-width: 767px) {

    .plocal-contact-section {
        padding: 75px 0;
    }


    .plocal-contact-form-shell {
        padding: 28px 24px;

        border-radius: 20px;
    }


    .plocal-contact-meta {
        padding: 5px 20px;
    }


    .plocal-contact-meta li {
        min-height: 82px;
    }


    .plocal-contact-illustration {
        height: 190px;
    }


    .plocal-contact-illustration__image {
        right: 50%;

        width: 230px;

        transform: translateX(50%);
    }


    .plocal-contact-illustration__chat {
        left: 18%;
    }


    .plocal-contact-illustration__location {
        right: 24%;
    }


    .plocal-form__footer {
        align-items: flex-start;
        flex-direction: column;
    }

}


/* =========================================================
   RESPONSIVE — MOBILE
========================================================= */

@media (max-width: 575px) {

    .plocal-contact-section {
        padding: 65px 0;
    }


    .plocal-contact-section__heading .site-title-tagline {
        font-size: 11px;
    }


    .plocal-contact-section__heading .site-title {
        font-size: clamp(34px, 11vw, 46px);
    }


    .plocal-contact-section__intro {
        font-size: 14px;
    }


    .plocal-contact-meta {
        padding: 4px 17px;

        border-radius: 17px;
    }


    .plocal-contact-meta li {
        gap: 13px;

        min-height: 76px;
    }


    .plocal-contact-meta__icon {
        width: 46px;
        height: 46px;

        font-size: 17px;
    }


    .plocal-contact-meta__content strong {
        font-size: 13px;
    }


    .plocal-contact-illustration {
        height: 170px;
    }


    .plocal-contact-illustration__image {
        width: 205px;
    }


    .plocal-contact-illustration__chat {
        top: 23px;
        left: 12%;

        width: 60px;
        height: 48px;

        font-size: 20px;
    }


    .plocal-contact-illustration__location {
        right: 19%;
        bottom: 16px;
    }


    .plocal-contact-form-shell {
        padding: 24px 18px;
    }


    .plocal-form-control {
        min-height: 54px;

        font-size: 13px;
    }


    textarea.plocal-form-control {
        min-height: 160px;
    }


    .plocal-contact-submit {
        width: 100%;
    }


    .plocal-form__privacy {
        width: 100%;

        justify-content: center;

        text-align: center;
    }


    .plocal-contact-section__grid,
    .plocal-contact-section__dots--top {
        display: none;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .plocal-contact-section__dots,
    .plocal-contact-section__orbit,
    .plocal-contact-section__orbit-dot,
    .plocal-contact-illustration__image,
    .plocal-contact-illustration__chat,
    .plocal-contact-illustration__location {
        animation: none;
    }


    .plocal-contact-form-shell,
    .plocal-contact-meta__icon,
    .plocal-form-control,
    .plocal-contact-submit,
    .plocal-contact-submit i {
        transition: none;
    }

}

.plocal-contact-meta__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 auto;

    width: 56px;
    height: 56px;

    border-radius: 50%;

    background:
        linear-gradient(
            145deg,
            rgba(36, 189, 199, 0.18),
            rgba(36, 189, 199, 0.07)
        );

    color: var(--theme-color);

    font-size: 20px;

    box-shadow:
        inset 0 0 0 1px rgba(36, 189, 199, 0.12);

    transition:
        transform 0.3s ease,
        background 0.3s ease,
        color 0.3s ease;
}

.plocal-contact-meta__icon i {
    color: var(--theme-color);

    transition: color 0.3s ease;
}

.plocal-contact-meta li:hover .plocal-contact-meta__icon {
    background: var(--theme-color);
    color: var(--color-white);

    transform: translateY(-3px);
}

.plocal-contact-meta li:hover .plocal-contact-meta__icon i {
    color: var(--color-white) !important;
}
/* =========================================================
   PLOCAL — PAY FOR EVALUATION, NOT RANKING
   Clean static design. No JavaScript required.

   This CSS uses the variables already declared in your :root.
========================================================= */


/* =========================================================
   01. SECTION
========================================================= */

.plocal-evaluation,
.plocal-evaluation * {
    box-sizing: border-box;
}


.plocal-evaluation {
    position: relative;
    z-index: 1;
    isolation: isolate;
    overflow: hidden;

    padding:
        clamp(88px, 8vw, 132px)
        0;

    background:
        radial-gradient(
            circle at 76% 45%,
            rgba(12, 44, 122, 0.38) 0%,
            rgba(12, 44, 122, 0.13) 34%,
            transparent 63%
        ),
        radial-gradient(
            circle at 8% 88%,
            rgba(36, 189, 199, 0.13) 0%,
            transparent 32%
        ),
        linear-gradient(
            135deg,
            var(--footer-bg) 0%,
            var(--color-dark) 48%,
            #06163A 100%
        );
}


.plocal-evaluation::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;

    height: 1px;

    content: "";

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(98, 211, 218, 0.28),
            transparent
        );
}


/* =========================================================
   02. BACKGROUND
========================================================= */

.plocal-evaluation__background {
    position: absolute;
    inset: 0;
    z-index: -2;

    overflow: hidden;

    pointer-events: none;
}


.plocal-evaluation__grid {
    position: absolute;
    inset: 0;

    background-image:
        linear-gradient(
            rgba(98, 211, 218, 0.035) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(98, 211, 218, 0.035) 1px,
            transparent 1px
        );

    background-size: 72px 72px;

    opacity: 0.58;

    -webkit-mask-image:
        radial-gradient(
            ellipse at 75% 50%,
            #000 0%,
            rgba(0, 0, 0, 0.72) 42%,
            transparent 86%
        );

    mask-image:
        radial-gradient(
            ellipse at 75% 50%,
            #000 0%,
            rgba(0, 0, 0, 0.72) 42%,
            transparent 86%
        );
}


.plocal-evaluation__glow {
    position: absolute;

    border-radius: 50%;

    filter: blur(16px);
}


.plocal-evaluation__glow--one {
    top: -230px;
    right: 12%;

    width: 550px;
    height: 550px;

    background:
        radial-gradient(
            circle,
            rgba(36, 189, 199, 0.17),
            transparent 69%
        );
}


.plocal-evaluation__glow--two {
    right: -220px;
    bottom: -280px;

    width: 680px;
    height: 680px;

    background:
        radial-gradient(
            circle,
            rgba(12, 44, 122, 0.46),
            transparent 70%
        );
}


.plocal-evaluation__orbit {
    position: absolute;

    border:
        1px dashed
        rgba(36, 189, 199, 0.18);

    border-radius: 50%;

    opacity: 0.7;
}


.plocal-evaluation__orbit--one {
    top: -18%;
    right: 5%;

    width: 62%;
    height: 74%;

    transform: rotate(8deg);
}


.plocal-evaluation__orbit--two {
    bottom: -45%;
    left: -4%;

    width: 58%;
    height: 62%;

    opacity: 0.38;

    transform: rotate(-8deg);
}


.plocal-evaluation__dot {
    position: absolute;

    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: var(--color-skyblue);

    box-shadow:
        0 0 9px var(--color-skyblue),
        0 0 24px rgba(98, 211, 218, 0.85);
}


.plocal-evaluation__dot--one {
    top: 19%;
    right: 21%;
}


.plocal-evaluation__dot--two {
    right: 48%;
    bottom: 23%;

    width: 5px;
    height: 5px;

    opacity: 0.72;
}


.plocal-evaluation__bg-icon {
    position: absolute;

    color:
        rgba(
            98,
            211,
            218,
            0.05
        );

    font-size:
        clamp(
            64px,
            6vw,
            104px
        );
}


.plocal-evaluation__bg-icon--shield {
    top: 8%;
    right: 4%;
}


.plocal-evaluation__bg-icon--document {
    right: 4%;
    bottom: 7%;

    font-size:
        clamp(
            56px,
            5vw,
            88px
        );
}


/* =========================================================
   03. CONTAINER AND LAYOUT
========================================================= */

.plocal-evaluation__container {
    position: relative;
    z-index: 3;

    width:
        min(
            calc(100% - 48px),
            1460px
        );

    margin-inline: auto;
}


.plocal-evaluation__layout {
    display: grid;

    grid-template-columns:
        minmax(450px, 610px)
        minmax(610px, 760px);

    justify-content: space-between;
    align-items: center;

    gap:
        clamp(
            50px,
            5.5vw,
            88px
        );
}


/* =========================================================
   04. LEFT CONTENT
========================================================= */

.plocal-evaluation__content {
    width: 100%;
    max-width: 610px;
}


.plocal-evaluation__eyebrow {
    display: inline-flex;
    align-items: center;

    gap: 11px;

    margin-bottom: 25px;

    color: var(--theme-color);

    font-family: var(--body-font);
    font-size:
        clamp(
            15px,
            1.1vw,
            18px
        );

    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.01em;
}


.plocal-evaluation__eyebrow-icon {
    display: grid;
    place-items: center;

    width: 36px;
    height: 36px;

    border:
        1px solid
        rgba(36, 189, 199, 0.35);

    border-radius: 10px;

    background:
        rgba(36, 189, 199, 0.09);

    box-shadow:
        inset 0 0 15px
        rgba(36, 189, 199, 0.08);

    font-size: 16px;
}


.plocal-evaluation__title {
    width: 100%;
    max-width: 610px;

    margin:
        0
        0
        25px;

    color: var(--color-white);

    font-family: var(--heading-font);
    font-size:
        clamp(
            40px,
            3.8vw,
            57px
        );

    font-weight: var(--heading-weight);
    line-height: 1.09;
    letter-spacing: var(--heading-letter-spacing);

    text-wrap: balance;

    text-shadow:
        0 12px 32px
        rgba(0, 0, 0, 0.16);
}


.plocal-evaluation__title span {
    display: block;
}


.plocal-evaluation__text {
    width: 100%;
    max-width: 590px;

    margin: 0;

    color:
        rgba(
            234,
            249,
            250,
            0.74
        );

    font-family: var(--body-font);
    font-size:
        clamp(
            16px,
            1.2vw,
            18px
        );

    font-weight: 400;
    line-height: 1.85;
}


.plocal-evaluation__text strong {
    color: var(--theme-color);

    font-weight: 700;
}


.plocal-evaluation__accent {
    width: 150px;
    height: 3px;

    margin-top: 31px;

    overflow: hidden;

    border-radius: 50px;

    background:
        rgba(
            255,
            255,
            255,
            0.08
        );
}


.plocal-evaluation__accent span {
    display: block;

    width: 72%;
    height: 100%;

    border-radius: inherit;

    background:
        linear-gradient(
            90deg,
            var(--theme-color),
            var(--color-skyblue)
        );

    box-shadow:
        0 0 18px
        rgba(36, 189, 199, 0.5);
}


/* =========================================================
   05. RIGHT PANEL
========================================================= */

.plocal-evaluation__panel {
    position: relative;

    width: 100%;
    max-width: 760px;
    min-height: 390px;

    overflow: hidden;


.plocal-evaluation__panel::before {
    position: absolute;
    inset: 0;

    content: "";

    background-image:
        linear-gradient(
            rgba(98, 211, 218, 0.03) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(98, 211, 218, 0.03) 1px,
            transparent 1px
        );

    background-size: 52px 52px;

    opacity: 0.38;

    -webkit-mask-image:
        radial-gradient(
            ellipse,
            #000 0%,
            transparent 78%
        );

    mask-image:
        radial-gradient(
            ellipse,
            #000 0%,
            transparent 78%
        );

    pointer-events: none;
}


.plocal-evaluation__panel::after {
    position: absolute;
    inset: 0;

    content: "";

    border-radius: inherit;

    pointer-events: none;
}


.plocal-evaluation__panel-orbit {
    position: absolute;
    top: 9%;
    right: -11%;

    width: 88%;
    height: 80%;

    border:
        1px dashed
        rgba(36, 189, 199, 0.16);

    border-radius: 50%;

    pointer-events: none;
}


.plocal-evaluation__panel-light {
    position: absolute;
    top: 17%;
    right: 18%;

    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: var(--color-skyblue);

    box-shadow:
        0 0 8px var(--color-skyblue),
        0 0 22px rgba(98, 211, 218, 0.9),
        0 0 45px rgba(36, 189, 199, 0.45);

    pointer-events: none;
}
}
/* =========================================================
   06. RULE CARDS
========================================================= */

.plocal-evaluation__rules {
    position: relative;
    z-index: 3;

    display: grid;

    grid-template-columns:
        repeat(
            6,
            minmax(0, 1fr)
        );

    align-content: center;

    gap: 18px;

    min-height: 310px;

    margin: 0;
    padding: 0;

    list-style: none;
}


.plocal-evaluation__rule {
    position: relative;

    grid-column: span 2;

    display: grid;

    grid-template-columns:
        48px
        1px
        minmax(0, 1fr);

    align-items: center;

    column-gap: 14px;

    min-width: 0;
    min-height: 82px;

    padding:
        13px
        16px;

    overflow: hidden;

    border:
        1px solid
        rgba(255, 255, 255, 0.17);

    border-radius: 20px;

    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.08),
            rgba(255, 255, 255, 0.027)
        );

    box-shadow:
        inset 0 1px 0
        rgba(255, 255, 255, 0.08),

        inset 0 0 22px
        rgba(12, 44, 122, 0.14),

        0 14px 32px
        rgba(0, 0, 0, 0.14);

    -webkit-backdrop-filter: blur(13px);
    backdrop-filter: blur(13px);

    transition:
        transform 0.3s ease,
        border-color 0.3s ease,
        background 0.3s ease,
        box-shadow 0.3s ease;
}


.plocal-evaluation__rule:nth-child(4) {
    grid-column:
        2
        /
        span 2;
}


.plocal-evaluation__rule:nth-child(5) {
    grid-column:
        4
        /
        span 2;
}


.plocal-evaluation__rule::before {
    position: absolute;
    top: -80%;
    left: -46%;

    width: 44%;
    height: 250%;

    content: "";

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255, 255, 255, 0.1),
            transparent
        );

    transform:
        rotate(18deg)
        translateX(-230%);

    transition:
        transform 0.75s ease;

    pointer-events: none;
}


.plocal-evaluation__rule > * {
    position: relative;
    z-index: 2;
}


.plocal-evaluation__rule:hover {
    border-color:
        rgba(98, 211, 218, 0.84);

    background:
        linear-gradient(
            135deg,
            rgba(36, 189, 199, 0.16),
            rgba(12, 44, 122, 0.1)
        );

    box-shadow:
        inset 0 1px 0
        rgba(255, 255, 255, 0.13),

        inset 0 0 28px
        rgba(36, 189, 199, 0.11),

        0 0 0 1px
        rgba(36, 189, 199, 0.1),

        0 0 25px
        rgba(36, 189, 199, 0.32),

        0 20px 42px
        rgba(0, 0, 0, 0.2);

    transform:
        translateY(-4px);
}


.plocal-evaluation__rule:hover::before {
    transform:
        rotate(18deg)
        translateX(530%);
}


.plocal-evaluation__rule-icon {
    display: grid;
    place-items: center;

    width: 48px;
    height: 48px;

    border:
        1px solid
        rgba(98, 211, 218, 0.38);

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(226, 85, 85, 0.11),
            rgba(12, 44, 122, 0.14)
        );

    color: var(--color-red);

    font-size: 21px;

    box-shadow:
        inset 0 0 18px
        rgba(36, 189, 199, 0.075);

    transition:
        border-color 0.3s ease,
        box-shadow 0.3s ease,
        transform 0.3s ease;
}


.plocal-evaluation__rule:hover
.plocal-evaluation__rule-icon {
    border-color:
        rgba(98, 211, 218, 0.76);

    box-shadow:
        inset 0 0 18px
        rgba(36, 189, 199, 0.12),

        0 0 17px
        rgba(36, 189, 199, 0.21);

    transform: rotate(-5deg);
}


.plocal-evaluation__rule-divider {
    display: block;

    width: 1px;
    height: 38px;

    background:
        linear-gradient(
            to bottom,
            transparent,
            rgba(98, 211, 218, 0.38),
            transparent
        );
}


.plocal-evaluation__rule-text {
    display: block;

    min-width: 0;

    color: var(--color-white);

    font-family: var(--body-font);
    font-size:
        clamp(
            13px,
            0.95vw,
            15px
        );

    font-weight: 600;
    line-height: 1.38;

    text-align: left;
    overflow-wrap: normal;
    word-break: normal;
}


.plocal-evaluation__rule--accent {
    border-color:
        rgba(36, 189, 199, 0.72);

    background:
        linear-gradient(
            135deg,
            rgba(36, 189, 199, 0.14),
            rgba(12, 44, 122, 0.09)
        );

    box-shadow:
        inset 0 1px 0
        rgba(255, 255, 255, 0.1),

        inset 0 0 28px
        rgba(36, 189, 199, 0.085),

        0 0 19px
        rgba(36, 189, 199, 0.15),

        0 15px 36px
        rgba(0, 0, 0, 0.14);
}


.plocal-evaluation__rule--accent
.plocal-evaluation__rule-icon {
    color: var(--theme-color);

    background:
        radial-gradient(
            circle,
            rgba(36, 189, 199, 0.14),
            rgba(12, 44, 122, 0.14)
        );
}


/* =========================================================
   07. RESPONSIVE — LAPTOP
========================================================= */

@media (max-width: 1299.98px) {

    .plocal-evaluation__container {
        width:
            min(
                calc(100% - 40px),
                1220px
            );
    }


    .plocal-evaluation__layout {
        grid-template-columns:
            minmax(420px, 520px)
            minmax(530px, 650px);

        gap: 42px;
    }


    .plocal-evaluation__title {
        max-width: 520px;

        font-size:
            clamp(
                39px,
                4vw,
                52px
            );
    }


    .plocal-evaluation__panel {
        max-width: 650px;

        padding: 28px;
    }


    .plocal-evaluation__rule {
        grid-template-columns:
            44px
            1px
            minmax(0, 1fr);

        column-gap: 12px;

        min-height: 78px;

        padding:
            12px
            13px;
    }


    .plocal-evaluation__rule-icon {
        width: 44px;
        height: 44px;

        font-size: 19px;
    }


    .plocal-evaluation__rule-text {
        font-size: 13px;
    }

}


/* =========================================================
   08. RESPONSIVE — STACKED
========================================================= */

@media (max-width: 1099.98px) {

    .plocal-evaluation__layout {
        grid-template-columns:
            minmax(
                0,
                1fr
            );

        gap: 50px;
    }


    .plocal-evaluation__content {
        max-width: 760px;

        margin-inline: auto;
    }


    .plocal-evaluation__title {
        max-width: 740px;

        font-size:
            clamp(
                40px,
                6vw,
                56px
            );
    }


    .plocal-evaluation__text {
        max-width: 700px;
    }


    .plocal-evaluation__panel {
        width: 100%;
        max-width: 760px;

        margin-inline: auto;
    }


    .plocal-evaluation__rule {
        min-height: 82px;

        padding:
            13px
            16px;
    }


    .plocal-evaluation__rule-icon {
        width: 48px;
        height: 48px;

        font-size: 21px;
    }


    .plocal-evaluation__rule-text {
        font-size: 15px;
    }

}


/* =========================================================
   09. RESPONSIVE — TABLET
========================================================= */

@media (max-width: 767.98px) {

    .plocal-evaluation {
        padding:
            clamp(
                76px,
                11vw,
                100px
            )
            0;
    }


    .plocal-evaluation__container {
        width:
            min(
                calc(100% - 32px),
                700px
            );
    }


    .plocal-evaluation__title span {
        display: inline;
    }


    .plocal-evaluation__panel {
        min-height: auto;

        padding: 22px;

        border-radius: 28px;
    }


    .plocal-evaluation__rules {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );

        min-height: 0;

        gap: 15px;
    }


    .plocal-evaluation__rule,
    .plocal-evaluation__rule:nth-child(4),
    .plocal-evaluation__rule:nth-child(5) {
        grid-column: auto;

        min-height: 80px;
    }


    .plocal-evaluation__rule:last-child {
        grid-column:
            1
            /
            -1;

        width:
            calc(
                50%
                -
                8px
            );

        justify-self: center;
    }

}


/* =========================================================
   10. RESPONSIVE — MOBILE
========================================================= */

@media (max-width: 599.98px) {

    .plocal-evaluation__container {
        width:
            calc(
                100%
                -
                30px
            );
    }


    .plocal-evaluation__layout {
        gap: 38px;
    }


    .plocal-evaluation__eyebrow {
        margin-bottom: 20px;

        font-size: 14px;
    }


    .plocal-evaluation__title {
        margin-bottom: 21px;

        font-size:
            clamp(
                34px,
                10vw,
                44px
            );

        line-height: 1.1;
    }


    .plocal-evaluation__text {
        font-size: 16px;
        line-height: 1.72;
    }


    .plocal-evaluation__accent {
        width: 125px;

        margin-top: 26px;
    }


    .plocal-evaluation__panel {
        padding: 15px;

        border-radius: 24px;
    }


    .plocal-evaluation__rules {
        grid-template-columns:
            minmax(
                0,
                1fr
            );
    }


    .plocal-evaluation__rule,
    .plocal-evaluation__rule:last-child {
        grid-column: auto;

        width: 100%;

        min-height: 76px;

        padding:
            12px
            14px;

        border-radius: 18px;
    }


    .plocal-evaluation__rule-text {
        font-size: 14px;
    }

}


/* =========================================================
   11. REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .plocal-evaluation__rule,
    .plocal-evaluation__rule::before,
    .plocal-evaluation__rule-icon {
        transition: none;
    }

}


/* =========================================================
   PLOCAL — ANIMATED BACKGROUND
   Add this at the end of plocal-evaluation-section.css
========================================================= */


/* =========================================================
   01. MAIN BACKGROUND MOVEMENT
========================================================= */

.plocal-evaluation {
    background-size:
        125% 125%,
        120% 120%,
        100% 100%;

    animation:
        plocalEvaluationBackgroundShift
        18s ease-in-out infinite alternate;
}


/* =========================================================
   02. LIGHT SCAN
========================================================= */

.plocal-evaluation__background::before {
    position: absolute;
    top: -35%;
    bottom: -35%;
    left: -34%;
    z-index: 2;

    width: 28%;

    content: "";

    background:
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(98, 211, 218, 0.018) 25%,
            rgba(98, 211, 218, 0.075) 50%,
            rgba(36, 189, 199, 0.025) 75%,
            transparent 100%
        );

    filter: blur(2px);

    transform:
        skewX(-16deg)
        translate3d(0, 0, 0);

    opacity: 0;

    animation:
        plocalEvaluationScan
        13s linear infinite;

    will-change:
        left,
        opacity;

    pointer-events: none;
}


/* =========================================================
   03. FLOATING LIGHT PARTICLES
========================================================= */

.plocal-evaluation__background::after {
    position: absolute;
    inset: -12%;
    z-index: 1;

    content: "";

    background-image:
        radial-gradient(
            circle,
            rgba(98, 211, 218, 0.7) 0 1px,
            transparent 2px
        ),
        radial-gradient(
            circle,
            rgba(36, 189, 199, 0.48) 0 1px,
            transparent 2px
        ),
        radial-gradient(
            circle,
            rgba(255, 255, 255, 0.28) 0 1px,
            transparent 2px
        );

    background-position:
        12% 22%,
        77% 36%,
        48% 82%;

    background-size:
        170px 170px,
        230px 230px,
        290px 290px;

    opacity: 0.24;

    animation:
        plocalEvaluationParticles
        24s linear infinite;

    will-change: transform;

    pointer-events: none;
}


/* =========================================================
   04. MOVING GRID
========================================================= */

.plocal-evaluation__grid {
    transform:
        translate3d(
            0,
            0,
            0
        );

    animation:
        plocalEvaluationGridDrift
        26s linear infinite;

    will-change: transform;
}


/* =========================================================
   05. ANIMATED GLOWS
========================================================= */

.plocal-evaluation__glow--one {
    animation:
        plocalEvaluationGlowOne
        12s ease-in-out infinite alternate;

    will-change:
        transform,
        opacity;
}


.plocal-evaluation__glow--two {
    animation:
        plocalEvaluationGlowTwo
        15s ease-in-out infinite alternate;

    will-change:
        transform,
        opacity;
}


/* =========================================================
   06. ROTATING ORBITS
========================================================= */

.plocal-evaluation__orbit {
    transform-origin: center;

    will-change: transform;
}


.plocal-evaluation__orbit--one {
    animation:
        plocalEvaluationOrbitClockwise
        34s linear infinite;
}


.plocal-evaluation__orbit--two {
    animation:
        plocalEvaluationOrbitCounterClockwise
        42s linear infinite;
}


/* Internal panel orbit */
.plocal-evaluation__panel-orbit {
    transform-origin: center;

    animation:
        plocalEvaluationPanelOrbit
        30s linear infinite;

    will-change: transform;
}


/* =========================================================
   07. GLOWING DOTS
========================================================= */

.plocal-evaluation__dot--one {
    animation:
        plocalEvaluationDotOne
        7s ease-in-out infinite;

    will-change:
        transform,
        opacity;
}


.plocal-evaluation__dot--two {
    animation:
        plocalEvaluationDotTwo
        9s ease-in-out infinite;

    will-change:
        transform,
        opacity;
}


.plocal-evaluation__panel-light {
    animation:
        plocalEvaluationPanelLight
        5s ease-in-out infinite;

    will-change:
        transform,
        opacity;
}


/* =========================================================
   08. FLOATING BACKGROUND ICONS
========================================================= */

.plocal-evaluation__bg-icon--shield {
    animation:
        plocalEvaluationIconFloatOne
        10s ease-in-out infinite;

    will-change: transform;
}


.plocal-evaluation__bg-icon--document {
    animation:
        plocalEvaluationIconFloatTwo
        12s ease-in-out infinite;

    will-change: transform;
}


/* =========================================================
   09. KEYFRAMES
========================================================= */

@keyframes plocalEvaluationBackgroundShift {

    0% {
        background-position:
            68% 44%,
            4% 88%,
            center;
    }

    100% {
        background-position:
            82% 52%,
            12% 80%,
            center;
    }

}


@keyframes plocalEvaluationScan {

    0% {
        left: -34%;

        opacity: 0;
    }

    10% {
        opacity: 0.65;
    }

    48% {
        opacity: 0.9;
    }

    90% {
        opacity: 0.55;
    }

    100% {
        left: 125%;

        opacity: 0;
    }

}


@keyframes plocalEvaluationParticles {

    0% {
        transform:
            translate3d(
                0,
                0,
                0
            )
            scale(1);
    }

    50% {
        transform:
            translate3d(
                32px,
                -20px,
                0
            )
            scale(1.025);
    }

    100% {
        transform:
            translate3d(
                64px,
                -40px,
                0
            )
            scale(1);
    }

}


@keyframes plocalEvaluationGridDrift {

    0% {
        transform:
            translate3d(
                0,
                0,
                0
            );
    }

    100% {
        transform:
            translate3d(
                72px,
                72px,
                0
            );
    }

}


@keyframes plocalEvaluationGlowOne {

    0% {
        transform:
            translate3d(
                -25px,
                -15px,
                0
            )
            scale(0.94);

        opacity: 0.58;
    }

    100% {
        transform:
            translate3d(
                45px,
                34px,
                0
            )
            scale(1.09);

        opacity: 0.82;
    }

}


@keyframes plocalEvaluationGlowTwo {

    0% {
        transform:
            translate3d(
                25px,
                25px,
                0
            )
            scale(1.04);

        opacity: 0.48;
    }

    100% {
        transform:
            translate3d(
                -45px,
                -30px,
                0
            )
            scale(0.92);

        opacity: 0.72;
    }

}


@keyframes plocalEvaluationOrbitClockwise {

    from {
        transform:
            rotate(8deg);
    }

    to {
        transform:
            rotate(368deg);
    }

}


@keyframes plocalEvaluationOrbitCounterClockwise {

    from {
        transform:
            rotate(-8deg);
    }

    to {
        transform:
            rotate(-368deg);
    }

}


@keyframes plocalEvaluationPanelOrbit {

    from {
        transform:
            rotate(0deg)
            scale(1);
    }

    50% {
        transform:
            rotate(180deg)
            scale(1.025);
    }

    to {
        transform:
            rotate(360deg)
            scale(1);
    }

}


@keyframes plocalEvaluationDotOne {

    0%,
    100% {
        transform:
            translate3d(
                0,
                0,
                0
            )
            scale(0.8);

        opacity: 0.45;
    }

    50% {
        transform:
            translate3d(
                -18px,
                11px,
                0
            )
            scale(1.3);

        opacity: 1;
    }

}


@keyframes plocalEvaluationDotTwo {

    0%,
    100% {
        transform:
            translate3d(
                0,
                0,
                0
            )
            scale(0.7);

        opacity: 0.35;
    }

    50% {
        transform:
            translate3d(
                20px,
                -14px,
                0
            )
            scale(1.25);

        opacity: 0.9;
    }

}


@keyframes plocalEvaluationPanelLight {

    0%,
    100% {
        transform: scale(0.78);

        opacity: 0.42;

        box-shadow:
            0 0 7px
            var(--color-skyblue),

            0 0 18px
            rgba(98, 211, 218, 0.7),

            0 0 38px
            rgba(36, 189, 199, 0.34);
    }

    50% {
        transform: scale(1.28);

        opacity: 1;

        box-shadow:
            0 0 10px
            var(--color-skyblue),

            0 0 28px
            rgba(98, 211, 218, 0.95),

            0 0 58px
            rgba(36, 189, 199, 0.52);
    }

}


@keyframes plocalEvaluationIconFloatOne {

    0%,
    100% {
        transform:
            translate3d(
                0,
                0,
                0
            )
            rotate(0deg);
    }

    50% {
        transform:
            translate3d(
                -8px,
                -13px,
                0
            )
            rotate(-3deg);
    }

}


@keyframes plocalEvaluationIconFloatTwo {

    0%,
    100% {
        transform:
            translate3d(
                0,
                0,
                0
            )
            rotate(0deg);
    }

    50% {
        transform:
            translate3d(
                9px,
                -11px,
                0
            )
            rotate(3deg);
    }

}


/* =========================================================
   10. PERFORMANCE ON SMALL SCREENS
========================================================= */

@media (max-width: 767.98px) {

    .plocal-evaluation__background::after {
        opacity: 0.16;
    }


    .plocal-evaluation__grid {
        animation-duration: 34s;
    }


    .plocal-evaluation__orbit--two,
    .plocal-evaluation__bg-icon--document {
        display: none;
    }

}


/* =========================================================
   11. ACCESSIBILITY
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .plocal-evaluation,
    .plocal-evaluation__background::before,
    .plocal-evaluation__background::after,
    .plocal-evaluation__grid,
    .plocal-evaluation__glow,
    .plocal-evaluation__orbit,
    .plocal-evaluation__dot,
    .plocal-evaluation__panel-orbit,
    .plocal-evaluation__panel-light,
    .plocal-evaluation__bg-icon {
        animation: none !important;
    }

}

/* =========================================================
   PLOCAL — PAY FOR EVALUATION
   ANIMATED HTML + CSS DESIGN
========================================================= */


/* =========================================================
   01. RESET
========================================================= */

.plocal-pay-eval,
.plocal-pay-eval * {
    box-sizing: border-box;
}


/* =========================================================
   02. SECTION
========================================================= */

.plocal-pay-eval {
    position: relative;
    z-index: 1;
    isolation: isolate;

    overflow: hidden;

    padding:
        clamp(88px, 8vw, 132px)
        0;

    background:
        radial-gradient(
            circle at 75% 45%,
            rgba(12, 44, 122, 0.4) 0%,
            rgba(12, 44, 122, 0.14) 34%,
            transparent 64%
        ),
        radial-gradient(
            circle at 7% 88%,
            rgba(36, 189, 199, 0.14) 0%,
            transparent 32%
        ),
        linear-gradient(
            135deg,
            var(--footer-bg) 0%,
            var(--color-dark) 48%,
            #06163a 100%
        );
}


.plocal-pay-eval::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;

    height: 1px;

    content: "";

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(98, 211, 218, 0.3),
            transparent
        );
}


/* =========================================================
   03. BACKGROUND CONTAINER
========================================================= */

.plocal-pay-eval__background {
    position: absolute;
    inset: 0;
    z-index: 0;

    overflow: hidden;

    pointer-events: none;
}


/* =========================================================
   04. MOVING GRID
========================================================= */

.plocal-pay-eval__grid {
    position: absolute;
    inset: -80px;

    background-image:
        linear-gradient(
            rgba(98, 211, 218, 0.045) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(98, 211, 218, 0.045) 1px,
            transparent 1px
        );

    background-size: 72px 72px;

    opacity: 0.52;

    -webkit-mask-image:
        radial-gradient(
            ellipse at 73% 50%,
            #000 0%,
            rgba(0, 0, 0, 0.72) 44%,
            transparent 88%
        );

    mask-image:
        radial-gradient(
            ellipse at 73% 50%,
            #000 0%,
            rgba(0, 0, 0, 0.72) 44%,
            transparent 88%
        );

    animation:
        plocalPayEvalGridMove
        18s linear infinite;

    will-change: transform;
}


/* =========================================================
   05. ANIMATED GLOWS
========================================================= */

.plocal-pay-eval__glow {
    position: absolute;

    border-radius: 50%;

    filter: blur(18px);

    will-change:
        transform,
        opacity;
}


.plocal-pay-eval__glow--one {
    top: -240px;
    right: 13%;

    width: 560px;
    height: 560px;

    background:
        radial-gradient(
            circle,
            rgba(36, 189, 199, 0.2),
            transparent 69%
        );

    animation:
        plocalPayEvalGlowOne
        10s ease-in-out infinite alternate;
}


.plocal-pay-eval__glow--two {
    right: -230px;
    bottom: -290px;

    width: 700px;
    height: 700px;

    background:
        radial-gradient(
            circle,
            rgba(12, 44, 122, 0.55),
            transparent 70%
        );

    animation:
        plocalPayEvalGlowTwo
        14s ease-in-out infinite alternate;
}


.plocal-pay-eval__glow--three {
    bottom: -310px;
    left: -250px;

    width: 590px;
    height: 590px;

    background:
        radial-gradient(
            circle,
            rgba(36, 189, 199, 0.14),
            transparent 72%
        );

    animation:
        plocalPayEvalGlowThree
        12s ease-in-out infinite alternate;
}


/* =========================================================
   06. SVG ROUTES
========================================================= */

.plocal-pay-eval__routes {
    position: absolute;
    inset: 0;
    z-index: 1;

    width: 100%;
    height: 100%;

    overflow: visible;
}


.plocal-pay-eval__route {
    fill: none;

    stroke:
        url("#plocal-pay-eval-route-gradient");

    stroke-width: 1.4;
    stroke-dasharray: 5 15;
    stroke-linecap: round;

    opacity: 0.66;

    vector-effect: non-scaling-stroke;

    animation:
        plocalPayEvalRouteFlow
        8s linear infinite;
}


.plocal-pay-eval__route--soft {
    opacity: 0.42;

    animation-duration: 11s;
}


.plocal-pay-eval__route--faint {
    opacity: 0.27;

    animation-duration: 14s;
}


.plocal-pay-eval__particle {
    fill: var(--color-skyblue);

    filter:
        url("#plocal-pay-eval-particle-glow");
}


.plocal-pay-eval__particle--small {
    fill: var(--theme-color);

    opacity: 0.82;
}


/* =========================================================
   07. ROTATING ORBITS
========================================================= */

.plocal-pay-eval__orbit {
    position: absolute;
    z-index: 1;

    border:
        1px dashed
        rgba(36, 189, 199, 0.2);

    border-radius: 50%;

    transform-origin: center;

    will-change: transform;
}


.plocal-pay-eval__orbit--one {
    top: -20%;
    right: 4%;

    width: 64%;
    height: 76%;

    animation:
        plocalPayEvalOrbitOne
        26s linear infinite;
}


.plocal-pay-eval__orbit--two {
    bottom: -48%;
    left: -6%;

    width: 60%;
    height: 66%;

    opacity: 0.4;

    animation:
        plocalPayEvalOrbitTwo
        36s linear infinite;
}


/* =========================================================
   08. SPARKS
========================================================= */

.plocal-pay-eval__spark {
    position: absolute;
    z-index: 2;

    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: var(--color-skyblue);

    box-shadow:
        0 0 8px var(--color-skyblue),
        0 0 22px rgba(98, 211, 218, 0.9),
        0 0 44px rgba(36, 189, 199, 0.46);

    will-change:
        transform,
        opacity;
}


.plocal-pay-eval__spark--one {
    top: 18%;
    right: 22%;

    animation:
        plocalPayEvalSparkOne
        5s ease-in-out infinite;
}


.plocal-pay-eval__spark--two {
    right: 48%;
    bottom: 22%;

    width: 5px;
    height: 5px;

    animation:
        plocalPayEvalSparkTwo
        7s ease-in-out infinite;
}


.plocal-pay-eval__spark--three {
    top: 42%;
    right: 6%;

    width: 4px;
    height: 4px;

    animation:
        plocalPayEvalSparkThree
        6s ease-in-out infinite;
}


/* =========================================================
   09. BACKGROUND ICONS
========================================================= */

.plocal-pay-eval__bg-icon {
    position: absolute;
    z-index: 1;

    color:
        rgba(
            98,
            211,
            218,
            0.055
        );

    font-size:
        clamp(
            64px,
            6vw,
            106px
        );

    will-change: transform;
}


.plocal-pay-eval__bg-icon--shield {
    top: 7%;
    right: 4%;

    animation:
        plocalPayEvalIconOne
        9s ease-in-out infinite;
}


.plocal-pay-eval__bg-icon--document {
    right: 4%;
    bottom: 7%;

    font-size:
        clamp(
            56px,
            5vw,
            88px
        );

    animation:
        plocalPayEvalIconTwo
        11s ease-in-out infinite;
}


/* =========================================================
   10. LIGHT SCAN
========================================================= */

.plocal-pay-eval__scan {
    position: absolute;
    top: -35%;
    bottom: -35%;
    left: -34%;
    z-index: 2;

    width: 28%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(98, 211, 218, 0.025),
            rgba(98, 211, 218, 0.1),
            rgba(36, 189, 199, 0.035),
            transparent
        );

    filter: blur(2px);

    transform: skewX(-16deg);

    opacity: 0;

    animation:
        plocalPayEvalScan
        9s linear infinite;

    will-change:
        left,
        opacity;
}


/* =========================================================
   11. CONTAINER
========================================================= */

.plocal-pay-eval__container {
    position: relative;
    z-index: 5;

    width:
        min(
            calc(100% - 48px),
            1460px
        );

    margin-inline: auto;
}


.plocal-pay-eval__layout {
    display: grid;

    grid-template-columns:
        minmax(450px, 610px)
        minmax(610px, 760px);

    justify-content: space-between;
    align-items: center;

    gap:
        clamp(
            50px,
            5.5vw,
            88px
        );
}


/* =========================================================
   12. LEFT CONTENT
========================================================= */

.plocal-pay-eval__content {
    width: 100%;
    max-width: 610px;
}


.plocal-pay-eval__eyebrow {
    display: inline-flex;
    align-items: center;

    gap: 11px;

    margin-bottom: 25px;

    color: var(--theme-color);

    font-family: var(--body-font);
    font-size:
        clamp(
            15px,
            1.1vw,
            18px
        );

    font-weight: 700;
    line-height: 1.2;
}


.plocal-pay-eval__eyebrow-icon {
    display: grid;
    place-items: center;

    width: 36px;
    height: 36px;

    border:
        1px solid
        rgba(36, 189, 199, 0.35);

    border-radius: 10px;

    background:
        rgba(36, 189, 199, 0.09);

    box-shadow:
        inset 0 0 15px
        rgba(36, 189, 199, 0.08);

    font-size: 16px;
}


.plocal-pay-eval__title {
    max-width: 610px;

    margin:
        0
        0
        25px;

    color: var(--color-white);

    font-family: var(--heading-font);
    font-size:
        clamp(
            40px,
            3.8vw,
            57px
        );

    font-weight: var(--heading-weight);
    line-height: 1.09;
    letter-spacing: var(--heading-letter-spacing);

    text-wrap: balance;

    text-shadow:
        0 12px 32px
        rgba(0, 0, 0, 0.16);
}


.plocal-pay-eval__title span {
    display: block;
}


.plocal-pay-eval__description {
    max-width: 590px;

    margin: 0;

    color:
        rgba(
            234,
            249,
            250,
            0.74
        );

    font-family: var(--body-font);
    font-size:
        clamp(
            16px,
            1.2vw,
            18px
        );

    font-weight: 400;
    line-height: 1.85;
}


.plocal-pay-eval__description strong {
    color: var(--theme-color);

    font-weight: 700;
}


.plocal-pay-eval__accent {
    width: 150px;
    height: 3px;

    margin-top: 31px;

    overflow: hidden;

    border-radius: 50px;

    background:
        rgba(
            255,
            255,
            255,
            0.08
        );
}


.plocal-pay-eval__accent span {
    display: block;

    width: 72%;
    height: 100%;

    border-radius: inherit;

    background:
        linear-gradient(
            90deg,
            var(--theme-color),
            var(--color-skyblue)
        );

    box-shadow:
        0 0 18px
        rgba(36, 189, 199, 0.5);

    animation:
        plocalPayEvalAccent
        4s ease-in-out infinite;
}


/* =========================================================
   13. RIGHT PANEL
========================================================= */

.plocal-pay-eval__panel {
    position: relative;

    width: 100%;
    max-width: 760px;
    min-height: 390px;

    overflow: hidden;
}


.plocal-pay-eval__panel::before {
    position: absolute;
    inset: 0;

    content: "";

    background-image:
        linear-gradient(
            rgba(98, 211, 218, 0.03) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(98, 211, 218, 0.03) 1px,
            transparent 1px
        );

    background-size: 52px 52px;

    opacity: 0.38;

    pointer-events: none;
}


.plocal-pay-eval__panel-orbit {
    position: absolute;
    top: 8%;
    right: -10%;

    width: 88%;
    height: 82%;

    border:
        1px dashed
        rgba(36, 189, 199, 0.17);

    border-radius: 50%;

    animation:
        plocalPayEvalPanelOrbit
        24s linear infinite;

    pointer-events: none;
}


.plocal-pay-eval__panel-light {
    position: absolute;
    top: 17%;
    right: 18%;

    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: var(--color-skyblue);

    box-shadow:
        0 0 8px var(--color-skyblue),
        0 0 22px rgba(98, 211, 218, 0.9),
        0 0 45px rgba(36, 189, 199, 0.45);

    animation:
        plocalPayEvalPanelLight
        4s ease-in-out infinite;

    pointer-events: none;
}


/* =========================================================
   14. RULE GRID
========================================================= */

.plocal-pay-eval__rules {
    position: relative;
    z-index: 3;

    display: grid;

    grid-template-columns:
        repeat(
            6,
            minmax(0, 1fr)
        );

    align-content: center;

    gap: 18px;

    min-height: 310px;

    margin: 0;
    padding: 0;

    list-style: none;
}


.plocal-pay-eval__rule {
    position: relative;

    grid-column: span 2;

    display: grid;

    grid-template-columns:
        48px
        1px
        minmax(0, 1fr);

    align-items: center;

    column-gap: 14px;

    min-width: 0;
    min-height: 82px;

    padding:
        13px
        16px;

    overflow: hidden;

    border:
        1px solid
        rgba(255, 255, 255, 0.17);

    border-radius: 20px;

    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.08),
            rgba(255, 255, 255, 0.027)
        );

    box-shadow:
        inset 0 1px 0
        rgba(255, 255, 255, 0.08),

        inset 0 0 22px
        rgba(12, 44, 122, 0.14),

        0 14px 32px
        rgba(0, 0, 0, 0.14);

    -webkit-backdrop-filter: blur(13px);
    backdrop-filter: blur(13px);

    transition:
        transform 0.3s ease,
        border-color 0.3s ease,
        background 0.3s ease,
        box-shadow 0.3s ease;
}


.plocal-pay-eval__rule:nth-child(4) {
    grid-column:
        2
        /
        span 2;
}


.plocal-pay-eval__rule:nth-child(5) {
    grid-column:
        4
        /
        span 2;
}


.plocal-pay-eval__rule::before {
    position: absolute;
    top: -80%;
    left: -46%;

    width: 44%;
    height: 250%;

    content: "";

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255, 255, 255, 0.1),
            transparent
        );

    transform:
        rotate(18deg)
        translateX(-230%);

    transition:
        transform 0.75s ease;

    pointer-events: none;
}


.plocal-pay-eval__rule > * {
    position: relative;
    z-index: 2;
}


.plocal-pay-eval__rule:hover {
    border-color:
        rgba(98, 211, 218, 0.85);

    background:
        linear-gradient(
            135deg,
            rgba(36, 189, 199, 0.16),
            rgba(12, 44, 122, 0.1)
        );

    box-shadow:
        inset 0 1px 0
        rgba(255, 255, 255, 0.13),

        inset 0 0 28px
        rgba(36, 189, 199, 0.11),

        0 0 0 1px
        rgba(36, 189, 199, 0.1),

        0 0 25px
        rgba(36, 189, 199, 0.32),

        0 20px 42px
        rgba(0, 0, 0, 0.2);

    transform:
        translateY(-4px);
}


.plocal-pay-eval__rule:hover::before {
    transform:
        rotate(18deg)
        translateX(530%);
}


/* =========================================================
   15. RULE CONTENT
========================================================= */

.plocal-pay-eval__rule-icon {
    display: grid;
    place-items: center;

    width: 48px;
    height: 48px;

    border:
        1px solid
        rgba(98, 211, 218, 0.38);

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(226, 85, 85, 0.11),
            rgba(12, 44, 122, 0.14)
        );

    color: var(--color-red);

    font-size: 21px;

    box-shadow:
        inset 0 0 18px
        rgba(36, 189, 199, 0.075);

    transition:
        border-color 0.3s ease,
        box-shadow 0.3s ease,
        transform 0.3s ease;
}


.plocal-pay-eval__rule:hover
.plocal-pay-eval__rule-icon {
    border-color:
        rgba(98, 211, 218, 0.76);

    box-shadow:
        inset 0 0 18px
        rgba(36, 189, 199, 0.12),

        0 0 17px
        rgba(36, 189, 199, 0.21);

    transform: rotate(-5deg);
}


.plocal-pay-eval__rule-divider {
    display: block;

    width: 1px;
    height: 38px;

    background:
        linear-gradient(
            to bottom,
            transparent,
            rgba(98, 211, 218, 0.38),
            transparent
        );
}


.plocal-pay-eval__rule-text {
    display: block;

    min-width: 0;

    margin: 0;
    padding: 0;

    color: var(--color-white);

    font-family: var(--body-font);
    font-size:
        clamp(
            13px,
            0.95vw,
            15px
        );

    font-weight: 600;
    line-height: 1.38;

    text-align: left;
}


.plocal-pay-eval__rule--accent {
    border-color:
        rgba(36, 189, 199, 0.72);

    background:
        linear-gradient(
            135deg,
            rgba(36, 189, 199, 0.14),
            rgba(12, 44, 122, 0.09)
        );
}


.plocal-pay-eval__rule--accent
.plocal-pay-eval__rule-icon {
    color: var(--theme-color);

    background:
        radial-gradient(
            circle,
            rgba(36, 189, 199, 0.14),
            rgba(12, 44, 122, 0.14)
        );
}


/* =========================================================
   16. ANIMATION KEYFRAMES
========================================================= */

@keyframes plocalPayEvalGridMove {

    from {
        transform:
            translate3d(
                0,
                0,
                0
            );
    }

    to {
        transform:
            translate3d(
                72px,
                72px,
                0
            );
    }

}


@keyframes plocalPayEvalGlowOne {

    from {
        transform:
            translate3d(
                -28px,
                -18px,
                0
            )
            scale(0.93);

        opacity: 0.55;
    }

    to {
        transform:
            translate3d(
                48px,
                36px,
                0
            )
            scale(1.1);

        opacity: 0.9;
    }

}


@keyframes plocalPayEvalGlowTwo {

    from {
        transform:
            translate3d(
                28px,
                24px,
                0
            )
            scale(1.04);

        opacity: 0.5;
    }

    to {
        transform:
            translate3d(
                -48px,
                -34px,
                0
            )
            scale(0.92);

        opacity: 0.8;
    }

}


@keyframes plocalPayEvalGlowThree {

    from {
        transform:
            translate3d(
                -20px,
                20px,
                0
            )
            scale(0.94);

        opacity: 0.4;
    }

    to {
        transform:
            translate3d(
                44px,
                -32px,
                0
            )
            scale(1.08);

        opacity: 0.72;
    }

}


@keyframes plocalPayEvalRouteFlow {

    from {
        stroke-dashoffset: 0;
    }

    to {
        stroke-dashoffset: -160;
    }

}


@keyframes plocalPayEvalOrbitOne {

    from {
        transform: rotate(8deg);
    }

    to {
        transform: rotate(368deg);
    }

}


@keyframes plocalPayEvalOrbitTwo {

    from {
        transform: rotate(-8deg);
    }

    to {
        transform: rotate(-368deg);
    }

}


@keyframes plocalPayEvalSparkOne {

    0%,
    100% {
        transform:
            translate3d(
                0,
                0,
                0
            )
            scale(0.75);

        opacity: 0.35;
    }

    50% {
        transform:
            translate3d(
                -22px,
                14px,
                0
            )
            scale(1.35);

        opacity: 1;
    }

}


@keyframes plocalPayEvalSparkTwo {

    0%,
    100% {
        transform:
            translate3d(
                0,
                0,
                0
            )
            scale(0.7);

        opacity: 0.3;
    }

    50% {
        transform:
            translate3d(
                24px,
                -16px,
                0
            )
            scale(1.3);

        opacity: 0.9;
    }

}


@keyframes plocalPayEvalSparkThree {

    0%,
    100% {
        transform:
            translate3d(
                0,
                0,
                0
            )
            scale(0.65);

        opacity: 0.25;
    }

    50% {
        transform:
            translate3d(
                -15px,
                -20px,
                0
            )
            scale(1.25);

        opacity: 0.85;
    }

}


@keyframes plocalPayEvalIconOne {

    0%,
    100% {
        transform:
            translate3d(
                0,
                0,
                0
            )
            rotate(0deg);
    }

    50% {
        transform:
            translate3d(
                -9px,
                -14px,
                0
            )
            rotate(-3deg);
    }

}


@keyframes plocalPayEvalIconTwo {

    0%,
    100% {
        transform:
            translate3d(
                0,
                0,
                0
            )
            rotate(0deg);
    }

    50% {
        transform:
            translate3d(
                10px,
                -12px,
                0
            )
            rotate(3deg);
    }

}


@keyframes plocalPayEvalScan {

    0% {
        left: -34%;

        opacity: 0;
    }

    10% {
        opacity: 0.55;
    }

    50% {
        opacity: 0.95;
    }

    90% {
        opacity: 0.5;
    }

    100% {
        left: 126%;

        opacity: 0;
    }

}


@keyframes plocalPayEvalAccent {

    0%,
    100% {
        width: 42%;
    }

    50% {
        width: 100%;
    }

}


@keyframes plocalPayEvalPanelOrbit {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }

}


@keyframes plocalPayEvalPanelLight {

    0%,
    100% {
        transform: scale(0.75);

        opacity: 0.4;
    }

    50% {
        transform: scale(1.3);

        opacity: 1;
    }

}


/* =========================================================
   17. RESPONSIVE
========================================================= */

@media (max-width: 1299.98px) {

    .plocal-pay-eval__container {
        width:
            min(
                calc(100% - 40px),
                1220px
            );
    }


    .plocal-pay-eval__layout {
        grid-template-columns:
            minmax(420px, 520px)
            minmax(530px, 650px);

        gap: 42px;
    }


    .plocal-pay-eval__title {
        max-width: 520px;

        font-size:
            clamp(
                39px,
                4vw,
                52px
            );
    }


    .plocal-pay-eval__panel {
        max-width: 650px;

        padding: 28px;
    }


    .plocal-pay-eval__rule {
        grid-template-columns:
            44px
            1px
            minmax(0, 1fr);

        column-gap: 12px;

        min-height: 78px;

        padding:
            12px
            13px;
    }


    .plocal-pay-eval__rule-icon {
        width: 44px;
        height: 44px;

        font-size: 19px;
    }


    .plocal-pay-eval__rule-text {
        font-size: 13px;
    }

}


@media (max-width: 1099.98px) {

    .plocal-pay-eval__layout {
        grid-template-columns:
            minmax(
                0,
                1fr
            );

        gap: 50px;
    }


    .plocal-pay-eval__content {
        max-width: 760px;

        margin-inline: auto;
    }


    .plocal-pay-eval__title {
        max-width: 740px;

        font-size:
            clamp(
                40px,
                6vw,
                56px
            );
    }


    .plocal-pay-eval__description {
        max-width: 700px;
    }


    .plocal-pay-eval__panel {
        width: 100%;
        max-width: 760px;

        margin-inline: auto;
    }


    .plocal-pay-eval__rule-text {
        font-size: 15px;
    }

}


@media (max-width: 767.98px) {

    .plocal-pay-eval {
        padding:
            clamp(
                76px,
                11vw,
                100px
            )
            0;
    }


    .plocal-pay-eval__container {
        width:
            min(
                calc(100% - 32px),
                700px
            );
    }


    .plocal-pay-eval__title span {
        display: inline;
    }


    .plocal-pay-eval__panel {
        min-height: auto;

        padding: 22px;

        border-radius: 28px;
    }


    .plocal-pay-eval__rules {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );

        min-height: 0;

        gap: 15px;
    }


    .plocal-pay-eval__rule,
    .plocal-pay-eval__rule:nth-child(4),
    .plocal-pay-eval__rule:nth-child(5) {
        grid-column: auto;

        min-height: 80px;
    }


    .plocal-pay-eval__rule:last-child {
        grid-column:
            1
            /
            -1;

        width:
            calc(
                50%
                -
                8px
            );

        justify-self: center;
    }

}


@media (max-width: 599.98px) {

    .plocal-pay-eval__container {
        width:
            calc(
                100%
                -
                30px
            );
    }


    .plocal-pay-eval__layout {
        gap: 38px;
    }


    .plocal-pay-eval__eyebrow {
        margin-bottom: 20px;

        font-size: 14px;
    }


    .plocal-pay-eval__title {
        margin-bottom: 21px;

        font-size:
            clamp(
                34px,
                10vw,
                44px
            );

        line-height: 1.1;
    }


    .plocal-pay-eval__description {
        font-size: 16px;
        line-height: 1.72;
    }


    .plocal-pay-eval__accent {
        width: 125px;

        margin-top: 26px;
    }


    .plocal-pay-eval__panel {
        padding: 15px;

        border-radius: 24px;
    }


    .plocal-pay-eval__rules {
        grid-template-columns:
            minmax(
                0,
                1fr
            );
    }


    .plocal-pay-eval__rule,
    .plocal-pay-eval__rule:last-child {
        grid-column: auto;

        width: 100%;

        min-height: 76px;

        padding:
            12px
            14px;

        border-radius: 18px;
    }


    .plocal-pay-eval__rule-text {
        font-size: 14px;
    }


    .plocal-pay-eval__orbit--two,
    .plocal-pay-eval__bg-icon--document {
        display: none;
    }

}

/* =========================================================
   PLOCAL — VERIFY SECTION ANIMATIONS
   Add this block after the existing section CSS
========================================================= */


/* =========================================================
   01. PERFORMANCE PREPARATION
========================================================= */

.plocal-verify-heading,
.plocal-verify-section .plocal-prose,
.plocal-verify-section .plocal-disclaimer,
.plocal-verify-illustration,
.plocal-verify-form-shell,
.plocal-verify-section .plocal-form-group,
.plocal-verify-section .theme-btn,
.plocal-verify-illustration__image,
.plocal-verify-illustration__bubble,
.plocal-verify-illustration__link,
.plocal-verify-illustration__search,
.plocal-verify-illustration__location {
    will-change:
        transform,
        opacity;
}


/* =========================================================
   02. LEFT CONTENT ENTRANCE
========================================================= */

.plocal-verify-heading {
    opacity: 0;

    animation:
        plocalVerifyFadeUp
        0.75s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.08s
        forwards;
}


.plocal-verify-section .plocal-prose {
    opacity: 0;

    animation:
        plocalVerifyFadeUp
        0.75s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.2s
        forwards;
}


.plocal-verify-section .plocal-disclaimer {
    opacity: 0;

    animation:
        plocalVerifyFadeUp
        0.75s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.32s
        forwards;
}


.plocal-verify-illustration {
    opacity: 0;

    animation:
        plocalVerifyIllustrationReveal
        0.95s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.42s
        forwards;
}


/* =========================================================
   03. TAGLINE ANIMATION
========================================================= */

.plocal-verify-section .site-title-tagline {
    position: relative;

    overflow: hidden;

    animation:
        plocalVerifyTaglineFloat
        4.8s
        ease-in-out
        1.1s
        infinite;
}


.plocal-verify-section .site-title-tagline::after {
    position: absolute;
    top: -40%;
    bottom: -40%;
    left: -35%;

    width: 28%;

    content: "";

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255, 255, 255, 0.85),
            transparent
        );

    transform:
        skewX(-18deg);

    animation:
        plocalVerifyTaglineShine
        6.5s
        ease-in-out
        1.5s
        infinite;

    pointer-events: none;
}


.plocal-verify-tagline-icon {
    animation:
        plocalVerifyIconPulse
        3.2s
        ease-in-out
        infinite;
}


/* =========================================================
   04. CHECKLIST MICROINTERACTIONS
========================================================= */

.plocal-verify-section .plocal-prose li {
    transition:
        color 0.3s ease,
        background 0.3s ease,
        padding-left 0.3s ease;
}


.plocal-verify-section .plocal-prose li:hover {
    padding-left: 59px;

    background:
        rgba(
            217,
            245,
            247,
            0.28
        );

    color: var(--color-dark);
}


.plocal-verify-section .plocal-prose li::before {
    transition:
        color 0.3s ease,
        background 0.3s ease,
        box-shadow 0.3s ease,
        transform 0.3s ease;
}


.plocal-verify-section .plocal-prose li:hover::before {
    background: var(--theme-color);

    color: var(--color-white);

    box-shadow:
        0 7px 17px
        rgba(36, 189, 199, 0.24);

    transform:
        translateY(-50%)
        scale(1.08);
}


/* =========================================================
   05. DISCLAIMER ANIMATION
========================================================= */

.plocal-verify-section .plocal-disclaimer {
    transition:
        border-color 0.3s ease,
        background 0.3s ease,
        box-shadow 0.3s ease,
        transform 0.3s ease;
}


.plocal-verify-section .plocal-disclaimer:hover {
    border-color:
        rgba(36, 189, 199, 0.3);

    background:
        rgba(255, 255, 255, 0.96);

    box-shadow:
        0 15px 32px
        rgba(12, 44, 122, 0.08);

    transform:
        translateY(-3px);
}


.plocal-verify-section .plocal-disclaimer > i {
    animation:
        plocalVerifyInfoPulse
        3.6s
        ease-in-out
        infinite;
}


/* =========================================================
   06. ILLUSTRATION MOVEMENT
========================================================= */

.plocal-verify-illustration__image {
    animation:
        plocalVerifyImageFloat
        5.8s
        ease-in-out
        infinite;

    transform-origin:
        center bottom;
}


/* Main verification icon */
.plocal-verify-illustration__bubble {
    animation:
        plocalVerifyBubbleOne
        4.8s
        ease-in-out
        infinite;
}


/* Link icon */
.plocal-verify-illustration__link {
    animation:
        plocalVerifyBubbleTwo
        5.4s
        ease-in-out
        -1.2s
        infinite;
}


/* Search icon */
.plocal-verify-illustration__search {
    animation:
        plocalVerifyBubbleThree
        4.6s
        ease-in-out
        -0.7s
        infinite;
}


/* Location icon */
.plocal-verify-illustration__location {
    animation:
        plocalVerifyBubbleFour
        5.1s
        ease-in-out
        -1.8s
        infinite;
}


.plocal-verify-illustration__bubble i,
.plocal-verify-illustration__link i,
.plocal-verify-illustration__search i,
.plocal-verify-illustration__location i {
    animation:
        plocalVerifyFloatingIconPulse
        3.4s
        ease-in-out
        infinite;
}


/* Soft shadow below illustration */
.plocal-verify-illustration::after {
    position: absolute;
    right: 14%;
    bottom: 2px;
    left: 24%;

    height: 25px;

    content: "";

    border-radius: 50%;

    background:
        rgba(12, 44, 122, 0.11);

    filter: blur(17px);

    animation:
        plocalVerifyIllustrationShadow
        5.8s
        ease-in-out
        infinite;

    pointer-events: none;
}


/* =========================================================
   07. FORM SHELL ENTRANCE
========================================================= */

.plocal-verify-form-shell {
    opacity: 0;

    animation:
        plocalVerifyFormReveal
        0.95s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.18s
        forwards;
}


/* Pulsing ambient glow */
.plocal-verify-form-shell__glow {
    animation:
        plocalVerifyShellGlow
        6.8s
        ease-in-out
        infinite;
}


/* Animated top accent */
.plocal-verify-form-shell__line {
    transform-origin:
        left center;

    animation:
        plocalVerifyTopLine
        4.5s
        ease-in-out
        infinite;
}


/* Very soft border glow */
.plocal-verify-form-shell::after {
    position: absolute;
    inset: -1px;
    z-index: -1;

    content: "";

    border-radius: inherit;

    background:
        linear-gradient(
            125deg,
            rgba(36, 189, 199, 0),
            rgba(36, 189, 199, 0.16),
            rgba(12, 44, 122, 0.05),
            rgba(36, 189, 199, 0)
        );

    opacity: 0.42;

    filter: blur(14px);

    animation:
        plocalVerifyShellBorderGlow
        7s
        ease-in-out
        infinite;
}


/* =========================================================
   08. FORM CARD LIGHT
========================================================= */

.plocal-verify-section .plocal-form {
    position: relative;

    overflow: hidden;
}


.plocal-verify-section .plocal-form::before {
    position: absolute;
    top: -45%;
    bottom: -45%;
    left: -42%;

    width: 22%;

    content: "";

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255, 255, 255, 0.85),
            rgba(36, 189, 199, 0.035),
            transparent
        );

    filter: blur(3px);

    opacity: 0;

    transform:
        skewX(-17deg);

    animation:
        plocalVerifyFormLightScan
        10s
        ease-in-out
        1.8s
        infinite;

    pointer-events: none;
}


/* =========================================================
   09. FORM GROUP STAGGERED ENTRANCE
========================================================= */

.plocal-verify-section .plocal-form-group {
    opacity: 0;

    transform:
        translateY(16px);
}


.plocal-verify-section
.plocal-form
.row
> div:nth-child(1)
.plocal-form-group {
    animation:
        plocalVerifyFieldReveal
        0.58s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.52s
        forwards;
}


.plocal-verify-section
.plocal-form
.row
> div:nth-child(2)
.plocal-form-group {
    animation:
        plocalVerifyFieldReveal
        0.58s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.6s
        forwards;
}


.plocal-verify-section
.plocal-form
.row
> div:nth-child(3)
.plocal-form-group {
    animation:
        plocalVerifyFieldReveal
        0.58s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.68s
        forwards;
}


.plocal-verify-section
.plocal-form
.row
> div:nth-child(4)
.plocal-form-group {
    animation:
        plocalVerifyFieldReveal
        0.58s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.76s
        forwards;
}


.plocal-verify-section
.plocal-form
.row
> div:nth-child(5)
.plocal-form-group {
    animation:
        plocalVerifyFieldReveal
        0.58s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.84s
        forwards;
}


/* =========================================================
   10. INPUT MICROINTERACTIONS
========================================================= */

.plocal-verify-section .plocal-form-control {
    transform-origin:
        center;

    transition:
        color 0.25s ease,
        border-color 0.25s ease,
        background 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.25s ease;
}


.plocal-verify-section .plocal-form-control:hover {
    transform:
        translateY(-2px);

    box-shadow:
        0 8px 19px
        rgba(12, 44, 122, 0.055);
}


.plocal-verify-section .plocal-form-control:focus {
    transform:
        translateY(-2px)
        scale(1.006);
}


.plocal-verify-section
.plocal-form-group:focus-within
label {
    color: var(--theme-color);

    transform:
        translateX(3px);
}


.plocal-verify-section
.plocal-form-group
label {
    transition:
        color 0.25s ease,
        transform 0.25s ease;
}


/* =========================================================
   11. BUTTON ANIMATIONS
========================================================= */

.plocal-verify-section .theme-btn {
    position: relative;

    overflow: hidden;

    opacity: 0;

    animation:
        plocalVerifyButtonReveal
        0.65s
        cubic-bezier(0.22, 1, 0.36, 1)
        0.96s
        forwards;
}


.plocal-verify-section .theme-btn::before {
    position: absolute;
    top: -50%;
    bottom: -50%;
    left: -45%;

    width: 26%;

    content: "";

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255, 255, 255, 0.82),
            transparent
        );

    transform:
        skewX(-18deg);

    animation:
        plocalVerifyButtonShine
        4.6s
        ease-in-out
        1.7s
        infinite;

    pointer-events: none;
}


.plocal-verify-section .theme-btn i {
    transition:
        transform 0.3s ease;
}


.plocal-verify-section .theme-btn:hover i {
    transform:
        rotate(8deg)
        scale(1.12);
}


.plocal-verify-section .theme-btn:hover {
    transform:
        translateY(-4px)
        scale(1.015);
}


.plocal-verify-section .theme-btn:active {
    transform:
        translateY(-1px)
        scale(0.99);
}


/* =========================================================
   12. BACKGROUND MOVEMENT
========================================================= */

.plocal-verify-dots--one {
    animation:
        plocalVerifyDotsOne
        9s
        ease-in-out
        infinite;
}


.plocal-verify-dots--two {
    animation:
        plocalVerifyDotsTwo
        11s
        ease-in-out
        infinite;
}


.plocal-verify-orbit--one {
    animation:
        plocalVerifyOrbitSlow
        58s
        linear
        infinite;
}


.plocal-verify-bg-icon--shield {
    animation:
        plocalVerifyBackgroundIconOne
        9s
        ease-in-out
        infinite;
}


.plocal-verify-bg-icon--search {
    animation:
        plocalVerifyBackgroundIconTwo
        11s
        ease-in-out
        infinite;
}


/* =========================================================
   13. KEYFRAMES — ENTRANCE
========================================================= */

@keyframes plocalVerifyFadeUp {

    from {
        opacity: 0;

        transform:
            translate3d(
                0,
                24px,
                0
            );
    }

    to {
        opacity: 1;

        transform:
            translate3d(
                0,
                0,
                0
            );
    }

}


@keyframes plocalVerifyIllustrationReveal {

    from {
        opacity: 0;

        transform:
            translate3d(
                -22px,
                28px,
                0
            )
            scale(0.95);
    }

    to {
        opacity: 1;

        transform:
            translate3d(
                0,
                0,
                0
            )
            scale(1);
    }

}


@keyframes plocalVerifyFormReveal {

    from {
        opacity: 0;

        transform:
            translate3d(
                42px,
                18px,
                0
            )
            scale(0.975);
    }

    to {
        opacity: 1;

        transform:
            translate3d(
                0,
                0,
                0
            )
            scale(1);
    }

}


@keyframes plocalVerifyFieldReveal {

    from {
        opacity: 0;

        transform:
            translate3d(
                0,
                16px,
                0
            );
    }

    to {
        opacity: 1;

        transform:
            translate3d(
                0,
                0,
                0
            );
    }

}


@keyframes plocalVerifyButtonReveal {

    from {
        opacity: 0;

        transform:
            translate3d(
                0,
                16px,
                0
            );
    }

    to {
        opacity: 1;

        transform:
            translate3d(
                0,
                0,
                0
            );
    }

}


/* =========================================================
   14. KEYFRAMES — ILLUSTRATION
========================================================= */

@keyframes plocalVerifyImageFloat {

    0%,
    100% {
        transform:
            translate3d(
                0,
                0,
                0
            )
            rotate(0deg);
    }

    50% {
        transform:
            translate3d(
                0,
                -12px,
                0
            )
            rotate(-0.8deg);
    }

}


@keyframes plocalVerifyIllustrationShadow {

    0%,
    100% {
        opacity: 0.72;

        transform:
            scaleX(1);
    }

    50% {
        opacity: 0.42;

        transform:
            scaleX(0.82);
    }

}


@keyframes plocalVerifyBubbleOne {

    0%,
    100% {
        transform:
            translate3d(
                0,
                0,
                0
            )
            rotate(-3deg);
    }

    50% {
        transform:
            translate3d(
                -5px,
                -13px,
                0
            )
            rotate(3deg);
    }

}


@keyframes plocalVerifyBubbleTwo {

    0%,
    100% {
        transform:
            translate3d(
                0,
                0,
                0
            )
            rotate(2deg);
    }

    50% {
        transform:
            translate3d(
                6px,
                -10px,
                0
            )
            rotate(-4deg);
    }

}


@keyframes plocalVerifyBubbleThree {

    0%,
    100% {
        transform:
            translate3d(
                0,
                0,
                0
            )
            rotate(0deg);
    }

    50% {
        transform:
            translate3d(
                -7px,
                -11px,
                0
            )
            rotate(6deg);
    }

}


@keyframes plocalVerifyBubbleFour {

    0%,
    100% {
        transform:
            translate3d(
                0,
                0,
                0
            );
    }

    50% {
        transform:
            translate3d(
                5px,
                -14px,
                0
            );
    }

}


@keyframes plocalVerifyFloatingIconPulse {

    0%,
    100% {
        transform:
            scale(1);
    }

    50% {
        transform:
            scale(1.1);
    }

}


/* =========================================================
   15. KEYFRAMES — FORM
========================================================= */

@keyframes plocalVerifyShellGlow {

    0%,
    100% {
        opacity: 0.58;

        transform:
            scale(0.94)
            translate3d(
                0,
                0,
                0
            );
    }

    50% {
        opacity: 1;

        transform:
            scale(1.1)
            translate3d(
                -15px,
                17px,
                0
            );
    }

}


@keyframes plocalVerifyShellBorderGlow {

    0%,
    100% {
        opacity: 0.22;
    }

    50% {
        opacity: 0.56;
    }

}


@keyframes plocalVerifyTopLine {

    0%,
    100% {
        opacity: 0.62;

        transform:
            scaleX(0.74);
    }

    50% {
        opacity: 1;

        transform:
            scaleX(1.16);
    }

}


@keyframes plocalVerifyFormLightScan {

    0%,
    70% {
        left: -42%;

        opacity: 0;
    }

    76% {
        opacity: 0.42;
    }

    88% {
        opacity: 0.66;
    }

    100% {
        left: 128%;

        opacity: 0;
    }

}


@keyframes plocalVerifyButtonShine {

    0%,
    58% {
        left: -45%;
    }

    78%,
    100% {
        left: 130%;
    }

}


/* =========================================================
   16. KEYFRAMES — DECORATIONS
========================================================= */

@keyframes plocalVerifyTaglineFloat {

    0%,
    100% {
        transform:
            translateY(0);
    }

    50% {
        transform:
            translateY(-3px);
    }

}


@keyframes plocalVerifyTaglineShine {

    0%,
    65% {
        left: -35%;
    }

    85%,
    100% {
        left: 130%;
    }

}


@keyframes plocalVerifyIconPulse {

    0%,
    100% {
        box-shadow:
            0 0 0 0
            rgba(36, 189, 199, 0);
    }

    50% {
        box-shadow:
            0 0 0 7px
            rgba(36, 189, 199, 0.09);
    }

}


@keyframes plocalVerifyInfoPulse {

    0%,
    100% {
        transform:
            scale(1);

        box-shadow:
            0 0 0 0
            rgba(36, 189, 199, 0);
    }

    50% {
        transform:
            scale(1.06);

        box-shadow:
            0 0 0 6px
            rgba(36, 189, 199, 0.08);
    }

}


@keyframes plocalVerifyDotsOne {

    0%,
    100% {
        opacity: 0.55;

        transform:
            translate3d(
                0,
                0,
                0
            );
    }

    50% {
        opacity: 0.76;

        transform:
            translate3d(
                6px,
                -8px,
                0
            );
    }

}


@keyframes plocalVerifyDotsTwo {

    0%,
    100% {
        opacity: 0.25;

        transform:
            translate3d(
                0,
                0,
                0
            );
    }

    50% {
        opacity: 0.4;

        transform:
            translate3d(
                8px,
                -5px,
                0
            );
    }

}


@keyframes plocalVerifyOrbitSlow {

    from {
        transform:
            rotate(0deg);
    }

    to {
        transform:
            rotate(360deg);
    }

}


@keyframes plocalVerifyBackgroundIconOne {

    0%,
    100% {
        transform:
            translate3d(
                0,
                0,
                0
            )
            rotate(-7deg);
    }

    50% {
        transform:
            translate3d(
                7px,
                -10px,
                0
            )
            rotate(-3deg);
    }

}


@keyframes plocalVerifyBackgroundIconTwo {

    0%,
    100% {
        transform:
            translate3d(
                0,
                0,
                0
            )
            rotate(8deg);
    }

    50% {
        transform:
            translate3d(
                -9px,
                -8px,
                0
            )
            rotate(4deg);
    }

}


/* =========================================================
   17. MOBILE ADJUSTMENTS
========================================================= */

@media (max-width: 767.98px) {

    .plocal-verify-form-shell {
        animation-name:
            plocalVerifyFadeUp;
    }


    .plocal-verify-illustration__image {
        animation-duration:
            6.4s;
    }


    .plocal-verify-section .plocal-form::before {
        display: none;
    }


    .plocal-verify-section .plocal-form-control:hover {
        transform: none;
    }

}


/* =========================================================
   18. REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .plocal-verify-heading,
    .plocal-verify-section .plocal-prose,
    .plocal-verify-section .plocal-disclaimer,
    .plocal-verify-illustration,
    .plocal-verify-form-shell,
    .plocal-verify-section .plocal-form-group,
    .plocal-verify-section .theme-btn {
        opacity: 1 !important;

        animation: none !important;

        transform: none !important;
    }


    .plocal-verify-illustration__image,
    .plocal-verify-illustration__bubble,
    .plocal-verify-illustration__link,
    .plocal-verify-illustration__search,
    .plocal-verify-illustration__location,
    .plocal-verify-form-shell__glow,
    .plocal-verify-form-shell__line,
    .plocal-verify-dots,
    .plocal-verify-orbit,
    .plocal-verify-bg-icon,
    .plocal-verify-section .site-title-tagline,
    .plocal-verify-section .site-title-tagline::after,
    .plocal-verify-section .plocal-form::before,
    .plocal-verify-section .theme-btn::before,
    .plocal-verify-section .plocal-disclaimer > i {
        animation: none !important;
    }

}

/* =========================================================
   PLOCAL — VERIFY A BADGE OR PROFILE
   Premium split layout
========================================================= */


/* =========================================================
   01. SECTION BASE
========================================================= */

.plocal-verify-section,
.plocal-verify-section * {
    box-sizing: border-box;
}


.plocal-verify-section {
    position: relative;
    z-index: 1;
    isolation: isolate;

    overflow: hidden;

    padding:
        clamp(88px, 8vw, 125px)
        0;

    background:
        radial-gradient(
            circle at 5% 90%,
            rgba(36, 189, 199, 0.12) 0%,
            rgba(36, 189, 199, 0.045) 21%,
            transparent 43%
        ),
        radial-gradient(
            circle at 96% 10%,
            rgba(12, 44, 122, 0.055) 0%,
            transparent 31%
        ),
        linear-gradient(
            145deg,
            var(--color-white) 0%,
            #FCFEFF 46%,
            #F5FAFF 100%
        );
}


/* Soft dividing line */
.plocal-verify-section::after {
    position: absolute;
    right: 7%;
    bottom: 0;
    left: 7%;
    z-index: 4;

    height: 1px;

    content: "";

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(36, 189, 199, 0.27),
            transparent
        );

    pointer-events: none;
}


.plocal-verify-container {
    position: relative;
    z-index: 3;
}


/* =========================================================
   02. DECORATIVE BACKGROUND
========================================================= */

.plocal-verify-bg {
    position: absolute;
    inset: 0;
    z-index: -2;

    overflow: hidden;

    pointer-events: none;
}


/* Central ambient light */
.plocal-verify-bg::before {
    position: absolute;
    top: 4%;
    left: 63%;

    width: 760px;
    height: 670px;

    content: "";

    border-radius: 50%;

    background:
        radial-gradient(
            ellipse,
            rgba(36, 189, 199, 0.09) 0%,
            rgba(98, 211, 218, 0.032) 38%,
            transparent 72%
        );

    filter: blur(25px);

    transform: translateX(-50%);
}


/* Soft horizontal glow */
.plocal-verify-bg::after {
    position: absolute;
    right: 8%;
    bottom: -190px;
    left: 8%;

    height: 350px;

    content: "";

    border-radius: 50%;

    background:
        radial-gradient(
            ellipse,
            rgba(36, 189, 199, 0.07),
            transparent 70%
        );

    filter: blur(28px);
}


/* =========================================================
   03. DOT PATTERNS
========================================================= */

.plocal-verify-dots {
    position: absolute;

    background-image:
        radial-gradient(
            circle,
            rgba(36, 189, 199, 0.6) 1.5px,
            transparent 1.9px
        );

    background-size: 14px 14px;
}


.plocal-verify-dots--one {
    top: 6px;
    left: 29%;

    width: 150px;
    height: 126px;

    opacity: 0.68;

    -webkit-mask-image:
        linear-gradient(
            180deg,
            #000 0%,
            rgba(0, 0, 0, 0.85) 56%,
            transparent 100%
        );

    mask-image:
        linear-gradient(
            180deg,
            #000 0%,
            rgba(0, 0, 0, 0.85) 56%,
            transparent 100%
        );
}


.plocal-verify-dots--two {
    bottom: 8px;
    left: 4px;

    width: 112px;
    height: 165px;

    opacity: 0.34;

    -webkit-mask-image:
        linear-gradient(
            315deg,
            #000 0%,
            rgba(0, 0, 0, 0.7) 46%,
            transparent 100%
        );

    mask-image:
        linear-gradient(
            315deg,
            #000 0%,
            rgba(0, 0, 0, 0.7) 46%,
            transparent 100%
        );
}


/* =========================================================
   04. ORBITS
========================================================= */

.plocal-verify-orbit {
    position: absolute;

    border-radius: 50%;
}


.plocal-verify-orbit--one {
    bottom: -500px;
    left: -420px;

    width: 790px;
    height: 790px;

    border:
        1px solid
        rgba(36, 189, 199, 0.25);

    box-shadow:
        0 0 0 74px rgba(36, 189, 199, 0.021),
        0 0 0 148px rgba(36, 189, 199, 0.013);
}


.plocal-verify-orbit--two {
    top: -270px;
    right: -235px;

    width: 525px;
    height: 525px;

    border:
        1px dashed
        rgba(36, 189, 199, 0.14);

    animation:
        plocalVerifyOrbitRotate
        48s linear infinite;
}


.plocal-verify-orbit--one::before {
    position: absolute;
    top: 102px;
    right: 101px;

    width: 16px;
    height: 16px;

    content: "";

    border:
        3px solid
        var(--color-white);

    border-radius: 50%;

    background: var(--theme-color);

    box-shadow:
        0 0 0 7px rgba(36, 189, 199, 0.13),
        0 10px 25px rgba(36, 189, 199, 0.24);
}


.plocal-verify-orbit--two::before {
    position: absolute;
    top: 84px;
    left: 80px;

    width: 9px;
    height: 9px;

    content: "";

    border-radius: 50%;

    background: var(--theme-color);

    box-shadow:
        0 0 0 5px rgba(36, 189, 199, 0.09);
}


/* =========================================================
   05. GLOWS
========================================================= */

.plocal-verify-glow {
    position: absolute;

    border-radius: 50%;

    filter: blur(26px);
}


.plocal-verify-glow--one {
    top: -330px;
    right: -270px;

    width: 690px;
    height: 690px;

    background:
        radial-gradient(
            circle,
            rgba(36, 189, 199, 0.13),
            rgba(98, 211, 218, 0.045) 38%,
            transparent 72%
        );
}


.plocal-verify-glow--two {
    bottom: -400px;
    left: -320px;

    width: 760px;
    height: 760px;

    background:
        radial-gradient(
            circle,
            rgba(36, 189, 199, 0.15),
            rgba(12, 44, 122, 0.035) 43%,
            transparent 73%
        );
}


/* =========================================================
   06. LARGE BACKGROUND ICONS
========================================================= */

.plocal-verify-bg-icon {
    position: absolute;

    color:
        rgba(
            12,
            44,
            122,
            0.022
        );

    line-height: 1;
}


.plocal-verify-bg-icon--shield {
    top: 8%;
    left: 2%;

    font-size:
        clamp(66px, 6vw, 98px);

    transform: rotate(-7deg);
}


.plocal-verify-bg-icon--search {
    right: 1%;
    bottom: 6%;

    font-size:
        clamp(58px, 5vw, 86px);

    transform: rotate(8deg);
}


/* =========================================================
   07. LEFT CONTENT
========================================================= */

.plocal-verify-content {
    position: relative;

    max-width: 500px;
}


.plocal-verify-heading {
    margin-bottom: 22px;
}


.plocal-verify-section .site-title-tagline {
    display: inline-flex;
    align-items: center;

    gap: 9px;

    margin-bottom: 18px;
    padding:
        7px
        13px
        7px
        8px;

    border:
        1px solid
        rgba(36, 189, 199, 0.35);

    border-radius: 999px;

    background:
        rgba(255, 255, 255, 0.86);

    color: var(--theme-color);

    font-family: var(--body-font);
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.12em;
    text-transform: uppercase;

    box-shadow:
        0 8px 20px
        rgba(12, 44, 122, 0.045);
}


.plocal-verify-tagline-icon {
    display: grid;
    place-items: center;

    width: 27px;
    height: 27px;

    border-radius: 50%;

    background: var(--theme-color-light);

    color: var(--theme-color);

    font-size: 11px;
}


.plocal-verify-section .site-title {
    max-width: 520px;

    margin: 0;

    color: var(--theme-color2);

    font-family: var(--heading-font);
    font-size:var(--font-size-h2) ;

    font-weight: var(--heading-weight);
    line-height: 1.05;
    letter-spacing: var(--heading-letter-spacing);
}


.plocal-verify-section .site-title span {
    color: var(--theme-color);
}


/* =========================================================
   08. LEFT INFORMATION
========================================================= */

.plocal-verify-section .plocal-prose {
    margin-bottom: 18px;
}


.plocal-verify-section .plocal-prose > p {
    margin:
        0
        0
        20px;

    color: var(--body-text-color);

    font-family: var(--body-font);
    font-size:
        clamp(
            14px,
            1.1vw,
            16px
        );

    line-height: 1.75;
}


.plocal-verify-section .plocal-prose > p strong {
    color: var(--color-dark);
}


.plocal-verify-section .plocal-prose ul {
    margin: 0;
    padding: 0;

    list-style: none;

    border:
        1px solid
        rgba(36, 189, 199, 0.17);

    border-radius: 17px;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.93),
            rgba(217, 245, 247, 0.28)
        );

    box-shadow:
        0 15px 36px
        rgba(12, 44, 122, 0.06);
}


.plocal-verify-section .plocal-prose li {
    position: relative;

    padding:
        15px
        20px
        15px
        55px;

    border-bottom:
        1px solid
        rgba(12, 44, 122, 0.07);

    color: var(--theme-color2);

    font-family: var(--body-font);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
}


.plocal-verify-section .plocal-prose li:last-child {
    border-bottom: 0;
}


.plocal-verify-section .plocal-prose li::before {
    position: absolute;
    top: 50%;
    left: 19px;

    display: grid;
    place-items: center;

    width: 25px;
    height: 25px;

    content: "\f00c";

    border-radius: 50%;

    background: var(--theme-color-light);

    color: var(--theme-color);

    font-family: "Font Awesome 6 Free";
    font-size: 10px;
    font-weight: 900;

    transform: translateY(-50%);
}


/* =========================================================
   09. DISCLAIMER
========================================================= */

.plocal-verify-section .plocal-disclaimer {
    display: grid;

    grid-template-columns:
        38px
        minmax(0, 1fr);

    align-items: center;

    gap: 12px;

    padding:
        13px
        15px;

    border:
        1px solid
        rgba(36, 189, 199, 0.15);

    border-left:
        3px solid
        var(--theme-color);

    border-radius:
        0
        13px
        13px
        0;

    background:
        rgba(255, 255, 255, 0.8);

    box-shadow:
        0 10px 25px
        rgba(12, 44, 122, 0.045);
}


.plocal-verify-section .plocal-disclaimer > i {
    display: grid;
    place-items: center;

    width: 38px;
    height: 38px;

    border-radius: 50%;

    background: var(--theme-color-light);

    color: var(--theme-color);

    font-size: 14px;
}


.plocal-verify-section .plocal-disclaimer p {
    margin: 0;

    color: var(--body-text-color);

    font-family: var(--body-font);
    font-size: 12px;
    line-height: 1.55;
}


.plocal-verify-section .plocal-disclaimer a {
    color: var(--theme-color);

    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}


/* =========================================================
   10. ILLUSTRATION
========================================================= */

.plocal-verify-illustration {
    position: relative;

    width: 100%;
    max-width: 390px;
    min-height: 220px;

    margin:
        70px
        auto
        -38px;

    pointer-events: none;
}


.plocal-verify-illustration__image {
    position: absolute;
    right: 12px;
    bottom: 0;

    display: block;

    width: 80%;
    height: auto;

    filter:
        drop-shadow(
            0 20px 24px
            rgba(12, 44, 122, 0.12)
        );
}


.plocal-verify-illustration__bubble,
.plocal-verify-illustration__link,
.plocal-verify-illustration__search,
.plocal-verify-illustration__location {
    position: absolute;
    z-index: 2;

    display: grid;
    place-items: center;

    border:
        4px solid
        rgba(255, 255, 255, 0.92);

    border-radius: 50%;

    background:
        linear-gradient(
            145deg,
            var(--theme-color),
            var(--color-skyblue)
        );

    color: var(--color-white);

    box-shadow:
        0 12px 25px
        rgba(36, 189, 199, 0.22);
}


.plocal-verify-illustration__bubble {
    top: 32px;
    left: 29px;

    width: 58px;
    height: 58px;

    font-size: 21px;
}


.plocal-verify-illustration__link {
    top: 39px;
    left: 92px;

    width: 48px;
    height: 48px;

    font-size: 16px;
}


.plocal-verify-illustration__search {
    right: 19px;
    bottom: 62px;

    width: 51px;
    height: 51px;

    font-size: 17px;
}


.plocal-verify-illustration__location {
    right: 5px;
    bottom: 5px;

    width: 49px;
    height: 49px;

    font-size: 17px;
}


/* =========================================================
   11. FORM OUTER SHELL
========================================================= */

.plocal-verify-form-shell {
    position: relative;
    isolation: isolate;

    padding:
        clamp(
            24px,
            3.5vw,
            39px
        );

    overflow: hidden;

    border:
        1px solid
        rgba(12, 44, 122, 0.08);

    border-radius: 28px;

    background:
        radial-gradient(
            circle at 94% 5%,
            rgba(36, 189, 199, 0.14),
            transparent 31%
        ),
        linear-gradient(
            145deg,
            rgba(248, 251, 255, 0.98),
            rgba(238, 246, 255, 0.92)
        );

    box-shadow:
        0 25px 62px
        rgba(12, 44, 122, 0.1);
}


.plocal-verify-form-shell::before {
    position: absolute;
    inset: 0;
    z-index: -2;

    content: "";

    background-image:
        linear-gradient(
            rgba(12, 44, 122, 0.022) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(12, 44, 122, 0.022) 1px,
            transparent 1px
        );

    background-size: 58px 58px;

    opacity: 0.45;

    -webkit-mask-image:
        radial-gradient(
            circle at 100% 0%,
            #000,
            transparent 70%
        );

    mask-image:
        radial-gradient(
            circle at 100% 0%,
            #000,
            transparent 70%
        );
}


.plocal-verify-form-shell__line {
    position: absolute;
    top: 0;
    left: 34px;

    width: 98px;
    height: 3px;

    border-radius: 0 0 999px 999px;

    background:
        linear-gradient(
            90deg,
            var(--theme-color2),
            var(--theme-color)
        );
}


.plocal-verify-form-shell__glow {
    position: absolute;
    top: -105px;
    right: -90px;
    z-index: -1;

    width: 260px;
    height: 260px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(36, 189, 199, 0.16),
            transparent 70%
        );

    filter: blur(10px);
}


/* =========================================================
   12. ORIGINAL FORM PRESENTATION
========================================================= */

.plocal-verify-section .plocal-form {
    position: relative;
    z-index: 2;

    width: 100%;

    padding:
        clamp(
            27px,
            3.5vw,
            42px
        );

    border:
        1px solid
        rgba(12, 44, 122, 0.065);

    border-radius: 20px;

    background:
        rgba(255, 255, 255, 0.97);

    box-shadow:
        0 18px 44px
        rgba(12, 44, 122, 0.075);
}


.plocal-verify-section .plocal-form-group {
    margin-bottom: 20px;
}


.plocal-verify-section .plocal-form-group label {
    display: inline-block;

    margin-bottom: 8px;

    color: var(--theme-color2);

    font-family: var(--body-font);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
}


.plocal-verify-section .req {
    color: var(--color-red);
}


.plocal-verify-section .plocal-form-control {
    display: block;

    width: 100%;
    min-height: 56px;

    padding:
        14px
        16px;

    border:
        1px solid
        rgba(12, 44, 122, 0.14);

    border-radius: 12px;

    outline: 0;

    background:
        rgba(248, 251, 255, 0.92);

    color: var(--color-dark);

    font-family: var(--body-font);
    font-size: 14px;
    font-weight: 500;

    transition:
        border-color 0.25s ease,
        background 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.25s ease;
}


.plocal-verify-section .plocal-form-control::placeholder {
    color:
        rgba(
            102,
            112,
            133,
            0.68
        );

    font-weight: 400;
}


.plocal-verify-section .plocal-form-control:hover {
    border-color:
        rgba(36, 189, 199, 0.38);

    background: var(--color-white);
}


.plocal-verify-section .plocal-form-control:focus {
    border-color: var(--theme-color);

    background: var(--color-white);

    box-shadow:
        0 0 0 4px
        rgba(36, 189, 199, 0.1),

        0 9px 22px
        rgba(12, 44, 122, 0.055);

    transform: translateY(-1px);
}


/* =========================================================
   13. BUTTON + MESSAGE
========================================================= */

.plocal-verify-section .theme-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 9px;

    min-height: 51px;

    padding:
        13px
        21px;

    border:
        1px solid
        rgba(36, 189, 199, 0.34);

    border-radius: 11px;

    background:
        linear-gradient(
            135deg,
            var(--theme-color),
            var(--color-skyblue)
        );

    color: var(--color-white);

    font-family: var(--body-font);
    font-size: 13px;
    font-weight: 800;

    box-shadow:
        0 13px 28px
        rgba(36, 189, 199, 0.23);

    cursor: pointer;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


.plocal-verify-section .theme-btn:hover {
    color: var(--color-white);

    box-shadow:
        0 17px 34px
        rgba(36, 189, 199, 0.3);

    transform: translateY(-3px);
}


.plocal-verify-section .theme-btn:focus-visible {
    outline:
        3px solid
        rgba(36, 189, 199, 0.22);

    outline-offset: 4px;
}


.plocal-verify-section .plocal-form-msg {
    min-height: 22px;

    margin-top: 15px;

    color: var(--body-text-color);

    font-family: var(--body-font);
    font-size: 13px;
    font-weight: 600;
}


.plocal-verify-section .plocal-form-msg:empty {
    min-height: 0;
    margin-top: 0;
}


/* =========================================================
   14. HONEYPOT
========================================================= */

.plocal-verify-section .plocal-hp {
    position: absolute !important;
    left: -9999px !important;

    width: 1px !important;
    height: 1px !important;

    overflow: hidden !important;

    opacity: 0 !important;
}


/* =========================================================
   15. ANIMATIONS
========================================================= */

@keyframes plocalVerifyOrbitRotate {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }

}


/* =========================================================
   16. LAPTOP
========================================================= */

@media (max-width: 1199.98px) {

    .plocal-verify-content {
        max-width: 460px;
    }


    .plocal-verify-section .site-title {
        font-size:
            clamp(
                37px,
                4vw,
                49px
            );
    }


    .plocal-verify-form-shell {
        padding: 28px;
    }


    .plocal-verify-section .plocal-form {
        padding: 32px;
    }

}


/* =========================================================
   17. TABLET
========================================================= */

@media (max-width: 991.98px) {

    .plocal-verify-section
    .row.g-5 {
        row-gap: 50px;
    }


    .plocal-verify-content {
        max-width: 760px;

        margin-inline: auto;
    }


    .plocal-verify-illustration {
        max-width: 430px;

        margin-bottom: -10px;
    }


    .plocal-verify-form-shell {
        max-width: 800px;

        margin-inline: auto;
    }


    .plocal-verify-dots--one {
        left: auto;
        right: 18px;
    }

}


/* =========================================================
   18. MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .plocal-verify-section {
        padding:
            clamp(
                75px,
                11vw,
                96px
            )
            0;
    }


    .plocal-verify-section .site-title {
        font-size:
            clamp(
                36px,
                10vw,
                48px
            );
    }


    .plocal-verify-dots--one {
        top: 15px;
        right: -20px;

        width: 105px;
        height: 95px;

        opacity: 0.4;
    }


    .plocal-verify-dots--two {
        opacity: 0.22;
    }


    .plocal-verify-bg-icon {
        display: none;
    }


    .plocal-verify-illustration {
        min-height: 200px;
    }


    .plocal-verify-form-shell {
        padding: 17px;

        border-radius: 22px;
    }


    .plocal-verify-section .plocal-form {
        padding:
            25px
            20px;

        border-radius: 17px;
    }

}


/* =========================================================
   19. SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {

    .plocal-verify-section .site-title-tagline {
        font-size: 10px;
    }


    .plocal-verify-section .plocal-prose li {
        padding:
            14px
            15px
            14px
            49px;

        font-size: 12px;
    }


    .plocal-verify-section .plocal-prose li::before {
        left: 15px;
    }


    .plocal-verify-illustration {
        max-width: 330px;
        min-height: 185px;

        margin-top: 20px;
    }


    .plocal-verify-illustration__bubble {
        left: 16px;

        width: 50px;
        height: 50px;
    }


    .plocal-verify-illustration__link {
        left: 68px;

        width: 42px;
        height: 42px;
    }


    .plocal-verify-form-shell {
        padding: 12px;
    }


    .plocal-verify-section .plocal-form {
        padding:
            22px
            16px;
    }


    .plocal-verify-section .theme-btn {
        width: 100%;
    }

}


/* =========================================================
   20. REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .plocal-verify-orbit {
        animation: none !important;
    }


    .plocal-verify-section .plocal-form-control,
    .plocal-verify-section .theme-btn {
        transition: none;
    }

}

.plocal-verify-section .plocal-prose li::before {
    position: absolute;
    top: 50%;
    left: 19px;

    display: grid;
    place-items: center;

    width: 25px;
    height: 25px;

    content: "✓";

    border:
        1px solid
        rgba(36, 189, 199, 0.22);

    border-radius: 50%;

    background: var(--theme-color-light);

    color: var(--theme-color);

    font-family: Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;

    box-shadow:
        0 6px 14px
        rgba(36, 189, 199, 0.08);

    transform: translateY(-50%);

    transition:
        color 0.3s ease,
        background 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease,
        transform 0.3s ease;
}

/* =========================================================
   PLOCAL — SUBMIT YOUR BUSINESS
   Premium split layout
========================================================= */


/* =========================================================
   01. SECTION
========================================================= */

.plocal-submit-section,
.plocal-submit-section * {
    box-sizing: border-box;
}


.plocal-submit-section {
    position: relative;
    z-index: 1;
    isolation: isolate;

    overflow: hidden;

    padding:
        clamp(88px, 8vw, 126px)
        0;

    background:
        radial-gradient(
            circle at 3% 91%,
            rgba(36, 189, 199, 0.13) 0%,
            rgba(36, 189, 199, 0.045) 21%,
            transparent 43%
        ),
        radial-gradient(
            circle at 96% 9%,
            rgba(12, 44, 122, 0.06) 0%,
            transparent 31%
        ),
        linear-gradient(
            145deg,
            var(--color-white) 0%,
            #fcfeff 46%,
            #f5faff 100%
        );
}


.plocal-submit-section::after {
    position: absolute;
    right: 7%;
    bottom: 0;
    left: 7%;
    z-index: 5;

    height: 1px;

    content: "";

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(36, 189, 199, 0.27),
            transparent
        );

    pointer-events: none;
}


.plocal-submit-container {
    position: relative;
    z-index: 3;
}


/* =========================================================
   02. DECORATIVE BACKGROUND
========================================================= */

.plocal-submit-bg {
    position: absolute;
    inset: 0;
    z-index: -2;

    overflow: hidden;

    pointer-events: none;
}


.plocal-submit-bg::before {
    position: absolute;
    top: 2%;
    left: 66%;

    width: 790px;
    height: 690px;

    content: "";

    border-radius: 50%;

    background:
        radial-gradient(
            ellipse,
            rgba(36, 189, 199, 0.09) 0%,
            rgba(98, 211, 218, 0.032) 39%,
            transparent 72%
        );

    filter: blur(25px);

    transform: translateX(-50%);
}


.plocal-submit-bg::after {
    position: absolute;
    right: 8%;
    bottom: -190px;
    left: 8%;

    height: 350px;

    content: "";

    border-radius: 50%;

    background:
        radial-gradient(
            ellipse,
            rgba(36, 189, 199, 0.07),
            transparent 70%
        );

    filter: blur(28px);
}


/* =========================================================
   03. BACKGROUND GLOWS
========================================================= */

.plocal-submit-bg__glow {
    position: absolute;

    border-radius: 50%;

    filter: blur(26px);

    will-change:
        transform,
        opacity;
}


.plocal-submit-bg__glow--one {
    top: -330px;
    right: -270px;

    width: 700px;
    height: 700px;

    background:
        radial-gradient(
            circle,
            rgba(36, 189, 199, 0.13),
            rgba(98, 211, 218, 0.045) 38%,
            transparent 72%
        );

    animation:
        plocalSubmitGlowOne
        14s ease-in-out infinite alternate;
}


.plocal-submit-bg__glow--two {
    bottom: -410px;
    left: -330px;

    width: 780px;
    height: 780px;

    background:
        radial-gradient(
            circle,
            rgba(36, 189, 199, 0.15),
            rgba(12, 44, 122, 0.035) 43%,
            transparent 73%
        );

    animation:
        plocalSubmitGlowTwo
        18s ease-in-out infinite alternate;
}


/* =========================================================
   04. DOT PATTERNS
========================================================= */

.plocal-submit-bg__dots {
    position: absolute;

    background-image:
        radial-gradient(
            circle,
            rgba(36, 189, 199, 0.6) 1.5px,
            transparent 1.9px
        );

    background-size: 14px 14px;
}


.plocal-submit-bg__dots--one {
    top: 5px;
    left: 29%;

    width: 155px;
    height: 128px;

    opacity: 0.68;

    -webkit-mask-image:
        linear-gradient(
            180deg,
            #000 0%,
            rgba(0, 0, 0, 0.85) 56%,
            transparent 100%
        );

    mask-image:
        linear-gradient(
            180deg,
            #000 0%,
            rgba(0, 0, 0, 0.85) 56%,
            transparent 100%
        );

    animation:
        plocalSubmitDotsOne
        9s ease-in-out infinite;
}


.plocal-submit-bg__dots--two {
    bottom: 7px;
    left: 4px;

    width: 115px;
    height: 168px;

    opacity: 0.34;

    -webkit-mask-image:
        linear-gradient(
            315deg,
            #000 0%,
            rgba(0, 0, 0, 0.7) 46%,
            transparent 100%
        );

    mask-image:
        linear-gradient(
            315deg,
            #000 0%,
            rgba(0, 0, 0, 0.7) 46%,
            transparent 100%
        );

    animation:
        plocalSubmitDotsTwo
        11s ease-in-out infinite;
}


/* =========================================================
   05. ORBITS
========================================================= */

.plocal-submit-bg__orbit {
    position: absolute;

    border-radius: 50%;
}


.plocal-submit-bg__orbit--one {
    bottom: -510px;
    left: -430px;

    width: 810px;
    height: 810px;

    border:
        1px solid
        rgba(36, 189, 199, 0.25);

    box-shadow:
        0 0 0 76px rgba(36, 189, 199, 0.021),
        0 0 0 152px rgba(36, 189, 199, 0.013);

    animation:
        plocalSubmitOrbitOne
        60s linear infinite;
}


.plocal-submit-bg__orbit--two {
    top: -275px;
    right: -240px;

    width: 535px;
    height: 535px;

    border:
        1px dashed
        rgba(36, 189, 199, 0.14);

    animation:
        plocalSubmitOrbitTwo
        48s linear infinite;
}


.plocal-submit-bg__orbit--one::before {
    position: absolute;
    top: 104px;
    right: 104px;

    width: 16px;
    height: 16px;

    content: "";

    border:
        3px solid
        var(--color-white);

    border-radius: 50%;

    background: var(--theme-color);

    box-shadow:
        0 0 0 7px rgba(36, 189, 199, 0.13),
        0 10px 25px rgba(36, 189, 199, 0.24);
}


.plocal-submit-bg__orbit--two::before {
    position: absolute;
    top: 86px;
    left: 82px;

    width: 9px;
    height: 9px;

    content: "";

    border-radius: 50%;

    background: var(--theme-color);

    box-shadow:
        0 0 0 5px rgba(36, 189, 199, 0.09);
}


/* =========================================================
   06. BACKGROUND ICONS
========================================================= */

.plocal-submit-bg__icon {
    position: absolute;

    color:
        rgba(
            12,
            44,
            122,
            0.022
        );

    line-height: 1;
}


.plocal-submit-bg__icon--store {
    top: 8%;
    left: 2%;

    font-size:
        clamp(65px, 6vw, 96px);

    animation:
        plocalSubmitBgIconOne
        10s ease-in-out infinite;
}


.plocal-submit-bg__icon--chart {
    right: 1%;
    bottom: 6%;

    font-size:
        clamp(57px, 5vw, 84px);

    animation:
        plocalSubmitBgIconTwo
        12s ease-in-out infinite;
}


/* =========================================================
   07. LEFT CONTENT
========================================================= */

.plocal-submit-content {
    position: relative;

    max-width: 500px;
}


.plocal-submit-heading {
    margin-bottom: 29px;
}


.plocal-submit-section .site-title-tagline {
    position: relative;

    display: inline-flex;
    align-items: center;

    gap: 9px;

    margin-bottom: 18px;
    padding:
        7px
        13px
        7px
        8px;

    overflow: hidden;

    border:
        1px solid
        rgba(36, 189, 199, 0.35);

    border-radius: 999px;

    background:
        rgba(255, 255, 255, 0.86);

    color: var(--theme-color);

    font-family: var(--body-font);
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.12em;
    text-transform: uppercase;

    box-shadow:
        0 8px 20px
        rgba(12, 44, 122, 0.045);

    animation:
        plocalSubmitTaglineFloat
        4.8s ease-in-out infinite;
}


.plocal-submit-section .site-title-tagline::after {
    position: absolute;
    top: -45%;
    bottom: -45%;
    left: -40%;

    width: 27%;

    content: "";

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255, 255, 255, 0.9),
            transparent
        );

    transform: skewX(-18deg);

    animation:
        plocalSubmitTaglineShine
        6.8s ease-in-out infinite;
}


.plocal-submit-tagline-icon {
    display: grid;
    place-items: center;

    width: 27px;
    height: 27px;

    border-radius: 50%;

    background: var(--theme-color-light);

    color: var(--theme-color);

    font-size: 11px;

    animation:
        plocalSubmitTaglinePulse
        3.4s ease-in-out infinite;
}


.plocal-submit-section .site-title {
    max-width: 520px;

    margin: 0;

    color: var(--theme-color2);

    font-family: var(--heading-font);
    font-size:var(--font-size-h2);

    font-weight: var(--heading-weight);
    line-height: 1.05;
    letter-spacing: var(--heading-letter-spacing);
}


.plocal-submit-section .site-title span {
    color: var(--theme-color);
}


/* =========================================================
   08. BENEFITS LIST
========================================================= */

.plocal-submit-section .plocal-prose {
    margin-bottom: 19px;
}


.plocal-submit-section .plocal-prose ul {
    margin: 0;
    padding: 0;

    list-style: none;
}


.plocal-submit-section .plocal-prose li {
    position: relative;

    padding:
        13px
        10px
        13px
        38px;

    color: var(--body-text-color);

    font-family: var(--body-font);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.65;

    transition:
        color 0.3s ease,
        padding-left 0.3s ease,
        transform 0.3s ease;
}


.plocal-submit-section .plocal-prose li::before {
    position: absolute;
    top: 17px;
    left: 0;

    display: grid;
    place-items: center;

    width: 23px;
    height: 23px;

    content: "✓";

    border:
        1px solid
        rgba(36, 189, 199, 0.2);

    border-radius: 50%;

    background: var(--theme-color-light);

    color: var(--theme-color);

    font-family: Arial, sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;

    box-shadow:
        0 5px 13px
        rgba(36, 189, 199, 0.07);

    transition:
        color 0.3s ease,
        background 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease,
        transform 0.3s ease;
}


.plocal-submit-section .plocal-prose li:hover {
    padding-left: 43px;

    color: var(--color-dark);

    transform: translateX(3px);
}


.plocal-submit-section .plocal-prose li:hover::before {
    border-color: var(--theme-color);

    background: var(--theme-color);

    color: var(--color-white);

    box-shadow:
        0 8px 18px
        rgba(36, 189, 199, 0.23);

    transform: scale(1.08);
}


/* =========================================================
   09. DISCLAIMER
========================================================= */

.plocal-submit-section .plocal-disclaimer {
    display: grid;

    grid-template-columns:
        42px
        minmax(0, 1fr);

    align-items: start;

    gap: 13px;

    padding:
        17px
        18px;

    border:
        1px solid
        rgba(36, 189, 199, 0.17);

    border-left:
        3px solid
        var(--theme-color);

    border-radius:
        0
        14px
        14px
        0;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.9),
            rgba(217, 245, 247, 0.42)
        );

    box-shadow:
        0 12px 29px
        rgba(12, 44, 122, 0.055);

    transition:
        transform 0.3s ease,
        background 0.3s ease,
        box-shadow 0.3s ease;
}


.plocal-submit-section .plocal-disclaimer:hover {
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.98),
            rgba(217, 245, 247, 0.52)
        );

    box-shadow:
        0 17px 36px
        rgba(12, 44, 122, 0.08);

    transform: translateY(-3px);
}


.plocal-submit-section .plocal-disclaimer > i {
    display: grid;
    place-items: center;

    width: 42px;
    height: 42px;

    border-radius: 50%;

    background: var(--theme-color-light);

    color: var(--theme-color);

    font-size: 15px;

    animation:
        plocalSubmitInfoPulse
        3.8s ease-in-out infinite;
}


.plocal-submit-section .plocal-disclaimer p {
    margin: 0;

    color: var(--body-text-color);

    font-family: var(--body-font);
    font-size: 13px;
    line-height: 1.6;
}


.plocal-submit-section .plocal-disclaimer p strong {
    color: var(--color-dark);
}


/* =========================================================
   10. ILLUSTRATION
========================================================= */

.plocal-submit-illustration {
    position: relative;

    width: 100%;
    max-width: 390px;
    min-height: 225px;

    margin:
        30px
        auto
        -42px;

    pointer-events: none;
}


.plocal-submit-illustration::after {
    position: absolute;
    right: 14%;
    bottom: 2px;
    left: 23%;

    height: 24px;

    content: "";

    border-radius: 50%;

    background:
        rgba(12, 44, 122, 0.11);

    filter: blur(17px);

    animation:
        plocalSubmitIllustrationShadow
        5.8s ease-in-out infinite;
}


.plocal-submit-illustration__image {
    position: absolute;
    right: 12px;
    bottom: 0;

    display: block;

    width: 80%;
    height: auto;

    filter:
        drop-shadow(
            0 20px 24px
            rgba(12, 44, 122, 0.12)
        );

    transform-origin: center bottom;

    animation:
        plocalSubmitIllustrationFloat
        5.8s ease-in-out infinite;
}


.plocal-submit-illustration__bubble,
.plocal-submit-illustration__score,
.plocal-submit-illustration__check,
.plocal-submit-illustration__location {
    position: absolute;
    z-index: 2;

    display: grid;
    place-items: center;

    border:
        4px solid
        rgba(255, 255, 255, 0.92);

    border-radius: 50%;

    background:
        linear-gradient(
            145deg,
            var(--theme-color),
            var(--color-skyblue)
        );

    color: var(--color-white);

    box-shadow:
        0 12px 25px
        rgba(36, 189, 199, 0.22);
}


.plocal-submit-illustration__bubble {
    top: 33px;
    left: 28px;

    width: 58px;
    height: 58px;

    font-size: 20px;

    animation:
        plocalSubmitBubbleOne
        4.8s ease-in-out infinite;
}


.plocal-submit-illustration__score {
    top: 40px;
    left: 92px;

    width: 48px;
    height: 48px;

    font-size: 16px;

    animation:
        plocalSubmitBubbleTwo
        5.4s ease-in-out -1.2s infinite;
}


.plocal-submit-illustration__check {
    right: 20px;
    bottom: 63px;

    width: 51px;
    height: 51px;

    font-size: 17px;

    animation:
        plocalSubmitBubbleThree
        4.6s ease-in-out -0.7s infinite;
}


.plocal-submit-illustration__location {
    right: 5px;
    bottom: 5px;

    width: 49px;
    height: 49px;

    font-size: 17px;

    animation:
        plocalSubmitBubbleFour
        5.1s ease-in-out -1.8s infinite;
}


/* =========================================================
   11. FORM SHELL
========================================================= */

.plocal-submit-form-shell {
    position: relative;
    isolation: isolate;

    padding:
        clamp(
            24px,
            3.5vw,
            39px
        );

    overflow: hidden;

    border:
        1px solid
        rgba(12, 44, 122, 0.08);

    border-radius: 28px;

    background:
        radial-gradient(
            circle at 94% 5%,
            rgba(36, 189, 199, 0.14),
            transparent 31%
        ),
        linear-gradient(
            145deg,
            rgba(248, 251, 255, 0.98),
            rgba(238, 246, 255, 0.92)
        );

    box-shadow:
        0 25px 62px
        rgba(12, 44, 122, 0.1);
}


.plocal-submit-form-shell__grid {
    position: absolute;
    inset: 0;
    z-index: -2;

    background-image:
        linear-gradient(
            rgba(12, 44, 122, 0.022) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(12, 44, 122, 0.022) 1px,
            transparent 1px
        );

    background-size: 58px 58px;

    opacity: 0.45;

    -webkit-mask-image:
        radial-gradient(
            circle at 100% 0%,
            #000,
            transparent 70%
        );

    mask-image:
        radial-gradient(
            circle at 100% 0%,
            #000,
            transparent 70%
        );
}


.plocal-submit-form-shell__line {
    position: absolute;
    top: 0;
    left: 34px;

    width: 100px;
    height: 3px;

    border-radius: 0 0 999px 999px;

    background:
        linear-gradient(
            90deg,
            var(--theme-color2),
            var(--theme-color)
        );

    transform-origin: left center;

    animation:
        plocalSubmitTopLine
        4.7s ease-in-out infinite;
}


.plocal-submit-form-shell__glow {
    position: absolute;
    top: -105px;
    right: -90px;
    z-index: -1;

    width: 270px;
    height: 270px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(36, 189, 199, 0.17),
            transparent 70%
        );

    filter: blur(11px);

    animation:
        plocalSubmitShellGlow
        7s ease-in-out infinite;
}


/* =========================================================
   12. FORM
========================================================= */

.plocal-submit-section .plocal-form {
    position: relative;
    z-index: 2;

    width: 100%;

    padding:
        clamp(
            27px,
            3.5vw,
            42px
        );

    overflow: hidden;

    border:
        1px solid
        rgba(12, 44, 122, 0.065);

    border-radius: 20px;

    background:
        rgba(255, 255, 255, 0.97);

    box-shadow:
        0 18px 44px
        rgba(12, 44, 122, 0.075);
}


.plocal-submit-section .plocal-form::before {
    position: absolute;
    top: -45%;
    bottom: -45%;
    left: -42%;

    width: 22%;

    content: "";

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255, 255, 255, 0.86),
            rgba(36, 189, 199, 0.035),
            transparent
        );

    filter: blur(3px);

    opacity: 0;

    transform: skewX(-17deg);

    animation:
        plocalSubmitFormScan
        11s ease-in-out infinite;

    pointer-events: none;
}


.plocal-submit-section .plocal-form-group {
    margin-bottom: 20px;
}


.plocal-submit-section .plocal-form-group label {
    display: inline-block;

    margin-bottom: 8px;

    color: var(--theme-color2);

    font-family: var(--body-font);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;

    transition:
        color 0.25s ease,
        transform 0.25s ease;
}


.plocal-submit-section
.plocal-form-group:focus-within
label {
    color: var(--theme-color);

    transform: translateX(3px);
}


.plocal-submit-section .req {
    color: var(--color-red);
}


.plocal-submit-section .plocal-form-control {
    display: block;

    width: 100%;
    min-height: 56px;

    padding:
        14px
        16px;

    border:
        1px solid
        rgba(12, 44, 122, 0.14);

    border-radius: 12px;

    outline: 0;

    background:
        rgba(248, 251, 255, 0.92);

    color: var(--color-dark);

    font-family: var(--body-font);
    font-size: 14px;
    font-weight: 500;

    transition:
        border-color 0.25s ease,
        background 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.25s ease;
}


.plocal-submit-section textarea.plocal-form-control {
    min-height: 145px;

    resize: vertical;
}


.plocal-submit-section .plocal-form-control::placeholder {
    color:
        rgba(
            102,
            112,
            133,
            0.68
        );

    font-weight: 400;
}


.plocal-submit-section .plocal-form-control:hover {
    border-color:
        rgba(36, 189, 199, 0.38);

    background: var(--color-white);

    box-shadow:
        0 8px 19px
        rgba(12, 44, 122, 0.05);

    transform: translateY(-2px);
}


.plocal-submit-section .plocal-form-control:focus {
    border-color: var(--theme-color);

    background: var(--color-white);

    box-shadow:
        0 0 0 4px
        rgba(36, 189, 199, 0.1),

        0 9px 22px
        rgba(12, 44, 122, 0.055);

    transform:
        translateY(-2px)
        scale(1.004);
}


/* =========================================================
   13. CONSENT
========================================================= */

.plocal-submit-section .plocal-consent {
    display: grid;

    grid-template-columns:
        20px
        minmax(0, 1fr);

    align-items: start;

    gap: 10px;

    margin:
        2px
        0
        22px;
}


.plocal-submit-section .plocal-consent input {
    width: 17px;
    height: 17px;

    margin-top: 3px;

    accent-color: var(--theme-color);

    cursor: pointer;
}


.plocal-submit-section .plocal-consent label {
    margin: 0;

    color: var(--body-text-color);

    font-family: var(--body-font);
    font-size: 11px;
    font-weight: 500;
    line-height: 1.55;

    cursor: pointer;
}


/* =========================================================
   14. BUTTON + NOTES
========================================================= */

.plocal-submit-section .theme-btn {
    position: relative;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 9px;

    min-height: 51px;

    padding:
        13px
        21px;

    overflow: hidden;

    border:
        1px solid
        rgba(36, 189, 199, 0.34);

    border-radius: 11px;

    background:
        linear-gradient(
            135deg,
            var(--theme-color),
            var(--color-skyblue)
        );

    color: var(--color-white);

    font-family: var(--body-font);
    font-size: 13px;
    font-weight: 800;

    box-shadow:
        0 13px 28px
        rgba(36, 189, 199, 0.23);

    cursor: pointer;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


.plocal-submit-section .theme-btn::before {
    position: absolute;
    top: -55%;
    bottom: -55%;
    left: -45%;

    width: 26%;

    content: "";

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255, 255, 255, 0.84),
            transparent
        );

    transform: skewX(-18deg);

    animation:
        plocalSubmitButtonShine
        4.8s ease-in-out infinite;
}


.plocal-submit-section .theme-btn:hover {
    color: var(--color-white);

    box-shadow:
        0 17px 35px
        rgba(36, 189, 199, 0.3);

    transform:
        translateY(-4px)
        scale(1.012);
}


.plocal-submit-section .theme-btn i {
    transition: transform 0.3s ease;
}


.plocal-submit-section .theme-btn:hover i {
    transform:
        translateX(3px)
        rotate(-5deg);
}


.plocal-submit-section .theme-btn:active {
    transform:
        translateY(-1px)
        scale(0.99);
}


.plocal-submit-section .plocal-form-note {
    margin:
        14px
        0
        0;

    color: var(--body-text-color);

    font-family: var(--body-font);
    font-size: 11px;
    line-height: 1.55;
}


.plocal-submit-section .plocal-form-msg {
    min-height: 22px;

    margin-top: 12px;

    color: var(--body-text-color);

    font-family: var(--body-font);
    font-size: 13px;
    font-weight: 600;
}


.plocal-submit-section .plocal-form-msg:empty {
    min-height: 0;
    margin-top: 0;
}


/* =========================================================
   15. HONEYPOT
========================================================= */

.plocal-submit-section .plocal-hp {
    position: absolute !important;
    left: -9999px !important;

    width: 1px !important;
    height: 1px !important;

    overflow: hidden !important;

    opacity: 0 !important;
}


/* =========================================================
   16. ANIMATIONS
========================================================= */

@keyframes plocalSubmitGlowOne {

    from {
        opacity: 0.48;

        transform:
            translate3d(0, 0, 0)
            scale(0.98);
    }

    to {
        opacity: 0.84;

        transform:
            translate3d(-26px, 24px, 0)
            scale(1.06);
    }

}


@keyframes plocalSubmitGlowTwo {

    from {
        opacity: 0.44;

        transform:
            translate3d(0, 0, 0)
            scale(1);
    }

    to {
        opacity: 0.78;

        transform:
            translate3d(30px, -22px, 0)
            scale(1.07);
    }

}


@keyframes plocalSubmitDotsOne {

    0%,
    100% {
        opacity: 0.52;

        transform: translate3d(0, 0, 0);
    }

    50% {
        opacity: 0.73;

        transform: translate3d(7px, -8px, 0);
    }

}


@keyframes plocalSubmitDotsTwo {

    0%,
    100% {
        opacity: 0.24;

        transform: translate3d(0, 0, 0);
    }

    50% {
        opacity: 0.39;

        transform: translate3d(8px, -5px, 0);
    }

}


@keyframes plocalSubmitOrbitOne {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }

}


@keyframes plocalSubmitOrbitTwo {

    from {
        transform: rotate(360deg);
    }

    to {
        transform: rotate(0deg);
    }

}


@keyframes plocalSubmitBgIconOne {

    0%,
    100% {
        transform:
            translate3d(0, 0, 0)
            rotate(-7deg);
    }

    50% {
        transform:
            translate3d(8px, -10px, 0)
            rotate(-3deg);
    }

}


@keyframes plocalSubmitBgIconTwo {

    0%,
    100% {
        transform:
            translate3d(0, 0, 0)
            rotate(8deg);
    }

    50% {
        transform:
            translate3d(-9px, -8px, 0)
            rotate(4deg);
    }

}


@keyframes plocalSubmitTaglineFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-3px);
    }

}


@keyframes plocalSubmitTaglineShine {

    0%,
    65% {
        left: -40%;
    }

    85%,
    100% {
        left: 130%;
    }

}


@keyframes plocalSubmitTaglinePulse {

    0%,
    100% {
        box-shadow:
            0 0 0 0
            rgba(36, 189, 199, 0);
    }

    50% {
        box-shadow:
            0 0 0 7px
            rgba(36, 189, 199, 0.09);
    }

}


@keyframes plocalSubmitInfoPulse {

    0%,
    100% {
        transform: scale(1);

        box-shadow:
            0 0 0 0
            rgba(36, 189, 199, 0);
    }

    50% {
        transform: scale(1.06);

        box-shadow:
            0 0 0 6px
            rgba(36, 189, 199, 0.08);
    }

}


@keyframes plocalSubmitIllustrationFloat {

    0%,
    100% {
        transform:
            translate3d(0, 0, 0)
            rotate(0deg);
    }

    50% {
        transform:
            translate3d(0, -12px, 0)
            rotate(-0.8deg);
    }

}


@keyframes plocalSubmitIllustrationShadow {

    0%,
    100% {
        opacity: 0.72;

        transform: scaleX(1);
    }

    50% {
        opacity: 0.42;

        transform: scaleX(0.82);
    }

}


@keyframes plocalSubmitBubbleOne {

    0%,
    100% {
        transform:
            translate3d(0, 0, 0)
            rotate(-3deg);
    }

    50% {
        transform:
            translate3d(-5px, -13px, 0)
            rotate(3deg);
    }

}


@keyframes plocalSubmitBubbleTwo {

    0%,
    100% {
        transform:
            translate3d(0, 0, 0)
            rotate(2deg);
    }

    50% {
        transform:
            translate3d(6px, -10px, 0)
            rotate(-4deg);
    }

}


@keyframes plocalSubmitBubbleThree {

    0%,
    100% {
        transform:
            translate3d(0, 0, 0)
            rotate(0deg);
    }

    50% {
        transform:
            translate3d(-7px, -11px, 0)
            rotate(6deg);
    }

}


@keyframes plocalSubmitBubbleFour {

    0%,
    100% {
        transform: translate3d(0, 0, 0);
    }

    50% {
        transform: translate3d(5px, -14px, 0);
    }

}


@keyframes plocalSubmitTopLine {

    0%,
    100% {
        opacity: 0.62;

        transform: scaleX(0.74);
    }

    50% {
        opacity: 1;

        transform: scaleX(1.16);
    }

}


@keyframes plocalSubmitShellGlow {

    0%,
    100% {
        opacity: 0.58;

        transform:
            scale(0.94)
            translate3d(0, 0, 0);
    }

    50% {
        opacity: 1;

        transform:
            scale(1.1)
            translate3d(-15px, 17px, 0);
    }

}


@keyframes plocalSubmitFormScan {

    0%,
    70% {
        left: -42%;

        opacity: 0;
    }

    76% {
        opacity: 0.42;
    }

    88% {
        opacity: 0.66;
    }

    100% {
        left: 128%;

        opacity: 0;
    }

}


@keyframes plocalSubmitButtonShine {

    0%,
    58% {
        left: -45%;
    }

    78%,
    100% {
        left: 130%;
    }

}


/* =========================================================
   17. LAPTOP
========================================================= */

@media (max-width: 1199.98px) {

    .plocal-submit-content {
        max-width: 460px;
    }


    .plocal-submit-section .site-title {
        font-size:
            clamp(
                37px,
                4vw,
                49px
            );
    }


    .plocal-submit-form-shell {
        padding: 28px;
    }


    .plocal-submit-section .plocal-form {
        padding: 32px;
    }

}


/* =========================================================
   18. TABLET
========================================================= */

@media (max-width: 991.98px) {

    .plocal-submit-section
    .row.g-5 {
        row-gap: 52px;
    }


    .plocal-submit-content {
        max-width: 760px;

        margin-inline: auto;
    }


    .plocal-submit-illustration {
        max-width: 430px;

        margin-bottom: -10px;
    }


    .plocal-submit-form-shell {
        max-width: 840px;

        margin-inline: auto;
    }


    .plocal-submit-bg__dots--one {
        left: auto;
        right: 18px;
    }

}


/* =========================================================
   19. MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .plocal-submit-section {
        padding:
            clamp(
                75px,
                11vw,
                96px
            )
            0;
    }


    .plocal-submit-section .site-title {
        font-size:
            clamp(
                36px,
                10vw,
                48px
            );
    }


    .plocal-submit-bg__dots--one {
        top: 15px;
        right: -20px;

        width: 106px;
        height: 96px;

        opacity: 0.4;
    }


    .plocal-submit-bg__dots--two {
        opacity: 0.22;
    }


    .plocal-submit-bg__icon {
        display: none;
    }


    .plocal-submit-illustration {
        min-height: 200px;
    }


    .plocal-submit-form-shell {
        padding: 17px;

        border-radius: 22px;
    }


    .plocal-submit-section .plocal-form {
        padding:
            25px
            20px;

        border-radius: 17px;
    }


    .plocal-submit-section
    .plocal-form::before {
        display: none;
    }


    .plocal-submit-section
    .plocal-form-control:hover {
        transform: none;
    }

}


/* =========================================================
   20. SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {

    .plocal-submit-section .site-title-tagline {
        font-size: 10px;
    }


    .plocal-submit-section .plocal-prose li {
        padding:
            12px
            8px
            12px
            35px;

        font-size: 13px;
    }


    .plocal-submit-section .plocal-prose li:hover {
        padding-left: 38px;
    }


    .plocal-submit-section .plocal-disclaimer {
        grid-template-columns:
            38px
            minmax(0, 1fr);

        padding:
            15px
            14px;
    }


    .plocal-submit-section .plocal-disclaimer > i {
        width: 38px;
        height: 38px;
    }


    .plocal-submit-illustration {
        max-width: 330px;
        min-height: 185px;

        margin-top: 20px;
    }


    .plocal-submit-illustration__bubble {
        left: 16px;

        width: 50px;
        height: 50px;
    }


    .plocal-submit-illustration__score {
        left: 68px;

        width: 42px;
        height: 42px;
    }


    .plocal-submit-form-shell {
        padding: 12px;
    }


    .plocal-submit-section .plocal-form {
        padding:
            22px
            16px;
    }


    .plocal-submit-section .theme-btn {
        width: 100%;
    }


    .plocal-submit-section .plocal-consent {
        grid-template-columns:
            18px
            minmax(0, 1fr);
    }

}


/* =========================================================
   21. REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .plocal-submit-bg__glow,
    .plocal-submit-bg__dots,
    .plocal-submit-bg__orbit,
    .plocal-submit-bg__icon,
    .plocal-submit-section .site-title-tagline,
    .plocal-submit-section .site-title-tagline::after,
    .plocal-submit-tagline-icon,
    .plocal-submit-section .plocal-disclaimer > i,
    .plocal-submit-illustration::after,
    .plocal-submit-illustration__image,
    .plocal-submit-illustration__bubble,
    .plocal-submit-illustration__score,
    .plocal-submit-illustration__check,
    .plocal-submit-illustration__location,
    .plocal-submit-form-shell__line,
    .plocal-submit-form-shell__glow,
    .plocal-submit-section .plocal-form::before,
    .plocal-submit-section .theme-btn::before {
        animation: none !important;
    }


    .plocal-submit-section .plocal-form-control,
    .plocal-submit-section .theme-btn,
    .plocal-submit-section .plocal-prose li,
    .plocal-submit-section .plocal-disclaimer {
        transition: none;
    }

}

