/* Selective bright sections; loaded after the original site styles. */
#services {
  background: #eee9ff;
  color: #211b38;
  border-block: 1px solid #dcd2f4;
}

#services .section-label {
  color: #5836a1;
}

#services .text-gradient {
  background-image: linear-gradient(110deg, #6234b8, #a02471);
}

#services .glass {
  background: #fbf9ff;
  border-color: #d9ceed;
  box-shadow: 0 12px 32px -24px #65489155;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

#services .glass:hover {
  background: #fff;
  border-color: #ad94d5;
}

#services .shiny-border::before {
  opacity: .2;
}

#services [class*="text-white/"] {
  color: #5e526f;
}

#services h3,
#services a,
#services .glass > span {
  color: #2d2146;
}

#services a:hover {
  color: #6a2daf;
}

#services span.rounded-full {
  background: #eee7fa;
  border-color: #d9ceed;
  color: #59466e;
}

#services a:focus-visible {
  outline: 2px solid #6a2daf;
  outline-offset: 5px;
}

#contact {
  background: #eee9ff;
  color: #211b38;
  border-top: 1px solid #dcd2f4;
}

#contact .section-label {
  color: #5836a1;
}

#contact .text-gradient {
  background-image: linear-gradient(110deg, #6234b8, #a02471);
}

#contact .glass {
  background: #fbf9ff;
  border-color: #d9ceed;
  box-shadow: 0 12px 32px -24px #65489155;
}

#contact a.glass:hover {
  background: #fff;
}

#contact [class*="text-white/"] {
  color: #5e526f;
}

#contact input:not([type="checkbox"]),
#contact select,
#contact textarea {
  background: #fff;
  border-color: #d9ceed;
  color: #211b38;
}

#contact input::placeholder,
#contact textarea::placeholder {
  color: #766587;
}

#contact input:focus,
#contact select:focus,
#contact textarea:focus {
  background: #fff;
  border-color: #6234b8;
  outline: 2px solid #6234b8;
  outline-offset: 2px;
}

#contact label:has(input:checked) {
  color: #fff;
  background: #6234b8;
  border-color: #6234b8;
}

#contact label:has(input:focus-visible),
#contact a:focus-visible,
#contact button:focus-visible {
  outline: 2px solid #6234b8;
  outline-offset: 4px;
}

#contact .btn-primary {
  background: #6234b8;
  color: #fff;
  border-color: #6234b8;
  box-shadow: 0 8px 24px -12px #65489155;
}

#contact .btn-primary:hover {
  background: #51299d;
}

#contact .shiny-border::before {
  opacity: .2;
}

#contact label:has(input[type="checkbox"]) {
  background: #eee7fa;
  border-color: #d9ceed;
  color: #59466e;
}

#contact label:has(input[type="checkbox"]):hover {
  border-color: #ad94d5;
}

#contact label:has(input[type="checkbox"]:checked) {
  background: #6234b8;
  border-color: #6234b8;
  color: #fff;
}

#contact [role="status"] {
  background: #fbf9ff;
  color: #211b38;
}

#contact [role="status"] > .rounded-full,
#contact a[href^="mailto:"] .bg-gradient-to-br {
  color: #fff;
}

#contact [role="alert"] {
  color: #a52140;
}

#contact .contact-budget-select {
  min-height: 48px;
  cursor: pointer;
  color-scheme: light;
}

#contact .contact-budget-select:invalid {
  color: #766587;
}

/* Testimonials heading: always exactly two lines. Line 2 is ~11.93em wide, so the size is capped
   at the original Tailwind sizes and otherwise scaled to the space available at each breakpoint. */
.kx-testi-head{flex:1 1 auto;min-width:0;max-width:62rem}
.kx-two-line .kx-line{display:block;white-space:nowrap}
#testimonials h2.kx-two-line{font-size:min(2.25rem,calc((100vw - 48px)/12.5));line-height:1.1}
@media(min-width:640px){#testimonials h2.kx-two-line{font-size:min(3rem,calc((100vw - 80px)/12.5))}}
@media(min-width:768px){#testimonials h2.kx-two-line{font-size:min(3rem,calc((100vw - 240px)/12.5))}}
@media(min-width:1024px){#testimonials h2.kx-two-line{font-size:min(3.75rem,calc((100vw - 270px)/12.5));line-height:1.05}}
