/* Reference Yuri design tokens are local to this page, never the shared shell. */
#hori-implants {
  --background: 0 0% 100%;
  --foreground: 220 27% 4%;
  --card: 0 0% 100%;
  --card-foreground: 220 27% 4%;
  --popover: 0 0% 100%;
  --popover-foreground: 220 27% 4%;
  --primary: 205.99 94.01% 32.75%;
  --primary-foreground: 0 0% 100%;
  --secondary: 0 0% 96%;
  --secondary-foreground: 220 27% 4%;
  --muted: 0 0% 96%;
  --muted-foreground: 220 27% 40%;
  --accent: 205.99 94.01% 32.75%;
  --accent-foreground: 0 0% 100%;
  --destructive: 0 84.2% 60.2%;
  --destructive-foreground: 0 0% 100%;
  --border: 0 0% 89%;
  --input: 0 0% 89%;
  --ring: 205.99 94.01% 32.75%;
  --radius: 0.5rem;
  --gradient-blue: linear-gradient(135deg, hsl(205.99 94.01% 32.75%), hsl(205.99 94.01% 42%));
  --gradient-subtle: linear-gradient(135deg, hsl(0 0% 98%), hsl(0 0% 100%));
  --shadow-blue: 0 10px 40px hsl(205.99 94.01% 32.75% / 0.15);
  --shadow-blue-lg: 0 20px 60px hsl(205.99 94.01% 32.75% / 0.2);
  --shadow-elevated: 0 10px 40px hsl(0 0% 0% / 0.08);
  background: hsl(var(--background));
  color: hsl(var(--foreground));
}
/* Tailwind's container is a component rule and ignores important's selector scope. */
#hori-implants .container { width: 100%; margin-right: auto; margin-left: auto; padding-right: 2rem; padding-left: 2rem; }
@media (min-width: 1400px) { #hori-implants .container { max-width: 1400px; } }
#hori-implants .absolute {
  position: absolute;
}
#hori-implants .relative {
  position: relative;
}
#hori-implants .inset-0 {
  inset: 0px;
}
#hori-implants .z-10 {
  z-index: 10;
}
#hori-implants .mx-auto {
  margin-left: auto;
  margin-right: auto;
}
#hori-implants .mb-10 {
  margin-bottom: 2.5rem;
}
#hori-implants .mb-12 {
  margin-bottom: 3rem;
}
#hori-implants .mb-2 {
  margin-bottom: 0.5rem;
}
#hori-implants .mb-3 {
  margin-bottom: 0.75rem;
}
#hori-implants .mb-4 {
  margin-bottom: 1rem;
}
#hori-implants .mb-6 {
  margin-bottom: 1.5rem;
}
#hori-implants .mb-8 {
  margin-bottom: 2rem;
}
#hori-implants .mt-0\.5 {
  margin-top: 0.125rem;
}
#hori-implants .mt-3 {
  margin-top: 0.75rem;
}
#hori-implants .mt-4 {
  margin-top: 1rem;
}
#hori-implants .mt-8 {
  margin-top: 2rem;
}
#hori-implants .block {
  display: block;
}
#hori-implants .inline-block {
  display: inline-block;
}
#hori-implants .flex {
  display: flex;
}
#hori-implants .inline-flex {
  display: inline-flex;
}
#hori-implants .grid {
  display: grid;
}
#hori-implants .aspect-\[3\/4\] {
  aspect-ratio: 3/4;
}
#hori-implants .h-10 {
  height: 2.5rem;
}
#hori-implants .h-11 {
  height: 2.75rem;
}
#hori-implants .h-12 {
  height: 3rem;
}
#hori-implants .h-3\.5 {
  height: 0.875rem;
}
#hori-implants .h-4 {
  height: 1rem;
}
#hori-implants .h-5 {
  height: 1.25rem;
}
#hori-implants .h-6 {
  height: 1.5rem;
}
#hori-implants .h-full {
  height: 100%;
}
#hori-implants .min-h-screen {
  min-height: 100vh;
}
#hori-implants .w-10 {
  width: 2.5rem;
}
#hori-implants .w-12 {
  width: 3rem;
}
#hori-implants .w-3\.5 {
  width: 0.875rem;
}
#hori-implants .w-4 {
  width: 1rem;
}
#hori-implants .w-5 {
  width: 1.25rem;
}
#hori-implants .w-6 {
  width: 1.5rem;
}
#hori-implants .w-full {
  width: 100%;
}
#hori-implants .max-w-2xl {
  max-width: 42rem;
}
#hori-implants .max-w-3xl {
  max-width: 48rem;
}
#hori-implants .max-w-4xl {
  max-width: 56rem;
}
#hori-implants .max-w-5xl {
  max-width: 64rem;
}
#hori-implants .max-w-6xl {
  max-width: 72rem;
}
#hori-implants .max-w-md {
  max-width: 28rem;
}
#hori-implants .max-w-xl {
  max-width: 36rem;
}
#hori-implants .flex-1 {
  flex: 1 1 0%;
}
#hori-implants .flex-shrink-0 {
  flex-shrink: 0;
}
#hori-implants .shrink-0 {
  flex-shrink: 0;
}
#hori-implants .flex-col {
  flex-direction: column;
}
#hori-implants .flex-wrap {
  flex-wrap: wrap;
}
#hori-implants .flex-nowrap {
  flex-wrap: nowrap;
}
#hori-implants .items-start {
  align-items: flex-start;
}
#hori-implants .items-center {
  align-items: center;
}
#hori-implants .items-stretch {
  align-items: stretch;
}
#hori-implants .justify-center {
  justify-content: center;
}
#hori-implants .justify-between {
  justify-content: space-between;
}
#hori-implants .gap-1 {
  gap: 0.25rem;
}
#hori-implants .gap-10 {
  gap: 2.5rem;
}
#hori-implants .gap-2 {
  gap: 0.5rem;
}
#hori-implants .gap-3 {
  gap: 0.75rem;
}
#hori-implants .gap-4 {
  gap: 1rem;
}
#hori-implants .gap-5 {
  gap: 1.25rem;
}
#hori-implants .gap-6 {
  gap: 1.5rem;
}
#hori-implants .gap-x-6 {
  column-gap: 1.5rem;
}
#hori-implants .gap-y-3 {
  row-gap: 0.75rem;
}
#hori-implants :is(.space-y-1\.5 > :not([hidden]) ~ :not([hidden])) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}
#hori-implants :is(.space-y-4 > :not([hidden]) ~ :not([hidden])) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
#hori-implants :is(.space-y-6 > :not([hidden]) ~ :not([hidden])) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
#hori-implants .overflow-hidden {
  overflow: hidden;
}
#hori-implants .overflow-x-hidden {
  overflow-x: hidden;
}
#hori-implants .rounded-2xl {
  border-radius: 1rem;
}
#hori-implants .rounded-full {
  border-radius: 9999px;
}
#hori-implants .rounded-lg {
  border-radius: var(--radius);
}
#hori-implants .border {
  border-width: 1px;
}
#hori-implants .border-b {
  border-bottom-width: 1px;
}
#hori-implants .border-accent\/30 {
  border-color: hsl(var(--accent) / 0.3);
}
#hori-implants .border-border {
  border-color: hsl(var(--border));
}
#hori-implants .border-primary\/30 {
  border-color: hsl(var(--primary) / 0.3);
}
#hori-implants .bg-accent\/5 {
  background-color: hsl(var(--accent) / 0.05);
}
#hori-implants .bg-background {
  background-color: hsl(var(--background));
}
#hori-implants .bg-card {
  background-color: hsl(var(--card));
}
#hori-implants .bg-primary\/10 {
  background-color: hsl(var(--primary) / 0.1);
}
#hori-implants .bg-primary\/5 {
  background-color: hsl(var(--primary) / 0.05);
}
#hori-implants .bg-secondary\/20 {
  background-color: hsl(var(--secondary) / 0.2);
}
#hori-implants .bg-\[radial-gradient\(circle_at_top_right\2c hsl\(var\(--primary\)\/0\.08\)\2c transparent_60\%\)\] {
  background-image: radial-gradient(circle at top right,hsl(var(--primary)/0.08),transparent 60%);
}
#hori-implants .bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
#hori-implants .from-background {
  --tw-gradient-from: hsl(var(--background)) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
#hori-implants .from-primary\/10 {
  --tw-gradient-from: hsl(var(--primary) / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
#hori-implants .via-secondary\/30 {
  --tw-gradient-to: hsl(var(--secondary) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--secondary) / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
#hori-implants .via-secondary\/40 {
  --tw-gradient-to: hsl(var(--secondary) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--secondary) / 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
#hori-implants .to-accent\/10 {
  --tw-gradient-to: hsl(var(--accent) / 0.1) var(--tw-gradient-to-position);
}
#hori-implants .to-background {
  --tw-gradient-to: hsl(var(--background)) var(--tw-gradient-to-position);
}
#hori-implants .object-contain {
  object-fit: contain;
}
#hori-implants .p-4 {
  padding: 1rem;
}
#hori-implants .p-6 {
  padding: 1.5rem;
}
#hori-implants .px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}
#hori-implants .px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
#hori-implants .py-16 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
#hori-implants .py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
#hori-implants .py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
#hori-implants .pb-16 {
  padding-bottom: 4rem;
}
#hori-implants .pb-4 {
  padding-bottom: 1rem;
}
#hori-implants .pr-6 {
  padding-right: 1.5rem;
}
#hori-implants .pt-0 {
  padding-top: 0px;
}
#hori-implants .pt-2 {
  padding-top: 0.5rem;
}
#hori-implants .pt-32 {
  padding-top: 8rem;
}
#hori-implants .pt-6 {
  padding-top: 1.5rem;
}
#hori-implants .text-left {
  text-align: left;
}
#hori-implants .text-center {
  text-align: center;
}
#hori-implants .font-inter {
  font-family: Inter, sans-serif;
}
#hori-implants .font-kiona {
  font-family: Kiona, sans-serif;
}
#hori-implants .text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}
#hori-implants .text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}
#hori-implants .text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}
#hori-implants .text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
#hori-implants .text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
#hori-implants .text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}
#hori-implants .font-bold {
  font-weight: 700;
}
#hori-implants .font-medium {
  font-weight: 500;
}
#hori-implants .font-semibold {
  font-weight: 600;
}
#hori-implants .uppercase {
  text-transform: uppercase;
}
#hori-implants .leading-\[1\.05\] {
  line-height: 1.05;
}
#hori-implants .leading-none {
  line-height: 1;
}
#hori-implants .leading-relaxed {
  line-height: 1.625;
}
#hori-implants .leading-tight {
  line-height: 1.25;
}
#hori-implants .tracking-tight {
  letter-spacing: -0.025em;
}
#hori-implants .tracking-wider {
  letter-spacing: 0.05em;
}
#hori-implants .text-accent {
  color: hsl(var(--accent));
}
#hori-implants .text-card-foreground {
  color: hsl(var(--card-foreground));
}
#hori-implants .text-foreground {
  color: hsl(var(--foreground));
}
#hori-implants .text-foreground\/85 {
  color: hsl(var(--foreground) / 0.85);
}
#hori-implants .text-muted-foreground {
  color: hsl(var(--muted-foreground));
}
#hori-implants .text-primary {
  color: hsl(var(--primary));
}
#hori-implants .shadow-blue-lg {
  --tw-shadow: var(--shadow-blue-lg);
  --tw-shadow-colored: var(--shadow-blue-lg);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
#hori-implants .shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
#hori-implants .shadow-sm {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
#hori-implants .outline {
  outline-style: solid;
}
#hori-implants .transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
#hori-implants .transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
#hori-implants .duration-200 {
  transition-duration: 200ms;
}
/* Compact only this page's vertical rhythm; preserve the hero's header clearance. */
#hori-implants > section:not(:first-child) { padding-block: 40px; }
#hori-implants > section:first-child { padding-bottom: 40px; }
#hori-implants > section .mb-12,
#hori-implants > section .mb-10 { margin-bottom: 28px; }
@media (min-width: 640px) {
  #hori-implants > section:not(:first-child) { padding-block: 48px; }
  #hori-implants > section:first-child { padding-bottom: 48px; }
  #hori-implants > section .mb-12,
  #hori-implants > section .mb-10 { margin-bottom: 32px; }
}
#hori-implants #processo { scroll-margin-top: 140px; }
/* Follow the shared Hori CTA while keeping a compact touch target. */
#hori-implants [data-hori-button] { min-height: 44px !important; height: auto !important; padding: 10px 20px !important; font-size: 14px !important; line-height: 1.5 !important; border-radius: 8px !important; }
#hori-implants .hori-implant-fade { animation: hori-implant-fade-up .3s ease-out both; }
#hori-implants .hori-implant-cases-track { flex-shrink: 0; animation: hori-implant-scroll 180s linear infinite; }
#hori-implants .hori-implant-case-image { width: 260px; max-width: none; height: auto; }
#hori-implants .data-\[state\=open\]\:animate-accordion-down[data-state="open"] { animation: hori-implant-accordion-down .2s ease-out; }
#hori-implants .data-\[state\=closed\]\:animate-accordion-up[data-state="closed"] { animation: hori-implant-accordion-up .2s ease-out; }
@media (min-width: 768px) { #hori-implants .hori-implant-case-image { width: 340px; } }
@keyframes hori-implant-fade-up { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
@keyframes hori-implant-scroll { from { transform: translateX(0); } to { transform: translateX(-100%); } }
@keyframes hori-implant-accordion-down { from { height: 0; } to { height: var(--radix-accordion-content-height); } }
@keyframes hori-implant-accordion-up { from { height: var(--radix-accordion-content-height); } to { height: 0; } }
@media (prefers-reduced-motion: reduce) {
  #hori-implants .hori-implant-fade,
  #hori-implants .hori-implant-cases-track,
  #hori-implants [data-state="open"],
  #hori-implants [data-state="closed"] { animation: none; }
  #hori-implants [data-state="open"], #hori-implants [data-state="closed"] { transition: none; }
}

/* FAQ matches the approved Hori cards and typography. */
#hori-implants .hori-implant-faq { background: #fff; color: #171717; font-family: Inter,Arial,sans-serif; }
#hori-implants .hori-implant-faq > .container { padding-inline: 20px; }
#hori-implants .hori-implant-faq-inner { width: 100%; max-width: 860px; margin-inline: auto; }
#hori-implants .hori-implant-faq-heading { max-width: 720px; margin: 0 auto 28px; text-align: center; }
#hori-implants .hori-implant-faq-label { display: inline-flex; justify-content: center; max-width: 100%; margin: 0 0 16px; padding: 6px 12px; border: 1px solid rgba(0,92,159,.3); border-radius: 999px; background: rgba(0,92,159,.05); color: #005c9f; font: 400 14px/1.4 Inter,Arial,sans-serif; letter-spacing: .025em; text-transform: uppercase; }
#hori-implants .hori-implant-faq h2 { margin: 0; color: #171717; font: 600 clamp(28px,3vw,38px)/1.25 Inter,Arial,sans-serif; letter-spacing: -.035em; text-transform: none; }
#hori-implants .hori-implant-faq-list { display: flex; flex-direction: column; gap: 10px; }
#hori-implants .hori-implant-faq-item { border: 1px solid #e1e5e9; border-radius: 12px; overflow: hidden; background: #fff; }
#hori-implants .hori-implant-faq-item h3 { margin: 0; }
#hori-implants .hori-implant-faq-question { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 56px; width: 100%; padding: 18px 20px; border: 0; background: transparent; color: #171717; font: 500 15px/1.5 Inter,Arial,sans-serif; text-align: left; text-decoration: none; cursor: pointer; }
#hori-implants .hori-implant-faq-question svg { flex: 0 0 16px; width: 16px; height: 16px; color: #005c9f; }
#hori-implants .hori-implant-faq-question:focus-visible { outline: 2px solid #005c9f; outline-offset: -3px; border-radius: 12px; }
#hori-implants .hori-implant-faq-answer { padding: 0 20px 18px; color: #4e5a67; font: 400 14px/1.75 Inter,Arial,sans-serif; }
@media (min-width:640px) { #hori-implants .hori-implant-faq > .container { padding-inline: 28px; } }
@media (max-width:700px) {
  #hori-implants .hori-implant-faq h2 { font-size: 26px; line-height: 1.3; }
  #hori-implants .hori-implant-faq-question { padding: 16px; gap: 16px; font-size: 14px; }
}
@media (hover:hover) { #hori-implants .hori-implant-faq-question:hover { background: #f7f9fb; text-decoration: none; } }
#hori-implants .hover\:border-primary\/30:hover {
  border-color: hsl(var(--primary) / 0.3);
}
#hori-implants .hover\:underline:hover {
  text-decoration-line: underline;
}
@media (min-width: 640px) {
  #hori-implants .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  #hori-implants .sm\:flex-row {
    flex-direction: row;
  }
  #hori-implants .sm\:py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
  #hori-implants .sm\:pb-24 {
    padding-bottom: 6rem;
  }
  #hori-implants .sm\:pt-40 {
    padding-top: 10rem;
  }
  #hori-implants .sm\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
  #hori-implants .sm\:text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
  #hori-implants .sm\:text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}
@media (min-width: 768px) {
  #hori-implants .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  #hori-implants .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  #hori-implants .md\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }
  #hori-implants .md\:\[mask-image\:_linear-gradient\(to_right\2c transparent_0\2c _black_64px\2c _black_calc\(100\%-64px\)\2c transparent_100\%\)\] {
    mask-image: linear-gradient(to right,transparent 0, black 64px, black calc(100% - 64px),transparent 100%);
  }
}
@media (min-width: 1024px) {
  #hori-implants .lg\:mx-0 {
    margin-left: 0px;
    margin-right: 0px;
  }
  #hori-implants .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  #hori-implants .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  #hori-implants .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  #hori-implants .lg\:justify-start {
    justify-content: flex-start;
  }
  #hori-implants .lg\:gap-16 {
    gap: 4rem;
  }
  #hori-implants .lg\:text-left {
    text-align: left;
  }
  #hori-implants .lg\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }
  #hori-implants .lg\:text-6xl {
    font-size: 3.75rem;
    line-height: 1;
  }
}
#hori-implants :is(.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg) {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
