:root {
  --ui-primary-50: #ecfeff;
  --ui-primary-100: #cffafe;
  --ui-primary-200: #a5f3fc;
  --ui-primary-300: #67e8f9;
  --ui-primary-400: #22d3ee;
  --ui-primary-500: #06b6d4;
  --ui-primary-600: #0891b2;
  --ui-primary-700: #0e7490;
  --ui-primary-800: #155e75;
  --ui-primary-900: #164e63;
  --ui-secondary-400: #4ade80;
  --ui-secondary-500: #22c55e;
  --ui-dark-900: #0f172a;
  --ui-layout-primary: #0891b2;
  --ui-layout-primary-dark: #0e7490;
  --ui-layout-primary-deep: #164e63;
  --ui-layout-accent: #22c55e;
  --ui-layout-ink: #0f172a;
  --ui-layout-muted: #64748b;
  --ui-layout-border: rgba(8, 145, 178, .14);
  --ui-layout-surface: #ffffff;
  --ui-layout-section-a: #f9fbfc;
  --ui-layout-section-b: #eef2f5;
  --ui-layout-radius-sm: .75rem;
  --ui-layout-radius-md: 1rem;
  --ui-layout-radius-lg: 1.5rem;
  --ui-layout-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.04);
  --ui-layout-shadow-card: 0 12px 28px rgba(15, 23, 42, 0.06);
  --ui-layout-shadow-hero: 0 20px 50px rgba(11, 31, 53, 0.18);
  --hero-background-start: #0f172a;
  --hero-background-middle: #164e63;
  --hero-background-end: #0e7490;
  --hero-text-color: #ffffff;
  --hero-muted-color: rgba(255, 255, 255, .80);
  --hero-soft-color: rgba(255, 255, 255, .75);
  --hero-glass-background: rgba(255, 255, 255, .10);
  --hero-glass-border: rgba(255, 255, 255, .20);
  --hero-glass-blur: 10px;
  --hero-radius-pill: 9999px;
  --hero-radius-card: 1rem;
  --hero-padding-y: clamp(2.25rem, 4.2vw, 3.5rem);
  --hero-min-height: clamp(500px, 54vh, 640px);
  --hero-title-max-width: 61rem;
  --hero-text-max-width: 36rem;
  --hero-card-icon-size: 2.5rem;
  --hero-card-gap: 1rem;
  --theme-color-primary: var(--ui-primary-600);
  --theme-color-primary-strong: var(--ui-primary-700);
  --theme-color-primary-alt: var(--ui-primary-800);
  --theme-color-primary-button: var(--ui-primary-600);
  --theme-color-primary-link: var(--ui-primary-700);
  --theme-color-primary-ink: var(--ui-primary-900);
  --theme-color-accent: var(--ui-secondary-500);
  --theme-color-highlight: var(--ui-primary-500);
  --theme-color-highlight-soft: var(--ui-primary-50);
  --theme-color-accent-pale: var(--ui-primary-50);
  --theme-color-accent-surface-light: var(--ui-primary-50);
  --theme-color-surface: #ffffff;
  --theme-color-surface-rgb: 255 255 255;
  --theme-color-surface-raised: #ffffff;
  --theme-color-card-surface: #ffffff;
  --theme-color-surface-muted: var(--ui-layout-section-a);
  --theme-color-surface-warm: #fff7ed;
  --theme-color-text: #1f2937;
  --theme-color-text-soft: #64748b;
  --theme-color-text-muted-rgb: 100 116 139;
  --theme-color-neutral-200: #e5e7eb;
  --theme-color-neutral-500: #6b7280;
  --theme-color-neutral-700: #374151;
  --theme-color-muted-ui: #64748b;
  --theme-color-black: #020617;
  --theme-color-border-warm: #fed7aa;
  --theme-color-overlay-dark-rgb: 2 6 23;
  --theme-color-primary-rgb: 8 145 178;
  --theme-color-primary-alt-rgb: 21 94 117;
  --theme-color-accent-rgb: 34 197 94;
  --theme-color-success: #16a34a;
  --theme-color-success-rgb: 22 163 74;
  --theme-color-success-deep: #15803d;
  --theme-color-success-surface: #dcfce7;
  --theme-color-danger: #dc2626;
  --theme-color-danger-rgb: 220 38 38;
  --theme-color-danger-strong: #b91c1c;
  --theme-color-danger-deep: #991b1b;
  --theme-color-danger-surface: #fee2e2;
  --theme-color-warning-strong: #92400e;
  --theme-color-warning-text: #92400e;
  --theme-color-warning-surface: #fef3c7;
  --theme-color-accessibility-surface: #ffffff;
  --theme-color-accessibility-accent: #facc15;
  --theme-color-accessibility-accent-soft: #fef9c3;
  --theme-font-size-base: 1rem;
  --theme-font-size-lead: 1.125rem;
  --theme-font-weight-semibold: 600;
  --theme-font-weight-bold: 700;
  --theme-radius-ui: 1rem;
  --theme-radius-pill: 9999px;
  --theme-transition-base: all .2s ease;
}


html {
  scroll-behavior: smooth;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  --ui-shift-x: 0;
  --ui-shift-y: 0;
  --ui-rotate: 0;
  --ui-skew-x: 0;
  --ui-skew-y: 0;
  --ui-scale-x: 1;
  --ui-scale-y: 1;
  --ui-ring-inset: ;
  --ui-ring-offset-width: 0px;
  --ui-ring-offset-color: #fff;
  --ui-ring-color: rgb(59 130 246 / 0.5);
  --ui-ring-offset-shadow: 0 0 #0000;
  --ui-ring-shadow: 0 0 #0000;
  --ui-elevation: 0 0 #0000;
  --ui-elevation-colored: 0 0 #0000;
  --ui-blur: ;
  --ui-brightness: ;
  --ui-contrast: ;
  --ui-grayscale: ;
  --ui-hue-rotate: ;
  --ui-invert: ;
  --ui-saturate: ;
  --ui-sepia: ;
  --ui-drop-shadow: ;
  --ui-backdrop-blur: ;
  --ui-backdrop-brightness: ;
  --ui-backdrop-contrast: ;
  --ui-backdrop-grayscale: ;
  --ui-backdrop-hue-rotate: ;
  --ui-backdrop-invert: ;
  --ui-backdrop-opacity: ;
  --ui-backdrop-saturate: ;
  --ui-backdrop-sepia: ;
}

body {
  margin: 0;
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: #1f2937;
  background: #ffffff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

a {
  color: inherit;
  text-decoration: inherit;
}

a:hover {
  color: inherit;
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
}

button,
select {
  text-transform: none;
}

button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button;
}

button {
  background: transparent;
  border: 0;
  padding: 0;
}

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
  vertical-align: middle;
}

img,
video {
  max-width: 100%;
  height: auto;
}

[hidden] {
  display: none;
}

.ui-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0
}

.ui-pointer-none {
  pointer-events: none
}

.ui-visibility-visible-variant-b {
  visibility: visible
}

.ui-visibility-hidden {
  visibility: hidden
}

.static {
  position: static
}

.ui-position-fixed {
  position: fixed
}

.ui-position-absolute {
  position: absolute
}

.ui-position-relative {
  position: relative
}

.ui-position-sticky-variant-b {
  position: sticky
}

.ui-inset-0 {
  inset: 0px
}

.ui-inset-24px {
  inset: 24px
}

.ui-inset-x-0 {
  left: 0px;
  right: 0px
}

.ui-bottom-minus-8xl {
  bottom: -4rem
}

.ui-bottom-minus-lg {
  bottom: -1rem
}

.ui-left-minus-5xl {
  left: -2.5rem
}

.ui-left-minus-lg {
  left: -1rem
}

.ui-right-minus-lg {
  right: -1rem
}

.ui-top-minus-8xl {
  top: -4rem
}

.ui-top-minus-lg {
  top: -1rem
}

.ui-bottom-0 {
  bottom: 0px
}

.ui-bottom-10xl {
  bottom: 5rem
}

.ui-bottom-xl {
  bottom: 1.25rem
}

.ui-bottom-2xl {
  bottom: 1.5rem
}

.ui-left-0 {
  left: 0px
}

.ui-left-half {
  left: 50%
}

.ui-left-5xl {
  left: 2.5rem
}

.ui-left-xl {
  left: 1.25rem
}

.ui-right-0 {
  right: 0px
}

.ui-right-5xl {
  right: 2.5rem
}

.ui-right-md {
  right: 0.75rem
}

.ui-right-lg {
  right: 1rem
}

.ui-right-xl {
  right: 1.25rem
}

.ui-right-2xl {
  right: 1.5rem
}

.ui-top-0 {
  top: 0px
}

.ui-top-half {
  top: 50%
}

.ui-top-10xl {
  top: 5rem
}

.ui-top-md {
  top: 0.75rem
}

.ui-top-lg {
  top: 1rem
}

.ui-top-12px {
  top: 12px
}

.ui-top-18px {
  top: 18px
}

.ui-top-24px {
  top: 24px
}

.ui-top-full {
  top: 100%
}

.ui-z-10 {
  z-index: 10
}

.ui-z-30 {
  z-index: 30
}

.ui-z-50 {
  z-index: 50
}

.ui-z-999 {
  z-index: 999
}

.ui-mx-auto {
  margin-left: auto;
  margin-right: auto
}

.ui-mb-minus-1px {
  margin-bottom: -1px
}

.ui-mb-2xs {
  margin-bottom: 0.125rem
}

.ui-mb-5xl {
  margin-bottom: 2.5rem
}

.ui-mb-6xl {
  margin-bottom: 3rem
}

.ui-mb-7xl {
  margin-bottom: 3.5rem
}

.ui-mb-sm {
  margin-bottom: 0.5rem
}

.ui-mb-md {
  margin-bottom: 0.75rem
}

.ui-mb-lg {
  margin-bottom: 1rem
}

.ui-mb-xl {
  margin-bottom: 1.25rem
}

.ui-mb-2xl {
  margin-bottom: 1.5rem
}

.ui-mb-4xl {
  margin-bottom: 2rem
}

.ui-ml-sm {
  margin-left: 0.5rem
}

.ui-mr-md {
  margin-right: 0.75rem
}

.ui-mt-0 {
  margin-top: 0px
}

.ui-mt-2xs {
  margin-top: 0.125rem
}

.ui-mt-xs {
  margin-top: 0.25rem
}

.ui-mt-5xl {
  margin-top: 2.5rem
}

.ui-mt-sm {
  margin-top: 0.5rem
}

.ui-mt-md {
  margin-top: 0.75rem
}

.ui-mt-lg {
  margin-top: 1rem
}

.ui-mt-xl {
  margin-top: 1.25rem
}

.ui-mt-2xl {
  margin-top: 1.5rem
}

.ui-mt-4xl {
  margin-top: 2rem
}

.ui-display-block {
  display: block
}

.ui-display-inline-block {
  display: inline-block
}

.ui-display-inline {
  display: inline
}

.ui-display-flex {
  display: flex
}

.ui-display-inline-flex {
  display: inline-flex
}

.ui-display-grid {
  display: grid
}

.ui-display-none {
  display: none
}

.ui-aspect-wide {
  aspect-ratio: 16/10
}

.ui-aspect-standard {
  aspect-ratio: 4/3
}

.ui-aspect-banner {
  aspect-ratio: 5/2
}

.ui-aspect-square {
  aspect-ratio: 1 / 1
}

.ui-h-2xs {
  height: 0.125rem
}

.ui-h-xs {
  height: 0.25rem
}

.ui-h-5xl {
  height: 2.5rem
}

.ui-h-2p75rem {
  height: 2.75rem
}

.ui-h-6xl {
  height: 3rem
}

.ui-h-7xl {
  height: 3.5rem
}

.ui-h-8xl {
  height: 4rem
}

.ui-h-sm {
  height: 0.5rem
}

.ui-h-sm-plus {
  height: 0.625rem
}

.ui-h-10xl {
  height: 5rem
}

.ui-h-12xl {
  height: 6rem
}

.ui-h-14xl {
  height: 7rem
}

.ui-h-md {
  height: 0.75rem
}

.ui-h-lg {
  height: 1rem
}

.ui-h-22xl {
  height: 11rem
}

.ui-h-xl {
  height: 1.25rem
}

.ui-h-13rem {
  height: 13rem
}

.ui-h-28xl {
  height: 14rem
}

.ui-h-36xl {
  height: 18rem
}

.ui-h-4xl {
  height: 2rem
}

.ui-h-40xl {
  height: 20rem
}

.ui-h-48xl {
  height: 24rem
}

.ui-h-170px {
  height: 170px
}

.ui-h-240px {
  height: 240px
}

.ui-h-2px {
  height: 2px
}

.ui-h-600px {
  height: 600px
}

.ui-h-full {
  height: 100%
}

.ui-h-1px {
  height: 1px
}

.ui-min-h-210px {
  min-height: 210px
}

.ui-min-h-240px {
  min-height: 240px
}

.ui-min-h-44px {
  min-height: 44px
}

.ui-min-h-520px {
  min-height: 520px
}

.ui-min-h-56px {
  min-height: 56px
}

.ui-min-h-640px {
  min-height: 640px
}

.ui-min-h-72px {
  min-height: 72px
}

.ui-min-h-96px {
  min-height: 96px
}

.ui-min-h-screen {
  min-height: 100vh
}

.ui-w-half-variant-b {
  width: 50%
}

.ui-w-5xl {
  width: 2.5rem
}

.ui-w-2p75rem {
  width: 2.75rem
}

.ui-w-6xl {
  width: 3rem
}

.ui-w-7xl {
  width: 3.5rem
}

.ui-w-8xl {
  width: 4rem
}

.ui-w-sm {
  width: 0.5rem
}

.ui-w-md {
  width: 0.75rem
}

.ui-w-22xl {
  width: 11rem
}

.ui-w-xl {
  width: 1.25rem
}

.ui-w-13rem {
  width: 13rem
}

.ui-w-28xl {
  width: 14rem
}

.ui-w-36xl {
  width: 18rem
}

.ui-w-4xl {
  width: 2rem
}

.ui-w-40xl {
  width: 20rem
}

.ui-w-48xl {
  width: 24rem
}

.ui-w-240px {
  width: 240px
}

.ui-w-320px {
  width: 320px
}

.ui-w-600px {
  width: 600px
}

.ui-w-auto-variant-b {
  width: auto
}

.ui-w-full {
  width: 100%
}

.ui-w-1px {
  width: 1px
}

.ui-min-w-0 {
  min-width: 0px
}

.ui-min-w-260px {
  min-width: 260px
}

.ui-min-w-280px {
  min-width: 280px
}

.ui-min-w-86px {
  min-width: 86px
}

.ui-max-w-42rem {
  max-width: 42rem
}

.ui-max-w-48rem {
  max-width: 48rem
}

.ui-max-w-56rem {
  max-width: 56rem
}

.ui-max-w-13rem {
  max-width: 13rem
}

.ui-max-w-430px {
  max-width: 430px
}

.ui-max-w-70px {
  max-width: 70px
}

.ui-max-w-86vw {
  max-width: 86vw
}

.ui-max-w-36rem {
  max-width: 36rem
}

.ui-flex-1-1-0pct {
  flex: 1 1 0%
}

.flex-shrink {
  flex-shrink: 1
}

.ui-flex-shrink-0 {
  flex-shrink: 0
}

.ui-flex-shrink-0-variant-b {
  flex-shrink: 0
}

.ui-translate-x-center-negative {
  --ui-shift-x: -50%;
  transform: translate(var(--ui-shift-x), var(--ui-shift-y)) rotate(var(--ui-rotate)) skewX(var(--ui-skew-x)) skewY(var(--ui-skew-y)) scaleX(var(--ui-scale-x)) scaleY(var(--ui-scale-y))
}

.ui-translate-x-full-negative {
  --ui-shift-x: -100%;
  transform: translate(var(--ui-shift-x), var(--ui-shift-y)) rotate(var(--ui-rotate)) skewX(var(--ui-skew-x)) skewY(var(--ui-skew-y)) scaleX(var(--ui-scale-x)) scaleY(var(--ui-scale-y))
}

.ui-translate-y-center-negative {
  --ui-shift-y: -50%;
  transform: translate(var(--ui-shift-x), var(--ui-shift-y)) rotate(var(--ui-rotate)) skewX(var(--ui-skew-x)) skewY(var(--ui-skew-y)) scaleX(var(--ui-scale-x)) scaleY(var(--ui-scale-y))
}

.ui-translate-y-xs {
  --ui-shift-y: 0.25rem;
  transform: translate(var(--ui-shift-x), var(--ui-shift-y)) rotate(var(--ui-rotate)) skewX(var(--ui-skew-x)) skewY(var(--ui-skew-y)) scaleX(var(--ui-scale-x)) scaleY(var(--ui-scale-y))
}

.ui-rotate-180-variant-b {
  --ui-rotate: 180deg;
  transform: translate(var(--ui-shift-x), var(--ui-shift-y)) rotate(var(--ui-rotate)) skewX(var(--ui-skew-x)) skewY(var(--ui-skew-y)) scaleX(var(--ui-scale-x)) scaleY(var(--ui-scale-y))
}

.ui-transform-enabled {
  transform: translate(var(--ui-shift-x), var(--ui-shift-y)) rotate(var(--ui-rotate)) skewX(var(--ui-skew-x)) skewY(var(--ui-skew-y)) scaleX(var(--ui-scale-x)) scaleY(var(--ui-scale-y))
}

.ui-cursor-not-allowed {
  cursor: not-allowed
}

.ui-cursor-pointer {
  cursor: pointer
}

.ui-user-select-none {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none
}

.ui-resize-both {
  resize: both
}

.ui-scroll-mt-14xl {
  scroll-margin-top: 7rem
}

.ui-grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr))
}

.ui-grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr))
}

.ui-grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr))
}

.ui-flex-column {
  flex-direction: column
}

.ui-flex-wrap-wrap {
  flex-wrap: wrap
}

.ui-align-flex-start {
  align-items: flex-start
}

.ui-align-flex-end {
  align-items: flex-end
}

.ui-align-center {
  align-items: center
}

.ui-align-stretch {
  align-items: stretch
}

.ui-justify-flex-end {
  justify-content: flex-end
}

.ui-justify-center {
  justify-content: center
}

.ui-justify-space-between {
  justify-content: space-between
}

.ui-gap-xs {
  gap: 0.25rem
}

.ui-gap-xs-plus {
  gap: 0.375rem
}

.ui-gap-5xl {
  gap: 2.5rem
}

.ui-gap-6xl {
  gap: 3rem
}

.ui-gap-sm {
  gap: 0.5rem
}

.ui-gap-md {
  gap: 0.75rem
}

.ui-gap-lg {
  gap: 1rem
}

.ui-gap-xl {
  gap: 1.25rem
}

.ui-gap-2xl {
  gap: 1.5rem
}

.ui-gap-4xl {
  gap: 2rem
}

.ui-stack-y-xs> :not([hidden])~ :not([hidden]) {
  --ui-stack-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--ui-stack-y-reverse)));
  margin-bottom: calc(0.25rem * var(--ui-stack-y-reverse))
}

.ui-stack-y-5xl> :not([hidden])~ :not([hidden]) {
  --ui-stack-y-reverse: 0;
  margin-top: calc(2.5rem * calc(1 - var(--ui-stack-y-reverse)));
  margin-bottom: calc(2.5rem * var(--ui-stack-y-reverse))
}

.ui-stack-y-sm> :not([hidden])~ :not([hidden]) {
  --ui-stack-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--ui-stack-y-reverse)));
  margin-bottom: calc(0.5rem * var(--ui-stack-y-reverse))
}

.ui-stack-y-md> :not([hidden])~ :not([hidden]) {
  --ui-stack-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--ui-stack-y-reverse)));
  margin-bottom: calc(0.75rem * var(--ui-stack-y-reverse))
}

.ui-stack-y-lg> :not([hidden])~ :not([hidden]) {
  --ui-stack-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--ui-stack-y-reverse)));
  margin-bottom: calc(1rem * var(--ui-stack-y-reverse))
}

.ui-stack-y-xl> :not([hidden])~ :not([hidden]) {
  --ui-stack-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--ui-stack-y-reverse)));
  margin-bottom: calc(1.25rem * var(--ui-stack-y-reverse))
}

.ui-stack-y-2xl> :not([hidden])~ :not([hidden]) {
  --ui-stack-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--ui-stack-y-reverse)));
  margin-bottom: calc(1.5rem * var(--ui-stack-y-reverse))
}

.ui-stack-y-4xl> :not([hidden])~ :not([hidden]) {
  --ui-stack-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--ui-stack-y-reverse)));
  margin-bottom: calc(2rem * var(--ui-stack-y-reverse))
}

.ui-divide-y> :not([hidden])~ :not([hidden]) {
  --ui-separator-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--ui-separator-y-reverse)));
  border-bottom-width: calc(1px * var(--ui-separator-y-reverse))
}

.ui-divide-color-gray-100> :not([hidden])~ :not([hidden]) {
  --ui-separator-alpha: 1;
  border-color: rgb(243 244 246 / var(--ui-separator-alpha, 1))
}

.ui-self-flex-start {
  align-self: flex-start
}

.ui-self-center {
  align-self: center
}

.ui-overflow-hidden {
  overflow: hidden
}

.ui-overflow-y-auto {
  overflow-y: auto
}

.ui-text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap
}

.ui-whitespace-pre-line {
  white-space: pre-line
}

.ui-word-break-break-all {
  word-break: break-all
}

.ui-radius-xs {
  border-radius: 0.25rem
}

.ui-radius-sm {
  border-radius: 0.375rem;
}

.ui-radius-lg {
  border-radius: 1rem
}

.ui-radius-2xl {
  border-radius: 1.5rem
}

.ui-radius-14px {
  border-radius: 14px
}

.ui-radius-20px {
  border-radius: 20px
}

.ui-radius-22px {
  border-radius: 22px
}

.ui-radius-28px {
  border-radius: 28px
}

.ui-radius-9999px {
  border-radius: 9999px
}

.ui-radius-sm {
  border-radius: 0.5rem
}

.ui-radius-md {
  border-radius: 0.75rem
}

.ui-border-width-1px {
  border-width: 1px
}

.ui-border-width-0 {
  border-width: 0px
}

.ui-border-bottom-width-1px {
  border-bottom-width: 1px
}

.ui-border-bottom-width-2px {
  border-bottom-width: 2px
}

.ui-border-right-width-1px {
  border-right-width: 1px
}

.ui-border-top-width-1px {
  border-top-width: 1px
}

.ui-border-style-dashed {
  border-style: dashed
}

.ui-border-cyan-600-14 {
  border-color: rgba(8, 145, 178, 0.14)
}

.ui-border-gray-100 {
  --ui-line-alpha: 1;
  border-color: rgb(243 244 246 / var(--ui-line-alpha, 1))
}

.ui-border-gray-200 {
  --ui-line-alpha: 1;
  border-color: rgb(229 231 235 / var(--ui-line-alpha, 1))
}

.ui-border-gray-300 {
  --ui-line-alpha: 1;
  border-color: rgb(209 213 219 / var(--ui-line-alpha, 1))
}

.ui-border-cyan-100 {
  --ui-line-alpha: 1;
  border-color: rgb(207 250 254 / var(--ui-line-alpha, 1))
}

.ui-border-cyan-600 {
  --ui-line-alpha: 1;
  border-color: rgb(8 145 178 / var(--ui-line-alpha, 1))
}

.ui-border-slate-200 {
  --ui-line-alpha: 1;
  border-color: rgb(226 232 240 / var(--ui-line-alpha, 1))
}

.ui-border-transparent {
  border-color: transparent
}

.ui-border-white {
  --ui-line-alpha: 1;
  border-color: rgb(255 255 255 / var(--ui-line-alpha, 1))
}

.ui-border-white-10 {
  border-color: rgb(255 255 255 / 0.1)
}

.ui-border-white-15 {
  border-color: rgb(255 255 255 / 0.15)
}

.ui-border-white-20 {
  border-color: rgb(255 255 255 / 0.2)
}

.ui-bg-cyan-600-4 {
  background-color: rgba(8, 145, 178, 0.04)
}

.ui-bg-cyan-600-8 {
  background-color: rgba(8, 145, 178, 0.08)
}

.ui-bg-black-15 {
  background-color: rgb(0 0 0 / 0.15)
}

.ui-bg-black-40 {
  background-color: rgb(0 0 0 / 0.4)
}

.ui-bg-current {
  background-color: currentColor
}

.ui-bg-cyan-300 {
  --ui-fill-alpha: 1;
  background-color: rgb(103 232 249 / var(--ui-fill-alpha, 1))
}

.ui-bg-cyan-500-10 {
  background-color: rgb(6 182 212 / 0.1)
}

.ui-bg-slate-900 {
  --ui-fill-alpha: 1;
  background-color: rgb(15 23 42 / var(--ui-fill-alpha, 1))
}

.ui-bg-gray-100 {
  --ui-fill-alpha: 1;
  background-color: rgb(243 244 246 / var(--ui-fill-alpha, 1))
}

.ui-bg-gray-50 {
  --ui-fill-alpha: 1;
  background-color: rgb(249 250 251 / var(--ui-fill-alpha, 1))
}

.ui-bg-cyan-400-10 {
  background-color: rgb(34 211 238 / 0.1)
}

.ui-bg-cyan-400-20 {
  background-color: rgb(34 211 238 / 0.2)
}

.ui-bg-cyan-50 {
  --ui-fill-alpha: 1;
  background-color: rgb(236 254 255 / var(--ui-fill-alpha, 1))
}

.ui-bg-cyan-50-60 {
  background-color: rgb(236 254 255 / 0.6)
}

.ui-bg-cyan-500 {
  --ui-fill-alpha: 1;
  background-color: rgb(6 182 212 / var(--ui-fill-alpha, 1))
}

.ui-bg-cyan-500-10-variant-b {
  background-color: rgb(6 182 212 / 0.1)
}

.ui-bg-cyan-500-20 {
  background-color: rgb(6 182 212 / 0.2)
}

.ui-bg-cyan-600 {
  --ui-fill-alpha: 1;
  background-color: rgb(8 145 178 / var(--ui-fill-alpha, 1))
}

.ui-bg-green-400 {
  --ui-fill-alpha: 1;
  background-color: rgb(74 222 128 / var(--ui-fill-alpha, 1))
}

.ui-bg-green-400-20 {
  background-color: rgb(74 222 128 / 0.2)
}

.ui-bg-green-50 {
  --ui-fill-alpha: 1;
  background-color: rgb(240 253 244 / var(--ui-fill-alpha, 1))
}

.ui-bg-green-500-10 {
  background-color: rgb(34 197 94 / 0.1)
}

.ui-bg-green-500-20 {
  background-color: rgb(34 197 94 / 0.2)
}

.ui-bg-slate-100 {
  --ui-fill-alpha: 1;
  background-color: rgb(241 245 249 / var(--ui-fill-alpha, 1))
}

.ui-bg-slate-900-10 {
  background-color: rgb(15 23 42 / 0.1)
}

.ui-bg-slate-950-20 {
  background-color: rgb(2 6 23 / 0.2)
}

.ui-bg-slate-950-25 {
  background-color: rgb(2 6 23 / 0.25)
}

.ui-bg-slate-950-40 {
  background-color: rgb(2 6 23 / 0.4)
}

.ui-bg-slate-950-45 {
  background-color: rgb(2 6 23 / 0.45)
}

.ui-bg-slate-950-70 {
  background-color: rgb(2 6 23 / 0.7)
}

.ui-bg-transparent {
  background-color: transparent
}

.ui-bg-white {
  --ui-fill-alpha: 1;
  background-color: rgb(255 255 255 / var(--ui-fill-alpha, 1))
}

.ui-bg-white-10 {
  background-color: rgb(255 255 255 / 0.1)
}

.ui-bg-white-15 {
  background-color: rgb(255 255 255 / 0.15)
}

.ui-bg-white-20 {
  background-color: rgb(255 255 255 / 0.2)
}

.ui-bg-white-5 {
  background-color: rgb(255 255 255 / 0.05)
}

.ui-gradient-diagonal {
  background-image: linear-gradient(to bottom right, var(--ui-gradient-stops))
}

.ui-gradient-horizontal {
  background-image: linear-gradient(to right, var(--ui-gradient-stops))
}

.ui-gradient-to-top {
  background-image: linear-gradient(to top, var(--ui-gradient-stops))
}

.ui-gradient-from-green-500 {
  --ui-gradient-from: #22c55e var(--ui-gradient-from-position);
  --ui-gradient-to: rgb(34 197 94 / 0) var(--ui-gradient-to-position);
  --ui-gradient-stops: var(--ui-gradient-from), var(--ui-gradient-to)
}

.ui-gradient-from-slate-950-25 {
  --ui-gradient-from: rgb(2 6 23 / 0.25) var(--ui-gradient-from-position);
  --ui-gradient-to: rgb(2 6 23 / 0) var(--ui-gradient-to-position);
  --ui-gradient-stops: var(--ui-gradient-from), var(--ui-gradient-to)
}

.ui-gradient-from-slate-950-60 {
  --ui-gradient-from: rgb(2 6 23 / 0.6) var(--ui-gradient-from-position);
  --ui-gradient-to: rgb(2 6 23 / 0) var(--ui-gradient-to-position);
  --ui-gradient-stops: var(--ui-gradient-from), var(--ui-gradient-to)
}

.ui-gradient-from-slate-950-85 {
  --ui-gradient-from: rgb(2 6 23 / 0.85) var(--ui-gradient-from-position);
  --ui-gradient-to: rgb(2 6 23 / 0) var(--ui-gradient-to-position);
  --ui-gradient-stops: var(--ui-gradient-from), var(--ui-gradient-to)
}

.ui-gradient-from-white-20 {
  --ui-gradient-from: rgb(255 255 255 / 0.2) var(--ui-gradient-from-position);
  --ui-gradient-to: rgb(255 255 255 / 0) var(--ui-gradient-to-position);
  --ui-gradient-stops: var(--ui-gradient-from), var(--ui-gradient-to)
}

.ui-gradient-from-custom {
  --ui-gradient-to: rgb(2 6 23 / 0) var(--ui-gradient-to-position);
  --ui-gradient-stops: var(--ui-gradient-from), rgb(2 6 23 / 0.1) var(--ui-gradient-via-position), var(--ui-gradient-to)
}

.ui-gradient-from-custom-variant-b {
  --ui-gradient-to: rgb(2 6 23 / 0) var(--ui-gradient-to-position);
  --ui-gradient-stops: var(--ui-gradient-from), rgb(2 6 23 / 0.3) var(--ui-gradient-via-position), var(--ui-gradient-to)
}

.ui-gradient-from-custom-variant-c {
  --ui-gradient-to: rgb(0 0 0 / 0) var(--ui-gradient-to-position);
  --ui-gradient-stops: var(--ui-gradient-from), transparent var(--ui-gradient-via-position), var(--ui-gradient-to)
}

.ui-gradient-to-cyan-500 {
  --ui-gradient-to: #06b6d4 var(--ui-gradient-to-position)
}

.ui-gradient-to-transparent {
  --ui-gradient-to: transparent var(--ui-gradient-to-position)
}

.ui-gradient-to-white-5 {
  --ui-gradient-to: rgb(255 255 255 / 0.05) var(--ui-gradient-to-position)
}

.ui-object-contain {
  -o-object-fit: contain;
  object-fit: contain
}

.ui-object-cover {
  -o-object-fit: cover;
  object-fit: cover
}

.ui-object-position-center {
  -o-object-position: center;
  object-position: center
}

.ui-p-xs {
  padding: 0.25rem
}

.ui-p-5xl-variant-b {
  padding: 2.5rem
}

.ui-p-sm {
  padding: 0.5rem
}

.ui-p-md {
  padding: 0.75rem
}

.ui-p-lg {
  padding: 1rem
}

.ui-p-xl {
  padding: 1.25rem
}

.ui-p-2xl {
  padding: 1.5rem
}

.ui-p-3xl-variant-b {
  padding: 1.75rem
}

.ui-p-4xl-variant-b {
  padding: 2rem
}

.ui-px-xs {
  padding-left: 0.25rem;
  padding-right: 0.25rem
}

.ui-px-sm {
  padding-left: 0.5rem;
  padding-right: 0.5rem
}

.ui-px-md {
  padding-left: 0.75rem;
  padding-right: 0.75rem
}

.ui-px-lg {
  padding-left: 1rem;
  padding-right: 1rem
}

.ui-px-xl {
  padding-left: 1.25rem;
  padding-right: 1.25rem
}

.ui-px-2xl {
  padding-left: 1.5rem;
  padding-right: 1.5rem
}

.ui-py-xs {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem
}

.ui-py-xs-plus {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem
}

.ui-py-5xl-variant-b {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem
}

.ui-py-8xl {
  padding-top: 4rem;
  padding-bottom: 4rem
}

.ui-py-sm {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem
}

.ui-py-sm-plus {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem
}

.ui-py-md {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem
}

.ui-py-md-plus {
  padding-top: 0.875rem;
  padding-bottom: 0.875rem
}

.ui-py-lg {
  padding-top: 1rem;
  padding-bottom: 1rem
}

.ui-py-xl {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem
}

.ui-py-4xl {
  padding-top: 2rem;
  padding-bottom: 2rem
}

.ui-pb-5xl-variant-b {
  padding-bottom: 2.5rem
}

.ui-pb-6xl {
  padding-bottom: 3rem
}

.ui-pb-sm {
  padding-bottom: 0.5rem
}

.ui-pb-2xl {
  padding-bottom: 1.5rem
}

.ui-pb-4xl {
  padding-bottom: 2rem
}

.ui-pl-56px {
  padding-left: 56px
}

.ui-pr-sm {
  padding-right: 0.5rem
}

.ui-pt-xs {
  padding-top: 0.25rem
}

.ui-pt-5xl-variant-b {
  padding-top: 2.5rem
}

.ui-pt-sm {
  padding-top: 0.5rem
}

.ui-pt-10xl {
  padding-top: 5rem
}

.ui-pt-xl {
  padding-top: 1.25rem
}

.ui-pt-2xl {
  padding-top: 1.5rem
}

.ui-pt-4xl {
  padding-top: 2rem
}

.ui-text-align-left-variant-b {
  text-align: left
}

.ui-text-align-center {
  text-align: center
}

.ui-text-align-right {
  text-align: right
}

.ui-text-align-end {
  text-align: end
}

.ui-font-plus-jakarta-sans-sans-serif {
  font-family: Plus Jakarta Sans, sans-serif
}

.ui-text-2xl-variant-b {
  font-size: 1.5rem;
  line-height: 2rem
}

.ui-text-3xl-variant-b {
  font-size: 1.875rem;
  line-height: 2.25rem
}

.ui-text-4xl-variant-b {
  font-size: 2.25rem;
  line-height: 2.5rem
}

.ui-text-8xl {
  font-size: 6rem;
  line-height: 1
}

.ui-text-size-10px {
  font-size: 10px
}

.ui-text-size-11px {
  font-size: 11px
}

.ui-text-size-12px {
  font-size: 12px
}

.ui-text-size-13px {
  font-size: 13px
}

.ui-text-size-15px {
  font-size: 15px
}

.ui-text-size-18px {
  font-size: 18px
}

.ui-text-base-variant-b {
  font-size: 1rem;
  line-height: 1.5rem
}

.ui-text-lg-variant-b {
  font-size: 1.125rem;
  line-height: 1.75rem
}

.ui-text-sm-variant-b {
  font-size: 0.875rem;
  line-height: 1.25rem
}

.ui-text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem
}

.ui-text-xs {
  font-size: 0.75rem;
  line-height: 1rem
}

.ui-font-weight-700 {
  font-weight: 700
}

.ui-font-weight-800 {
  font-weight: 800
}

.ui-font-weight-500 {
  font-weight: 500
}

.ui-font-weight-600 {
  font-weight: 600
}

.ui-text-transform-uppercase {
  text-transform: uppercase
}

.ui-line-height-4xl {
  line-height: 2rem
}

.ui-line-height-1 {
  line-height: 1
}

.ui-line-height-1p625 {
  line-height: 1.625
}

.ui-line-height-1p375 {
  line-height: 1.375
}

.ui-line-height-1p25 {
  line-height: 1.25
}

.ui-letter-spacing-0p12em {
  letter-spacing: 0.12em
}

.ui-letter-spacing-0p14em {
  letter-spacing: 0.14em
}

.ui-letter-spacing-0p16em {
  letter-spacing: 0.16em
}

.ui-letter-spacing-0p18em {
  letter-spacing: 0.18em
}

.ui-letter-spacing-0p025em {
  letter-spacing: 0.025em
}

.ui-letter-spacing-0p05em {
  letter-spacing: 0.05em
}

.ui-text-teal-500 {
  --ui-ink-alpha: 1;
  color: rgb(22 185 154 / var(--ui-ink-alpha, 1))
}

.ui-text-cyan-700 {
  --ui-ink-alpha: 1;
  color: rgb(14 116 144 / var(--ui-ink-alpha, 1))
}

.ui-text-cyan-400 {
  --ui-ink-alpha: 1;
  color: rgb(34 211 238 / var(--ui-ink-alpha, 1))
}

.ui-text-gray-300 {
  --ui-ink-alpha: 1;
  color: rgb(209 213 219 / var(--ui-ink-alpha, 1))
}

.ui-text-gray-400 {
  --ui-ink-alpha: 1;
  color: rgb(156 163 175 / var(--ui-ink-alpha, 1))
}

.ui-text-gray-500 {
  --ui-ink-alpha: 1;
  color: rgb(107 114 128 / var(--ui-ink-alpha, 1))
}

.ui-text-gray-600 {
  --ui-ink-alpha: 1;
  color: rgb(75 85 99 / var(--ui-ink-alpha, 1))
}

.ui-text-gray-700 {
  --ui-ink-alpha: 1;
  color: rgb(55 65 81 / var(--ui-ink-alpha, 1))
}

.ui-text-gray-800 {
  --ui-ink-alpha: 1;
  color: rgb(31 41 55 / var(--ui-ink-alpha, 1))
}

.ui-text-gray-900 {
  --ui-ink-alpha: 1;
  color: rgb(17 24 39 / var(--ui-ink-alpha, 1))
}

.ui-text-cyan-400-variant-b {
  --ui-ink-alpha: 1;
  color: rgb(34 211 238 / var(--ui-ink-alpha, 1))
}

.ui-text-cyan-500 {
  --ui-ink-alpha: 1;
  color: rgb(6 182 212 / var(--ui-ink-alpha, 1))
}

.ui-text-cyan-600 {
  --ui-ink-alpha: 1;
  color: rgb(8 145 178 / var(--ui-ink-alpha, 1))
}

.ui-text-cyan-700-variant-b {
  --ui-ink-alpha: 1;
  color: rgb(14 116 144 / var(--ui-ink-alpha, 1))
}

.ui-text-red-500 {
  --ui-ink-alpha: 1;
  color: rgb(239 68 68 / var(--ui-ink-alpha, 1))
}

.ui-text-green-400 {
  --ui-ink-alpha: 1;
  color: rgb(74 222 128 / var(--ui-ink-alpha, 1))
}

.ui-text-green-600 {
  --ui-ink-alpha: 1;
  color: rgb(22 163 74 / var(--ui-ink-alpha, 1))
}

.ui-text-green-700 {
  --ui-ink-alpha: 1;
  color: rgb(21 128 61 / var(--ui-ink-alpha, 1))
}

.ui-text-rgb-71-85-105 {
  --ui-ink-alpha: 1;
  color: rgb(71 85 105 / var(--ui-ink-alpha, 1))
}

.ui-text-slate-900 {
  --ui-ink-alpha: 1;
  color: rgb(15 23 42 / var(--ui-ink-alpha, 1))
}

.ui-text-white {
  --ui-ink-alpha: 1;
  color: rgb(255 255 255 / var(--ui-ink-alpha, 1))
}

.ui-text-white-35 {
  color: rgb(255 255 255 / 0.35)
}

.ui-text-white-50 {
  color: rgb(255 255 255 / 0.5)
}

.ui-text-white-60 {
  color: rgb(255 255 255 / 0.6)
}

.ui-text-white-70 {
  color: rgb(255 255 255 / 0.7)
}

.ui-text-white-75 {
  color: rgb(255 255 255 / 0.75)
}

.ui-text-white-80 {
  color: rgb(255 255 255 / 0.8)
}

.ui-text-white-85 {
  color: rgb(255 255 255 / 0.85)
}

.ui-text-white-90 {
  color: rgb(255 255 255 / 0.9)
}

.ui-font-smoothing-antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

.ui-opacity-0 {
  opacity: 0
}

.ui-opacity-1 {
  opacity: 1
}

.ui-opacity-0p4 {
  opacity: 0.4
}

.ui-opacity-0p6 {
  opacity: 0.6
}

.ui-opacity-0p7 {
  opacity: 0.7
}

.ui-opacity-0p9 {
  opacity: 0.9
}

.ui-shadow-2xl {
  --ui-elevation: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --ui-elevation-colored: 0 25px 50px -12px var(--ui-elevation-color);
  box-shadow: var(--ui-ring-offset-shadow, 0 0 #0000), var(--ui-ring-shadow, 0 0 #0000), var(--ui-elevation)
}

.ui-shadow-sm {
  --ui-elevation: 0 1px 2px rgba(15, 23, 42, 0.04);
  --ui-elevation-colored: 0 1px 2px var(--ui-elevation-color);
  box-shadow: var(--ui-ring-offset-shadow, 0 0 #0000), var(--ui-ring-shadow, 0 0 #0000), var(--ui-elevation)
}

.ui-shadow-card-xl {
  --ui-elevation: 0 20px 50px rgba(11, 31, 53, 0.18);
  --ui-elevation-colored: 0 20px 50px var(--ui-elevation-color);
  box-shadow: var(--ui-ring-offset-shadow, 0 0 #0000), var(--ui-ring-shadow, 0 0 #0000), var(--ui-elevation)
}

.ui-shadow-panel {
  --ui-elevation: 0 24px 64px rgba(15, 23, 42, 0.18);
  --ui-elevation-colored: 0 24px 64px var(--ui-elevation-color);
  box-shadow: var(--ui-ring-offset-shadow, 0 0 #0000), var(--ui-ring-shadow, 0 0 #0000), var(--ui-elevation)
}

.ui-shadow-lg {
  --ui-elevation: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --ui-elevation-colored: 0 10px 15px -3px var(--ui-elevation-color), 0 4px 6px -4px var(--ui-elevation-color);
  box-shadow: var(--ui-ring-offset-shadow, 0 0 #0000), var(--ui-ring-shadow, 0 0 #0000), var(--ui-elevation)
}

.ui-shadow-md {
  --ui-elevation: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --ui-elevation-colored: 0 4px 6px -1px var(--ui-elevation-color), 0 2px 4px -2px var(--ui-elevation-color);
  box-shadow: var(--ui-ring-offset-shadow, 0 0 #0000), var(--ui-ring-shadow, 0 0 #0000), var(--ui-elevation)
}

.ui-shadow-sm-variant-b {
  --ui-elevation: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --ui-elevation-colored: 0 1px 2px 0 var(--ui-elevation-color);
  box-shadow: var(--ui-ring-offset-shadow, 0 0 #0000), var(--ui-ring-shadow, 0 0 #0000), var(--ui-elevation)
}

.ui-shadow-xl {
  --ui-elevation: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --ui-elevation-colored: 0 20px 25px -5px var(--ui-elevation-color), 0 8px 10px -6px var(--ui-elevation-color);
  box-shadow: var(--ui-ring-offset-shadow, 0 0 #0000), var(--ui-ring-shadow, 0 0 #0000), var(--ui-elevation)
}

.ui-shadow-color-soft {
  --ui-elevation-color: rgb(15 23 42 / 0.1);
  --ui-elevation: var(--ui-elevation-colored)
}

.ui-outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px
}

.ui-shadow-custom {
  --ui-ring-offset-shadow: var(--ui-ring-inset) 0 0 0 var(--ui-ring-offset-width) var(--ui-ring-offset-color);
  --ui-ring-shadow: var(--ui-ring-inset) 0 0 0 calc(1px + var(--ui-ring-offset-width)) var(--ui-ring-color);
  box-shadow: var(--ui-ring-offset-shadow), var(--ui-ring-shadow), var(--ui-elevation, 0 0 #0000)
}

.ui-ring-cyan-100 {
  --ui-ring-opacity: 1;
  --ui-ring-color: rgb(207 250 254 / var(--ui-ring-opacity, 1))
}

.blur {
  --ui-blur: blur(8px);
  filter: var(--ui-blur) var(--ui-brightness) var(--ui-contrast) var(--ui-grayscale) var(--ui-hue-rotate) var(--ui-invert) var(--ui-saturate) var(--ui-sepia) var(--ui-drop-shadow)
}

.ui-filter-blur-64 {
  --ui-blur: blur(64px);
  filter: var(--ui-blur) var(--ui-brightness) var(--ui-contrast) var(--ui-grayscale) var(--ui-hue-rotate) var(--ui-invert) var(--ui-saturate) var(--ui-sepia) var(--ui-drop-shadow)
}

.ui-filter-drop-shadow {
  --ui-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / 0.07)) drop-shadow(0 2px 2px rgb(0 0 0 / 0.06));
  filter: var(--ui-blur) var(--ui-brightness) var(--ui-contrast) var(--ui-grayscale) var(--ui-hue-rotate) var(--ui-invert) var(--ui-saturate) var(--ui-sepia) var(--ui-drop-shadow)
}

.ui-filter-drop-shadow-sm {
  --ui-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / 0.05));
  filter: var(--ui-blur) var(--ui-brightness) var(--ui-contrast) var(--ui-grayscale) var(--ui-hue-rotate) var(--ui-invert) var(--ui-saturate) var(--ui-sepia) var(--ui-drop-shadow)
}

.ui-filter-drop-shadow-sm-variant-b {
  --ui-grayscale: grayscale(100%);
  filter: var(--ui-blur) var(--ui-brightness) var(--ui-contrast) var(--ui-grayscale) var(--ui-hue-rotate) var(--ui-invert) var(--ui-saturate) var(--ui-sepia) var(--ui-drop-shadow)
}

.ui-backdrop-blur-md {
  --ui-backdrop-blur: blur(12px);
  -webkit-backdrop-filter: var(--ui-backdrop-blur) var(--ui-backdrop-brightness) var(--ui-backdrop-contrast) var(--ui-backdrop-grayscale) var(--ui-backdrop-hue-rotate) var(--ui-backdrop-invert) var(--ui-backdrop-opacity) var(--ui-backdrop-saturate) var(--ui-backdrop-sepia);
  backdrop-filter: var(--ui-backdrop-blur) var(--ui-backdrop-brightness) var(--ui-backdrop-contrast) var(--ui-backdrop-grayscale) var(--ui-backdrop-hue-rotate) var(--ui-backdrop-invert) var(--ui-backdrop-opacity) var(--ui-backdrop-saturate) var(--ui-backdrop-sepia)
}

.ui-backdrop-blur-sm {
  --ui-backdrop-blur: blur(4px);
  -webkit-backdrop-filter: var(--ui-backdrop-blur) var(--ui-backdrop-brightness) var(--ui-backdrop-contrast) var(--ui-backdrop-grayscale) var(--ui-backdrop-hue-rotate) var(--ui-backdrop-invert) var(--ui-backdrop-opacity) var(--ui-backdrop-saturate) var(--ui-backdrop-sepia);
  backdrop-filter: var(--ui-backdrop-blur) var(--ui-backdrop-brightness) var(--ui-backdrop-contrast) var(--ui-backdrop-grayscale) var(--ui-backdrop-hue-rotate) var(--ui-backdrop-invert) var(--ui-backdrop-opacity) var(--ui-backdrop-saturate) var(--ui-backdrop-sepia)
}

.backdrop-filter {
  -webkit-backdrop-filter: var(--ui-backdrop-blur) var(--ui-backdrop-brightness) var(--ui-backdrop-contrast) var(--ui-backdrop-grayscale) var(--ui-backdrop-hue-rotate) var(--ui-backdrop-invert) var(--ui-backdrop-opacity) var(--ui-backdrop-saturate) var(--ui-backdrop-sepia);
  backdrop-filter: var(--ui-backdrop-blur) var(--ui-backdrop-brightness) var(--ui-backdrop-contrast) var(--ui-backdrop-grayscale) var(--ui-backdrop-hue-rotate) var(--ui-backdrop-invert) var(--ui-backdrop-opacity) var(--ui-backdrop-saturate) var(--ui-backdrop-sepia)
}

.ui-shadow-custom-variant-b {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms
}

.ui-transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms
}

.ui-transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms
}

.ui-transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms
}

.ui-transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms
}

.ui-transition-duration-150ms {
  transition-duration: 150ms
}

.ui-transition-duration-200ms {
  transition-duration: 200ms
}

.ui-transition-duration-300ms {
  transition-duration: 300ms
}

.ui-transition-duration-500ms {
  transition-duration: 500ms
}

.ui-transition-duration-700ms {
  transition-duration: 700ms
}

.ui-transition-ease-standard {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1)
}

.ui-file-button-mr-md::file-selector-button {
  margin-right: 0.75rem
}

.ui-file-button-radius-pill::file-selector-button {
  border-radius: 9999px
}

.ui-file-button-border-0::file-selector-button {
  border-width: 0px
}

.ui-file-button-bg-cyan-50::file-selector-button {
  --ui-fill-alpha: 1;
  background-color: rgb(236 254 255 / var(--ui-fill-alpha, 1))
}

.ui-file-button-px-lg::file-selector-button {
  padding-left: 1rem;
  padding-right: 1rem
}

.ui-file-button-py-sm::file-selector-button {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem
}

.ui-file-button-font-semibold::file-selector-button {
  font-weight: 600
}

.ui-file-button-text-cyan-700::file-selector-button {
  --ui-ink-alpha: 1;
  color: rgb(14 116 144 / var(--ui-ink-alpha, 1))
}

.ui-placeholder-gray-400::-moz-placeholder {
  --ui-ink-alpha: 1;
  color: rgb(156 163 175 / var(--ui-ink-alpha, 1))
}

.ui-placeholder-gray-400::placeholder {
  --ui-ink-alpha: 1;
  color: rgb(156 163 175 / var(--ui-ink-alpha, 1))
}

.ui-first-border-top-0:first-child {
  border-top-width: 0px
}

.ui-last-border-bottom-0:last-child {
  border-bottom-width: 0px
}

.ui-hover-lift-xs:hover {
  --ui-shift-y: -0.125rem;
  transform: translate(var(--ui-shift-x), var(--ui-shift-y)) rotate(var(--ui-rotate)) skewX(var(--ui-skew-x)) skewY(var(--ui-skew-y)) scaleX(var(--ui-scale-x)) scaleY(var(--ui-scale-y))
}

.ui-hover-lift-sm:hover {
  --ui-shift-y: -0.25rem;
  transform: translate(var(--ui-shift-x), var(--ui-shift-y)) rotate(var(--ui-rotate)) skewX(var(--ui-skew-x)) skewY(var(--ui-skew-y)) scaleX(var(--ui-scale-x)) scaleY(var(--ui-scale-y))
}

.ui-hover-scale-md-variant-b:hover {
  --ui-scale-x: 1.05;
  --ui-scale-y: 1.05;
  transform: translate(var(--ui-shift-x), var(--ui-shift-y)) rotate(var(--ui-rotate)) skewX(var(--ui-skew-x)) skewY(var(--ui-skew-y)) scaleX(var(--ui-scale-x)) scaleY(var(--ui-scale-y))
}

.ui-hover-scale-lg:hover {
  --ui-scale-x: 1.1;
  --ui-scale-y: 1.1;
  transform: translate(var(--ui-shift-x), var(--ui-shift-y)) rotate(var(--ui-rotate)) skewX(var(--ui-skew-x)) skewY(var(--ui-skew-y)) scaleX(var(--ui-scale-x)) scaleY(var(--ui-scale-y))
}

.ui-hover-gap-md-variant-b:hover {
  gap: 0.75rem
}

.ui-hover-border-gray-200:hover {
  --ui-line-alpha: 1;
  border-color: rgb(229 231 235 / var(--ui-line-alpha, 1))
}

.ui-hover-border-cyan-500:hover {
  --ui-line-alpha: 1;
  border-color: rgb(6 182 212 / var(--ui-line-alpha, 1))
}

.ui-hover-border-transparent:hover {
  border-color: transparent
}

.ui-hover-border-white-20:hover {
  border-color: rgb(255 255 255 / 0.2)
}

.ui-hover-bg-gray-100:hover {
  --ui-fill-alpha: 1;
  background-color: rgb(243 244 246 / var(--ui-fill-alpha, 1))
}

.ui-hover-bg-gray-50:hover {
  --ui-fill-alpha: 1;
  background-color: rgb(249 250 251 / var(--ui-fill-alpha, 1))
}

.ui-hover-bg-cyan-100:hover {
  --ui-fill-alpha: 1;
  background-color: rgb(207 250 254 / var(--ui-fill-alpha, 1))
}

.ui-hover-bg-cyan-50:hover {
  --ui-fill-alpha: 1;
  background-color: rgb(236 254 255 / var(--ui-fill-alpha, 1))
}

.ui-hover-bg-cyan-500:hover {
  --ui-fill-alpha: 1;
  background-color: rgb(6 182 212 / var(--ui-fill-alpha, 1))
}

.ui-hover-bg-slate-200:hover {
  --ui-fill-alpha: 1;
  background-color: rgb(226 232 240 / var(--ui-fill-alpha, 1))
}

.ui-hover-bg-slate-950-65:hover {
  background-color: rgb(2 6 23 / 0.65)
}

.ui-hover-bg-white:hover {
  --ui-fill-alpha: 1;
  background-color: rgb(255 255 255 / var(--ui-fill-alpha, 1))
}

.ui-hover-bg-white-15:hover {
  background-color: rgb(255 255 255 / 0.15)
}

.ui-hover-bg-white-20:hover {
  background-color: rgb(255 255 255 / 0.2)
}

.ui-hover-gradient-horizontal:hover {
  background-image: linear-gradient(to right, var(--ui-gradient-stops))
}

.ui-hover-gradient-from-purple-500:hover {
  --ui-gradient-from: #a855f7 var(--ui-gradient-from-position);
  --ui-gradient-to: rgb(168 85 247 / 0) var(--ui-gradient-to-position);
  --ui-gradient-stops: var(--ui-gradient-from), var(--ui-gradient-to)
}

.ui-hover-gradient-to-pink-500:hover {
  --ui-gradient-to: #ec4899 var(--ui-gradient-to-position)
}

.ui-hover-text-cyan-400:hover {
  --ui-ink-alpha: 1;
  color: rgb(34 211 238 / var(--ui-ink-alpha, 1))
}

.ui-hover-text-cyan-600:hover {
  --ui-ink-alpha: 1;
  color: rgb(8 145 178 / var(--ui-ink-alpha, 1))
}

.ui-hover-text-cyan-700:hover {
  --ui-ink-alpha: 1;
  color: rgb(14 116 144 / var(--ui-ink-alpha, 1))
}

.ui-hover-text-cyan-800:hover {
  --ui-ink-alpha: 1;
  color: rgb(21 94 117 / var(--ui-ink-alpha, 1))
}

.ui-hover-text-white-variant-b:hover {
  --ui-ink-alpha: 1;
  color: rgb(255 255 255 / var(--ui-ink-alpha, 1))
}

.ui-hover-opacity-1-variant-b:hover {
  opacity: 1
}

.ui-hover-shadow-xl:hover {
  --ui-elevation: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --ui-elevation-colored: 0 20px 25px -5px var(--ui-elevation-color), 0 8px 10px -6px var(--ui-elevation-color);
  box-shadow: var(--ui-ring-offset-shadow, 0 0 #0000), var(--ui-ring-shadow, 0 0 #0000), var(--ui-elevation)
}

.ui-file-button-hover-bg-cyan-100::file-selector-button:hover {
  --ui-fill-alpha: 1;
  background-color: rgb(207 250 254 / var(--ui-fill-alpha, 1))
}

.ui-focus-border-cyan-400:focus {
  --ui-line-alpha: 1;
  border-color: rgb(34 211 238 / var(--ui-line-alpha, 1))
}

.ui-focus-outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px
}

.ui-focus-ring-0:focus {
  --ui-ring-offset-shadow: var(--ui-ring-inset) 0 0 0 var(--ui-ring-offset-width) var(--ui-ring-offset-color);
  --ui-ring-shadow: var(--ui-ring-inset) 0 0 0 calc(0px + var(--ui-ring-offset-width)) var(--ui-ring-color);
  box-shadow: var(--ui-ring-offset-shadow), var(--ui-ring-shadow), var(--ui-elevation, 0 0 #0000)
}

.ui-focus-ring-2:focus {
  --ui-ring-offset-shadow: var(--ui-ring-inset) 0 0 0 var(--ui-ring-offset-width) var(--ui-ring-offset-color);
  --ui-ring-shadow: var(--ui-ring-inset) 0 0 0 calc(2px + var(--ui-ring-offset-width)) var(--ui-ring-color);
  box-shadow: var(--ui-ring-offset-shadow), var(--ui-ring-shadow), var(--ui-elevation, 0 0 #0000)
}

.ui-focus-ring-cyan-500:focus {
  --ui-ring-opacity: 1;
  --ui-ring-color: rgb(6 182 212 / var(--ui-ring-opacity, 1))
}

.ui-focus-ring-cyan-500-30:focus {
  --ui-ring-color: rgb(6 182 212 / 0.3)
}

.ui-hover-reveal-pointer:hover .ui-hover-reveal-pointer {
  pointer-events: auto
}

.ui-hover-reveal-pointer:hover .ui-visibility-visible {
  visibility: visible
}

.ui-hover-reveal-pointer:hover .ui-translate-x-xs {
  --ui-shift-x: 0.25rem;
  transform: translate(var(--ui-shift-x), var(--ui-shift-y)) rotate(var(--ui-rotate)) skewX(var(--ui-skew-x)) skewY(var(--ui-skew-y)) scaleX(var(--ui-scale-x)) scaleY(var(--ui-scale-y))
}

.ui-hover-reveal-pointer:hover .ui-translate-y-0 {
  --ui-shift-y: 0px;
  transform: translate(var(--ui-shift-x), var(--ui-shift-y)) rotate(var(--ui-rotate)) skewX(var(--ui-skew-x)) skewY(var(--ui-skew-y)) scaleX(var(--ui-scale-x)) scaleY(var(--ui-scale-y))
}

.ui-hover-reveal-pointer:hover .ui-rotate-180 {
  --ui-rotate: 180deg;
  transform: translate(var(--ui-shift-x), var(--ui-shift-y)) rotate(var(--ui-rotate)) skewX(var(--ui-skew-x)) skewY(var(--ui-skew-y)) scaleX(var(--ui-scale-x)) scaleY(var(--ui-scale-y))
}

.ui-hover-reveal-pointer:hover .ui-hover-scale-md {
  --ui-scale-x: 1.05;
  --ui-scale-y: 1.05;
  transform: translate(var(--ui-shift-x), var(--ui-shift-y)) rotate(var(--ui-rotate)) skewX(var(--ui-skew-x)) skewY(var(--ui-skew-y)) scaleX(var(--ui-scale-x)) scaleY(var(--ui-scale-y))
}

.ui-hover-reveal-pointer:hover .ui-scale-sm {
  --ui-scale-x: 1.03;
  --ui-scale-y: 1.03;
  transform: translate(var(--ui-shift-x), var(--ui-shift-y)) rotate(var(--ui-rotate)) skewX(var(--ui-skew-x)) skewY(var(--ui-skew-y)) scaleX(var(--ui-scale-x)) scaleY(var(--ui-scale-y))
}

.ui-hover-reveal-pointer:hover .ui-hover-gap-md {
  gap: 0.75rem
}

.ui-hover-reveal-pointer:hover .ui-hover-text-white {
  --ui-ink-alpha: 1;
  color: rgb(255 255 255 / var(--ui-ink-alpha, 1))
}

.ui-hover-reveal-pointer:hover .ui-hover-opacity-1 {
  opacity: 1
}

.ui-hover-reveal-pointer:hover .ui-filter-drop-shadow-sm-variant-c {
  --ui-grayscale: grayscale(0);
  filter: var(--ui-blur) var(--ui-brightness) var(--ui-contrast) var(--ui-grayscale) var(--ui-hue-rotate) var(--ui-invert) var(--ui-saturate) var(--ui-sepia) var(--ui-drop-shadow)
}

.ui-checked-border-cyan-400:checked~.ui-checked-border-cyan-400 {
  --ui-line-alpha: 1;
  border-color: rgb(34 211 238 / var(--ui-line-alpha, 1))
}

.ui-checked-border-cyan-400:checked~.ui-checked-border-cyan-400-variant-b {
  --ui-fill-alpha: 1;
  background-color: rgb(236 254 255 / var(--ui-fill-alpha, 1))
}

.ui-checked-border-cyan-400:checked~.ui-checked-border-cyan-400-variant-c {
  --ui-fill-alpha: 1;
  background-color: rgb(6 182 212 / var(--ui-fill-alpha, 1))
}

.ui-checked-border-cyan-400:checked~.ui-checked-border-cyan-400-variant-d {
  --ui-ink-alpha: 1;
  color: rgb(14 116 144 / var(--ui-ink-alpha, 1))
}

.ui-checked-border-cyan-400:checked~.ui-checked-border-cyan-400-variant-e {
  --ui-ink-alpha: 1;
  color: rgb(255 255 255 / var(--ui-ink-alpha, 1))
}

@media (min-width: 640px) {
  .ui-grid-column-span-2-span-2-variant-b {
    grid-column: span 2 / span 2
  }

  .ui-display-block-variant-c {
    display: block
  }

  .ui-display-flex-variant-c {
    display: flex
  }

  .ui-h-10xl-variant-b {
    height: 5rem
  }

  .ui-h-12xl-variant-c {
    height: 6rem
  }

  .ui-h-14xl-variant-b {
    height: 7rem
  }

  .ui-h-30xl {
    height: 15rem
  }

  .ui-h-32xl-variant-b {
    height: 16rem
  }

  .ui-h-260px {
    height: 260px
  }

  .ui-min-h-620px {
    min-height: 620px
  }

  .ui-w-half {
    width: 50%
  }

  .ui-w-third-variant-b {
    width: 33.333333%
  }

  .ui-w-18xl {
    width: 9rem
  }

  .ui-w-30xl {
    width: 15rem
  }

  .ui-w-32xl-variant-b {
    width: 16rem
  }

  .ui-min-w-18xl {
    min-width: 9rem
  }

  .ui-grid-cols-2-variant-d {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .ui-grid-cols-3-variant-d {
    grid-template-columns: repeat(3, minmax(0, 1fr))
  }

  .ui-flex-row-variant-c {
    flex-direction: row
  }

  .ui-align-center-variant-c {
    align-items: center
  }

  .ui-justify-space-between-variant-c {
    justify-content: space-between
  }

  .ui-gap-md-variant-b {
    gap: 0.75rem
  }

  .ui-gap-lg-variant-b {
    gap: 1rem
  }

  .ui-p-5xl-variant-c {
    padding: 2.5rem
  }

  .ui-p-2xl-variant-b {
    padding: 1.5rem
  }

  .ui-p-4xl-variant-c {
    padding: 2rem
  }

  .ui-px-2xl-variant-b {
    padding-left: 1.5rem;
    padding-right: 1.5rem
  }

  .ui-px-4xl-variant-b {
    padding-left: 2rem;
    padding-right: 2rem
  }

  .ui-text-2xl {
    font-size: 1.5rem;
    line-height: 2rem
  }

  .ui-text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem
  }

  .ui-text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem
  }

  .ui-text-5xl {
    font-size: 3rem;
    line-height: 1
  }

  .ui-text-base {
    font-size: 1rem;
    line-height: 1.5rem
  }

  .ui-text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem
  }

  .ui-text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem
  }
}

@media (min-width: 768px) {
  .ui-display-block-variant-b {
    display: block
  }

  .ui-grid-cols-2-variant-c {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .ui-grid-cols-3-variant-c {
    grid-template-columns: repeat(3, minmax(0, 1fr))
  }

  .ui-flex-row-variant-b {
    flex-direction: row
  }
}

@media (min-width: 1024px) {
  .ui-position-sticky {
    position: sticky
  }

  .ui-top-12xl {
    top: 6rem
  }

  .ui-grid-column-span-1-span-1 {
    grid-column: span 1 / span 1
  }

  .ui-grid-column-span-2-span-2 {
    grid-column: span 2 / span 2
  }

  .ui-grid-column-span-3-span-3 {
    grid-column: span 3 / span 3
  }

  .ui-mx-0 {
    margin-left: 0px;
    margin-right: 0px
  }

  .ui-display-flex-variant-b {
    display: flex
  }

  .ui-display-none-variant-b {
    display: none
  }

  .ui-h-12xl-variant-b {
    height: 6rem
  }

  .ui-h-32xl {
    height: 16rem
  }

  .ui-min-h-720px {
    min-height: 720px
  }

  .ui-min-h-760px {
    min-height: 760px
  }

  .ui-w-third {
    width: 33.333333%
  }

  .ui-w-quarter {
    width: 25%
  }

  .ui-w-32xl {
    width: 16rem
  }

  .ui-w-auto {
    width: auto
  }

  .ui-min-w-420px {
    min-width: 420px
  }

  .ui-grid-cols-1-variant-b {
    grid-template-columns: repeat(1, minmax(0, 1fr))
  }

  .ui-grid-cols-2-variant-b {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

  .ui-grid-cols-3-variant-b {
    grid-template-columns: repeat(3, minmax(0, 1fr))
  }

  .ui-grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr))
  }

  .ui-grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr))
  }

  .ui-grid-cols-feature-left {
    grid-template-columns: 0.85fr 1.15fr
  }

  .ui-grid-cols-feature-right {
    grid-template-columns: 0.8fr 1.2fr
  }

  .ui-grid-cols-hero-balanced {
    grid-template-columns: 1.05fr 0.95fr
  }

  .ui-grid-cols-content-media {
    grid-template-columns: 1.15fr 0.85fr
  }

  .ui-grid-cols-content-sidebar {
    grid-template-columns: 1.35fr 0.85fr
  }

  .ui-grid-cols-main-aside {
    grid-template-columns: minmax(0, 1fr) 320px
  }

  .ui-flex-row {
    flex-direction: row
  }

  .ui-align-flex-start-variant-b {
    align-items: flex-start
  }

  .ui-align-flex-end-variant-b {
    align-items: flex-end
  }

  .ui-align-center-variant-b {
    align-items: center
  }

  .ui-justify-flex-start {
    justify-content: flex-start
  }

  .ui-justify-flex-end-variant-b {
    justify-content: flex-end
  }

  .ui-justify-space-between-variant-b {
    justify-content: space-between
  }

  .ui-gap-5xl-variant-b {
    gap: 2.5rem
  }

  .ui-gap-6xl-variant-b {
    gap: 3rem
  }

  .ui-gap-7xl {
    gap: 3.5rem
  }

  .ui-gap-8xl {
    gap: 4rem
  }

  .ui-p-5xl {
    padding: 2.5rem
  }

  .ui-p-3xl {
    padding: 1.75rem
  }

  .ui-p-4xl {
    padding: 2rem
  }

  .ui-px-5xl {
    padding-left: 2.5rem;
    padding-right: 2.5rem
  }

  .ui-px-4xl {
    padding-left: 2rem;
    padding-right: 2rem
  }

  .ui-py-5xl {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem
  }

  .ui-py-6xl {
    padding-top: 3rem;
    padding-bottom: 3rem
  }

  .ui-py-10xl {
    padding-top: 5rem;
    padding-bottom: 5rem
  }

  .ui-pb-5xl {
    padding-bottom: 2.5rem
  }

  .ui-pt-5xl {
    padding-top: 2.5rem
  }

  .ui-text-align-left {
    text-align: left
  }

  .ui-text-6xl {
    font-size: 3.75rem;
    line-height: 1
  }

  .ui-text-size-2p15rem {
    font-size: 2.15rem
  }
}

@media (min-width: 1280px) {
  .ui-grid-cols-3-variant-e {
    grid-template-columns: repeat(3, minmax(0, 1fr))
  }

  .ui-grid-cols-4-variant-b {
    grid-template-columns: repeat(4, minmax(0, 1fr))
  }

  .ui-gap-5xl-variant-c {
    gap: 2.5rem
  }
}


.ui-bg-white-12 {
  background-color: rgb(255 255 255 / 0.12);
}


#announcement-modal-root {
  z-index: 2147483646;
}

#announcement-modal-root.announcement-modal--hidden {
  display: none !important;
}

#announcement-modal-backdrop {
  background: rgb(var(--theme-color-overlay-dark-rgb) / 0.55);
  backdrop-filter: blur(2px);
}

.announcement-modal__viewport {
  z-index: 2147483647;
  padding: 32px 24px;
}

.announcement-modal__dialog {
  width: 100%;
  max-width: min(92vw, 720px);
  position: relative;
}

#announcement-modal-close {
  position: absolute;
  top: -16px;
  right: -16px;
  z-index: 10;
  width: 40px;
  height: 40px;
  border: 1px solid rgb(var(--theme-color-primary-rgb) / 0.12);
  border-radius: var(--theme-radius-pill);
  background: var(--theme-color-surface);
  color: var(--theme-color-primary-link);
  box-shadow: 0 1rem 2rem rgb(var(--theme-color-primary-rgb) / 0.18);
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

#announcement-modal-close:hover,
#announcement-modal-close:focus {
  background: var(--theme-color-surface-raised);
  color: var(--theme-color-primary);
  border-color: rgb(var(--theme-color-primary-rgb) / 0.2);
}

#announcement-modal-card {
  max-height: 85vh;
  overflow: hidden;
  border-radius: 1rem;
  background: var(--theme-color-surface);
  box-shadow: 0 1.5rem 3rem rgb(var(--theme-color-primary-rgb) / 0.24);
}

.announcement-modal__scroll {
  overflow: auto;
}

.announcement-modal__image-holder {
  display: flex;
  align-items: center;
  justify-content: center;
}

.announcement-modal__image {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.announcement-modal-image-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.announcement-modal__media-inner {
  padding: 20px 20px 16px;
}

.announcement-modal__video-frame {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: .75rem;
  background: var(--theme-color-black);
}

.announcement-modal__video-frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.announcement-modal__video {
  display: block;
  width: 100%;
  max-height: min(60vh, 480px);
  border-radius: .75rem;
  background: var(--theme-color-black);
  object-fit: contain;
}

.announcement-modal__video-warning {
  padding: 14px;
  border: 1px solid var(--theme-color-border-warm);
  border-radius: .75rem;
  background: var(--theme-color-surface-warm);
  color: var(--theme-color-warning-strong);
  font-size: .875rem;
}

.announcement-modal__text {
  overflow: auto;
  padding: 28px 24px 24px;
}

.announcement-modal__richtext {
  color: var(--theme-color-black);
}

.announcement-modal__actions {
  display: flex;
  justify-content: center;
  padding: 4px;
}

.announcement-modal__actions.announcement-modal__actions--text {
  padding-top: 24px;
}

.announcement-modal__button {
  padding: .7rem 1.25rem;
  border: 1px solid rgb(var(--theme-color-primary-rgb) / 0.12);
  border-radius: .75rem;
  background: var(--theme-color-surface-raised);
  color: var(--theme-color-primary-link);
  font-size: .95rem;
  font-weight: var(--theme-font-weight-semibold);
  box-shadow: 0 .25rem .75rem rgb(var(--theme-color-primary-rgb) / 0.08);
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.announcement-modal__button:hover,
.announcement-modal__button:focus {
  background: var(--theme-color-accent-pale);
  color: var(--theme-color-primary);
  border-color: rgb(var(--theme-color-primary-rgb) / 0.2);
}

#consent-banner {
  z-index: 9999;
}

#consent-banner.consent--hidden,
#consent-preferences-modal.consent--hidden {
  display: none !important;
}

#consent-banner .consent-banner-shell {
  padding: 0 0 1rem;
}

#consent-banner .consent-banner-card {
  border: 1px solid var(--ui-layout-border);
  border-radius: var(--ui-layout-radius-md);
  background: var(--ui-layout-surface);
  box-shadow: var(--ui-layout-shadow-hero);
}

#consent-banner .consent-banner-title {
  margin: 0;
  color: var(--theme-color-primary);
  font-size: var(--theme-font-size-lead);
  font-weight: var(--theme-font-weight-bold);
  line-height: 1.35;
}

#consent-banner .consent-banner-title i {
  color: var(--theme-color-highlight);
}

#consent-banner .consent-banner-text {
  margin: 0.75rem 0 0;
  color: var(--theme-color-neutral-700);
  font-size: 0.95rem;
  line-height: 1.7;
}

.consent-button--outline {
  border-color: rgb(var(--theme-color-primary-rgb) / 0.18);
  color: var(--theme-color-primary);
  background: var(--theme-color-surface);
}

.consent-button--outline:hover,
.consent-button--outline:focus {
  border-color: rgb(var(--theme-color-primary-rgb) / 0.3);
  color: var(--theme-color-primary);
  background: rgb(var(--theme-color-primary-rgb) / 0.04);
}

.consent-button--reject {
  border-color: rgb(var(--theme-color-danger-rgb) / 0.22);
  color: var(--theme-color-danger-strong);
  background: var(--theme-color-surface);
}

.consent-button--reject:hover,
.consent-button--reject:focus {
  border-color: rgb(var(--theme-color-danger-rgb) / 0.38);
  color: var(--theme-color-danger-strong);
  background: rgb(var(--theme-color-danger-rgb) / 0.06);
}

.consent-button--accept,
.consent-button--save {
  color: var(--theme-color-surface);
  background: var(--theme-color-primary);
  border-color: var(--theme-color-primary);
}

.consent-button--accept:hover,
.consent-button--accept:focus,
.consent-button--save:hover,
.consent-button--save:focus {
  color: var(--theme-color-surface);
  background: var(--theme-color-primary-ink);
  border-color: var(--theme-color-primary-ink);
}

#consent-preferences-modal {
  z-index: 10000;
}

#consent-preferences-modal .consent-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgb(var(--theme-color-overlay-dark-rgb) / 0.55);
}

#consent-preferences-modal .consent-modal__dialog {
  position: relative;
  min-height: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 1rem;
}

#consent-preferences-modal .consent-modal__card {
  position: relative;
  width: 100%;
  max-width: 42rem;
  border: 1px solid rgb(var(--theme-color-primary-rgb) / 0.12);
  border-radius: 1rem;
  background: var(--theme-color-surface);
  box-shadow: 0 1rem 2.5rem rgb(var(--theme-color-primary-rgb) / 0.18);
  overflow: hidden;
}

#consent-preferences-modal .consent-modal__title {
  margin: 0;
  color: var(--theme-color-primary);
  font-size: 1.125rem;
  font-weight: var(--theme-font-weight-bold);
  line-height: 1.35;
}

#consent-preferences-modal .consent-modal__subtitle {
  margin: 0.35rem 0 0;
  color: var(--theme-color-muted-ui);
  font-size: 0.92rem;
  line-height: 1.6;
}

.consent-modal__close {
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid rgb(var(--theme-color-primary-rgb) / 0.14);
  border-radius: 0.85rem;
  background: var(--theme-color-surface);
  color: var(--theme-color-primary);
}

.consent-modal__close:hover,
.consent-modal__close:focus {
  background: rgb(var(--theme-color-primary-rgb) / 0.04);
  color: var(--theme-color-primary);
}

.consent-option {
  border: 1px solid rgb(var(--theme-color-primary-rgb) / 0.1);
  border-radius: 0.9rem;
  padding: 1rem;
}

.consent-option.consent-option--required {
  background: rgb(var(--theme-color-primary-rgb) / 0.04);
}

.consent-option__title {
  margin: 0;
  color: var(--theme-color-primary);
  font-size: 0.95rem;
  font-weight: var(--theme-font-weight-bold);
  line-height: 1.4;
}

.consent-option__text {
  margin: 0.35rem 0 0;
  color: var(--theme-color-neutral-700);
  font-size: 0.92rem;
  line-height: 1.65;
}

.consent-option__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.35rem 0.8rem;
  border-radius: var(--theme-radius-pill);
  background: rgb(var(--theme-color-success-rgb) / 0.12);
  color: var(--theme-color-success);
  font-size: 0.75rem;
  font-weight: var(--theme-font-weight-bold);
  white-space: nowrap;
}

#consent-pref-analytics.form-check-input {
  width: 2.8rem;
  height: 1.45rem;
  cursor: pointer;
}


#accessibility-tools {
  position: fixed;
  left: initial;
  right: 0;
  top: 40%;
  bottom: initial;
  z-index: 2147483600 !important;
  transform: translateY(calc(-50% - 10px));
  width: 40px;
  min-width: 40px;
  min-height: 40px;
  max-width: 95vw;
  margin: 10px !important;
}

#accessibility-tools * {
  box-sizing: border-box;
}

#accessibility-tools[data-open="false"] .accessibility-panel {
  display: none;
}

#accessibility-tools[data-open="true"] .accessibility-panel {
  display: block;
}

.accessibility-trigger {
  position: relative;
  z-index: 2;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  pointer-events: auto;
  border: 1px solid rgb(var(--theme-color-primary-rgb) / 0.18);
  border-radius: var(--theme-radius-ui);
  background: var(--theme-color-surface);
  color: var(--theme-color-primary);
  box-shadow: 0 10px 28px rgb(var(--theme-color-primary-rgb) / 0.16);
  cursor: pointer;
  transition: transform var(--theme-transition-base), box-shadow var(--theme-transition-base), border-color var(--theme-transition-base), background-color var(--theme-transition-base);
}

.accessibility-trigger:hover,
.accessibility-trigger:focus {
  border-color: rgb(var(--theme-color-accent-rgb) / 0.42);
  background: var(--theme-color-accessibility-surface);
  box-shadow: 0 14px 34px rgb(var(--theme-color-primary-rgb) / 0.22);
  outline: none;
}

.accessibility-trigger img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.accessibility-panel {
  position: absolute;
  right: calc(100% + 14px);
  top: 50%;
  width: min(360px, calc(100vw - 82px));
  max-height: calc(100vh - 32px);
  padding: 14px;
  overflow: auto;
  pointer-events: auto;
  transform: translateY(-50%);
  border: 1px solid rgb(var(--theme-color-primary-rgb) / 0.12);
  border-radius: 18px;
  background: var(--theme-color-surface);
  box-shadow: 0 22px 58px rgb(var(--theme-color-primary-rgb) / 0.22);
}

.accessibility-panel-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 4px 2px 12px;
}

.accessibility-panel-title {
  margin: 0;
  color: var(--theme-color-primary);
  font-size: var(--theme-font-size-base);
  font-weight: 800;
  line-height: 1.2;
}

.accessibility-panel-subtitle {
  margin: 4px 0 0;
  color: var(--theme-color-text-soft);
  font-size: 0.82rem;
  line-height: 1.35;
}

.accessibility-close {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgb(var(--theme-color-primary-rgb) / 0.14);
  border-radius: var(--theme-radius-ui);
  background: var(--theme-color-surface);
  color: var(--theme-color-primary);
  cursor: pointer;
  transition: var(--theme-transition-base);
}

.accessibility-close:hover,
.accessibility-close:focus {
  background: rgb(var(--theme-color-primary-rgb) / 0.06);
  outline: none;
}

.accessibility-grid,
.accessibility-actions {
  display: grid;
  gap: 10px;
}

.accessibility-actions {
  margin-top: 12px;
}

.accessibility-button {
  width: 100%;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  color: var(--theme-color-primary);
  text-align: left;
  border: 1px solid rgb(var(--theme-color-accent-rgb) / 0.18);
  border-radius: var(--theme-radius-ui);
  background: var(--theme-color-surface);
  cursor: pointer;
  transition: background-color var(--theme-transition-base), border-color var(--theme-transition-base), color var(--theme-transition-base), transform var(--theme-transition-base);
}

.accessibility-button:hover,
.accessibility-button:focus {
  border-color: rgb(var(--theme-color-accent-rgb) / 0.42);
  background: rgb(var(--theme-color-primary-alt-rgb) / 0.04);
  outline: none;
}

.accessibility-button.is-active {
  color: var(--theme-color-surface);
  border-color: var(--theme-color-primary);
  background: var(--theme-color-primary);
}

.accessibility-button span {
  font-size: 0.86rem;
  font-weight: 800;
  line-height: 1.25;
}

.accessibility-button small {
  color: inherit;
  font-size: 0.76rem;
  font-weight: 800;
  opacity: 0.82;
}

#accessibility-tools,
#accessibility-tools *,
[vw],
[vw] *,
[vw-access-button],
[vw-plugin-wrapper],
.vw-plugin-wrapper,
.vw-access-button {
  filter: none !important;
}

html[data-accessibility-grayscale="on"] body>*:not(#accessibility-tools):not([vw]) {
  filter: grayscale(1);
}

html[data-accessibility-negative-contrast="on"] body {
  background: var(--theme-color-black) !important;
}

html[data-accessibility-negative-contrast="on"] body>*:not(#accessibility-tools):not([vw]) {
  filter: invert(1) hue-rotate(180deg);
}

html[data-accessibility-negative-contrast="on"] body>*:not(#accessibility-tools):not([vw]) img,
html[data-accessibility-negative-contrast="on"] body>*:not(#accessibility-tools):not([vw]) video,
html[data-accessibility-negative-contrast="on"] body>*:not(#accessibility-tools):not([vw]) iframe,
html[data-accessibility-negative-contrast="on"] body>*:not(#accessibility-tools):not([vw]) canvas,
html[data-accessibility-negative-contrast="on"] body>*:not(#accessibility-tools):not([vw]) svg {
  filter: invert(1) hue-rotate(180deg);
}

html[data-accessibility-high-contrast="on"] {
  --theme-color-primary: var(--theme-color-black);
  --theme-color-primary-strong: var(--theme-color-black);
  --theme-color-accent: var(--theme-color-black);
  --theme-color-surface-muted: var(--theme-color-black);
  --theme-color-surface: var(--theme-color-black);
  --theme-color-text: var(--theme-color-surface);
  --theme-color-neutral-700: var(--theme-color-surface);
  --theme-color-highlight: var(--theme-color-accessibility-accent);
  --theme-color-highlight-soft: var(--theme-color-accessibility-accent-soft);
}

html[data-accessibility-high-contrast="on"] body {
  background: var(--theme-color-black) !important;
  color: var(--theme-color-surface) !important;
}

html[data-accessibility-high-contrast="on"] body :where(section, main, article, header, footer, nav, div, p, span, small, strong, label, li, td, th, h1, h2, h3, h4, h5, h6):not(#accessibility-tools):not(#accessibility-tools *) {
  background-color: var(--theme-color-black) !important;
  color: var(--theme-color-surface) !important;
  border-color: var(--theme-color-surface) !important;
}

html[data-accessibility-high-contrast="on"] a:not(#accessibility-tools a):not(#accessibility-tools *) {
  color: var(--theme-color-accessibility-accent) !important;
}

html[data-accessibility-high-contrast="on"] button:not(.accessibility-button):not(.accessibility-trigger):not(.accessibility-close) {
  color: var(--theme-color-surface) !important;
  background-color: var(--theme-color-black) !important;
  border-color: var(--theme-color-surface) !important;
}

html[data-accessibility-underline-links="on"] a:not(#accessibility-tools a):not(#accessibility-tools *) {
  text-decoration: underline !important;
  text-underline-offset: 3px;
  text-decoration-thickness: 2px;
}

html[data-accessibility-readable-font="on"] body,
html[data-accessibility-readable-font="on"] body *:not(i):not(.fa):not(.fa-solid):not(.fa-regular):not(.fa-brands) {
  font-family: Arial, Verdana, Tahoma, sans-serif !important;
  letter-spacing: 0.01em;
}


.gradient-text {
  background: linear-gradient(135deg, #22c55e 0%, #06b6d4 50%, #0891b2 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.hero-gradient {
  background: linear-gradient(135deg, #0f172a 0%, #164e63 50%, #0e7490 100%);
}

.card-hover {
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.card-hover:hover {
  transform: translateY(-8px);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);
}

.nav-link {
  position: relative;
}

.nav-link::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg, #22c55e, #06b6d4);
  transition: width 0.3s ease;
}

.nav-link:hover::after,
.nav-link.active::after {
  width: 100%;
}

.nav-link.active {
  color: #0891b2;
}

.glass {
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.btn-gradient {
  background: linear-gradient(135deg, #22c55e 0%, #06b6d4 100%);
  transition: all 0.3s ease;
}

.btn-gradient:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 40px -10px rgba(6, 182, 212, 0.5);
}

.floating {
  animation: floating 3s ease-in-out infinite;
}

@keyframes floating {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-10px);
  }
}

.pulse-slow {
  animation: pulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.whatsapp-fab {
  position: fixed;
  right: 1.5rem;
  bottom: 1.5rem;
  z-index: 9999;
  width: 64px;
  height: 64px;
  border-radius: 9999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #ffffff;
  background: linear-gradient(135deg, #25D366, #1ebe5d);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.22), 0 8px 20px rgba(37, 211, 102, 0.28);
  transition: transform .25s ease, box-shadow .25s ease;
}

.whatsapp-fab:hover {
  transform: translateY(-2px) scale(1.04);
  box-shadow: 0 22px 48px rgba(15, 23, 42, 0.28), 0 10px 24px rgba(37, 211, 102, 0.35);
}

.whatsapp-fab i {
  font-size: 1.9rem;
  line-height: 1;
}

.whatsapp-tooltip {
  position: fixed;
  right: 6.5rem;
  bottom: 2.1rem;
  z-index: 9998;
  background: #ffffff;
  color: #334155;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 9999px;
  padding: .75rem 1rem;
  font-size: .9rem;
  font-weight: 600;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transform: translateX(8px);
  transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
  pointer-events: none;
}

.whatsapp-fab:hover+.whatsapp-tooltip,
.whatsapp-tooltip.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

.site-honeypot {
  position: absolute !important;
  left: -9999px !important;
  opacity: 0 !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

.site-required {
  color: #dc2626;
}

.survey-consent-option {
  display: flex;
  gap: .7rem;
  align-items: flex-start;
  cursor: pointer;
}

.survey-consent-checkbox {
  margin-top: .35rem;
}

.footer-logo-img {
  max-width: 160px;
  height: auto;
}

.site-logo-img {
  width: 180px;
  max-width: 100%;
  height: auto;
}

.popup-close-icon {
  font-size: .9rem;
  pointer-events: none;
}

.table-col-key {
  width: 16rem;
}

.table-col-index {
  width: 4rem;
}

.table-col-line {
  width: 6rem;
}

.error-color-primary {
  color: var(--error-color-primary);
}

.dynamic-table-min-width {
  min-width: 920px;
}

.style-moved-to-theme {}

.agenda-calendar__day.has-event-single.is-primary-tone {
  background: var(--ui-layout-primary);
  border-color: var(--ui-layout-primary);
  color: #fff;
}

.agenda-calendar__day.has-event-multi.is-soft-tone {
  background: rgba(8, 145, 178, .12);
  border-color: var(--ui-layout-primary);
}

.agenda-calendar__legend-dot,
.agenda-calendar__dot {
  background: var(--ui-layout-primary);
}

.agenda-upcoming__badge,
.agenda-upcoming__pill {
  background: rgba(8, 145, 178, .10);
  color: var(--ui-layout-primary-dark);
}

@media (max-width: 640px) {
  .whatsapp-fab {
    right: 1rem;
    bottom: 1rem;
    width: 58px;
    height: 58px;
  }

  .whatsapp-tooltip {
    display: none;
  }
}


.u-w-0 {
  width: 0%;
}

.u-h-0 {
  height: 0%;
}

.u-w-1 {
  width: 1%;
}

.u-h-1 {
  height: 1%;
}

.u-w-2 {
  width: 2%;
}

.u-h-2 {
  height: 2%;
}

.u-w-3 {
  width: 3%;
}

.u-h-3 {
  height: 3%;
}

.u-w-4 {
  width: 4%;
}

.u-h-4 {
  height: 4%;
}

.u-w-5 {
  width: 5%;
}

.u-h-5 {
  height: 5%;
}

.u-w-6 {
  width: 6%;
}

.u-h-6 {
  height: 6%;
}

.u-w-7 {
  width: 7%;
}

.u-h-7 {
  height: 7%;
}

.u-w-8 {
  width: 8%;
}

.u-h-8 {
  height: 8%;
}

.u-w-9 {
  width: 9%;
}

.u-h-9 {
  height: 9%;
}

.u-w-10 {
  width: 10%;
}

.u-h-10 {
  height: 10%;
}

.u-w-11 {
  width: 11%;
}

.u-h-11 {
  height: 11%;
}

.u-w-12 {
  width: 12%;
}

.u-h-12 {
  height: 12%;
}

.u-w-13 {
  width: 13%;
}

.u-h-13 {
  height: 13%;
}

.u-w-14 {
  width: 14%;
}

.u-h-14 {
  height: 14%;
}

.u-w-15 {
  width: 15%;
}

.u-h-15 {
  height: 15%;
}

.u-w-16 {
  width: 16%;
}

.u-h-16 {
  height: 16%;
}

.u-w-17 {
  width: 17%;
}

.u-h-17 {
  height: 17%;
}

.u-w-18 {
  width: 18%;
}

.u-h-18 {
  height: 18%;
}

.u-w-19 {
  width: 19%;
}

.u-h-19 {
  height: 19%;
}

.u-w-20 {
  width: 20%;
}

.u-h-20 {
  height: 20%;
}

.u-w-21 {
  width: 21%;
}

.u-h-21 {
  height: 21%;
}

.u-w-22 {
  width: 22%;
}

.u-h-22 {
  height: 22%;
}

.u-w-23 {
  width: 23%;
}

.u-h-23 {
  height: 23%;
}

.u-w-24 {
  width: 24%;
}

.u-h-24 {
  height: 24%;
}

.u-w-25 {
  width: 25%;
}

.u-h-25 {
  height: 25%;
}

.u-w-26 {
  width: 26%;
}

.u-h-26 {
  height: 26%;
}

.u-w-27 {
  width: 27%;
}

.u-h-27 {
  height: 27%;
}

.u-w-28 {
  width: 28%;
}

.u-h-28 {
  height: 28%;
}

.u-w-29 {
  width: 29%;
}

.u-h-29 {
  height: 29%;
}

.u-w-30 {
  width: 30%;
}

.u-h-30 {
  height: 30%;
}

.u-w-31 {
  width: 31%;
}

.u-h-31 {
  height: 31%;
}

.u-w-32 {
  width: 32%;
}

.u-h-32 {
  height: 32%;
}

.u-w-33 {
  width: 33%;
}

.u-h-33 {
  height: 33%;
}

.u-w-34 {
  width: 34%;
}

.u-h-34 {
  height: 34%;
}

.u-w-35 {
  width: 35%;
}

.u-h-35 {
  height: 35%;
}

.u-w-36 {
  width: 36%;
}

.u-h-36 {
  height: 36%;
}

.u-w-37 {
  width: 37%;
}

.u-h-37 {
  height: 37%;
}

.u-w-38 {
  width: 38%;
}

.u-h-38 {
  height: 38%;
}

.u-w-39 {
  width: 39%;
}

.u-h-39 {
  height: 39%;
}

.u-w-40 {
  width: 40%;
}

.u-h-40 {
  height: 40%;
}

.u-w-41 {
  width: 41%;
}

.u-h-41 {
  height: 41%;
}

.u-w-42 {
  width: 42%;
}

.u-h-42 {
  height: 42%;
}

.u-w-43 {
  width: 43%;
}

.u-h-43 {
  height: 43%;
}

.u-w-44 {
  width: 44%;
}

.u-h-44 {
  height: 44%;
}

.u-w-45 {
  width: 45%;
}

.u-h-45 {
  height: 45%;
}

.u-w-46 {
  width: 46%;
}

.u-h-46 {
  height: 46%;
}

.u-w-47 {
  width: 47%;
}

.u-h-47 {
  height: 47%;
}

.u-w-48 {
  width: 48%;
}

.u-h-48 {
  height: 48%;
}

.u-w-49 {
  width: 49%;
}

.u-h-49 {
  height: 49%;
}

.u-w-50 {
  width: 50%;
}

.u-h-50 {
  height: 50%;
}

.u-w-51 {
  width: 51%;
}

.u-h-51 {
  height: 51%;
}

.u-w-52 {
  width: 52%;
}

.u-h-52 {
  height: 52%;
}

.u-w-53 {
  width: 53%;
}

.u-h-53 {
  height: 53%;
}

.u-w-54 {
  width: 54%;
}

.u-h-54 {
  height: 54%;
}

.u-w-55 {
  width: 55%;
}

.u-h-55 {
  height: 55%;
}

.u-w-56 {
  width: 56%;
}

.u-h-56 {
  height: 56%;
}

.u-w-57 {
  width: 57%;
}

.u-h-57 {
  height: 57%;
}

.u-w-58 {
  width: 58%;
}

.u-h-58 {
  height: 58%;
}

.u-w-59 {
  width: 59%;
}

.u-h-59 {
  height: 59%;
}

.u-w-60 {
  width: 60%;
}

.u-h-60 {
  height: 60%;
}

.u-w-61 {
  width: 61%;
}

.u-h-61 {
  height: 61%;
}

.u-w-62 {
  width: 62%;
}

.u-h-62 {
  height: 62%;
}

.u-w-63 {
  width: 63%;
}

.u-h-63 {
  height: 63%;
}

.u-w-64 {
  width: 64%;
}

.u-h-64 {
  height: 64%;
}

.u-w-65 {
  width: 65%;
}

.u-h-65 {
  height: 65%;
}

.u-w-66 {
  width: 66%;
}

.u-h-66 {
  height: 66%;
}

.u-w-67 {
  width: 67%;
}

.u-h-67 {
  height: 67%;
}

.u-w-68 {
  width: 68%;
}

.u-h-68 {
  height: 68%;
}

.u-w-69 {
  width: 69%;
}

.u-h-69 {
  height: 69%;
}

.u-w-70 {
  width: 70%;
}

.u-h-70 {
  height: 70%;
}

.u-w-71 {
  width: 71%;
}

.u-h-71 {
  height: 71%;
}

.u-w-72 {
  width: 72%;
}

.u-h-72 {
  height: 72%;
}

.u-w-73 {
  width: 73%;
}

.u-h-73 {
  height: 73%;
}

.u-w-74 {
  width: 74%;
}

.u-h-74 {
  height: 74%;
}

.u-w-75 {
  width: 75%;
}

.u-h-75 {
  height: 75%;
}

.u-w-76 {
  width: 76%;
}

.u-h-76 {
  height: 76%;
}

.u-w-77 {
  width: 77%;
}

.u-h-77 {
  height: 77%;
}

.u-w-78 {
  width: 78%;
}

.u-h-78 {
  height: 78%;
}

.u-w-79 {
  width: 79%;
}

.u-h-79 {
  height: 79%;
}

.u-w-80 {
  width: 80%;
}

.u-h-80 {
  height: 80%;
}

.u-w-81 {
  width: 81%;
}

.u-h-81 {
  height: 81%;
}

.u-w-82 {
  width: 82%;
}

.u-h-82 {
  height: 82%;
}

.u-w-83 {
  width: 83%;
}

.u-h-83 {
  height: 83%;
}

.u-w-84 {
  width: 84%;
}

.u-h-84 {
  height: 84%;
}

.u-w-85 {
  width: 85%;
}

.u-h-85 {
  height: 85%;
}

.u-w-86 {
  width: 86%;
}

.u-h-86 {
  height: 86%;
}

.u-w-87 {
  width: 87%;
}

.u-h-87 {
  height: 87%;
}

.u-w-88 {
  width: 88%;
}

.u-h-88 {
  height: 88%;
}

.u-w-89 {
  width: 89%;
}

.u-h-89 {
  height: 89%;
}

.u-w-90 {
  width: 90%;
}

.u-h-90 {
  height: 90%;
}

.u-w-91 {
  width: 91%;
}

.u-h-91 {
  height: 91%;
}

.u-w-92 {
  width: 92%;
}

.u-h-92 {
  height: 92%;
}

.u-w-93 {
  width: 93%;
}

.u-h-93 {
  height: 93%;
}

.u-w-94 {
  width: 94%;
}

.u-h-94 {
  height: 94%;
}

.u-w-95 {
  width: 95%;
}

.u-h-95 {
  height: 95%;
}

.u-w-96 {
  width: 96%;
}

.u-h-96 {
  height: 96%;
}

.u-w-97 {
  width: 97%;
}

.u-h-97 {
  height: 97%;
}

.u-w-98 {
  width: 98%;
}

.u-h-98 {
  height: 98%;
}

.u-w-99 {
  width: 99%;
}

.u-h-99 {
  height: 99%;
}

.u-w-100 {
  width: 100%;
}

.u-h-100 {
  height: 100%;
}


.error-page {
  --error-color-primary: var(--theme-color-primary, #0d2545);
  --error-color-primary-strong: var(--theme-color-primary-strong, #163566);
  --error-color-accent: var(--theme-color-accent, #1a4fa0);
  --error-color-highlight: var(--theme-color-highlight, #c9972b);
  --error-color-highlight-soft: var(--theme-color-highlight-soft, #e8b84b);
  --error-color-surface-muted: var(--theme-color-surface-muted, #f8f5ef);
  --error-white: #ffffff;
  --error-text: var(--theme-color-text, #1a1f2e);
  --error-muted: #5d7398;
  --error-border: rgba(13, 37, 69, .12);
  --error-shadow: 0 18px 45px rgba(13, 37, 69, .10);
  --error-warning: #9a6700;
  --error-warning-strong: #7c4a03;
  --error-warning-soft: #fff8e6;
  --error-warning-soft-2: #fff3cd;
  --error-warning-border: rgba(201, 151, 43, .28);
  --error-danger: #b42318;
  --error-danger-strong: #842029;
  --error-danger-soft: #fff1f2;
  --error-danger-soft-2: #fff7f7;
  --error-danger-border: rgba(180, 35, 24, .22);
  background: var(--error-color-surface-muted);
}

.error-state {
  position: relative;
  overflow: hidden;
  padding: 72px 0 82px;
  color: var(--error-color-primary);
  background:
    radial-gradient(circle at top right, rgba(201, 151, 43, .08), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #ffffff 62%, #fbfaf7 100%);
}

/* .error-state::before {
  content: "";
  position: absolute;
  left: -150px;
  bottom: -180px;
  width: 360px;
  height: 360px;
  border-radius: 999px;
  background: rgba(13, 37, 69, .035);
  pointer-events: none;
}

.error-state::after {
  content: "";
  position: absolute;
  right: -120px;
  bottom: -140px;
  width: 340px;
  height: 340px;
  border-radius: 999px;
  background: rgba(201, 151, 43, .08);
  pointer-events: none;
} */

.error-summary-card {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}

.error-code-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(.25rem, 2vw, 1rem);
  margin-bottom: 1.5rem;
  line-height: 1;
  user-select: none;
}

.error-code-visual__number {
  color: #020617;
  font-size: clamp(5.5rem, 17vw, 10rem);
  font-weight: 900;
  letter-spacing: -.08em;
  line-height: .9;
}

.error-code-visual svg {
  width: clamp(82px, 13vw, 126px);
  height: auto;
  filter: drop-shadow(0 16px 26px rgba(13, 37, 69, .18));
}

.error-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin-bottom: .85rem;
  padding: .42rem .75rem;
  color:#071126;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  background: rgba(201, 151, 43, .10);
  border: 1px solid rgba(201, 151, 43, .24);
  border-radius: 999px;
}

.error-eyebrow--danger {
  color: var(--error-danger);
  background: rgba(180, 35, 24, .08);
  border-color: rgba(180, 35, 24, .18);
}

.error-summary-title {
  margin: 0 0 .75rem;
  color: #071126;
  font-size: clamp(2rem, 4vw, 3.35rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.04em;
}

.error-summary-text {
  max-width: 620px;
  margin: 0 auto 1.75rem;
  color: #071126;
  font-size: 1rem;
  line-height: 1.75;
}

.error-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: .75rem;
}

.error-page .button-primary,
.error-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  min-height: 46px;
  padding: .75rem 1.2rem;
  border-radius: .65rem;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .04em;
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: transform .22s ease, background-color .22s ease, border-color .22s ease, color .22s ease, box-shadow .22s ease;
}

.error-page .button-primary:hover,
.error-page .button-primary:focus,
.error-btn:hover,
.error-btn:focus {
  transform: translateY(-2px);
  text-decoration: none !important;
}

.error-page .button-primary,
.error-btn--primary {
  background: #020617;
  color: #fff;
  border: 1px solid rgba(201, 151, 43, .25);

}

.error-btn--light {
  color: #071126 !important;
  /* background: var(--error-color-primary); */
  border: 1px solid rgba(13, 37, 69, .18);
  box-shadow: 0 14px 24px rgba(13, 37, 69, .14);
}

.error-btn--light:hover,
.error-btn--light:focus {
  color: #fff !important;
  background: var(--error-color-primary-strong);
  border-color: rgba(13, 37, 69, .26);
  box-shadow: 0 18px 30px rgba(13, 37, 69, .20);
}

.error-btn--outline {
  color: var(--error-color-primary) !important;
  background: #fff;
  border: 1px solid rgba(13, 37, 69, .18);
}

.error-btn--outline:hover,
.error-btn--outline:focus {
  color: var(--error-color-primary) !important;
  background: rgba(13, 37, 69, .04);
  border-color: rgba(13, 37, 69, .28);
}

.error-code-note {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  margin-top: .95rem;
  color: #071126;
  font-size: .88rem;
  font-weight: 600;
}

.error-code-note code,
.error-chip,
.error-page code {
  color: #071126;
  background: rgba(13, 37, 69, .06);
  border: 1px solid rgba(13, 37, 69, .10);
  border-radius: .45rem;
  padding: .18rem .42rem;
  font-size: .84em;
}

.error-dev-shell {
  padding: 32px 0 40px;
  background: var(--error-color-surface-muted);
}

.error-card {
  overflow: hidden;
  margin-bottom: 1rem;
  background: #fff;
  border: 1px solid var(--error-border);
  border-radius: 18px;
  box-shadow: var(--error-shadow);
}

.error-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .75rem;
  padding: 1rem 1.15rem;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border-bottom: 1px solid rgba(13, 37, 69, .10);
}

.error-card__head--warning {
  background: linear-gradient(180deg, var(--error-warning-soft) 0%, var(--error-warning-soft-2) 100%);
  border-bottom-color: rgba(201, 151, 43, .20);
}

.error-card__head--danger {
  background: linear-gradient(180deg, var(--error-danger-soft-2) 0%, var(--error-danger-soft) 100%);
  border-bottom-color: rgba(180, 35, 24, .16);
}

.error-card__title {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin: 0;
  color: var(--error-color-primary);
  font-size: 1.02rem;
  font-weight: 800;
  line-height: 1.25;
}

.error-icon-box {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  color: var(--error-color-primary);
  background: rgba(13, 37, 69, .08);
  border-radius: 10px;
}

.error-icon-box--warning {
  color: var(--error-warning-strong);
  background: rgba(201, 151, 43, .16);
}

.error-icon-box--danger {
  color: var(--error-danger);
  background: rgba(180, 35, 24, .10);
}

.error-card__body {
  padding: 1.15rem;
}

.error-status-box {
  padding: 1rem;
  color: var(--error-warning-strong);
  background: var(--error-warning-soft);
  border: 1px solid var(--error-warning-border);
  border-radius: 14px;
}

.error-status-box--danger {
  color: var(--error-danger-strong);
  background: var(--error-danger-soft);
  border-color: var(--error-danger-border);
}

.error-info-tile {
  min-height: 100%;
  padding: .95rem;
  background: #fff;
  border: 1px solid rgba(13, 37, 69, .12);
  border-radius: 14px;
}

.error-info-tile__label {
  display: flex;
  align-items: center;
  gap: .45rem;
  margin-bottom: .35rem;
  color: var(--error-muted);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.error-info-tile__value {
  margin: 0;
  color: var(--error-text);
  font-size: .9rem;
  line-height: 1.55;
}

.error-table {
  margin: 0;
  color: var(--error-text);
  font-size: .88rem;
  vertical-align: middle;
}

.error-table thead th {
  color: var(--error-color-primary);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  background: rgba(13, 37, 69, .05);
  border-bottom-color: rgba(13, 37, 69, .12);
  white-space: nowrap;
}

.error-table tbody th {
  color: var(--error-muted);
  font-weight: 800;
  background: rgba(13, 37, 69, .025);
  white-space: nowrap;
}

.error-table td,
.error-table th {
  border-color: rgba(13, 37, 69, .08);
}

.error-badge {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .28rem .55rem;
  color: var(--error-color-primary);
  font-size: .75rem;
  font-weight: 800;
  line-height: 1;
  background: rgba(13, 37, 69, .06);
  border: 1px solid rgba(13, 37, 69, .10);
  border-radius: 999px;
}

.error-badge--warning {
  color: var(--error-warning-strong);
  background: var(--error-warning-soft);
  border-color: var(--error-warning-border);
}

.error-badge--danger {
  color: var(--error-danger);
  background: var(--error-danger-soft);
  border-color: var(--error-danger-border);
}

.error-route-current {
  background: var(--error-warning-soft);
}

.trace-summary {
  cursor: pointer;
  user-select: none;
  color: var(--error-color-accent);
  font-size: .88rem;
  font-weight: 700;
}

.trace-summary:hover,
.trace-summary:focus {
  color: var(--error-color-primary);
}

.trace-pre {
  max-height: 400px;
  overflow: auto;
  margin: .75rem 0 0;
  padding: 1rem;
  color: #e5e7eb;
  font-size: .75rem;
  line-height: 1.65;
  white-space: pre-wrap;
  background: #0b1220;
  border-radius: 14px;
}

.anywhere {
  overflow-wrap: anywhere;
  word-break: break-word;
}

@keyframes blink-sad {

  0%,
  90%,
  100% {
    transform: scaleY(1);
  }

  95% {
    transform: scaleY(.15);
  }
}

@keyframes tear-drop {
  0% {
    opacity: 0;
    transform: translateY(0);
  }

  20% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: translateY(18px);
  }
}

@keyframes pulse-soft {

  0%,
  100% {
    transform: scale(1);
    opacity: 1;
  }

  50% {
    transform: scale(1.03);
    opacity: .95;
  }
}

@keyframes shake-soft {

  0%,
  100% {
    transform: translateX(0);
  }

  20% {
    transform: translateX(-1px);
  }

  40% {
    transform: translateX(1px);
  }

  60% {
    transform: translateX(-1px);
  }

  80% {
    transform: translateX(1px);
  }
}

.eye-left {
  animation: blink-sad 4s ease-in-out infinite;
  transform-origin: center;
}

.eye-right {
  animation: blink-sad 4s ease-in-out infinite .08s;
  transform-origin: center;
}

.tear {
  animation: tear-drop 3.5s ease-in infinite 1.5s;
  opacity: 0;
}

.tri-wrap {
  animation: pulse-soft 2.8s ease-in-out infinite;
  transform-origin: center;
}

.tri-wrap.shake {
  animation: pulse-soft 2.8s ease-in-out infinite, shake-soft 5.5s ease-in-out infinite;
}

@media (max-width: 767.98px) {
  .error-state {
    padding: 56px 0 64px;
  }

  .error-code-visual {
    margin-bottom: 1.15rem;
  }

  .error-summary-text {
    font-size: .95rem;
  }
}

@media (max-width: 575.98px) {
  .error-state {
    padding: 48px 0 58px;
  }

  .error-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .error-page .button-primary,
  .error-btn {
    width: 100%;
  }

  .error-card__head {
    align-items: flex-start;
    flex-direction: column;
  }

  .error-card__body {
    padding: 1rem;
  }

  .error-table {
    font-size: .82rem;
  }
}

@keyframes blink-sad {

  0%,
  90%,
  100% {
    transform: scaleY(1);
  }

  95% {
    transform: scaleY(.15);
  }
}

@keyframes tear-drop {
  0% {
    opacity: 0;
    transform: translateY(0);
  }

  20% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: translateY(18px);
  }
}

@keyframes pulse-soft {

  0%,
  100% {
    transform: scale(1);
    opacity: 1;
  }

  50% {
    transform: scale(1.03);
    opacity: .95;
  }
}

@keyframes shake-soft {

  0%,
  100% {
    transform: translateX(0);
  }

  20% {
    transform: translateX(-1px);
  }

  40% {
    transform: translateX(1px);
  }

  60% {
    transform: translateX(-1px);
  }

  80% {
    transform: translateX(1px);
  }
}

@media (max-width: 767.98px) {
  .error-state {
    padding: 56px 0 64px;
  }

  .error-code-visual {
    margin-bottom: 1.15rem;
  }

  .error-summary-text {
    font-size: .95rem;
  }
}

@media (max-width: 575.98px) {
  .error-state {
    padding: 48px 0 58px;
  }

  .error-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .error-page .button-primary,
  .error-btn {
    width: 100%;
  }

  .error-card__head {
    align-items: flex-start;
    flex-direction: column;
  }

  .error-card__body {
    padding: 1rem;
  }

  .error-table {
    font-size: .82rem;
  }
}


.agenda-public-page {
  background: linear-gradient(180deg, #ffffff 0%, #f5f9fb 100%);
}

.unused-agenda-banner {
  padding: 3.25rem 0 2rem;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
  border-bottom: 1px solid rgba(14, 116, 144, .10);
}

.page-breadcrumb {
  margin-bottom: 1rem;
}

.page-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem .65rem;
  padding: 0;
  margin: 0;
  list-style: none;
  color: #64748b;
  font-size: .88rem;
  line-height: 1.4;
}

.page-breadcrumb__item {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}

.page-breadcrumb__item+.page-breadcrumb__item::before {
  content: "/";
  margin-right: .65rem;
  color: #94a3b8;
  font-weight: 700;
}

.page-breadcrumb__link {
  color: #64748b;
  text-decoration: none;
  font-weight: 800;
  transition: .18s ease;
}

.page-breadcrumb__link:hover {
  color: rgb(14, 116, 144);
  text-decoration: none;
}

.page-breadcrumb__current {
  color: rgb(14, 116, 144);
  font-weight: 900;
  overflow-wrap: anywhere;
}

.agenda-kicker {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .45rem .95rem;
  border-radius: 999px;
  background: rgba(8, 145, 178, .08);
  color: rgb(14, 116, 144);
  border: 1px solid rgba(8, 145, 178, .14);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.agenda-kicker::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: currentColor;
}

.unused-agenda-banner__title {
  margin: 1rem 0 .65rem;
  color: #0f172a;
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 900;
  line-height: 1.05;
}

.unused-agenda-banner__text {
  max-width: 820px;
  color: #475569;
  font-size: 1.06rem;
  line-height: 1.7;
  margin: .35rem 0 0;
}

.agenda-page {
  padding: 2.2rem 0 4rem;
}

.agenda-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 390px;
  gap: 1.25rem;
  align-items: start;
}

.agenda-panel {
  border: 1px solid rgba(8, 145, 178, .14);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .08);
  padding: 1.15rem;
}

.agenda-calendar__header,
.agenda-upcoming__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: 1rem;
}

.agenda-calendar__title,
.agenda-upcoming__title {
  margin: 0;
  color: #0f172a;
  font-size: 1.08rem;
  font-weight: 900;
  line-height: 1.25;
}

.agenda-calendar__nav,
.agenda-upcoming__page {
  min-width: 2.35rem;
  height: 2.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(8, 145, 178, .18);
  border-radius: 999px;
  background: rgba(8, 145, 178, .08);
  color: rgb(14, 116, 144);
  font-weight: 900;
}

.agenda-calendar__legend {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-bottom: 1rem;
}

.agenda-calendar__legend-item {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .35rem .6rem;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  color: #64748b;
  font-size: .78rem;
  font-weight: 800;
}

.agenda-calendar__legend-dot,
.agenda-calendar__dot {
  width: .55rem;
  height: .55rem;
  border-radius: 999px;
  display: inline-flex;
  flex-shrink: 0;
}

.agenda-calendar__weekdays,
.agenda-calendar__grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: .5rem;
}

.agenda-calendar__weekdays {
  margin-bottom: .5rem;
  color: #64748b;
  font-size: .78rem;
  font-weight: 900;
  text-align: center;
  text-transform: uppercase;
}

.agenda-calendar__day {
  min-height: 5.2rem;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  background: #fff;
  padding: .55rem;
  color: #0f172a;
}

.agenda-calendar__day.is-muted {
  background: #f8fafc;
  color: #94a3b8;
}

.agenda-calendar__day-inner {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  min-height: 100%;
}

.agenda-calendar__day-number {
  font-weight: 900;
}

.agenda-calendar__dots {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .25rem;
  margin-top: auto;
}

.agenda-calendar__extra {
  color: #64748b;
  font-size: .75rem;
  font-weight: 900;
}

.agenda-upcoming__list {
  display: grid;
  gap: .75rem;
}

.agenda-upcoming__card {
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #fff;
  overflow: hidden;
}

.agenda-upcoming__card-head {
  width: 100%;
  display: flex;
  align-items: center;
  gap: .75rem;
  border: 0;
  background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
  padding: .85rem;
  color: inherit;
  text-align: left;
}

.agenda-upcoming__badge {
  width: 2.55rem;
  height: 2.55rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-weight: 900;
  flex-shrink: 0;
}

.agenda-upcoming__info {
  min-width: 0;
  flex: 1;
}

.agenda-upcoming__event-title {
  margin: 0;
  color: #0f172a;
  font-size: .96rem;
  font-weight: 900;
  line-height: 1.25;
}

.agenda-upcoming__event-time,
.agenda-upcoming__location {
  color: #64748b;
  font-size: .84rem;
  line-height: 1.45;
}

.agenda-upcoming__details {
  border-top: 1px solid #e2e8f0;
  padding: .85rem;
  background: #fbfdff;
  color: #334155;
  line-height: 1.6;
}

.agenda-upcoming__pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .45rem;
  margin-top: 1rem;
}

.agenda-upcoming__page.is-active {
  background: rgba(8, 145, 178, .14);
  color: rgb(8, 105, 130);
}

.agenda-upcoming__empty {
  border: 1px dashed #cbd5e1;
  border-radius: 18px;
  padding: 1rem;
  color: #64748b;
  background: #fff;
  font-weight: 700;
}

@media (max-width: 1199.98px) {
  .agenda-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .unused-agenda-banner {
    padding: 2.25rem 0 1.5rem;
  }

  .agenda-page {
    padding: 1.5rem 0 3rem;
  }

  .agenda-panel {
    padding: 1rem;
    border-radius: 20px;
  }

  .agenda-calendar__grid,
  .agenda-calendar__weekdays {
    gap: .35rem;
  }

  .agenda-calendar__day {
    min-height: 4rem;
    padding: .4rem;
    border-radius: 12px;
  }
}


.home-sections .home-section {
  position: relative;
  overflow: visible;
}

.home-sections .home-section:nth-of-type(odd) {
  background: linear-gradient(180deg, #ffffff 0%, #f9fbfc 100%);
}

.home-sections .home-section:nth-of-type(even) {
  background: linear-gradient(180deg, #f2f5f7 0%, #eef2f5 100%);
}

.home-sections .home-section::before,
.home-sections .home-section::after {
  content: none;
}

.home-sections .home-section>.container {
  position: relative;
  z-index: 1;
}

.sobre-slide {
  transition: opacity .7s ease;
}

.sobre-dot {
  width: 8px;
  height: 8px;
  border-radius: 9999px;
  transition: all .3s ease;
  background: rgba(14, 116, 144, .28);
  flex: 0 0 auto;
  border: none;
  cursor: pointer;
  padding: 0;
}

#sobre-dots .sobre-dot {
  background: rgba(255, 255, 255, .45);
}

.sobre-dot.is-active {
  width: 22px;
  background: rgb(14, 116, 144);
}

#sobre-dots .sobre-dot.is-active {
  background: rgba(255, 255, 255, 1);
}

.sobre-tab-btn {
  position: relative;
  width: 100%;
  padding: .75rem 1rem;
  border-radius: 999px;
  font-size: .875rem;
  font-weight: 600;
  color: #6b7280;
  background: transparent;
  border: none;
  cursor: pointer;
  transition: color .2s ease;
  white-space: nowrap;
  text-align: center;
}

.sobre-tab-btn.is-active {
  background: #fff;
  color: rgb(8 145 178);
  box-shadow: 0 4px 16px rgba(15, 23, 42, .10), 0 1px 4px rgba(15, 23, 42, .06);
}

.sobre-tab-btn:not(.is-active):hover {
  color: rgb(8 145 178);
}

.section-kicker {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .45rem .95rem;
  border-radius: 9999px;
  background: rgba(8, 145, 178, .08);
  color: rgb(14, 116, 144);
  border: 1px solid rgba(8, 145, 178, .14);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.section-kicker::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 9999px;
  background: currentColor;
  opacity: .9;
  flex-shrink: 0;
}

.faq-icon,
.testimonials-icon,
.especialidades-icon {
  width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(8, 145, 178, .08);
  color: rgb(14, 116, 144);
  border: 1px solid rgba(8, 145, 178, .14);
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
  transition: all .25s ease;
}

.faq-toggle:hover .faq-icon {
  background: rgba(8, 145, 178, .12);
  color: rgb(8 145 178);
  border-color: rgba(8, 145, 178, .18);
}

.section-wave-top,
.section-wave-bottom {
  position: absolute;
  left: 0;
  right: 0;
  line-height: 0;
  pointer-events: none;
  z-index: 0;
}

.section-wave-top {
  top: 0;
  transform: translateY(-100%);
}

.section-wave-bottom {
  bottom: 0;
  transform: translateY(100%);
}

.section-wave-top svg,
.section-wave-bottom svg {
  width: 100%;
  height: 80px;
  display: block;
}

@media (min-width: 640px) {

  .section-wave-top svg,
  .section-wave-bottom svg {
    height: 112px;
  }
}

.carousel-kicker-pagination,
.button-home {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  padding: .45rem .95rem;
  border-radius: 9999px;
  background: rgba(8, 145, 178, .08);
  color: rgb(14, 116, 144);
  border: 1px solid rgba(8, 145, 178, .14);
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.carousel-kicker-pagination .carousel-separator {
  width: 1px;
  height: 16px;
  background: rgba(8, 145, 178, .18);
}

.carousel-kicker-pagination .carousel-counter {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgb(14, 116, 144);
  white-space: nowrap;
}

.carousel-kicker-pagination .carousel-counter .muted {
  color: rgba(14, 116, 144, .45);
}

.carousel-kicker-pagination .carousel-dots {
  display: flex;
  align-items: center;
  gap: .5rem;
}

.carousel-kicker-pagination .carousel-dots button {
  width: 8px;
  height: 8px;
  border-radius: 9999px;
  background: rgba(14, 116, 144, .28);
  transition: all .25s ease;
  border: none;
  padding: 0;
  cursor: pointer;
}

.carousel-kicker-pagination .carousel-dots button.is-active {
  width: 22px;
  background: rgb(14, 116, 144);
}



#sobre-institucional .sobre-tab-btn {
  min-height: 42px;
}

#sobre-institucional .sobre-tab-content {
  min-height: 72px;
}

#sobre-institucional .sobre-carousel-badge {
  min-width: 92px;
  justify-content: center;
}

#numeros-atendimento .ui-position-relative.hero-gradient {
  /* max-width: 1120px; */
  margin-left: auto;
  margin-right: auto;
  border-radius: 30px;
  padding: clamp(1.5rem, 3vw, 3rem);
}

#numeros-atendimento #anos-carousel {
  min-width: 0;
  overflow: hidden;
}

#numeros-atendimento #anos-track {
  width: 100%;
  gap: 1rem;
  transform: none !important;
  transition: none !important;
}

#numeros-atendimento #anos-track>div {
  flex: 1 1 0;
  min-width: 0;
}

#numeros-atendimento .ano-tab {
  min-height: 48px;
  border: 0;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.9);
  font-weight: 800;
  letter-spacing: .01em;
}

#numeros-atendimento .ano-tab.is-active {
  background: #ffffff;
  color: rgb(14, 116, 144);
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.16);
}

#numeros-atendimento #contadores-grid {
  margin-top: clamp(1.75rem, 3vw, 2.75rem);
  align-items: stretch;
}

#numeros-atendimento #contadores-grid>article {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: .35rem;
  color: #fff;
}

#numeros-atendimento #contadores-grid>article>div:first-child {
  width: 64px;
  height: 64px;
  margin-bottom: 1.25rem;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  font-size: 1.55rem;
}

#numeros-atendimento #contadores-grid>article>div:nth-child(2) {
  color: #ffffff;
  font-size: clamp(2rem, 3.4vw, 2.5rem);
  font-weight: 600;
}

#numeros-atendimento #contadores-grid>article>div:nth-child(3) {
  color: rgba(255, 255, 255, .78);
  font-size: 1rem;
  font-weight: 500;
}




#parceiros {
  /*  background: linear-gradient(180deg, #f8fafc 0%, #f4f7fa 100%) !important; */
  overflow: hidden;
}

/* #parceiros .container {
        max-width: 1180px;
    } */

#parceiros .ui-mb-4xl {
  margin-bottom: 2.25rem;
  text-align: center;
}

#parceiros #partners-title {
  color: #0f172a;
  font-size: clamp(2rem, 3vw, 2.6rem);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -0.03em;
}

#parceiros #partners-title+p {
  max-width: 760px;
  margin: 1rem auto 0;
  color: #475569;
  font-size: clamp(1rem, 1.3vw, 1.15rem);
  line-height: 1.6;
}

#parceiros #parcerias-carousel {
  width: 100%;
  overflow: hidden;
}

#parceiros #parcerias-track {
  display: flex;
  align-items: stretch;
  gap: 1.5rem;
}

#parceiros #parcerias-track>div {
  flex: 0 0 calc((100% - 4.5rem) / 4);
  min-width: 0;
}

#parceiros #parcerias-track a,
#parceiros #parcerias-track a.partner-card {
  width: 100% !important;
  height: 112px !important;
  min-height: 112px !important;
  max-height: 112px !important;

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

  padding: 0 !important;
  overflow: hidden !important;

  border: 1px solid rgba(15, 23, 42, .06) !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  /*   box-shadow: 0 10px 26px rgba(15, 23, 42, .045) !important; */

  text-decoration: none !important;
  transition:
    transform .25s ease,
    box-shadow .25s ease,
    border-color .25s ease,
    background-color .25s ease !important;
}

#parceiros #parcerias-track a:hover,
#parceiros #parcerias-track a.partner-card:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(8, 145, 178, .18) !important;
  background: #ffffff !important;
  /* box-shadow: 0 18px 40px rgba(15, 23, 42, .08) !important; */
}

#parceiros #parcerias-track a>img,
#parceiros #parcerias-track a.partner-card>img,
#parceiros #parcerias-track img.partner-card__logo {
  width: auto !important;
  height: auto !important;

  min-width: 0 !important;
  min-height: 0 !important;

  max-width: 82% !important;
  max-height: 76px !important;

  object-fit: contain !important;
  object-position: center !important;

  display: block !important;
  margin: 0 auto !important;
  padding: 0 !important;

  filter: grayscale(1) saturate(0) !important;
  opacity: .72 !important;

  transform: none !important;
  transform-origin: center center !important;

  transition:
    filter .25s ease,
    opacity .25s ease !important;
}

#parceiros #parcerias-track a:hover>img,
#parceiros #parcerias-track a.partner-card:hover>img,
#parceiros #parcerias-track a:hover img.partner-card__logo {
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
}


@media (max-width: 767.98px) {
  #parceiros #parcerias-track {
    gap: 1rem;
  }

  #parceiros #parcerias-track>div {
    flex: 0 0 calc((100% - 1rem) / 2);
  }

  #parceiros #parcerias-track a,
  #parceiros #parcerias-track a.partner-card {
    height: 104px !important;
    min-height: 104px !important;
    max-height: 104px !important;
  }

  #parceiros #parcerias-track img.partner-card__logo {
    max-width: 84% !important;
    max-height: 68px !important;
  }
}


@media (max-width: 575.98px) {
  #parceiros #parcerias-track>div {
    flex: 0 0 100%;
  }

  #parceiros #parcerias-track a,
  #parceiros #parcerias-track a.partner-card {
    height: 106px !important;
    min-height: 106px !important;
    max-height: 106px !important;
  }
}



#parceiros {
  --partner-gap: 0px;
  --partner-items-per-page: 4;
}

#parceiros #parcerias-track {
  display: flex;
  gap: var(--partner-gap);
  transition: transform .45s ease;
  will-change: transform;
}

#parceiros #parcerias-track>div {
  flex: 0 0 calc((100% - (var(--partner-gap) * (var(--partner-items-per-page) - 1))) / var(--partner-items-per-page));
  min-width: 0;
  max-width: calc((100% - (var(--partner-gap) * (var(--partner-items-per-page) - 1))) / var(--partner-items-per-page));
}

#parceiros #parcerias-track a,
#parceiros #parcerias-track a.partner-card {
  width: 100% !important;
  height: 112px !important;
  min-height: 112px !important;
  max-height: 112px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(15, 23, 42, .06) !important;
  border-radius: 18px !important;
  background: #fff !important;
  /* box-shadow: 0 10px 26px rgba(15, 23, 42, .045) !important; */
  text-decoration: none !important;
}

#parceiros #parcerias-track img.partner-card__logo,
#parceiros #parcerias-track a>img {
  width: auto !important;
  height: auto !important;
  max-width: 82% !important;
  max-height: 76px !important;
  object-fit: contain !important;
  object-position: center !important;
  display: block !important;
  margin: 0 auto !important;
  transform: none !important;
}

@media (max-width: 767.98px) {
  #parceiros {
    --partner-gap: 0px;
    --partner-items-per-page: 2;
  }
}

@media (max-width: 575.98px) {
  #parceiros {
    --partner-gap: 0px;
    --partner-items-per-page: 1;
  }
}


.contact-cta-section {
  padding: clamp(3.75rem, 7vw, 6rem) 0;
  background: linear-gradient(135deg, #0f172a 0%, #164e63 50%, #0e7490 100%) !important;
  color: #ffffff;
  text-align: center;
}

.contact-cta-section .contact-cta__title {
  margin: 0;
  color: #ffffff;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.12;
}

.contact-cta-section .contact-cta__text {
  max-width: 720px;
  margin: 1.25rem auto 0;
  color: rgba(255, 255, 255, .82);
  font-size: clamp(1rem, 1.8vw, 1.25rem);
  line-height: 1.55;
}

.contact-cta-section .contact-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-top: 1.45rem;
}

.contact-cta-section .contact-cta__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  min-height: 48px;
  padding: .75rem 1.35rem;
  border-radius: 9999px;
  text-decoration: none;
  font-weight: 800;
  line-height: 1;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.contact-cta-section .contact-cta__button--phone {
  background: #ffffff;
  color: rgb(14, 116, 144);
}

.contact-cta-section .contact-cta__button--message {
  color: #ffffff;
  background: rgba(255, 255, 255, .10);
  border: 1px solid rgba(255, 255, 255, .22);
  backdrop-filter: blur(10px);
}

.contact-cta-section .contact-cta__button:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 36px rgba(15, 23, 42, .20);
}

@media (max-width: 767.98px) {
  #numeros-atendimento #anos-track>div {
    flex: 0 0 calc((100% - 1rem) / 2);
  }

  #numeros-atendimento #contadores-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #parceiros #parcerias-track>div {
    flex: 0 0 calc((100% - 1rem) / 2);
  }
}

@media (max-width: 575.98px) {
  #numeros-atendimento #contadores-grid {
    grid-template-columns: 1fr;
  }

  #parceiros #parcerias-track>div {
    flex: 0 0 100%;
  }

  .contact-cta-section .contact-cta__actions {
    flex-direction: column;
  }

  .contact-cta-section .contact-cta__button {
    width: 100%;
    max-width: 280px;
  }
}


.news-public-page {
  background: linear-gradient(180deg, #ffffff 0%, #f5f9fb 100%);
}

.unused-news-banner {
  padding: 3.25rem 0 2rem;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
  border-bottom: 1px solid rgba(14, 116, 144, .10);
}

.news-kicker {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .45rem .95rem;
  border-radius: 999px;
  background: rgba(8, 145, 178, .08);
  color: rgb(14, 116, 144);
  border: 1px solid rgba(8, 145, 178, .14);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.news-kicker::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: currentColor;
}

.unused-news-banner__title {
  margin: 1rem 0 .65rem;
  color: #0f172a;
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 900;
  line-height: 1.05;
}

.unused-news-banner__text {
  max-width: 820px;
  color: #475569;
  font-size: 1.06rem;
  line-height: 1.7;
  margin: .35rem 0 0;
}

.news-page,
.news-detail-page {
  padding: 2.2rem 0 4rem;
}

/* .news-toolbar {
  margin-bottom: 1.25rem;
  padding: .85rem;
  border: 1px solid rgba(8, 145, 178, .14);
  border-radius: 22px;
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 14px 34px rgba(15, 23, 42, .06);
  backdrop-filter: blur(10px);
} */

.news-toolbar .news-search--simple {
  display: block;
  position: relative;
  width: 100%;
}

.news-search__input,
.news-toolbar .news-search--simple .news-search__input {
  display: block;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: .78rem .95rem;
  border: 1px solid #cbd5e1;
  border-radius: 16px;
  background: #fff;
  color: #0f172a;
  outline: none;
  transition: .18s ease;
}

.news-search__input:focus {
  border-color: rgba(8, 145, 178, .45);
  box-shadow: 0 0 0 .2rem rgba(8, 145, 178, .10);
}

.news-card,
.news-detail-card,
.news-detail-section {
  border: 1px solid rgba(8, 145, 178, .14);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .08);
  overflow: hidden;
}

.news-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.news-card__image-wrap,
.news-detail-cover {
  position: relative;
  overflow: hidden;
  background: #f8fafc;
}

.news-card__image-wrap {
  aspect-ratio: 16 / 9;
}

.news-card__image,
.news-detail-cover__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.news-card__placeholder {
  height: 100%;
  min-height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgb(14, 116, 144);
  font-size: 2rem;
  background: rgba(8, 145, 178, .08);
}

.news-card__body,
.news-detail-body {
  padding: 1.15rem;
}

.news-card__top,
.news-detail-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  margin-bottom: .85rem;
}

.news-card__category,
.news-card__date,
.news-detail-meta__item {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  min-height: 1.8rem;
  padding: .25rem .6rem;
  border-radius: 999px;
  border: 1px solid rgba(8, 145, 178, .14);
  background: rgba(8, 145, 178, .08);
  color: rgb(14, 116, 144);
  font-size: .76rem;
  font-weight: 900;
}

.news-card__date,
.news-detail-meta__item {
  background: #f8fafc;
  border-color: #e2e8f0;
  color: #64748b;
}

.news-card__title,
.news-detail-section__title {
  margin: 0 0 .55rem;
  color: #0f172a;
  font-size: 1.08rem;
  font-weight: 900;
  line-height: 1.28;
}

.news-card__excerpt,
.news-detail-content {
  color: #334155;
  line-height: 1.7;
}

.news-card__excerpt {
  margin: 0 0 1rem;
  color: #64748b;
  font-size: .94rem;
}

.news-card__actions {
  margin-top: auto;
}

.news-card__link,
.news-share__link,
.news-file {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  border: 1px solid rgba(8, 145, 178, .18);
  border-radius: 999px;
  background: rgba(8, 145, 178, .08);
  color: rgb(14, 116, 144);
  padding: .62rem .9rem;
  font-weight: 900;
  text-decoration: none;
  transition: .18s ease;
}

.news-card__link:hover,
.news-share__link:hover,
.news-file:hover {
  background: rgba(8, 145, 178, .14);
  color: rgb(8, 105, 130);
  text-decoration: none;
  transform: translateY(-1px);
}

.news-detail-section {
  margin-top: 1rem;
  padding: 1.15rem;
}

.news-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .85rem;
}

.news-gallery__item {
  display: block;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid #e2e8f0;
  aspect-ratio: 4 / 3;
  background: #f8fafc;
}

.news-gallery__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.news-files,
.news-share {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}

.news-file {
  justify-content: space-between;
  border-radius: 18px;
}

.news-file__left {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  min-width: 0;
}

.news-file__name {
  overflow-wrap: anywhere;
}

.news-empty {
  border: 1px dashed #cbd5e1;
  border-radius: 18px;
  padding: 1rem;
  background: #fff;
  color: #64748b;
  font-weight: 700;
}

@media (max-width: 991.98px) {
  .news-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .unused-news-banner {
    padding: 2.25rem 0 1.5rem;
  }

  .news-page,
  .news-detail-page {
    padding: 1.5rem 0 3rem;
  }

  .news-card,
  .news-detail-card,
  .news-detail-section {
    border-radius: 20px;
  }

  .news-gallery {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 991.98px) {
  .news-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .unused-news-banner {
    padding: 2.25rem 0 1.5rem;
  }

  .news-page,
  .news-detail-page {
    padding: 1.5rem 0 3rem;
  }

  .news-card,
  .news-detail-card,
  .news-detail-section {
    border-radius: 20px;
  }

  .news-gallery {
    grid-template-columns: 1fr;
  }
}


.content-public-page {
  background: linear-gradient(180deg, #ffffff 0%, #f5f9fb 100%);
}

.unused-content-banner {
  padding: 3.25rem 0 2rem;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
  border-bottom: 1px solid rgba(14, 116, 144, .10);
}

.content-kicker {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .45rem .95rem;
  border-radius: 999px;
  background: rgba(8, 145, 178, .08);
  color: rgb(14, 116, 144);
  border: 1px solid rgba(8, 145, 178, .14);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.content-kicker::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: currentColor;
}

.unused-content-banner__title {
  margin: 1rem 0 .65rem;
  color: #0f172a;
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 900;
  line-height: 1.05;
}

.unused-content-banner__text {
  max-width: 820px;
  color: #475569;
  font-size: 1.06rem;
  line-height: 1.7;
  margin: .35rem 0 0;
}

.content-page {
  padding: 2.2rem 0 4rem;
}

.content-toolbar {
  position: sticky;
  top: 0;
  z-index: 10;
  margin-bottom: 1.25rem;
  padding: .85rem;
  border: 1px solid rgba(8, 145, 178, .14);
  border-radius: 22px;
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 14px 34px rgba(15, 23, 42, .06);
  backdrop-filter: blur(10px);
}

.content-toolbar #contentSearchForm,
.content-toolbar .content-search.content-search--simple {
  width: 100%;
}

.content-toolbar .content-search.content-search--simple {
  position: relative !important;
  display: block !important;
  max-width: none !important;
  grid-template-columns: none !important;
}

.content-toolbar .content-search__input,
.content-toolbar .content-search.content-search--simple .content-search__input {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 48px;
  margin: 0 !important;
  padding: .78rem .95rem !important;
  box-sizing: border-box;
  border: 1px solid #cbd5e1;
  border-radius: 16px;
  background: #fff;
  color: #0f172a;
  outline: none;
  transition: .18s ease;
}

.content-toolbar .content-search__input:focus {
  border-color: rgba(8, 145, 178, .45);
  box-shadow: 0 0 0 .2rem rgba(8, 145, 178, .10);
}

.content-sections-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1.25rem;
  align-items: start;
}

.content-section {
  grid-column: span 6;
  overflow: hidden;
  border: 1px solid rgba(8, 145, 178, .14);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .08);
}

.content-section--wide {
  grid-column: 1 / -1;
}

.content-section__toggle {
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .85rem;
  border: 0;
  border-bottom: 1px solid #e2e8f0;
  background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
  padding: 1rem 1.1rem;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.content-section__toggle:hover {
  background: #f8fafc;
}

.content-section__toggle-icon,
.content-folder__icon,
.content-info-item__icon,
.content-box-icon {
  width: 2.55rem;
  height: 2.55rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(8, 145, 178, .08);
  color: rgb(14, 116, 144);
  border: 1px solid rgba(8, 145, 178, .14);
  flex-shrink: 0;
}

.section-title,
.content-card__title {
  margin: 0;
  color: #0f172a;
  font-size: 1.12rem;
  font-weight: 900;
  line-height: 1.25;
}

.content-card__subtitle {
  margin: .2rem 0 0;
  color: #64748b;
  font-size: .92rem;
  line-height: 1.55;
}

.content-section__caret {
  color: rgb(14, 116, 144);
  transition: .18s ease;
}

.content-section:not(.is-open) .content-section__caret,
.content-section__toggle[aria-expanded="false"] .content-section__caret {
  transform: rotate(-90deg);
}

.content-section__body {
  padding: 1.1rem;
}

.content-model-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.content-card {
  min-width: 0;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  padding: 1rem;
  background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
  box-shadow: 0 14px 34px rgba(15, 23, 42, .06);
}

.content-card--wide {
  grid-column: 1 / -1;
}

.content-richtext {
  color: #334155;
  font-size: .98rem;
  line-height: 1.72;
}

.content-richtext :first-child {
  margin-top: 0;
}

.content-richtext :last-child {
  margin-bottom: 0;
}

.content-result-grid,
.team-cards-group,
.services-gallery__page .row {
  --bs-gutter-x: 1rem;
  --bs-gutter-y: 1rem;
}

.content-info-item,
.team-card,
.service-card {
  height: 100%;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .06);
}

.content-info-item {
  display: flex;
  align-items: flex-start;
  gap: .85rem;
  padding: 1rem;
}

.content-info-item__label {
  display: block;
  color: #0f172a;
  font-weight: 900;
  line-height: 1.25;
}

.content-info-item__value {
  display: block;
  margin-top: .25rem;
  color: #64748b;
  font-size: .92rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.content-info-item__value a {
  color: rgb(14, 116, 144);
  font-weight: 800;
  text-decoration: none;
}

.content-file-group,
.content-section__files,
.content-folder__files {
  display: grid;
  gap: .75rem;
}

.content-file {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: .9rem;
  background: #fff;
}

.content-file__main {
  display: flex !important;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: .24rem;
}

.content-file__name {
  color: #0f172a;
  font-weight: 900;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.content-file__name:hover,
.content-file__description[data-file-open="1"]:hover {
  color: rgb(14, 116, 144);
  text-decoration: none;
}

.content-file__description {
  margin-top: .2rem;
  color: #64748b;
  font-size: .9rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.content-file__meta {
  display: inline-flex;
  align-items: center;
  margin-top: .4rem;
  color: #64748b;
  font-size: .8rem;
  font-weight: 700;
}

.content-file__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .45rem;
  flex-shrink: 0;
}

.content-file__button,
.content-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-height: 2.25rem;
  padding: .48rem .75rem;
  border: 1px solid rgba(8, 145, 178, .18);
  border-radius: 999px;
  background: rgba(8, 145, 178, .08);
  color: rgb(14, 116, 144);
  font-size: .82rem;
  font-weight: 900;
  text-decoration: none;
  white-space: nowrap;
}

.content-file__button:hover,
.content-action:hover {
  background: rgba(8, 145, 178, .14);
  color: rgb(8, 105, 130);
  text-decoration: none;
}

.content-file__button.is-disabled {
  opacity: .55;
  cursor: not-allowed;
}

.content-folder__tree,
.pastas-tree {
  display: grid;
  gap: .75rem;
}

.content-folder {
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #fff;
  overflow: hidden;
}

.content-folder__toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .85rem;
  border: 0;
  background: #fff;
  padding: .9rem;
  color: inherit;
  text-align: left;
}

.content-folder__left {
  display: flex;
  align-items: center;
  gap: .75rem;
  min-width: 0;
}

.content-folder__name {
  display: block;
  color: #0f172a;
  font-weight: 900;
  line-height: 1.25;
}

.content-folder__meta {
  display: block;
  margin-top: .15rem;
  color: #64748b;
  font-size: .82rem;
  line-height: 1.4;
}

.content-folder__content {
  border-top: 1px solid #e2e8f0;
  padding: .9rem;
  background: #fbfdff;
}

.content-table-wrap {
  overflow-x: auto;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #fff;
}

.content-table {
  min-width: 720px;
  margin-bottom: 0;
  color: #334155;
}

.content-table thead th {
  background: #f8fafc;
  color: #0f172a;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
  border-bottom: 1px solid #e2e8f0;
}

.content-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  margin-top: 1rem;
}

.content-pagination__pages {
  display: inline-flex;
  flex-wrap: wrap;
  gap: .35rem;
}

.content-pagination__button,
.content-pagination__page {
  min-width: 2.25rem;
  height: 2.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(8, 145, 178, .18);
  border-radius: 999px;
  background: #fff;
  color: rgb(14, 116, 144);
  font-weight: 900;
}

.content-pagination__button:hover:not(:disabled),
.content-pagination__page:hover,
.content-pagination__page.is-active {
  background: rgba(8, 145, 178, .10);
  color: rgb(8, 105, 130);
}

.content-empty {
  border: 1px dashed #cbd5e1;
  border-radius: 18px;
  padding: 1rem;
  background: #fff;
  color: #64748b;
  font-weight: 700;
}

.content-empty--warning {
  border-color: rgba(245, 158, 11, .35);
  background: #fffbeb;
  color: #92400e;
}

.search-highlight {
  padding: .05rem .16rem;
  border-radius: .35rem;
  background: rgba(250, 204, 21, .35);
  color: inherit;
}


.service-card {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  /* padding: 1rem; */
  color: #0f172a;
  text-align: center;
  text-decoration: none;
  transition: .18s ease;
}

.service-card:hover {
  transform: translateY(-2px);
  color: rgb(14, 116, 144);
  text-decoration: none;
}

.service-card__icon,
.team-card__avatar-wrap {
  width: 3.1rem;
  height: 3.1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(8, 145, 178, .08);
  color: rgb(14, 116, 144);
  border: 1px solid rgba(8, 145, 178, .14);
  overflow: hidden;
  flex-shrink: 0;
}

.service-card__icon-img,
.team-card__avatar {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.service-card__title,
.team-card__title {
  margin: 0;
  color: #0f172a;
  font-size: .98rem;
  font-weight: 900;
  line-height: 1.28;
}

.team-card__body {
  padding: 1rem;
}

.team-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: 1rem;
}

.team-card__badge {
  display: inline-flex;
  align-items: center;
  min-height: 1.8rem;
  padding: .25rem .6rem;
  border-radius: 999px;
  border: 1px solid rgba(8, 145, 178, .14);
  background: rgba(8, 145, 178, .08);
  color: rgb(14, 116, 144);
  font-size: .75rem;
  font-weight: 900;
}

.team-card__avatar-fallback {
  display: none;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: rgb(14, 116, 144);
  font-weight: 900;
}

.team-card__avatar-fallback.is-visible {
  display: inline-flex;
}

.team-card__info-list {
  display: grid;
  gap: .65rem;
  padding: 0;
  margin: .85rem 0 0;
  list-style: none;
}

.team-card__info-list li {
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  color: #334155;
}

.team-card__icon {
  width: 2rem;
  height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(8, 145, 178, .08);
  color: rgb(14, 116, 144);
  flex-shrink: 0;
}

.team-card__label {
  display: block;
  color: #64748b;
  font-size: .76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.team-card__value {
  display: block;
  color: #334155;
  font-size: .9rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

@media (max-width: 1199.98px) {
  .content-section {
    grid-column: 1 / -1;
  }
}

@media (max-width: 991.98px) {
  .content-model-grid {
    grid-template-columns: 1fr;
  }

  .content-toolbar {
    position: relative;
    top: auto;
  }
}

@media (max-width: 767.98px) {
  .unused-content-banner {
    padding: 2.25rem 0 1.5rem;
  }

  .content-page {
    padding: 1.5rem 0 3rem;
  }

  .content-section,
  .content-card,
  .content-info-item,
  .content-file,
  .content-folder {
    border-radius: 18px;
  }

  .content-section__toggle,
  .content-section__body,
  .content-card {
    padding: 1rem;
  }

  .content-file {
    flex-direction: column;
  }

  .content-file__actions {
    width: 100%;
    justify-content: flex-start;
  }
}


#contact {
  padding: 56px 0;
  background: var(--theme-color-surface-muted);
}

#contact .contact-section-head {
  margin-bottom: 28px !important;
  justify-content: flex-start;
}

.contact-wrap {
  overflow: visible;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}

.contact-layout-row {
  --bs-gutter-x: 28px;
  --bs-gutter-y: 28px;
}

.contact-panel,
.contact-form {
  height: 100%;
  border-radius: var(--theme-radius-ui);
}


.contact-panel {
  position: relative;
  height: 100%;
  padding: 38px 34px;
  color: var(--theme-color-surface);
  background: var(--theme-color-primary);
}

.contact-panel>* {
  position: relative;
  z-index: 1;
}

.contact-panel__text {
  max-width: 95%;
  margin: 0 0 18px;
  color: rgb(var(--theme-color-surface-rgb) / 0.86);
  font-size: 0.92rem;
  line-height: 1.65;
}

.contact-info-list {
  display: grid;
  gap: 10px;
  margin: 0;
}

.contact-info-card {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 18px;
  background: rgb(var(--theme-color-surface-rgb) / 0.07);
  border: 1px solid rgb(var(--theme-color-surface-rgb) / 0.10);
  border-radius: var(--theme-radius-ui);
  backdrop-filter: blur(6px);
}

.contact-info-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  font-size: var(--theme-font-size-base);
  border-radius: var(--theme-radius-ui);
  background: rgb(var(--theme-color-surface-rgb) / 0.10);
}

.contact-info-card__title {
  display: block;
  margin: 0 0 3px;
  color: rgb(var(--theme-color-surface-rgb) / 0.70);
  font-size: 0.68rem;
  font-weight: 900;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.contact-info-card__text,
.contact-info-card__link {
  display: block;
  color: var(--theme-color-surface);
  font-size: 0.92rem;
  font-weight: 800;
  line-height: 1.38;
  text-decoration: none !important;
  word-break: break-word;
}

.contact-info-card__link:hover {
  color: var(--theme-color-highlight);
}

.contact-form {
  position: relative;
  padding: 28px;
  background: var(--theme-color-surface);
  border: 1px solid var(--theme-color-neutral-200);
  box-shadow: 0 14px 34px rgb(var(--theme-color-primary-alt-rgb) / 0.06);
}

.contact-form__head {
  margin-bottom: 20px;
}


.contact-form__title {
  margin-bottom: 8px;
  color: var(--theme-color-primary);
  font-size: 1.7rem;
  font-weight: var(--theme-font-weight-bold);
}

.contact-form__description {
  margin: 0;
  color: var(--theme-color-neutral-500);
  font-size: 0.92rem;
  line-height: 1.65;
}

.form-label-custom {
  display: inline-block;
  margin-bottom: 7px;
  color: var(--theme-color-primary);
  font-size: 0.68rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.form-control-custom,
.form-select-custom {
  width: 100%;
  min-height: 52px;
  padding: 12px 16px;
  color: var(--theme-color-text);
  font-size: 0.92rem;
  background: var(--theme-color-card-surface);
  border: 1px solid var(--theme-color-neutral-200);
  border-radius: var(--theme-radius-ui);
  transition: border-color var(--theme-transition-base), box-shadow var(--theme-transition-base), background-color var(--theme-transition-base);
}

.form-control-custom::placeholder {
  color: rgb(var(--theme-color-text-muted-rgb) / 0.58);
}

textarea.form-control-custom {
  min-height: 132px;
  resize: vertical;
}

.form-control-custom:focus,
.form-select-custom:focus {
  background: var(--theme-color-surface);
  border-color: rgb(var(--theme-color-accent-rgb) / 0.45);
  box-shadow: 0 0 0 4px rgb(var(--theme-color-accent-rgb) / 0.10);
}

.contact-form__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 4px;
  flex-wrap: wrap;
}

.contact-form__note {
  max-width: 460px;
  margin: 0;
  color: var(--theme-color-neutral-500);
  font-size: 0.82rem;
  line-height: 1.5;
}

.contact-form__submit {
  min-height: 52px;
  padding: 0 22px;
  border-radius: var(--theme-radius-pill);
  white-space: nowrap;
  box-shadow: none;
}

.contact-form__submit:hover {
  transform: translateY(-1px);
}

.contact-form__feedback {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 34px;
  gap: 12px;
  align-items: flex-start;
  margin: 18px 0 20px;
  padding: 14px 14px;
  border-radius: var(--theme-radius-ui);
  box-shadow: 0 14px 30px rgb(var(--theme-color-primary-alt-rgb) / 0.08);
  animation: contactFeedbackIn .22s ease both;
}

.contact-form__feedback[hidden] {
  display: none !important;
}

.contact-form__feedback.is-success {
  color: var(--theme-color-success-deep);
  background: var(--theme-color-success-surface);
}

.contact-form__feedback.is-warning {
  color: var(--theme-color-warning-text);
  background: var(--theme-color-warning-surface);
}

.contact-form__feedback.is-error {
  color: var(--theme-color-danger-deep);
  background: var(--theme-color-danger-surface);
}

.contact-form__feedback.is-info {
  color: var(--theme-color-primary-button);
  background: var(--theme-color-accent-surface-light);
}

.contact-form__feedback-icon {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  background: rgb(var(--theme-color-surface-rgb) / 0.72);
  font-size: 1.12rem;
}

.contact-form__feedback-content {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.contact-form__feedback-content>strong {
  display: block;
  font-size: .96rem;
  font-weight: 800;
  line-height: 1.25;
}

.contact-form__feedback-content>span {
  display: block;
  font-size: .88rem;
  line-height: 1.55;
}

.contact-form__feedback-content>span strong {
  display: inline;
  font-size: inherit;
  font-weight: 800;
  line-height: inherit;
}

.contact-form__feedback-close {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 10px;
  color: currentColor;
  background: rgb(var(--theme-color-surface-rgb) / 0.62);
  transition: var(--theme-transition-base);
}

.contact-form__feedback-close:hover {
  background: rgb(var(--theme-color-surface-rgb) / 0.9);
  transform: translateY(-1px);
}

.contact-form__sending {
  position: absolute;
  inset: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgb(var(--theme-color-surface-rgb) / 0.74);
  backdrop-filter: blur(3px);
  border-radius: inherit;
}

.contact-form__sending[hidden] {
  display: none !important;
}

.contact-form__sending-card {
  width: min(100%, 340px);
  display: grid;
  justify-items: center;
  gap: 8px;
  padding: 22px;
  text-align: center;
  color: var(--theme-color-primary);
  background: var(--theme-color-surface);
  border: 1px solid rgb(var(--theme-color-accent-rgb) / 0.14);
  border-radius: 18px;
  box-shadow: 0 22px 50px rgb(var(--theme-color-primary-alt-rgb) / 0.16);
  animation: contactFeedbackIn .2s ease both;
}

.contact-form__sending-card strong {
  font-size: var(--theme-font-size-base);
  font-weight: 800;
}

.contact-form__sending-card span:not(.contact-form__sending-spinner) {
  color: var(--theme-color-text-soft);
  font-size: .86rem;
  line-height: 1.5;
}

.contact-form__sending-spinner {
  width: 42px;
  height: 42px;
  display: inline-block;
  border-radius: 50%;
  border: 4px solid rgb(var(--theme-color-primary-alt-rgb) / 0.12);
  border-top-color: var(--theme-color-highlight);
  animation: contactSpin .8s linear infinite;
}

.contact-form__submit.is-loading {
  pointer-events: none;
  opacity: .86;
}

#homeContactForm.was-validated .form-control-custom:invalid,
#homeContactForm.was-validated .form-select-custom:invalid {
  border-color: var(--theme-color-danger);
  box-shadow: 0 0 0 .18rem rgb(var(--theme-color-danger-rgb) / .12);
}

@media (max-width: 991.98px) {

  .contact-panel,
  .contact-form {
    border-radius: 24px;
  }

  .contact-panel {
    min-height: auto;
  }
}

@media (max-width: 767.98px) {
  #contact {
    padding: 42px 0;
  }

  #contact .contact-section-head {
    margin-bottom: 22px !important;
  }

  .contact-layout-row {
    --bs-gutter-x: 20px;
    --bs-gutter-y: 20px;
  }

  .contact-panel,
  .contact-form {
    padding: 20px;
    border-radius: 20px;
  }

  .contact-info-card {
    padding: 14px;
    border-radius: 16px;
  }

  .contact-info-card__icon {
    width: 40px;
    height: 40px;
  }

  .contact-form__footer {
    flex-direction: column;
    align-items: stretch;
  }

  .contact-form__submit {
    width: 100%;
  }
}

@keyframes contactSpin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes contactFeedbackIn {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}


#contact {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(64px, 8vw, 104px) 0;
  background:
    radial-gradient(circle at 8% 12%, rgb(var(--theme-color-accent-rgb) / 0.18) 0%, transparent 28%),
    radial-gradient(circle at 92% 16%, rgb(var(--theme-color-success-rgb) / 0.14) 0%, transparent 26%),
    radial-gradient(circle at 50% 100%, rgb(var(--theme-color-primary-rgb) / 0.12) 0%, transparent 38%),
    linear-gradient(180deg, var(--theme-color-surface-muted) 0%, var(--theme-color-surface) 100%);
}

#contact::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background-image:
    linear-gradient(rgb(var(--theme-color-primary-rgb) / 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgb(var(--theme-color-primary-rgb) / 0.045) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(to bottom, transparent 0%, #000 18%, #000 72%, transparent 100%);
  opacity: .8;
}

#contact::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 520px;
  height: 520px;
  right: -220px;
  bottom: -260px;
  border-radius: 9999px;
  background: linear-gradient(135deg,
      rgb(var(--theme-color-accent-rgb) / 0.18),
      rgb(var(--theme-color-success-rgb) / 0.10));
  filter: blur(10px);
  pointer-events: none;
}

#contact .container {
  position: relative;
  z-index: 1;
}

#contact .contact-section-head {
  max-width: 1180px;
  margin: 0 auto 34px !important;
  justify-content: center;
  text-align: center;
}

#contact .contact-section-head>div {
  position: relative;
  display: inline-grid;
  justify-items: center;
  gap: 12px;
}

#contact .contact-section-head>div::before {
  content: "";
  display: block;
  width: 58px;
  height: 5px;
  border-radius: var(--theme-radius-pill);
  background: linear-gradient(90deg,
      var(--theme-color-accent),
      var(--theme-color-success));
  box-shadow: 0 10px 24px rgb(var(--theme-color-accent-rgb) / 0.24);
}

#contact .section-title {
  color: var(--theme-color-primary);
  font-size: clamp(2.15rem, 4vw, 3.25rem);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -0.045em;
}

.contact-wrap {
  position: relative;
  overflow: visible;
  margin: 0 auto;
  border-radius: 34px;
}

.contact-layout-row {
  --bs-gutter-x: 18px;
  --bs-gutter-y: 18px;
}

.contact-panel,
.contact-form {
  height: 100%;
  border-radius: 28px;
}



.contact-panel {
  position: relative;
  min-height: 100%;
  overflow: hidden;
  padding: clamp(26px, 3vw, 40px);
  color: var(--theme-color-surface);
  background:
    radial-gradient(circle at 18% 8%, rgb(var(--theme-color-accent-rgb) / 0.30) 0%, transparent 30%),
    radial-gradient(circle at 96% 12%, rgb(var(--theme-color-success-rgb) / 0.24) 0%, transparent 28%),
    linear-gradient(145deg,
      var(--theme-color-primary) 0%,
      var(--theme-color-primary-strong, var(--theme-color-primary)) 48%,
      var(--theme-color-primary-alt, var(--theme-color-primary)) 100%);
  border: 1px solid rgb(var(--theme-color-surface-rgb) / 0.14);
  box-shadow: 0 26px 58px rgb(var(--theme-color-primary-alt-rgb) / 0.24);
}

.contact-panel::before {
  content: "";
  position: absolute;
  width: 220px;
  height: 220px;
  top: -110px;
  right: -90px;
  border-radius: 9999px;
  background: rgb(var(--theme-color-surface-rgb) / 0.10);
  pointer-events: none;
}

.contact-panel::after {
  content: "";
  position: absolute;
  left: 34px;
  right: 34px;
  bottom: 0;
  height: 5px;
  border-radius: var(--theme-radius-pill) var(--theme-radius-pill) 0 0;
  background: linear-gradient(90deg,
      var(--theme-color-accent),
      var(--theme-color-success));
  pointer-events: none;
}

.contact-panel__text {
  position: relative;
  max-width: 95%;
  margin: 0 0 24px;
  padding: 0 0 22px;
  color: rgb(var(--theme-color-surface-rgb) / 0.86);
  font-size: 1rem;
  line-height: 1.72;
}

.contact-panel__text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 72px;
  height: 1px;
  background: rgb(var(--theme-color-surface-rgb) / 0.24);
}

.contact-info-list {
  display: grid;
  gap: 12px;
  margin: 0;
}

.contact-info-card {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 18px;
  overflow: hidden;
  background: rgb(var(--theme-color-surface-rgb) / 0.08);
  border: 1px solid rgb(var(--theme-color-surface-rgb) / 0.13);
  border-radius: 20px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition:
    transform var(--theme-transition-base),
    border-color var(--theme-transition-base),
    background-color var(--theme-transition-base),
    box-shadow var(--theme-transition-base);
}

.contact-info-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg,
      rgb(var(--theme-color-surface-rgb) / 0.13),
      transparent 52%);
  opacity: 0;
  transition: opacity var(--theme-transition-base);
  pointer-events: none;
}

.contact-info-card:hover {
  transform: translateY(-3px);
  background: rgb(var(--theme-color-surface-rgb) / 0.12);
  border-color: rgb(var(--theme-color-accent-rgb) / 0.32);
  box-shadow: 0 18px 34px rgb(0 0 0 / 0.12);
}

.contact-info-card:hover::before {
  opacity: 1;
}

.contact-info-card__icon {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 46px;
  height: 46px;
  color: var(--theme-color-surface);
  font-size: 1rem;
  border-radius: 16px;
  background:
    linear-gradient(135deg,
      rgb(var(--theme-color-accent-rgb) / 0.30),
      rgb(var(--theme-color-success-rgb) / 0.16));
  border: 1px solid rgb(var(--theme-color-surface-rgb) / 0.16);
  box-shadow: inset 0 1px 0 rgb(var(--theme-color-surface-rgb) / 0.18);
}

.contact-info-card>div:last-child {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.contact-info-card__title {
  display: block;
  margin: 0 0 5px;
  color: rgb(var(--theme-color-surface-rgb) / 0.68);
  font-size: 0.68rem;
  font-weight: 900;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.09em;
}

.contact-info-card__text,
.contact-info-card__link {
  display: block;
  color: var(--theme-color-surface);
  font-size: 0.96rem;
  font-weight: 850;
  line-height: 1.42;
  text-decoration: none !important;
  word-break: break-word;
}



.contact-form {
  position: relative;
  overflow: hidden;
  padding: clamp(26px, 3vw, 40px);
  background:
    linear-gradient(180deg, rgb(var(--theme-color-surface-rgb) / 0.98), var(--theme-color-surface) 100%);
  border: 1px solid rgb(var(--theme-color-primary-rgb) / 0.08);
  box-shadow: 0 20px 50px rgb(var(--theme-color-primary-alt-rgb) / 0.09);
}

.contact-form::before {
  content: "";
  position: absolute;
  top: 0;
  left: clamp(26px, 3vw, 40px);
  right: clamp(26px, 3vw, 40px);
  height: 5px;
  border-radius: 0 0 var(--theme-radius-pill) var(--theme-radius-pill);
  background: linear-gradient(90deg,
      var(--theme-color-accent),
      var(--theme-color-success));
}

.contact-form::after {
  content: "";
  position: absolute;
  width: 210px;
  height: 210px;
  right: -110px;
  top: -118px;
  border-radius: 9999px;
  background: rgb(var(--theme-color-accent-rgb) / 0.08);
  pointer-events: none;
}

.contact-form__head {
  position: relative;
  z-index: 1;
  margin-bottom: 24px;
}

.contact-form__title {
  margin-bottom: 10px;
  color: var(--theme-color-primary);
  font-size: clamp(1.85rem, 3vw, 2.45rem);
  font-weight: 900;
  line-height: 1.12;
  letter-spacing: -0.04em;
}

.contact-form__description {
  max-width: 720px;
  margin: 0;
  color: var(--theme-color-neutral-500);
  font-size: 0.96rem;
  line-height: 1.7;
}

#homeContactForm {
  position: relative;
  z-index: 1;
}

.form-label-custom {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  color: var(--theme-color-primary);
  font-size: 0.68rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.form-label-custom::before {
  content: "";
  width: 6px;
  height: 6px;
  flex: 0 0 auto;
  border-radius: 9999px;
  background: var(--theme-color-accent);
  box-shadow: 0 0 0 4px rgb(var(--theme-color-accent-rgb) / 0.10);
}

.form-control-custom,
.form-select-custom {
  width: 100%;
  min-height: 54px;
  padding: 13px 16px;
  color: var(--theme-color-text);
  font-size: 0.94rem;
  background: var(--theme-color-card-surface);
  border: 1px solid rgb(var(--theme-color-primary-rgb) / 0.10);
  border-radius: 18px;
  outline: none;
  box-shadow:
    inset 0 1px 0 rgb(var(--theme-color-surface-rgb) / 0.78),
    0 10px 20px rgb(var(--theme-color-primary-alt-rgb) / 0.025);
  transition:
    border-color var(--theme-transition-base),
    box-shadow var(--theme-transition-base),
    background-color var(--theme-transition-base),
    transform var(--theme-transition-base);
}

.form-select-custom {
  cursor: pointer;
}

textarea.form-control-custom {
  min-height: 148px;
  resize: vertical;
}

.form-control-custom:hover,
.form-select-custom:hover {
  border-color: rgb(var(--theme-color-accent-rgb) / 0.26);
  background: var(--theme-color-surface);
}

.form-control-custom:focus,
.form-select-custom:focus {
  background: var(--theme-color-surface);
  border-color: rgb(var(--theme-color-accent-rgb) / 0.58);
  box-shadow:
    0 0 0 4px rgb(var(--theme-color-accent-rgb) / 0.12),
    0 16px 34px rgb(var(--theme-color-primary-alt-rgb) / 0.08);
  transform: translateY(-1px);
}

.contact-form__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 8px;
  padding-top: 4px;
  flex-wrap: wrap;
}

.contact-form__note {
  position: relative;
  max-width: 480px;
  margin: 0;
  padding-left: 16px;
  color: var(--theme-color-neutral-500);
  font-size: 0.84rem;
  line-height: 1.55;
}

.contact-form__note::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.25rem;
  bottom: 0.25rem;
  width: 3px;
  border-radius: var(--theme-radius-pill);
  background: rgb(var(--theme-color-accent-rgb) / 0.32);
}

.contact-form__submit {
  min-height: 54px;
  padding: 0 24px;
  border: 0;
  border-radius: var(--theme-radius-pill);
  white-space: nowrap;
  color: var(--theme-color-surface) !important;
  background:
    linear-gradient(135deg,
      var(--theme-color-primary-button, var(--theme-color-primary)) 0%,
      var(--theme-color-primary) 55%,
      var(--theme-color-success) 135%) !important;
  box-shadow:
    0 18px 36px rgb(var(--theme-color-primary-rgb) / 0.22),
    inset 0 1px 0 rgb(var(--theme-color-surface-rgb) / 0.18);
  transition:
    transform var(--theme-transition-base),
    box-shadow var(--theme-transition-base),
    filter var(--theme-transition-base);
}

.contact-form__submit:hover {
  transform: translateY(-2px);
  filter: brightness(1.03);
  box-shadow:
    0 24px 46px rgb(var(--theme-color-primary-rgb) / 0.30),
    inset 0 1px 0 rgb(var(--theme-color-surface-rgb) / 0.20);
}

.contact-form__submit:active {
  transform: translateY(0);
}

.contact-form__submit-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}



.contact-form__feedback {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 34px;
  gap: 12px;
  align-items: flex-start;
  margin: 18px 0 20px;
  padding: 14px;
  border-radius: 18px;
  box-shadow: 0 16px 36px rgb(var(--theme-color-primary-alt-rgb) / 0.10);
  animation: contactFeedbackIn .22s ease both;
}

.contact-form__feedback-icon {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: rgb(var(--theme-color-surface-rgb) / 0.72);
  font-size: 1.12rem;
}

.contact-form__feedback-content>strong {
  display: block;
  font-size: .96rem;
  font-weight: 850;
  line-height: 1.25;
}

.contact-form__feedback-content>span strong {
  display: inline;
  font-size: inherit;
  font-weight: 850;
  line-height: inherit;
}

.contact-form__feedback-close {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 12px;
  color: currentColor;
  background: rgb(var(--theme-color-surface-rgb) / 0.62);
  transition: var(--theme-transition-base);
}



.contact-form__sending {
  position: absolute;
  inset: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgb(var(--theme-color-surface-rgb) / 0.74);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  border-radius: inherit;
}

.contact-form__sending-card {
  width: min(100%, 340px);
  display: grid;
  justify-items: center;
  gap: 8px;
  padding: 24px;
  text-align: center;
  color: var(--theme-color-primary);
  background: var(--theme-color-surface);
  border: 1px solid rgb(var(--theme-color-accent-rgb) / 0.16);
  border-radius: 22px;
  box-shadow: 0 26px 58px rgb(var(--theme-color-primary-alt-rgb) / 0.18);
  animation: contactFeedbackIn .2s ease both;
}

.contact-form__sending-card strong {
  font-size: var(--theme-font-size-base);
  font-weight: 850;
}

.contact-form__sending-spinner {
  width: 44px;
  height: 44px;
  display: inline-block;
  border-radius: 50%;
  border: 4px solid rgb(var(--theme-color-primary-alt-rgb) / 0.12);
  border-top-color: var(--theme-color-highlight);
  animation: contactSpin .8s linear infinite;
}

#homeContactForm.was-validated .form-control-custom:invalid,
#homeContactForm.was-validated .form-select-custom:invalid {
  border-color: var(--theme-color-danger);
  box-shadow:
    0 0 0 .18rem rgb(var(--theme-color-danger-rgb) / .12),
    0 14px 30px rgb(var(--theme-color-danger-rgb) / .08);
}



@media (max-width: 991.98px) {
  #contact {
    padding: 58px 0;
  }

  .contact-wrap {
    border-radius: 28px;
  }

  .contact-panel,
  .contact-form {
    min-height: auto;
    border-radius: 24px;
  }
}

@media (max-width: 767.98px) {
  #contact {
    padding: 46px 0;
  }

  #contact .contact-section-head {
    margin-bottom: 24px !important;
  }

  .contact-wrap {
    padding: 10px;
    border-radius: 24px;
  }

  .contact-layout-row {
    --bs-gutter-x: 16px;
    --bs-gutter-y: 16px;
  }

  .contact-panel,
  .contact-form {
    padding: 22px;
    border-radius: 20px;
  }

  .contact-info-card {
    padding: 14px;
    border-radius: 18px;
  }

  .contact-info-card__icon {
    width: 42px;
    height: 42px;
    border-radius: 15px;
  }

  .contact-form__footer {
    flex-direction: column;
    align-items: stretch;
  }

  .contact-form__submit {
    width: 100%;
  }
}

@media (max-width: 575.98px) {
  #contact .section-title {
    font-size: 2rem;
  }

  .contact-panel__text {
    max-width: 100%;
  }

  .contact-info-card {
    gap: 12px;
  }

  .contact-info-card__text,
  .contact-info-card__link {
    font-size: .9rem;
  }

  .contact-form__feedback {
    grid-template-columns: 38px minmax(0, 1fr);
  }

  .contact-form__feedback-close {
    grid-column: 1 / -1;
    width: 100%;
  }
}

@keyframes contactSpin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes contactFeedbackIn {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}


#contact,
#contact.home-section,
#contact.home-section--contact {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  padding: clamp(64px, 8vw, 104px) 0 !important;
  background:
    radial-gradient(circle at 8% 12%, rgba(0, 170, 177, .18) 0%, transparent 30%),
    radial-gradient(circle at 92% 14%, rgba(18, 183, 106, .16) 0%, transparent 28%),
    radial-gradient(circle at 50% 108%, rgba(0, 122, 133, .16) 0%, transparent 38%),
    linear-gradient(180deg, #eef5f8 0%, #f8fafc 100%) !important;
  color: #0d2538 !important;
}

#contact::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -2 !important;
  pointer-events: none !important;
  background-image:
    linear-gradient(rgba(13, 37, 56, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(13, 37, 56, .045) 1px, transparent 1px);
  background-size: 44px 44px;
  opacity: .75;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 18%, #000 72%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, #000 18%, #000 72%, transparent 100%);
}

#contact::after {
  content: "" !important;
  position: absolute !important;
  width: 520px !important;
  height: 520px !important;
  right: -230px !important;
  bottom: -250px !important;
  z-index: -1 !important;
  pointer-events: none !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, rgba(0, 170, 177, .20), rgba(18, 183, 106, .12));
  filter: blur(12px);
}

#contact .container {
  position: relative !important;
  z-index: 1 !important;
}

#contact .contact-section-head {
  justify-content: center !important;
  text-align: center !important;
  margin-bottom: 34px !important;
}

#contact .contact-section-head>div {
  display: inline-grid !important;
  justify-items: center !important;
  gap: 12px !important;
}

#contact .contact-section-head>div::before {
  content: "" !important;
  width: 58px !important;
  height: 5px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #00aab1, #12b76a) !important;
  box-shadow: 0 10px 24px rgba(0, 170, 177, .22) !important;
}

#contact .section-title {
  color: #0d2538 !important;
  font-size: clamp(2.15rem, 4vw, 3.25rem) !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.045em !important;
}


#contact .contact-layout-row {
  --bs-gutter-x: 18px;
  --bs-gutter-y: 18px;
}

#contact .contact-panel,
#contact .contact-form {
  height: 100% !important;
  border-radius: 28px !important;
}


#contact .contact-panel {
  position: relative !important;
  overflow: hidden !important;
  padding: clamp(26px, 3vw, 40px) !important;
  color: #ffffff !important;
  background:
    radial-gradient(circle at 18% 8%, rgba(0, 170, 177, .34) 0%, transparent 31%),
    radial-gradient(circle at 96% 12%, rgba(18, 183, 106, .25) 0%, transparent 28%),
    linear-gradient(145deg, #071827 0%, #0d2538 52%, #056774 100%) !important;
  border: 1px solid rgba(255, 255, 255, .14) !important;
  box-shadow: 0 26px 58px rgba(7, 24, 39, .24) !important;
}

#contact .contact-panel::before {
  content: "" !important;
  position: absolute !important;
  width: 220px !important;
  height: 220px !important;
  top: -110px !important;
  right: -90px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .10) !important;
  pointer-events: none !important;
}

#contact .contact-panel::after {
  content: "" !important;
  position: absolute !important;
  left: 34px !important;
  right: 34px !important;
  bottom: 0 !important;
  height: 5px !important;
  border-radius: 999px 999px 0 0 !important;
  background: linear-gradient(90deg, #00aab1, #12b76a) !important;
  pointer-events: none !important;
}

#contact .contact-panel>* {
  position: relative !important;
  z-index: 1 !important;
}

#contact .contact-panel__text {
  max-width: 95% !important;
  margin: 0 0 24px !important;
  padding-bottom: 22px !important;
  color: rgba(255, 255, 255, .86) !important;
  font-size: 1rem !important;
  line-height: 1.72 !important;
  border-bottom: 1px solid rgba(255, 255, 255, .18) !important;
}

#contact .contact-info-list {
  display: grid !important;
  gap: 12px !important;
  margin: 0 !important;
}

#contact .contact-info-card {
  position: relative !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  padding: 16px 18px !important;
  overflow: hidden !important;
  background: rgba(255, 255, 255, .08) !important;
  border: 1px solid rgba(255, 255, 255, .13) !important;
  border-radius: 20px !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  transition: transform .25s ease, border-color .25s ease, background-color .25s ease, box-shadow .25s ease !important;
}

#contact .contact-info-card:hover {
  transform: translateY(-3px) !important;
  background: rgba(255, 255, 255, .13) !important;
  border-color: rgba(0, 170, 177, .40) !important;
  box-shadow: 0 18px 34px rgba(0, 0, 0, .12) !important;
}

#contact .contact-info-card__icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  width: 46px !important;
  height: 46px !important;
  color: #ffffff !important;
  font-size: 1rem !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, rgba(0, 170, 177, .32), rgba(18, 183, 106, .18)) !important;
  border: 1px solid rgba(255, 255, 255, .16) !important;
}

#contact .contact-info-card__title {
  display: block !important;
  margin: 0 0 5px !important;
  color: rgba(255, 255, 255, .68) !important;
  font-size: .68rem !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  letter-spacing: .09em !important;
}

#contact .contact-info-card__text,
#contact .contact-info-card__link {
  display: block !important;
  color: #ffffff !important;
  font-size: .96rem !important;
  font-weight: 850 !important;
  line-height: 1.42 !important;
  text-decoration: none !important;
  word-break: break-word !important;
}

#contact .contact-info-card__link:hover {
  color: #6cffff !important;
}


#contact .contact-form {
  position: relative !important;
  overflow: hidden !important;
  padding: clamp(26px, 3vw, 40px) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, .98), #ffffff 100%) !important;
  border: 1px solid rgba(13, 37, 56, .08) !important;
  box-shadow: 0 20px 50px rgba(7, 24, 39, .09) !important;
}

#contact .contact-form::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: clamp(26px, 3vw, 40px) !important;
  right: clamp(26px, 3vw, 40px) !important;
  height: 5px !important;
  border-radius: 0 0 999px 999px !important;
  background: linear-gradient(90deg, #00aab1, #12b76a) !important;
}

#contact .contact-form::after {
  content: "" !important;
  position: absolute !important;
  width: 210px !important;
  height: 210px !important;
  right: -110px !important;
  top: -118px !important;
  border-radius: 999px !important;
  background: rgba(0, 170, 177, .08) !important;
  pointer-events: none !important;
}

#contact .contact-form__head,
#contact #homeContactForm,
#contact .contact-form__feedback {
  position: relative !important;
  z-index: 1 !important;
}

#contact .contact-form__title {
  margin-bottom: 10px !important;
  color: #0d2538 !important;
  font-size: clamp(1.85rem, 3vw, 2.45rem) !important;
  font-weight: 900 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.04em !important;
}

#contact .contact-form__description {
  max-width: 720px !important;
  margin: 0 !important;
  color: #64748b !important;
  font-size: .96rem !important;
  line-height: 1.7 !important;
}

#contact .form-label-custom {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 8px !important;
  color: #0d2538 !important;
  font-size: .68rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
}

#contact .form-label-custom::before {
  content: "" !important;
  width: 6px !important;
  height: 6px !important;
  flex: 0 0 auto !important;
  border-radius: 999px !important;
  background: #00aab1 !important;
  box-shadow: 0 0 0 4px rgba(0, 170, 177, .10) !important;
}

#contact .form-control-custom,
#contact .form-select-custom {
  width: 100% !important;
  min-height: 54px !important;
  padding: 13px 16px !important;
  color: #0d2538 !important;
  font-size: .94rem !important;
  background: #f8fafc !important;
  border: 1px solid rgba(13, 37, 56, .10) !important;
  border-radius: 18px !important;
  outline: none !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .78),
    0 10px 20px rgba(7, 24, 39, .025) !important;
  transition: border-color .25s ease, box-shadow .25s ease, background-color .25s ease, transform .25s ease !important;
}

#contact .form-control-custom::placeholder {
  color: rgba(71, 85, 105, .62) !important;
}

#contact textarea.form-control-custom {
  min-height: 148px !important;
  resize: vertical !important;
}

#contact .form-control-custom:hover,
#contact .form-select-custom:hover {
  border-color: rgba(0, 170, 177, .28) !important;
  background: #ffffff !important;
}

#contact .form-control-custom:focus,
#contact .form-select-custom:focus {
  background: #ffffff !important;
  border-color: rgba(0, 122, 133, .58) !important;
  box-shadow:
    0 0 0 4px rgba(0, 170, 177, .12),
    0 16px 34px rgba(7, 24, 39, .08) !important;
  transform: translateY(-1px) !important;
}

#contact .contact-form__footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin-top: 8px !important;
  padding-top: 4px !important;
  flex-wrap: wrap !important;
}

#contact .contact-form__note {
  position: relative !important;
  max-width: 480px !important;
  margin: 0 !important;
  padding-left: 16px !important;
  color: #64748b !important;
  font-size: .84rem !important;
  line-height: 1.55 !important;
}

#contact .contact-form__note::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: .25rem !important;
  bottom: .25rem !important;
  width: 3px !important;
  border-radius: 999px !important;
  background: rgba(0, 170, 177, .32) !important;
}

#contact .contact-form__submit,
#contact .button-primary.contact-form__submit {
  min-height: 54px !important;
  padding: 0 24px !important;
  border: 0 !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #007a85 0%, #0d2538 58%, #12b76a 145%) !important;
  box-shadow:
    0 18px 36px rgba(0, 122, 133, .24),
    inset 0 1px 0 rgba(255, 255, 255, .18) !important;
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease !important;
}

#contact .contact-form__submit:hover,
#contact .button-primary.contact-form__submit:hover {
  transform: translateY(-2px) !important;
  filter: brightness(1.03) !important;
  box-shadow:
    0 24px 46px rgba(0, 122, 133, .32),
    inset 0 1px 0 rgba(255, 255, 255, .20) !important;
}

#contact #homeContactForm.was-validated .form-control-custom:invalid,
#contact #homeContactForm.was-validated .form-select-custom:invalid {
  border-color: #f04438 !important;
  box-shadow:
    0 0 0 .18rem rgba(240, 68, 56, .12),
    0 14px 30px rgba(240, 68, 56, .08) !important;
}


#contact .contact-form__feedback {
  border-radius: 18px !important;
  box-shadow: 0 16px 36px rgba(7, 24, 39, .10) !important;
}

#contact .contact-form__feedback.is-success {
  color: #027a48 !important;
  background: #b7dcc8 !important;
}

#contact .contact-form__feedback.is-warning {
  color: #b54708 !important;
  background: #f3d38a !important;
}

#contact .contact-form__feedback.is-error {
  color: #7f1d1d !important;
  background: #f8c7c1 !important;
}

#contact .contact-form__feedback.is-info {
  color: #007a85 !important;
  background: #d8e6ed !important;
}

#contact .contact-form__sending-card {
  border-radius: 22px !important;
  color: #0d2538 !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 170, 177, .16) !important;
  box-shadow: 0 26px 58px rgba(7, 24, 39, .18) !important;
}

#contact .contact-form__sending-spinner {
  border-color: rgba(7, 24, 39, .12) !important;
  border-top-color: #00aab1 !important;
}


@media (max-width: 991.98px) {
  #contact {
    padding: 58px 0 !important;
  }

  #contact .contact-wrap {
    border-radius: 28px !important;
  }

  #contact .contact-panel,
  #contact .contact-form {
    min-height: auto !important;
    border-radius: 24px !important;
  }
}

@media (max-width: 767.98px) {
  #contact {
    padding: 46px 0 !important;
  }

  #contact .contact-section-head {
    margin-bottom: 24px !important;
  }

  #contact .contact-wrap {
    padding: 10px !important;
    border-radius: 24px !important;
  }

  #contact .contact-layout-row {
    --bs-gutter-x: 16px;
    --bs-gutter-y: 16px;
  }

  #contact .contact-panel,
  #contact .contact-form {
    padding: 22px !important;
    border-radius: 20px !important;
  }

  #contact .contact-info-card {
    padding: 14px !important;
    border-radius: 18px !important;
  }

  #contact .contact-info-card__icon {
    width: 42px !important;
    height: 42px !important;
    border-radius: 15px !important;
  }

  #contact .contact-form__footer {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  #contact .contact-form__submit {
    width: 100% !important;
  }
}

@media (max-width: 575.98px) {
  #contact .section-title {
    font-size: 2rem !important;
  }

  #contact .contact-panel__text {
    max-width: 100% !important;
  }

  #contact .contact-info-card {
    gap: 12px !important;
  }

  #contact .contact-info-card__text,
  #contact .contact-info-card__link {
    font-size: .9rem !important;
  }

  #contact .contact-form__feedback {
    grid-template-columns: 38px minmax(0, 1fr) !important;
  }

  #contact .contact-form__feedback-close {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }
}


.survey-page {
  background: linear-gradient(180deg, #ffffff 0%, #f5f9fb 100%);
}

.unused-survey-banner {
  padding: 3.25rem 0 2rem;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
  border-bottom: 1px solid rgba(14, 116, 144, .10);
}

.survey-kicker {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .45rem .95rem;
  border-radius: 999px;
  background: rgba(8, 145, 178, .08);
  color: rgb(14, 116, 144);
  border: 1px solid rgba(8, 145, 178, .14);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.survey-kicker::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: currentColor;
}

.unused-survey-banner__title {
  margin: 1rem 0 .65rem;
  color: #0f172a;
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 900;
  line-height: 1.05;
}

.unused-survey-banner__text {
  max-width: 820px;
  color: #475569;
  font-size: 1.06rem;
  line-height: 1.7;
}

.unused-survey-highlights {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.5rem;
}

.survey-highlight {
  border: 1px solid rgba(8, 145, 178, .14);
  background: rgba(255, 255, 255, .78);
  border-radius: 20px;
  padding: 1rem;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
  backdrop-filter: blur(8px);
}

.survey-highlight__inner {
  display: flex;
  align-items: center;
  gap: .75rem;
}

.survey-highlight__icon,
.survey-box-icon {
  width: 2.55rem;
  height: 2.55rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(8, 145, 178, .08);
  color: rgb(14, 116, 144);
  border: 1px solid rgba(8, 145, 178, .14);
  flex-shrink: 0;
}

.survey-highlight__title {
  color: #0f172a;
  font-weight: 900;
  line-height: 1.2;
}

.survey-highlight__text {
  margin-top: .15rem;
  color: #64748b;
  font-size: .82rem;
}

.survey-main {
  padding: 2.2rem 0 4rem;
}

.survey-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 390px;
  gap: 1.25rem;
  align-items: start;
}

.survey-card {
  border: 1px solid rgba(8, 145, 178, .14);
  background: #fff;
  border-radius: 24px;
  padding: 1.25rem;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .08);
}

.survey-form-stack {
  display: grid;
  gap: 1rem;
}

.survey-section {
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  padding: 1rem;
  background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
}

.survey-section__head {
  display: flex;
  align-items: flex-start;
  gap: .85rem;
  margin-bottom: 1rem;
}

.survey-section__title {
  margin: 0;
  color: #0f172a;
  font-size: 1.08rem;
  font-weight: 900;
}

.survey-section__desc {
  margin: .2rem 0 0;
  color: #64748b;
  font-size: .92rem;
  line-height: 1.5;
}

.survey-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .9rem;
}

.survey-field label,
.survey-label {
  display: block;
  margin-bottom: .35rem;
  color: #334155;
  font-size: .88rem;
  font-weight: 800;
}

.survey-required {
  color: #dc2626;
}

.survey-input {
  width: 100%;
  border: 1px solid #cbd5e1;
  border-radius: 14px;
  background: #fff;
  color: #0f172a;
  padding: .78rem .88rem;
  outline: none;
  transition: .18s ease;
}

.survey-input:focus {
  border-color: rgba(8, 145, 178, .45);
  box-shadow: 0 0 0 .2rem rgba(8, 145, 178, .10);
}

.survey-scale-labels {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: #64748b;
  font-size: .78rem;
  font-weight: 700;
  margin-bottom: .5rem;
}

.survey-scale-pills,
.survey-radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.survey-pill input,
.survey-scale-pill input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.survey-pill span,
.survey-scale-pill span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.35rem;
  padding: .48rem .8rem;
  border: 1px solid #cbd5e1;
  border-radius: 999px;
  background: #fff;
  color: #334155;
  font-weight: 800;
  transition: .18s ease;
  cursor: pointer;
}

.survey-scale-pill span {
  width: 2.45rem;
  padding: .48rem 0;
}

.survey-pill input:checked+span,
.survey-scale-pill input:checked+span {
  border-color: rgba(8, 145, 178, .55);
  background: rgba(8, 145, 178, .10);
  color: rgb(14, 116, 144);
}

.survey-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  flex-wrap: wrap;
}

.survey-note {
  color: #64748b;
  font-size: .86rem;
  line-height: 1.55;
  margin: 0 0 .9rem;
}

.survey-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  border: 1px solid rgba(8, 145, 178, .18);
  border-radius: 999px;
  background: rgba(8, 145, 178, .08);
  color: rgb(14, 116, 144);
  padding: .72rem 1rem;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
  transition: .18s ease;
}

.survey-button:hover {
  background: rgba(8, 145, 178, .14);
  color: rgb(8, 105, 130);
  text-decoration: none;
  transform: translateY(-1px);
}

.survey-button--solid {
  background: linear-gradient(135deg, rgb(8, 145, 178), rgb(14, 116, 144));
  color: #fff;
}

.survey-button--solid:hover {
  color: #fff;
}

.survey-alert {
  border-radius: 18px;
  padding: 1rem;
  margin-bottom: 1rem;
  border: 1px solid #bbf7d0;
  background: #ecfdf5;
  color: #166534;
}

.survey-alert--error {
  border-color: #fecaca;
  background: #fef2f2;
  color: #991b1b;
}

.survey-testimonial-extra.is-hidden {
  display: none;
}

.survey-public-testimonials {
  margin-top: 1.45rem;
}

.survey-testimonial-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.survey-testimonial-card {
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  padding: 1rem;
  background: #fff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .06);
}

.survey-testimonial-photo {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid #e2e8f0;
  margin-bottom: .75rem;
}

.survey-testimonial-text {
  color: #334155;
  line-height: 1.65;
}

.survey-testimonial-name {
  margin-top: .75rem;
  color: #0f172a;
  font-weight: 900;
}

@media (max-width: 1199.98px) {
  .survey-layout {
    grid-template-columns: 1fr;
  }

  .unused-survey-highlights,
  .survey-testimonial-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {

  .survey-grid-2,
  .unused-survey-highlights,
  .survey-testimonial-grid {
    grid-template-columns: 1fr;
  }

  .survey-card {
    padding: 1rem;
    border-radius: 20px;
  }
}


.sobre-page {
  background: linear-gradient(180deg, #ffffff 0%, #f5f9fb 100%);
}

.unused-about-banner {
  padding: 3.25rem 0 2rem;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
  border-bottom: 1px solid rgba(14, 116, 144, .10);
}

.sobre-kicker {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .45rem .95rem;
  border-radius: 999px;
  background: rgba(8, 145, 178, .08);
  color: rgb(14, 116, 144);
  border: 1px solid rgba(8, 145, 178, .14);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.sobre-kicker::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: currentColor;
}

.unused-about-banner__title {
  margin: 1rem 0 .65rem;
  color: #0f172a;
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 900;
  line-height: 1.05;
}

.unused-about-banner__text {
  max-width: 820px;
  color: #475569;
  font-size: 1.06rem;
  line-height: 1.7;
  margin: .35rem 0 0;
}

.unused-about-highlights {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.5rem;
}

.sobre-highlight,
.sobre-card,
.sobre-mini-card,
.sobre-governance-card {
  border: 1px solid rgba(8, 145, 178, .14);
  background: #fff;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .08);
}

.sobre-highlight {
  border-radius: 20px;
  padding: 1rem;
  background: rgba(255, 255, 255, .78);
  box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
  backdrop-filter: blur(8px);
}

.sobre-highlight__inner,
.sobre-section__head,
.sobre-governance-card__head {
  display: flex;
  align-items: center;
  gap: .85rem;
}

.sobre-highlight__inner {
  align-items: center;
  gap: .75rem;
}

.sobre-icon {
  width: 2.55rem;
  height: 2.55rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(8, 145, 178, .08);
  color: rgb(14, 116, 144);
  border: 1px solid rgba(8, 145, 178, .14);
  flex-shrink: 0;
}

.sobre-highlight__title {
  color: #0f172a;
  font-weight: 900;
  line-height: 1.2;
}

.sobre-highlight__text {
  margin-top: .15rem;
  color: #64748b;
  font-size: .82rem;
  line-height: 1.45;
}

.sobre-main {
  padding: 2.2rem 0 4rem;
}

.sobre-sections-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1.25rem;
  align-items: stretch;
}

.sobre-content-section {
  grid-column: span 6;
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.sobre-content-section--wide {
  grid-column: 1 / -1;
}

.sobre-content-section--wide .sobre-card-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sobre-card {
  border-radius: 24px;
  padding: 1.25rem;
}

.sobre-section__head {
  margin-bottom: 1rem;
}

.sobre-section__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin-bottom: .25rem;
  color: rgb(14, 116, 144);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.sobre-section__title {
  margin: 0;
  color: #0f172a;
  font-size: 1.18rem;
  font-weight: 900;
  line-height: 1.25;
}

.sobre-description {
  color: #334155;
  font-size: .98rem;
  line-height: 1.72;
}

.sobre-description :first-child {
  margin-top: 0;
}

.sobre-description :last-child {
  margin-bottom: 0;
}

.sobre-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .9rem;
  margin-top: 1rem;
}

.sobre-content-section .sobre-card-grid {
  margin-top: auto;
  padding-top: 1rem;
}

.sobre-mini-card {
  border-color: #e2e8f0;
  border-radius: 20px;
  padding: 1rem;
  background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
  box-shadow: 0 14px 34px rgba(15, 23, 42, .06);
}

.sobre-mini-card__title {
  margin: .75rem 0 .35rem;
  color: #0f172a;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.25;
}

.sobre-mini-card__text {
  margin: 0;
  color: #64748b;
  font-size: .9rem;
  line-height: 1.55;
}

.sobre-governance {
  margin-top: 1.45rem;
}

.sobre-governance__head {
  display: flex;
  align-items: flex-start;
  gap: .85rem;
  margin-bottom: 1rem;
}

.sobre-governance__title {
  margin: 0;
  color: #0f172a;
  font-size: 1.3rem;
  font-weight: 900;
  line-height: 1.25;
}

.sobre-governance__subtitle {
  margin: .2rem 0 0;
  color: #64748b;
  font-size: .94rem;
  line-height: 1.55;
}

.sobre-governance-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.sobre-governance-card {
  border-radius: 24px;
  padding: 1.15rem;
}

.sobre-governance-card__head {
  margin-bottom: 1rem;
}

.sobre-governance-card__title {
  margin: 0;
  color: #0f172a;
  font-size: 1.05rem;
  font-weight: 900;
  line-height: 1.25;
}

.sobre-governance-card__text {
  margin: .2rem 0 0;
  color: #64748b;
  font-size: .9rem;
  line-height: 1.5;
}

.sobre-table-wrap {
  overflow-x: auto;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #fff;
}

.sobre-table {
  width: 100%;
  min-width: 520px;
  margin: 0;
  border-collapse: collapse;
  color: #334155;
  font-size: .9rem;
}

.sobre-table th,
.sobre-table td {
  padding: .72rem .85rem;
  border-bottom: 1px solid #e2e8f0;
  text-align: left;
  vertical-align: top;
}

.sobre-table thead th {
  background: #f8fafc;
  color: #0f172a;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.sobre-table tbody tr:last-child td {
  border-bottom: 0;
}

.sobre-type-badge {
  display: inline-flex;
  align-items: center;
  min-height: 1.7rem;
  padding: .25rem .55rem;
  border-radius: 999px;
  border: 1px solid rgba(8, 145, 178, .14);
  background: rgba(8, 145, 178, .08);
  color: rgb(14, 116, 144);
  font-size: .75rem;
  font-weight: 900;
}

@media (max-width: 1199.98px) {

  .unused-about-highlights,
  .sobre-governance-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sobre-content-section--wide .sobre-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {

  .sobre-content-section,
  .sobre-content-section--wide {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767.98px) {
  .unused-about-banner {
    padding: 2.25rem 0 1.5rem;
  }

  .unused-about-highlights,
  .sobre-card-grid,
  .sobre-content-section--wide .sobre-card-grid,
  .sobre-governance-grid {
    grid-template-columns: 1fr;
  }

  .sobre-card,
  .sobre-governance-card {
    padding: 1rem;
    border-radius: 20px;
  }
}


.talent-page {
  background: linear-gradient(180deg, #ffffff 0%, #f5f9fb 100%);
}

.unused-talent-banner {
  padding: 3.25rem 0 2rem;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
  border-bottom: 1px solid rgba(14, 116, 144, .10);
}

.talent-kicker {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .45rem .95rem;
  border-radius: 999px;
  background: rgba(8, 145, 178, .08);
  color: rgb(14, 116, 144);
  border: 1px solid rgba(8, 145, 178, .14);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.talent-kicker::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: currentColor;
}

.unused-talent-banner__title {
  margin: 1rem 0 .65rem;
  color: #0f172a;
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 900;
  line-height: 1.05;
}

.unused-talent-banner__text {
  max-width: 820px;
  color: #475569;
  font-size: 1.06rem;
  line-height: 1.7;
  margin: .35rem 0 0;
}

.unused-talent-highlights {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.5rem;
}

.talent-highlight {
  border: 1px solid rgba(8, 145, 178, .14);
  background: rgba(255, 255, 255, .78);
  border-radius: 20px;
  padding: 1rem;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
  backdrop-filter: blur(8px);
}

.talent-highlight__inner {
  display: flex;
  align-items: center;
  gap: .75rem;
}

.talent-highlight__icon,
.talent-box-icon {
  width: 2.55rem;
  height: 2.55rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(8, 145, 178, .08);
  color: rgb(14, 116, 144);
  border: 1px solid rgba(8, 145, 178, .14);
  flex-shrink: 0;
}

.talent-highlight__title {
  color: #0f172a;
  font-weight: 900;
  line-height: 1.2;
}

.talent-highlight__text {
  margin-top: .15rem;
  color: #64748b;
  font-size: .82rem;
}

.talent-main {
  padding: 2.2rem 0 4rem;
}

.talent-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 390px;
  gap: 1.25rem;
  align-items: start;
}

.talent-card {
  border: 1px solid rgba(8, 145, 178, .14);
  background: #fff;
  border-radius: 24px;
  padding: 1.25rem;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .08);
}

.talent-form-stack {
  display: grid;
  gap: 1rem;
}

.talent-section {
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  padding: 1rem;
  background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
}

.talent-section__head {
  display: flex;
  align-items: flex-start;
  gap: .85rem;
  margin-bottom: 1rem;
}

.talent-section__title {
  margin: 0;
  color: #0f172a;
  font-size: 1.08rem;
  font-weight: 900;
}

.talent-section__desc {
  margin: .2rem 0 0;
  color: #64748b;
  font-size: .92rem;
  line-height: 1.5;
}

.talent-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .9rem;
}

.talent-field label,
.talent-label {
  display: block;
  margin-bottom: .35rem;
  color: #334155;
  font-size: .88rem;
  font-weight: 800;
}

.talent-required {
  color: #dc2626;
}

.talent-input {
  width: 100%;
  border: 1px solid #cbd5e1;
  border-radius: 14px;
  background: #fff;
  color: #0f172a;
  padding: .78rem .88rem;
  outline: none;
  transition: .18s ease;
}

.talent-input:focus {
  border-color: rgba(8, 145, 178, .45);
  box-shadow: 0 0 0 .2rem rgba(8, 145, 178, .10);
}

textarea.talent-input {
  resize: vertical;
  min-height: 118px;
}

.talent-help,
.talent-note {
  color: #64748b;
  font-size: .86rem;
  line-height: 1.55;
  margin: .45rem 0;
}

.talent-radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.talent-pill input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.talent-pill span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.35rem;
  padding: .48rem .8rem;
  border: 1px solid #cbd5e1;
  border-radius: 999px;
  background: #fff;
  color: #334155;
  font-weight: 800;
  transition: .18s ease;
  cursor: pointer;
}

.talent-pill input:checked+span {
  border-color: rgba(8, 145, 178, .55);
  background: rgba(8, 145, 178, .10);
  color: rgb(14, 116, 144);
}

.talent-consent {
  display: flex;
  gap: .7rem;
  align-items: flex-start;
  cursor: pointer;
}

.talent-consent input {
  margin-top: .35rem;
  accent-color: rgb(14, 116, 144);
}

.talent-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  flex-wrap: wrap;
}

.talent-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  border: 1px solid rgba(8, 145, 178, .18);
  border-radius: 999px;
  background: rgba(8, 145, 178, .08);
  color: rgb(14, 116, 144);
  padding: .72rem 1rem;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
  transition: .18s ease;
}

.talent-button:hover {
  background: rgba(8, 145, 178, .14);
  color: rgb(8, 105, 130);
  text-decoration: none;
  transform: translateY(-1px);
}

.talent-button--solid {
  background: linear-gradient(135deg, rgb(8, 145, 178), rgb(14, 116, 144));
  color: #fff;
}

.talent-button--solid:hover {
  color: #fff;
}

.talent-alert {
  border-radius: 18px;
  padding: 1rem;
  margin-bottom: 1rem;
  border: 1px solid #bbf7d0;
  background: #ecfdf5;
  color: #166534;
}

.talent-alert--error {
  border-color: #fecaca;
  background: #fef2f2;
  color: #991b1b;
}

.talent-alert strong {
  display: block;
  margin-bottom: .15rem;
}

.talent-sidebar-list {
  display: grid;
  gap: .75rem;
  margin-top: 1rem;
}

.talent-sidebar-item {
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: .9rem;
  background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
}

.talent-sidebar-item__inner {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
}

.talent-sidebar-item h4 {
  margin: 0;
  color: #0f172a;
  font-size: .98rem;
  font-weight: 900;
}

.talent-sidebar-item p {
  margin: .2rem 0 0;
  color: #64748b;
  font-size: .86rem;
  line-height: 1.5;
}

.talent-important {
  margin-top: 1rem;
  border: 1px solid rgba(8, 145, 178, .18);
  background: rgba(8, 145, 178, .06);
  border-radius: 18px;
  padding: 1rem;
}

.talent-important__title {
  color: #0f172a;
  font-weight: 900;
  margin-bottom: .25rem;
}

.talent-important p {
  margin: 0;
  color: #475569;
  font-size: .9rem;
  line-height: 1.55;
}

.talent-sidebar-button {
  width: 100%;
  margin-top: 1rem;
}

@media (max-width: 1199.98px) {
  .talent-layout {
    grid-template-columns: 1fr;
  }

  .unused-talent-highlights {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {

  .talent-grid-2,
  .unused-talent-highlights {
    grid-template-columns: 1fr;
  }

  .talent-card {
    padding: 1rem;
    border-radius: 20px;
  }

  .unused-talent-banner {
    padding: 2.25rem 0 1.5rem;
  }

  .talent-actions {
    align-items: stretch;
  }

  .talent-button {
    width: 100%;
  }
}


.cls5-1 {
  fill-rule: evenodd
}

.cls5-1,
.cls5-2 {
  fill: #fff;
  stroke-width: 0
}

@keyframes floating {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-10px);
  }
}


.button-menu {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.45rem 0.95rem;
  border-radius: 9999px;
  background: rgba(8, 145, 178, 0.08);
  color: rgb(14, 116, 144);
  border: 1px solid rgba(8, 145, 178, 0.14);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.button-menu-hover {
  transition: all 0.25s ease;
}

.button-menu-hover:hover {
  background: rgba(8, 145, 178, 0.08);
  color: rgb(14, 116, 144);
  border-color: rgba(8, 145, 178, 0.14);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.layout-dropdown-holder {
  position: relative;
}

.layout-dropdown-button {
  border: 0;
  cursor: pointer;
  background-color: transparent;
}

.layout-dropdown-menu {
  min-width: 240px;
  pointer-events: none;
}

.layout-dropdown-holder:hover>.layout-dropdown-menu,
.layout-dropdown-holder.is-open>.layout-dropdown-menu {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
  pointer-events: auto;
}

.layout-dropdown-menu ul,
.layout-dropdown-menu li {
  list-style: none;
}

.layout-dropdown-menu a {
  text-decoration: none;
}

@media (max-width: 640px) {
  .whatsapp-fab {
    right: 1rem;
    bottom: 1rem;
    width: 58px;
    height: 58px;
  }

  .whatsapp-tooltip {
    display: none;
  }
}


.section-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.45rem 0.95rem;
  border-radius: 9999px;
  background: rgba(8, 145, 178, 0.08);
  color: rgb(14, 116, 144);
  border: 1px solid rgba(8, 145, 178, 0.14);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.section-kicker::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 9999px;
  background: currentColor;
  opacity: 0.9;
  flex-shrink: 0;
}


.faq-icon,
.testimonials-icon,
.sobre-icon,
.servicos-icon,
.membros-icon,
.pesquisa-icon,
.contato-icon {
  width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(8, 145, 178, 0.08);
  color: rgb(14, 116, 144);
  border: 1px solid rgba(8, 145, 178, 0.14);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  transition: all 0.25s ease;
}

.faq-toggle:hover .faq-icon {
  background: rgba(8, 145, 178, 0.12);
  color: rgb(8, 145, 178);
  border-color: rgba(8, 145, 178, 0.18);
}

@media (min-width: 640px) {

  .section-wave-top svg,
  .section-wave-bottom svg {
    height: 112px;
  }
}


.button-home {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.45rem 0.95rem;
  border-radius: 9999px;
  background: rgba(8, 145, 178, 0.08);
  color: rgb(14, 116, 144);
  border: 1px solid rgba(8, 145, 178, 0.14);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.doacao-icon,
.faq-icon {
  width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(8, 145, 178, 0.08);
  color: rgb(14, 116, 144);
  border: 1px solid rgba(8, 145, 178, 0.14);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  transition: all 0.25s ease;
}

.section-wave-top {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  transform: translateY(-100%);
  line-height: 0;
  pointer-events: none;
  z-index: 0;
}

.section-wave-top svg {
  width: 100%;
  height: 80px;
  display: block;
}

@media (min-width: 640px) {
  .section-wave-top svg {
    height: 112px;
  }
}

.sobre-dot {
  width: 10px;
  height: 10px;
  border-radius: 9999px;
  transition: all .3s ease;
}


.sobre-tab-btn {
  position: relative;
  width: 100%;
  padding: 0.75rem 1rem;
  border-radius: 999px;
  font-size: 0.875rem;
  font-weight: 600;
  color: #6b7280;
  background: transparent;
  border: none;
  cursor: pointer;
  transition: color 0.2s ease;
  white-space: nowrap;
  text-align: center;
}

.sobre-tab-btn.is-active {
  background: #ffffff;
  color: rgb(8 145 178);
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.10), 0 1px 4px rgba(15, 23, 42, 0.06);
}


.sobre-slide {
  transition: opacity 0.7s ease;
}

.sobre-dot {
  width: 8px;
  height: 8px;
  border-radius: 9999px;
  transition: all 0.3s ease;
  background: rgba(255, 255, 255, 0.45);
  flex: 0 0 auto;
  border: none;
  cursor: pointer;
  padding: 0;
}

.sobre-dot.is-active {
  width: 22px;
  background: rgba(255, 255, 255, 1);
}


.sobre-stat-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.sobre-stat-value {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  background: linear-gradient(135deg, rgb(8 145 178), rgb(20 184 166));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.sobre-stat-label {
  font-size: 0.75rem;
  color: #6b7280;
  font-weight: 500;
  line-height: 1.3;
}


.sobre-badge-anos {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  z-index: 20;
  background: rgba(15, 23, 42, 0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 0.875rem;
  border: 1px solid rgba(255, 255, 255, 0.15);
  padding: 0.625rem 0.875rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.sobre-badge-anos .anos-num {
  font-size: 1.375rem;
  font-weight: 800;
  line-height: 1;
  color: #ffffff;
}

.sobre-badge-anos .anos-sep {
  width: 1px;
  height: 28px;
  background: rgba(255, 255, 255, 0.25);
  flex-shrink: 0;
}

.sobre-badge-anos .anos-label {
  font-size: 0.6rem;
  color: rgba(255, 255, 255, 0.75);
  font-weight: 600;
  line-height: 1.35;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  max-width: 64px;
}

.section-kicker-news {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  background: rgba(8, 145, 178, 0.08);
  color: rgb(14, 116, 144);
  border: 1px solid rgba(8, 145, 178, 0.14);
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 700;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}


.faq-icon,
.testimonials-icon,
.especialidades-icon {
  width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(8, 145, 178, 0.08);
  color: rgb(14, 116, 144);
  border: 1px solid rgba(8, 145, 178, 0.14);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  transition: all 0.25s ease;
}

@media (min-width: 640px) {

  .section-wave-top svg,
  .section-wave-bottom svg {
    height: 112px;
  }
}


.pesquisa-tab {
  width: 100%;
  border-radius: 9999px;
  padding: 0.85rem 1rem;
  font-size: 0.875rem;
  font-weight: 600;
  border: 1px solid transparent;
  transition: all 0.25s ease;
  white-space: nowrap;
}

.pesquisa-tab.is-active {
  background: #ffffff;
  color: rgb(14 116 144);
  border-color: rgba(8, 145, 178, 0.12);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}

.pesquisa-tab:not(.is-active) {
  background: rgba(255, 255, 255, 0.55);
  color: #475569;
  border-color: rgba(148, 163, 184, 0.18);
}

.pesquisa-tab:not(.is-active):hover {
  color: rgb(8 145 178);
  background: rgba(255, 255, 255, 0.82);
}

.pesquisa-pane.hidden {
  display: none;
}


.carousel-kicker-pagination,
.button-home {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.45rem 0.95rem;
  border-radius: 9999px;
  background: rgba(8, 145, 178, 0.08);
  color: rgb(14, 116, 144);
  border: 1px solid rgba(8, 145, 178, 0.14);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.carousel-kicker-pagination .carousel-separator {
  width: 1px;
  height: 16px;
  background: rgba(8, 145, 178, 0.18);
}

.carousel-kicker-pagination .carousel-counter {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgb(14, 116, 144);
  white-space: nowrap;
}

.carousel-kicker-pagination .carousel-counter .muted {
  color: rgba(14, 116, 144, 0.45);
}

.carousel-kicker-pagination .carousel-dots {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.carousel-kicker-pagination .carousel-dots button,
.carousel-kicker-pagination .carousel-dots .dot {
  width: 8px;
  height: 8px;
  border-radius: 9999px;
  background: rgba(14, 116, 144, 0.28);
  transition: all 0.25s ease;
  border: none;
  padding: 0;
  cursor: pointer;
}

.carousel-kicker-pagination .carousel-dots button.active,
.carousel-kicker-pagination .carousel-dots .dot.active,
.carousel-kicker-pagination .carousel-dots button.is-active,
.carousel-kicker-pagination .carousel-dots .dot.is-active {
  width: 22px;
  background: rgb(14, 116, 144);
}


.faq-icon,
.testimonials-icon,
.sobre-icon,
.servicos-icon,
.membros-icon {
  width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(8, 145, 178, 0.08);
  color: rgb(14, 116, 144);
  border: 1px solid rgba(8, 145, 178, 0.14);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  transition: all 0.25s ease;
}

@media (min-width: 640px) {

  .section-wave-top svg,
  .section-wave-bottom svg {
    height: 112px;
  }
}

.news-detail-image {
  aspect-ratio: 16 / 8;
}

.news-body p+p {
  margin-top: .95rem;
}

@media (min-width: 640px) {
  .section-wave-top svg {
    height: 112px;
  }
}

.news-card-image {
  aspect-ratio: 16 / 10;
}


.faq-icon,
.testimonials-icon,
.sobre-icon,
.servicos-icon,
.membros-icon,
.pesquisa-icon {
  width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(8, 145, 178, 0.08);
  color: rgb(14, 116, 144);
  border: 1px solid rgba(8, 145, 178, 0.14);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  transition: all 0.25s ease;
}

@media (min-width: 640px) {

  .section-wave-top svg,
  .section-wave-bottom svg {
    height: 112px;
  }
}


.faq-icon,
.testimonials-icon,
.sobre-icon,
.servicos-icon {
  width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(8, 145, 178, 0.08);
  color: rgb(14, 116, 144);
  border: 1px solid rgba(8, 145, 178, 0.14);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  transition: all 0.25s ease;
}

@media (min-width: 640px) {

  .section-wave-top svg,
  .section-wave-bottom svg {
    height: 112px;
  }
}


.sobre-unidade-tab {
  width: 100%;
  border-radius: 9999px;
  padding: 0.85rem 1rem;
  font-size: 0.875rem;
  font-weight: 600;
  border: 1px solid transparent;
  transition: all 0.25s ease;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sobre-unidade-tab.is-active {
  background: #ffffff;
  color: rgb(14 116 144);
  border-color: rgba(8, 145, 178, 0.12);
}

.sobre-unidade-tab:not(.is-active) {
  background: rgba(255, 255, 255, 0.55);
  color: #475569;
  border-color: rgba(148, 163, 184, 0.18);
}

.sobre-unidade-tab:not(.is-active):hover {
  color: rgb(8 145 178);
  background: rgba(255, 255, 255, 0.82);
}


.faq-icon,
.testimonials-icon,
.sobre-icon {
  width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(8, 145, 178, 0.08);
  color: rgb(14, 116, 144);
  border: 1px solid rgba(8, 145, 178, 0.14);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  transition: all 0.25s ease;
}

@media (min-width: 640px) {

  .section-wave-top svg,
  .section-wave-bottom svg {
    height: 112px;
  }
}

.faq-icon,
.testimonials-icon,
.sobre-icon,
.servicos-icon,
.membros-icon,
.pesquisa-icon,
.trabalhe-icon {
  width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(8, 145, 178, 0.08);
  color: rgb(14, 116, 144);
  border: 1px solid rgba(8, 145, 178, 0.14);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  transition: all 0.25s ease;
}

@media (min-width: 640px) {

  .section-wave-top svg,
  .section-wave-bottom svg {
    height: 112px;
  }
}


.faq-icon,
.testimonials-icon,
.sobre-icon,
.servicos-icon,
.membros-icon,
.pesquisa-icon,
.contato-icon,
.transparencia-icon {
  width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(8, 145, 178, 0.08);
  color: rgb(14, 116, 144);
  border: 1px solid rgba(8, 145, 178, 0.14);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  transition: all 0.25s ease;
}

@media (min-width: 640px) {

  .section-wave-top svg,
  .section-wave-bottom svg {
    height: 112px;
  }
}

.transparencia-icon {
  width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(8, 145, 178, 0.08);
  color: rgb(14, 116, 144);
  border: 1px solid rgba(8, 145, 178, 0.14);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  transition: all 0.25s ease;
}

@media (min-width: 640px) {

  .section-wave-top svg,
  .section-wave-bottom svg {
    height: 112px;
  }
}

@keyframes floating {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-10px);
  }
}

.hero .hero__panel--info-card,
.hero__panel--info-card {
  overflow: visible !important;
}

.hero .hero__panel--info-card .hero__info-card,
.hero__panel--info-card .hero__info-card,
.hero .hero__info-card--animated,
.hero__info-card--animated {
  position: relative;
  isolation: isolate;
  overflow: visible !important;
  transform-origin: center center;
  will-change: transform, box-shadow, filter;
  animation: cemabHeroInfoCardFloat 3s ease-in-out infinite !important;
}

.hero .hero__panel--info-card .hero__info-card::before,
.hero__panel--info-card .hero__info-card::before,
.hero .hero__info-card--animated::before,
.hero__info-card--animated::before {
  content: none !important;
  display: none !important;
  animation: none !important;
}

.hero .hero__panel--info-card .hero__info-card::after,
.hero__panel--info-card .hero__info-card::after,
.hero .hero__info-card--animated::after,
.hero__info-card--animated::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 70%;
  aspect-ratio: 1;
  z-index: -1;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(255, 255, 255, .36), rgba(255, 255, 255, 0) 68%);
  opacity: .35;
  transform: translate(-50%, -50%) scale(.9);
  animation: cemabHeroInfoCardGlow 2s ease-in-out infinite !important;
  pointer-events: none;
}

.hero .hero__panel--info-card .hero__info-card-icon,
.hero__panel--info-card .hero__info-card-icon,
.hero .hero__info-card-icon--pulse,
.hero__info-card-icon--pulse {
  position: relative;
  isolation: isolate;
  transform-origin: center center;
  will-change: transform, filter;
}

.hero .hero__panel--info-card .hero__info-card-icon::before,
.hero__panel--info-card .hero__info-card-icon::before,
.hero .hero__info-card-icon--pulse::before,
.hero__info-card-icon--pulse::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 8.5rem;
  height: 8.5rem;
  z-index: -1;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(255, 255, 255, .32), rgba(255, 255, 255, 0) 66%);
  transform: translate(-50%, -50%) scale(.72);
  animation: cemabHeroHeartHalo 1.25s ease-in-out infinite !important;
  pointer-events: none;
}

.hero .hero__panel--info-card .hero__info-card-icon i,
.hero__panel--info-card .hero__info-card-icon i,
.hero .hero__info-card-icon--pulse i,
.hero__info-card-icon--pulse i {
  display: inline-block;
  transform-origin: center center;
  will-change: transform, filter;
  animation: cemabHeroHeartBeat 1.08s ease-in-out infinite !important;
}

.hero .hero__panel--info-card .hero__info-card-pill--years,
.hero__panel--info-card .hero__info-card-pill--years,
.hero .hero__info-card-pill--float-top,
.hero__info-card-pill--float-top {
  will-change: transform;
  animation: cemabHeroPillTop 2.35s ease-in-out infinite !important;
}

.hero .hero__panel--info-card .hero__info-card-pill--attendance,
.hero__panel--info-card .hero__info-card-pill--attendance,
.hero .hero__info-card-pill--float-bottom,
.hero__info-card-pill--float-bottom {
  will-change: transform;
  animation: cemabHeroPillBottom 2.55s ease-in-out infinite !important;
}

.hero .hero__panel--info-card .hero__info-card-pill strong,
.hero__panel--info-card .hero__info-card-pill strong,
.hero .hero__info-card--animated .hero__info-card-pill strong,
.hero__info-card--animated .hero__info-card-pill strong {
  display: inline-block;
  transform-origin: center center;
  will-change: transform;
  animation: cemabHeroPillValuePulse 1.42s ease-in-out infinite !important;
}

@keyframes cemabHeroInfoCardFloat {

  0%,
  100% {
    transform: translate3d(0, 0, 0) scale(1);
    filter: drop-shadow(0 18px 34px rgba(2, 6, 23, .14));
  }

  50% {
    transform: translate3d(0, -16px, 0) scale(1.018);
    filter: drop-shadow(0 30px 52px rgba(2, 6, 23, .24));
  }
}


@keyframes cemabHeroInfoCardGlow {

  0%,
  100% {
    opacity: .24;
    transform: translate(-50%, -50%) scale(.86);
  }

  50% {
    opacity: .68;
    transform: translate(-50%, -50%) scale(1.16);
  }
}

@keyframes cemabHeroHeartBeat {

  0%,
  100% {
    transform: scale(1);
    filter: drop-shadow(0 0 0 rgba(255, 255, 255, 0));
  }

  10% {
    transform: scale(1.36);
    filter: drop-shadow(0 0 20px rgba(255, 255, 255, .62));
  }

  22% {
    transform: scale(.88);
  }

  35% {
    transform: scale(1.25);
    filter: drop-shadow(0 0 26px rgba(255, 255, 255, .54));
  }

  52% {
    transform: scale(.96);
  }

  70% {
    transform: scale(1.1);
  }
}

@keyframes cemabHeroHeartHalo {

  0%,
  100% {
    opacity: .12;
    transform: translate(-50%, -50%) scale(.72);
  }

  46% {
    opacity: .72;
    transform: translate(-50%, -50%) scale(1.46);
  }
}

@keyframes cemabHeroPillTop {

  0%,
  100% {
    transform: translate3d(0, 0, 0) rotate(0deg);
  }

  50% {
    transform: translate3d(0, -10px, 0) rotate(1deg);
  }
}

@keyframes cemabHeroPillBottom {

  0%,
  100% {
    transform: translate3d(0, 0, 0) rotate(0deg);
  }

  50% {
    transform: translate3d(0, 10px, 0) rotate(-1deg);
  }
}

@keyframes cemabHeroPillValuePulse {

  0%,
  100% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.09);
  }
}


.hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  /* min-height: var(--hero-min-height); */
  color: var(--hero-text-color);
  background: linear-gradient(135deg, var(--hero-background-start) 0%, var(--hero-background-middle) 50%, var(--hero-background-end) 100%);
}

.hero__background {
  position: absolute;
  inset: 0;
  z-index: -2;
  pointer-events: none;
}

.hero__background-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.hero__background-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(15, 23, 42, .72), rgba(22, 78, 99, .72) 50%, rgba(14, 116, 144, .70));
}

.hero__shape {
  position: absolute;
  display: block;
  border-radius: var(--hero-radius-pill);
  filter: blur(64px);
  opacity: .72;
}

.hero__shape--start {
  top: 5rem;
  left: 2.5rem;
  width: 18rem;
  height: 18rem;
  background: rgba(6, 182, 212, .20);
}

.hero__shape--end {
  right: 2.5rem;
  bottom: 5rem;
  width: 24rem;
  height: 24rem;
  background: rgba(34, 197, 94, .20);
}

.hero__shape--center {
  top: 50%;
  left: 50%;
  width: 600px;
  height: 600px;
  transform: translate(-50%, -50%);
  background: rgba(34, 211, 238, .10);
}

.hero__container {
  position: relative;
  z-index: 1;
  padding-top: var(--hero-padding-y);
  padding-bottom: var(--hero-padding-y);
}

.hero__grid {
  min-height: 100%;
}

.hero__breadcrumb {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  /* max-width: 100%; */
  margin-bottom: 1.5rem;
  padding: .5rem 1rem;
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: var(--hero-radius-pill);
  background: var(--hero-glass-background);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.hero__breadcrumb-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .375rem;
  padding: 0;
  margin: 0;
  list-style: none;
  color: var(--hero-soft-color);
  font-size: .875rem;
  line-height: 1.25rem;
}

.hero__breadcrumb-list::before {
  content: "";
  width: .5rem;
  height: .5rem;
  flex: 0 0 .5rem;
  margin-right: .75rem;
  border-radius: var(--hero-radius-pill);
  background: #4ade80;
  opacity: .9;
}

.hero__breadcrumb-item,
.hero__breadcrumb-separator {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}

.hero__breadcrumb-separator {
  padding-inline: .5rem;
  color: rgba(255, 255, 255, .52);
  font-size: .68rem;
  user-select: none;
}

.hero__breadcrumb-link,
.hero__breadcrumb-current {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  color: inherit;
  text-decoration: none;
  font-weight: 500;
  overflow-wrap: anywhere;
}

.hero__breadcrumb-link:hover {
  color: rgba(255, 255, 255, .96);
  text-decoration: none;
}

.hero__breadcrumb-current {
  color: #ffffff;
  font-weight: 600;
}

.hero__badge {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: .75rem;
  margin-bottom: 1.5rem;
  padding: .5rem 1rem;
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: var(--hero-radius-pill);
  color: var(--hero-soft-color);
  background: var(--hero-glass-background);
  font-size: .875rem;
  line-height: 1.25rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.hero__badge::before {
  content: "";
  width: .5rem;
  height: .5rem;
  flex: 0 0 .5rem;
  border-radius: var(--hero-radius-pill);
  background: #4ade80;
  opacity: .9;
}

.hero__title {

  margin: 0;
  color: var(--hero-text-color);
  font-size: clamp(2.25rem, 4.7vw, 3.75rem);
  font-weight: 800;

  line-height: 1;
  text-wrap: balance;
}

.hero__text {

  margin-top: 1rem;
  margin-left: 0;
  margin-right: 0;
  color: var(--hero-muted-color);
  font-size: clamp(1rem, 1.2vw, 1.125rem);
  line-height: 1.2;
}

.hero__text p:last-child,
.hero__text *:last-child {
  margin-bottom: 0;
}

.hero__text--intro {
  margin-top: 1.25rem;
}

.hero__actions {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: .75rem;
  margin-top: 1.25rem;
}

.hero__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .5rem 1rem;
  border-radius: var(--hero-radius-pill);
  color: #ffffff;
  font-weight: 600;
  text-decoration: none;
  transition: all .3s ease;
}

.hero__button:hover {
  transform: translateY(-2px);
  text-decoration: none;
}

.hero__button--primary {
  background: linear-gradient(135deg, #22c55e 0%, #06b6d4 100%);
}

.hero__button--primary:hover {
  box-shadow: 0 10px 40px -10px rgba(6, 182, 212, .5);
}

.hero__button--secondary {
  border: 1px solid var(--hero-glass-border);
  background: var(--hero-glass-background);
  backdrop-filter: blur(var(--hero-glass-blur));
  -webkit-backdrop-filter: blur(var(--hero-glass-blur));
}

.hero__cards {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: var(--hero-card-gap);
  margin-top: 2rem;
}

.hero__card {
  display: flex;
  align-items: center;
  gap: .75rem;
  min-width: 0;
  padding: 1rem;

  border-radius: var(--hero-radius-card);
  background: var(--hero-glass-background);
  backdrop-filter: blur(var(--hero-glass-blur));
  -webkit-backdrop-filter: blur(var(--hero-glass-blur));
}

.hero__card-icon {
  width: var(--hero-card-icon-size);
  height: var(--hero-card-icon-size);
  flex: 0 0 var(--hero-card-icon-size);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: .75rem;
  color: rgba(255, 255, 255, .90);
  background: rgba(255, 255, 255, .10);
}

.hero__card-body {
  min-width: 0;
}

.hero__card-title,
.hero__card-text {
  display: block;
  overflow-wrap: anywhere;
}

.hero__card-title {
  color: #ffffff;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.25;
}

.hero__card-text {
  margin-top: .05rem;
  color: rgba(255, 255, 255, .68);
  font-size: .9rem;
  font-weight: 300;
}

.hero__panel {
  width: 100%;
  min-height: 100%;
  padding: clamp(1.25rem, 2vw, 1.75rem);
  border: 1px solid var(--hero-glass-border);
  border-radius: 28px;
  background: rgba(255, 255, 255, .12);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .25);
  backdrop-filter: blur(var(--hero-glass-blur));
  -webkit-backdrop-filter: blur(var(--hero-glass-blur));
  text-align: center;
}

.hero__panel-badge,
.hero__panel-kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
}

.hero__panel-badge {
  padding: .25rem .75rem;
  border: 1px solid rgba(255, 255, 255, .10);
  border-radius: var(--hero-radius-pill);
  color: rgba(255, 255, 255, .85);
  background: rgba(255, 255, 255, .10);
  font-size: .75rem;
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.hero__panel-top-image-wrap {
  margin: 1rem 0 1rem;
  text-align: center;
}

.hero__panel-top-image {
  width: min(240px, 100%);
  height: auto;
  display: inline-block;
  background: #fff;
  border-radius: 18px;
  padding: .6rem .9rem;
}

.hero__panel-image-wrap {
  display: flex;
  justify-content: center;
  margin-top: .75rem;
}

.hero__panel-image {
  width: auto;
  max-width: min(15rem, 100%);
  max-height: 15rem;
  object-fit: contain;
  padding: .75rem;
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .25);
}

.hero__panel-kicker {
  margin-top: 1.75rem;
  color: rgba(255, 255, 255, .80);
  font-size: .875rem;
  line-height: 1.25rem;
}

.hero__panel-title {
  margin: 1rem 0 0;
  color: #ffffff;
  font-weight: 800;
  line-height: 1.2;
  font-size: 1.4rem;
}

.hero__panel-text {
  margin-top: 1rem;
  color: rgba(255, 255, 255, .80);
  font-size: .875rem;
  line-height: 1.625;
}

.hero__panel-items {
  display: grid;
  gap: .75rem;
  margin-top: 1rem;
}

.hero__panel-item {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: .5rem;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
  padding: .5rem 1rem;
  border-radius: var(--hero-radius-pill);
  color: #334155;
  background: #ffffff;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, .10), 0 8px 10px -6px rgba(0, 0, 0, .10);
  text-align: left;
}

.hero__panel-item-icon {
  color: #06b6d4;
}

.hero__panel-item-label {
  color: #334155;
  font-size: .875rem;
  font-weight: 600;
}

.glass {
  background: var(--hero-glass-background);
  backdrop-filter: blur(var(--hero-glass-blur));
  -webkit-backdrop-filter: blur(var(--hero-glass-blur));
  border: 1px solid var(--hero-glass-border);
}

.btn-gradient {
  color: #ffffff;
  background: linear-gradient(135deg, #22c55e 0%, #06b6d4 100%);
  transition: all .3s ease;
}

.btn-gradient:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 40px -10px rgba(6, 182, 212, .5);
}

@keyframes floating {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-10px);
  }
}

@media (min-width: 640px) {
  .hero__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 992px) {
  .hero {
    /* --hero-min-height: clamp(540px, 58vh, 720px); */
    --hero-padding-y: 2.5rem;
  }

  .hero__cards {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {
  /* .hero {
    min-height: auto;
  } */

  .hero__container {
    padding-top: clamp(2.5rem, 7vw, 4rem);
    padding-bottom: clamp(2.5rem, 7vw, 4rem);
  }

  /* .hero__panel {
    max-width: 430px;
    margin-inline: auto;
  } */
}

@media (max-width: 767.98px) {
  /* .hero__breadcrumb {
    width: 100%;
  } */

  .hero__title {
    font-size: clamp(2.25rem, 11vw, 3rem);
  }

  .hero__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .hero__button {
    width: fit-content;
  }
}

/* ==========================================================
   Ajustes finais da home: alternância limpa de seções + contato
   ========================================================== */
:root {
  --home-section-bg-white: #ffffff;
  --home-section-bg-gray: #f1f4f6;
  --home-section-border: rgba(15, 23, 42, 0.06);
}

.home-sections {
  background: var(--home-section-bg-white) !important;
}

.home-sections .home-section,
.home-sections .home-section:nth-of-type(odd),
.home-sections .home-section:nth-of-type(even) {
  position: relative !important;
  isolation: auto !important;
  overflow: visible !important;
  border-top: 1px solid var(--home-section-border) !important;
  box-shadow: none !important;
}

.home-sections .home-section.section--surface,
.home-sections .home-section.section--surface:nth-of-type(odd),
.home-sections .home-section.section--surface:nth-of-type(even) {
  background: var(--home-section-bg-white) !important;
}

.home-sections .home-section.section--muted,
.home-sections .home-section.section--muted:nth-of-type(odd),
.home-sections .home-section.section--muted:nth-of-type(even),
.home-sections .home-section.section--soft,
.home-sections .home-section.section--soft:nth-of-type(odd),
.home-sections .home-section.section--soft:nth-of-type(even) {
  background: var(--home-section-bg-gray) !important;
}

.home-sections .home-section::before,
.home-sections .home-section::after,
.home-section::before,
.home-section::after {
  content: none !important;
  display: none !important;
  background: none !important;
  box-shadow: none !important;
  filter: none !important;
}

.home-sections .home-section>.container {
  position: relative !important;
  z-index: 1 !important;
}

/* Fale Conosco: sem fundos próprios e sem firulas; a cor vem da alternância da home. */
#contact,
#contact.home-section,
#contact.home-section--contact,
.home-sections #contact.home-section,
.home-sections #contact.home-section--contact {
  color: var(--theme-color-text) !important;
  background: inherit !important;
  border-top: 1px solid var(--home-section-border) !important;
  box-shadow: none !important;
  padding-top: clamp(48px, 6vw, 72px) !important;
  padding-bottom: clamp(48px, 6vw, 72px) !important;
  overflow: visible !important;
  isolation: auto !important;
}

#contact.section--surface,
#contact.home-section.section--surface,
.home-sections #contact.home-section.section--surface {
  background: var(--home-section-bg-white) !important;
}

#contact.section--muted,
#contact.home-section.section--muted,
#contact.section--soft,
#contact.home-section.section--soft,
.home-sections #contact.home-section.section--muted,
.home-sections #contact.home-section.section--soft {
  background: var(--home-section-bg-gray) !important;
}

#contact::before,
#contact::after,
#contact .contact-wrap::before,
#contact .contact-wrap::after,
#contact .contact-panel::before,
#contact .contact-panel::after,
#contact .contact-form::before,
#contact .contact-form::after,
#contact .form-label-custom::before,
#contact .contact-form__note::before,
#contact .contact-section-head>div::before,
#contact .contact-section-head>div::after {
  content: none !important;
  display: none !important;
  background: none !important;
  box-shadow: none !important;
  filter: none !important;
}

#contact .contact-section-head {
  display: flex !important;
  justify-content: center !important;
  text-align: center !important;
  margin-bottom: 2rem !important;
}

#contact .contact-section-head>div {
  display: block !important;
  max-width: 760px !important;
  margin: 0 auto !important;
}

#contact .contact-eyebrow,
#contact .contact-panel__eyebrow {
  display: none !important;
}

#contact .section-title {
  margin: 0 !important;
  color: var(--theme-color-text) !important;
  font-size: clamp(1.875rem, 3vw, 2.45rem) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.025em !important;
}

#contact .contact-wrap {
  overflow: visible !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

#contact .contact-layout-row {
  --bs-gutter-x: 1.5rem !important;
  --bs-gutter-y: 1.5rem !important;
}

#contact .contact-panel,
#contact .contact-form {
  min-height: 100% !important;
  padding: clamp(1.5rem, 2.5vw, 2rem) !important;
  color: var(--theme-color-text) !important;
  background: #ffffff !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05) !important;
}

#contact .contact-panel__title,
#contact .contact-form__title {
  margin: 0 0 .75rem !important;
  color: var(--theme-color-text) !important;
  font-size: clamp(1.25rem, 2vw, 1.55rem) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.018em !important;
}

#contact .contact-panel__text,
#contact .contact-form__description {
  margin: 0 0 1.25rem !important;
  padding: 0 !important;
  color: var(--theme-color-text-soft) !important;
  font-size: .95rem !important;
  line-height: 1.65 !important;
  border: 0 !important;
}

#contact .contact-info-list {
  display: grid !important;
  gap: .75rem !important;
  margin: 0 !important;
}

#contact .contact-info-card {
  display: flex !important;
  align-items: flex-start !important;
  gap: .85rem !important;
  padding: .95rem !important;
  overflow: visible !important;
  color: var(--theme-color-text) !important;
  background: #f8fafc !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  transform: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transition: border-color .2s ease, background-color .2s ease !important;
}

#contact .contact-info-card:hover {
  transform: none !important;
  background: #ffffff !important;
  border-color: rgba(8, 145, 178, 0.22) !important;
  box-shadow: none !important;
}

#contact .contact-info-card__icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: 40px !important;
  height: 40px !important;
  color: var(--theme-color-primary-strong) !important;
  font-size: .95rem !important;
  border-radius: 12px !important;
  background: rgba(8, 145, 178, 0.08) !important;
  border: 1px solid rgba(8, 145, 178, 0.10) !important;
}

#contact .contact-info-card__title {
  display: block !important;
  margin: 0 0 .25rem !important;
  color: var(--theme-color-text) !important;
  font-size: .74rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
}

#contact .contact-info-card__text,
#contact .contact-info-card__link {
  display: block !important;
  color: var(--theme-color-text-soft) !important;
  font-size: .94rem !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  text-decoration: none !important;
  word-break: break-word !important;
}

#contact .contact-info-card__link:hover {
  color: var(--theme-color-primary-strong) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

#contact .form-label-custom {
  display: block !important;
  margin-bottom: .45rem !important;
  color: var(--theme-color-text) !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: .03em !important;
  text-transform: uppercase !important;
}

#contact .form-control-custom,
#contact .form-select-custom {
  width: 100% !important;
  min-height: 48px !important;
  padding: .72rem .85rem !important;
  color: var(--theme-color-text) !important;
  font-size: .94rem !important;
  background: #f8fafc !important;
  border: 1px solid rgba(15, 23, 42, 0.12) !important;
  border-radius: 12px !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease !important;
}

#contact .form-control-custom::placeholder {
  color: rgba(100, 116, 139, .7) !important;
}

#contact textarea.form-control-custom {
  min-height: 132px !important;
  resize: vertical !important;
}

#contact .form-control-custom:hover,
#contact .form-select-custom:hover,
#contact .form-control-custom:focus,
#contact .form-select-custom:focus {
  background: #ffffff !important;
  border-color: rgba(8, 145, 178, 0.38) !important;
}

#contact .form-control-custom:focus,
#contact .form-select-custom:focus {
  box-shadow: 0 0 0 3px rgba(8, 145, 178, 0.10) !important;
}

#contact .contact-form__footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  margin-top: .5rem !important;
  flex-wrap: wrap !important;
}

#contact .contact-form__note {
  max-width: 520px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--theme-color-text-soft) !important;
  font-size: .84rem !important;
  line-height: 1.55 !important;
}

#contact .contact-form__submit,
#contact .button-primary.contact-form__submit {
  min-height: 48px !important;
  padding: 0 1.25rem !important;
  color: #ffffff !important;
  background: var(--theme-color-primary-strong) !important;
  border: 0 !important;
  border-radius: 9999px !important;
  box-shadow: none !important;
  white-space: nowrap !important;
  transition: background-color .2s ease, transform .2s ease !important;
}

#contact .contact-form__submit:hover,
#contact .button-primary.contact-form__submit:hover {
  transform: translateY(-1px) !important;
  background: var(--theme-color-primary-ink) !important;
  box-shadow: none !important;
  filter: none !important;
}

#contact #homeContactForm.was-validated .form-control-custom:invalid,
#contact #homeContactForm.was-validated .form-select-custom:invalid {
  border-color: var(--theme-color-danger) !important;
  box-shadow: 0 0 0 .18rem rgba(220, 38, 38, .12) !important;
}

#contact .contact-form__feedback {
  border-radius: 12px !important;
  box-shadow: none !important;
}

#contact .contact-form__feedback.is-success {
  color: var(--theme-color-success-deep) !important;
  background: var(--theme-color-success-surface) !important;
}

#contact .contact-form__feedback.is-warning {
  color: var(--theme-color-warning-text) !important;
  background: var(--theme-color-warning-surface) !important;
}

#contact .contact-form__feedback.is-error {
  color: var(--theme-color-danger-deep) !important;
  background: var(--theme-color-danger-surface) !important;
}

#contact .contact-form__feedback.is-info {
  color: var(--theme-color-primary-ink) !important;
  background: var(--theme-color-highlight-soft) !important;
}

#contact .contact-form__sending-card {
  color: var(--theme-color-text) !important;
  background: #ffffff !important;
  border: 1px solid rgba(15, 23, 42, 0.10) !important;
  border-radius: 16px !important;
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.14) !important;
}

#contact .contact-form__sending-spinner {
  border-color: rgba(15, 23, 42, 0.12) !important;
  border-top-color: var(--theme-color-primary-strong) !important;
}

@media (max-width: 767.98px) {

  #contact,
  #contact.home-section,
  #contact.home-section--contact {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }

  #contact .section-title {
    font-size: clamp(1.7rem, 8vw, 2.15rem) !important;
  }

  #contact .contact-panel,
  #contact .contact-form {
    padding: 1.25rem !important;
  }

  #contact .contact-form__footer {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  #contact .contact-form__submit {
    width: 100% !important;
  }
}

/* Página Sobre - Unidades Geridas */
.sobre-managed-units {
  margin-top: 1.45rem;
}

.sobre-managed-units__shell {
  width: 100%;
  background: #ffffff;
  border: 1px solid rgba(226, 232, 240, .9);
  border-radius: 28px;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .05);
  padding: clamp(1.25rem, 3vw, 2.5rem);
  overflow: hidden;
}

.sobre-managed-units__head {
  max-width: 820px;
  margin: 0 auto 2rem;
  text-align: center;
}

.sobre-managed-units__title {
  margin: 0;
  color: #0f172a;
  font-size: clamp(1.55rem, 2.5vw, 2rem);
  font-weight: 900;
  line-height: 1.18;
  letter-spacing: -.02em;
}

.sobre-managed-units__subtitle {
  margin: .75rem 0 0;
  color: #475569;
  font-size: 1rem;
  line-height: 1.65;
}

.sobre-managed-units__nav {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 48px;
  align-items: center;
  gap: 1rem;
  margin-bottom: 2rem;
}

.sobre-managed-units__tabs {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  scrollbar-width: none;
}

.sobre-managed-units__tabs::-webkit-scrollbar {
  display: none;
}

.sobre-managed-units__tab {
  flex: 1 0 clamp(190px, 23%, 250px);
  min-height: 48px;
  padding: .75rem 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  background: #ffffff;
  color: #334155;
  font-size: .9rem;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
  transition: border-color .2s ease, color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.sobre-managed-units__tab.is-active {
  border-color: rgba(8, 145, 178, .18);
  background: #ffffff;
  color: rgb(14, 116, 144);
}

.sobre-managed-units__tab:not(.is-active):hover,
.sobre-managed-units__tab:focus-visible {
  border-color: rgba(8, 145, 178, .25);
  color: rgb(14, 116, 144);
  outline: none;
}

.sobre-managed-units__arrow {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: #f8fafc;
  color: #0f172a;
  font-size: 1rem;
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.sobre-managed-units__arrow:hover,
.sobre-managed-units__arrow:focus-visible {
  background: #eef5f7;
  color: rgb(14, 116, 144);
  outline: none;
  transform: translateY(-1px);
}

.sobre-managed-units__panel[hidden] {
  display: none !important;
}

.sobre-managed-units__panel.is-active {
  display: block;
}

.sobre-managed-units__grid {
  display: grid;
  grid-template-columns: minmax(280px, 470px) minmax(0, 1fr);
  gap: clamp(1.5rem, 3vw, 2rem);
  align-items: center;
}

.sobre-managed-units__media {
  width: 100%;
  margin: 0;
  border-radius: 18px;
  overflow: hidden;
  background: #f1f5f9;
  aspect-ratio: 4 / 3;
}

.sobre-managed-units__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.sobre-managed-units__content {
  min-width: 0;
}

.sobre-managed-units__content--full {
  grid-column: 1 / -1;
}

.sobre-managed-units__badge {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  margin-bottom: 1.35rem;
  padding: .5rem 1.05rem;
  border: 1px solid rgba(8, 145, 178, .16);
  border-radius: 999px;
  background: rgba(8, 145, 178, .08);
  color: rgb(14, 116, 144);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .16em;
  line-height: 1;
  text-transform: uppercase;
}

.sobre-managed-units__badge::before {
  content: "";
  width: 6px;
  height: 6px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: currentColor;
}

.sobre-managed-units__name {
  margin: 0;
  color: #0f172a;
  font-size: clamp(1.35rem, 2.4vw, 1.75rem);
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: -.02em;
}

.sobre-managed-units__lead {
  margin: 1rem 0 0;
  color: #475569;
  font-size: 1.08rem;
  line-height: 1.62;
}

.sobre-managed-units__text {
  margin: 1.35rem 0 0;
  color: #334155;
  font-size: 1rem;
  line-height: 1.72;
}

.sobre-managed-units__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 2rem;
}

.sobre-managed-units__fact {
  min-height: 112px;
  padding: 1.25rem 1.15rem;
  border-radius: 14px;
  background: #f8fafc;
}

.sobre-managed-units__fact span {
  display: block;
  margin-bottom: .75rem;
  color: #64748b;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .2em;
  line-height: 1.2;
  text-transform: uppercase;
}

.sobre-managed-units__fact strong {
  display: block;
  color: #0f172a;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.35;
}

@media (max-width: 991.98px) {
  .sobre-managed-units__grid {
    grid-template-columns: 1fr;
  }

  .sobre-managed-units__media {
    max-height: 420px;
  }
}

@media (max-width: 767.98px) {
  .sobre-managed-units__shell {
    border-radius: 22px;
  }

  .sobre-managed-units__nav {
    grid-template-columns: 42px minmax(0, 1fr) 42px;
    gap: .65rem;
  }

  .sobre-managed-units__arrow {
    width: 42px;
    height: 42px;
  }

  .sobre-managed-units__tab {
    flex-basis: min(76vw, 250px);
  }

  .sobre-managed-units__facts {
    grid-template-columns: 1fr;
    gap: .75rem;
  }

  .sobre-managed-units__fact {
    min-height: auto;
  }
}

/* ==========================================================
   Hero Home - card lateral institucional alternativo ao QR Code
   ========================================================== */
.hero__panel--info-card {
  min-height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(1.25rem, 2.2vw, 2rem);
  background: transparent;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.hero__info-card {
  position: relative;
  width: min(360px, 100%);
  min-height: 360px;
  display: flex;
  align-items: center;
  justify-content: center;
  /* border: 1px solid rgba(255, 255, 255, .22); */
  border-radius: 28px;
  background: rgba(255, 255, 255, .10);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .20);
  backdrop-filter: blur(var(--hero-glass-blur));
  -webkit-backdrop-filter: blur(var(--hero-glass-blur));
}

.hero__info-card-icon {
  width: 118px;
  height: 118px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, .92);
  font-size: clamp(4rem, 8vw, 5.25rem);
  line-height: 1;
}

.hero__info-card-pill {
  position: absolute;
  z-index: 2;
  min-width: 104px;
  padding: .95rem 1.05rem;
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 20px 38px rgba(15, 23, 42, .16);
  text-align: left;
}

.hero__info-card-pill strong {
  display: block;
  color: #1291a8;
  font-weight: 900;
  line-height: .95;
  letter-spacing: -.04em;
}

.hero__info-card-pill span {
  display: block;
  margin-top: .25rem;
  color: #64748b;
  font-size: .88rem;
  font-weight: 600;
  line-height: 1.1;
}

.hero__info-card-pill--years {
  top: -1rem;
  right: -1.05rem;
}

.hero__info-card-pill--attendance {
  left: -1.05rem;
  bottom: -1.05rem;
}

@media (max-width: 991.98px) {
  /* .hero__panel--info-card {
    max-width: 430px;
    margin-inline: auto;
  } */

  .hero__info-card {
    width: 100%;
  }
}

@media (max-width: 575.98px) {
  .hero__info-card {
    min-height: 230px;
  }

  .hero__info-card-pill {
    min-width: 92px;
    padding: .8rem .9rem;
  }

  .hero__info-card-pill--years {
    right: -.35rem;
  }

  .hero__info-card-pill--attendance {
    left: -.35rem;
  }
}

/* =========================================================
   HOME — Depoimentos da pesquisa de satisfação
========================================================= */
.home-testimonials {
  position: relative;
  /* max-width: 980px; */
  margin: 0 auto;
}

.home-testimonials__viewport {
  overflow: hidden;
}

.home-testimonials__track {
  display: flex;
  transition: transform .7s ease;
}

.home-testimonials__slide {
  flex: 0 0 33.333333%;
  padding: .55rem;
}

.home-testimonial-card {
  height: 100%;
  min-height: 270px;
  padding: 1.45rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .06);
  border-radius: 18px;
  /* box-shadow: 0 14px 34px rgba(15, 23, 42, .05); */
}

.home-testimonial-card__head {
  display: flex;
  align-items: center;
  gap: .85rem;
}

.home-testimonial-card__avatar {
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 999px;
  background: #0a5870;
  color: #fff;
  font-weight: 800;
  letter-spacing: .02em;
}

.home-testimonial-card__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-testimonial-card__person {
  min-width: 0;
  flex: 1 1 auto;
}

.home-testimonial-card__person h3 {
  margin: 0;
  color: #0f172a;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.15;
}

.home-testimonial-card__person span {
  display: block;
  margin-top: .18rem;
  color: #64748b;
  font-size: .88rem;
  font-weight: 600;
  line-height: 1.25;
}

.home-testimonial-card__quote {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #0a6587;
  background: #eaf8fb;
  border: 1px solid #cfeff6;
  border-radius: 999px;
}

.home-testimonial-card blockquote {
  margin: 0;
  color: #475569;
  font-size: .98rem;
  line-height: 1.9;
}

.home-testimonial-card footer {
  margin-top: auto;
  padding-top: .9rem;
  color: #64748b;
  font-size: .86rem;
  font-weight: 600;
}

.home-testimonial-card footer i {
  color: #0ea5b8;
  margin-right: .35rem;
}

.home-testimonials__pagination,
.carousel-kicker-pagination {
  width: fit-content;
}

.home-testimonials__pagination {
  margin: 1.5rem auto 0;
  padding: .42rem .7rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  color: #0a6587;
  background: #eaf8fb;
  border: 1px solid #cfeff6;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 800;
}

.home-testimonials__dots {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
}

.home-testimonials__dots button {
  width: .48rem;
  height: .48rem;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(10, 101, 135, .28);
}

.home-testimonials__dots button.is-active {
  width: 1.45rem;
  background: #0a6587;
}

.home-testimonials__separator {
  width: 1px;
  height: 1rem;
  background: rgba(10, 101, 135, .25);
}

.home-testimonials__counter .muted {
  margin: 0 .2rem;
  opacity: .55;
}

/* =========================================================
   HOME — Indicadores da pesquisa de satisfação
========================================================= */
.home-survey-panel {
  /* max-width: 1040px; */
  margin: 0 auto;
  padding: 1.6rem;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .06);
  border-radius: 26px;
  /* box-shadow: 0 16px 42px rgba(15, 23, 42, .06); */
}

.home-survey-panel__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.5rem;
  align-items: start;
  margin-bottom: 1.55rem;
}

.home-survey-panel__head h2 {
  margin: 0;
  color: #0f172a;
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 900;
  letter-spacing: -.035em;
  line-height: 1.05;
}

.home-survey-panel__head p {
  max-width: 620px;
  margin: .65rem 0 0;
  color: #64748b;
  font-size: 1rem;
  line-height: 1.6;
}

.home-survey-panel__meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(120px, 1fr));
  gap: .75rem;
}

.home-survey-panel__meta div,
.home-survey-summary-grid article,
.home-survey-metric,
.home-survey-visual {
  background: #f8fafc;
  border: 1px solid rgba(15, 23, 42, .04);
  border-radius: 16px;
}

.home-survey-panel__meta div {
  padding: 1rem 1.15rem;
}

.home-survey-panel__meta span,
.home-survey-summary-grid span {
  display: block;
  color: #94a3b8;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.home-survey-panel__meta strong {
  display: block;
  margin-top: .35rem;
  color: #0f172a;
  font-size: .98rem;
  font-weight: 900;
}

.home-survey-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1.35rem;
}

.home-survey-metric {
  padding: 1.1rem;
}

.home-survey-metric__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.home-survey-metric__top span {
  color: #64748b;
  font-size: .72rem;
  font-weight: 700;
}

.home-survey-metric__top h3 {
  margin: .2rem 0 0;
  color: #0f172a;
  font-size: .95rem;
  font-weight: 900;
  line-height: 1.2;
}

.home-survey-metric__top i {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #0a6587;
  background: #eaf8fb;
  border: 1px solid #cfeff6;
  border-radius: 999px;
}

.home-survey-metric__value {
  display: flex;
  align-items: flex-end;
  gap: .35rem;
  margin: 1rem 0 .7rem;
}

.home-survey-metric__value strong {
  color: #0f172a;
  font-size: 2rem;
  font-weight: 900;
  letter-spacing: -.04em;
  line-height: 1;
}

.home-survey-metric__value span {
  color: #64748b;
  font-size: .88rem;
  font-weight: 800;
}

.home-survey-metric__bar {
  height: .55rem;
  overflow: hidden;
  background: #fff;
  border-radius: 999px;
}

.home-survey-metric__bar span {
  display: block;
  height: 100%;
  background: #0a5870;
  border-radius: inherit;
}

.home-survey-metric__foot {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-top: .55rem;
  color: #64748b;
  font-size: .74rem;
  font-weight: 700;
}

.home-survey-visual {
  padding: 1.25rem;
}

.home-survey-visual__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.home-survey-visual__head h3 {
  margin: 0;
  color: #0f172a;
  font-size: 1.2rem;
  font-weight: 900;
}

.home-survey-visual__head p {
  margin: .3rem 0 0;
  color: #64748b;
  font-size: .88rem;
}

.home-survey-tabs {
  display: inline-flex;
  gap: .25rem;
  padding: .25rem;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .06);
  border-radius: 999px;
  box-shadow: 0 4px 16px rgba(15, 23, 42, .04);
}

.home-survey-tabs button {
  padding: .65rem .95rem;
  color: #64748b;
  font-size: .8rem;
  font-weight: 900;
  border: 0;
  background: transparent;
  border-radius: 999px;
}

.home-survey-tabs button.is-active {
  color: #0a6587;
  background: #fff;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .08);
}

.home-survey-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.home-survey-summary-grid article {
  padding: 1.15rem;
}

.home-survey-summary-grid strong {
  display: inline-block;
  margin-top: .5rem;
  color: #0f172a;
  font-size: 2rem;
  font-weight: 900;
  letter-spacing: -.04em;
}

.home-survey-summary-grid small {
  margin-left: .2rem;
  color: #64748b;
  font-size: .82rem;
  font-weight: 800;
}

.home-survey-bars {
  min-height: 230px;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1rem;
  align-items: end;
  padding: .5rem 1rem 0;
}

.home-survey-bar-item {
  min-height: 220px;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: .75rem;
  justify-items: center;
  color: #0f172a;
  font-weight: 900;
}

.home-survey-bar {
  width: 54px;
  height: 150px;
  display: flex;
  align-items: flex-end;
  padding: .4rem;
  background: #fff;
  border-radius: 14px;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .04);
}

.home-survey-bar span {
  width: 100%;
  min-height: .5rem;
  display: block;
  background: linear-gradient(180deg, #08364b, #0a6578);
  border-radius: 10px;
}

.home-survey-bar-item>span {
  color: #64748b;
  font-size: .78rem;
}

.home-survey-pie-layout {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 1.25rem;
  align-items: center;
}

.home-survey-donut {
  width: 230px;
  height: 230px;
  margin: 0 auto;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(#0a6587 calc(var(--survey-percent) * 1%), #16c784 0 78%, #e2e8f0 0);
  position: relative;
}

.home-survey-donut::before {
  content: "";
  position: absolute;
  inset: 42px;
  background: #fff;
  border-radius: 50%;
}

.home-survey-donut>div {
  position: relative;
  z-index: 1;
  text-align: center;
}

.home-survey-donut span,
.home-survey-donut small {
  display: block;
  color: #64748b;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.home-survey-donut strong {
  display: block;
  color: #0f172a;
  font-size: 2.2rem;
  font-weight: 900;
  letter-spacing: -.04em;
}

.home-survey-pie-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
}

.home-survey-pie-list article {
  padding: .95rem;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .04);
}

.home-survey-pie-list article>div:first-child {
  display: flex;
  align-items: center;
  gap: .4rem;
  margin-bottom: .5rem;
}

.home-survey-pie-list article>div:first-child span {
  width: .55rem;
  height: .55rem;
  display: inline-block;
  overflow: hidden;
  color: transparent;
  background: #0ea5b8;
  border-radius: 999px;
}

.home-survey-pie-list article>div:first-child strong {
  color: #0f172a;
  font-size: .84rem;
  font-weight: 900;
}

.home-survey-pie-list article>strong {
  display: block;
  color: #0f172a;
  font-size: 1.2rem;
  font-weight: 900;
  margin-bottom: .5rem;
}

.home-survey-pie-list small {
  color: #64748b;
  font-size: .72rem;
}

@media (max-width: 991.98px) {
  .home-testimonials__slide {
    flex-basis: 50%;
  }

  .home-survey-panel__head,
  .home-survey-pie-layout {
    grid-template-columns: 1fr;
  }

  .home-survey-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-survey-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-survey-visual__head {
    flex-direction: column;
  }
}

@media (max-width: 639.98px) {
  .home-testimonials__slide {
    flex-basis: 100%;
  }

  .home-survey-metrics,
  .home-survey-summary-grid,
  .home-survey-panel__meta,
  .home-survey-pie-list {
    grid-template-columns: 1fr;
  }

  .home-survey-tabs {
    width: 100%;
    flex-direction: column;
    border-radius: 18px;
  }

  .home-survey-bars {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* =========================================================
   HOME - UNIDADES GERIDAS
   Cards com contraste controlado para texto sobre imagem
========================================================= */
.managed-unit-card {
  position: relative;
  isolation: isolate;
  display: block;
  width: 100%;
  height: 240px;
  overflow: hidden;
  text-align: left;
  border: 0;
  border-radius: 1rem;
  background: #0f172a;
  cursor: pointer;
  transition: transform .25s ease, box-shadow .25s ease;
}

.managed-unit-card:hover,
.managed-unit-card:focus-visible {
  transform: translateY(-3px);
  /* box-shadow: 0 20px 48px rgba(15, 23, 42, .18); */
}

.managed-unit-card:focus-visible {
  outline: 3px solid rgba(8, 145, 178, .35);
  outline-offset: 3px;
}

.managed-unit-card__image {
  position: absolute;
  inset: 0;
  z-index: -3;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.01);
  transition: transform .35s ease, filter .35s ease;
}

.managed-unit-card:hover .managed-unit-card__image,
.managed-unit-card:focus-visible .managed-unit-card__image {
  transform: scale(1.06);
  filter: saturate(1.04) contrast(1.03);
}

.managed-unit-card__overlay {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(180deg,
      rgba(2, 6, 23, .08) 0%,
      rgba(2, 6, 23, .22) 42%,
      rgba(2, 6, 23, .78) 100%),
    linear-gradient(90deg,
      rgba(2, 6, 23, .62) 0%,
      rgba(2, 6, 23, .30) 48%,
      rgba(2, 6, 23, .10) 100%);
}

.managed-unit-card__content {
  position: absolute;
  left: 1.1rem;
  right: 1.1rem;
  bottom: 1.05rem;
  z-index: 1;
  display: flex;
  align-items: flex-end;
}

.managed-unit-card__title {
  max-width: 95%;
  color: #ffffff;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.28;
  letter-spacing: -.015em;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .72);
}

.managed-unit-card__hover {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: rgba(2, 6, 23, .52);
  opacity: 0;
  transition: opacity .25s ease;
}

.managed-unit-card:hover .managed-unit-card__hover,
.managed-unit-card:focus-visible .managed-unit-card__hover {
  opacity: 1;
}

.managed-unit-card__hover-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.25rem;
  padding: .48rem .85rem;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 999px;
  color: #ffffff;
  background: rgba(255, 255, 255, .14);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  font-size: .875rem;
  font-weight: 700;
  line-height: 1.2;
}

@media (min-width: 768px) {
  .managed-unit-card {
    height: 260px;
  }
}

@media (max-width: 575.98px) {
  .managed-unit-card {
    height: 220px;
  }

  .managed-unit-card__content {
    left: .95rem;
    right: .95rem;
    bottom: .9rem;
  }

  .managed-unit-card__title {
    font-size: 1rem;
  }
}

/* =========================================================
   HOME - NOTÍCIAS / ATUALIZAÇÕES
   Ajuste de layout em cards responsivos e botão da seção.
========================================================= */
.home-news-heading {
  margin-bottom: 2rem;
}

.home-news-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.15rem;
  align-items: stretch;
}

.home-news-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(8, 145, 178, .12);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .07);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.home-news-card:hover {
  transform: translateY(-4px);
  border-color: rgba(8, 145, 178, .22);
  box-shadow: 0 24px 56px rgba(15, 23, 42, .11);
}

.home-news-card__media {
  display: block;
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #f8fafc;
}

.home-news-card__media img,
.home-news-card__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.home-news-card__media img {
  object-fit: cover;
  transition: transform .35s ease;
}

.home-news-card:hover .home-news-card__media img {
  transform: scale(1.045);
}

.home-news-card__placeholder {
  color: rgb(14, 116, 144);
  font-size: 2rem;
  background: rgba(8, 145, 178, .08);
}

.home-news-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 1.1rem;
}

.home-news-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem;
  margin-bottom: .8rem;
}

.home-news-card__category,
.home-news-card__date {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  min-height: 1.75rem;
  padding: .25rem .62rem;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 850;
  line-height: 1;
}

.home-news-card__category {
  color: rgb(14, 116, 144);
  background: rgba(8, 145, 178, .09);
  border: 1px solid rgba(8, 145, 178, .15);
}

.home-news-card__date {
  color: #64748b;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}

.home-news-card__title {
  margin: 0 0 .55rem;
  color: #0f172a;
  font-size: 1.08rem;
  font-weight: 900;
  line-height: 1.25;
}

.home-news-card__title a {
  color: inherit;
  text-decoration: none;
}

.home-news-card__title a:hover {
  color: rgb(14, 116, 144);
}

.home-news-card__summary {
  margin: 0 0 1rem;
  color: #64748b;
  font-size: .94rem;
  line-height: 1.65;
}

.home-news-card__link {
  margin-top: auto;
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  border: 1px solid rgba(8, 145, 178, .18);
  border-radius: 999px;
  background: rgba(8, 145, 178, .08);
  color: rgb(14, 116, 144);
  padding: .62rem .9rem;
  font-weight: 900;
  text-decoration: none;
  transition: .18s ease;
}

.home-news-card__link:hover {
  background: rgba(8, 145, 178, .14);
  color: rgb(8, 105, 130);
  transform: translateY(-1px);
  text-decoration: none;
}

.news-card__category i,
.news-detail-meta__item--category i {
  color: currentColor;
}

@media (max-width: 1199.98px) {
  .home-news-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .home-news-grid {
    grid-template-columns: 1fr;
  }

  .home-news-card__body {
    padding: 1rem;
  }
}

/* ========================================================================== 
   PÁGINAS DINÂMICAS — base visual e tokens de manutenção
   ========================================================================== */
:root {
  --dynamic-page-bg: #ffffff;
  --dynamic-page-muted-bg: #f1f4f6;
  --dynamic-page-text: #111827;
  --dynamic-page-muted-text: #64748b;
  --dynamic-page-soft-text: #475569;
  --dynamic-page-line: rgba(15, 23, 42, .10);
  --dynamic-page-line-strong: rgba(8, 145, 178, .20);
  --dynamic-page-primary: #0a6587;
  --dynamic-page-primary-rgb: 10, 101, 135;
  --dynamic-page-primary-soft: rgba(var(--dynamic-page-primary-rgb), .08);
  --dynamic-page-radius-sm: 12px;
  --dynamic-page-radius-md: 16px;
  --dynamic-page-transition: 180ms ease;
}

/* ========================================================================== 
   PÁGINAS DINÂMICAS — estrutura geral do conteúdo
   ========================================================================== */
.content-public-page {
  background: var(--dynamic-page-bg);
}

.content-page {
  padding: clamp(2.25rem, 4vw, 4rem) 0 clamp(4rem, 6vw, 6rem);
  background: var(--dynamic-page-bg);
}

.content-page__container {
  max-width: 1140px;
}

.content-page__sections,
.content-sections-grid {
  display: flex;
  flex-direction: column;
  gap: clamp(2rem, 4vw, 3.25rem);
  align-items: stretch;
}

/* ========================================================================== 
   PÁGINAS DINÂMICAS — busca interna
   ========================================================================== */
.content-toolbar {
  position: relative;
  top: auto;
  z-index: 1;
  margin-bottom: clamp(2rem, 4vw, 3rem);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.content-toolbar #contentSearchForm,
.content-toolbar .content-search.content-search--simple {
  max-width: 760px;
  margin-inline: auto;
}

.content-toolbar .content-search__input,
.content-toolbar .content-search.content-search--simple .content-search__input {
  min-height: 50px;
  padding: .85rem 1rem !important;
  border: 1px solid var(--dynamic-page-line);
  border-radius: var(--dynamic-page-radius-md);
  background: #ffffff;
  color: var(--dynamic-page-text);
  box-shadow: 0 10px 28px rgba(15, 23, 42, .04);
}

.content-toolbar .content-search__input:focus,
.content-toolbar .content-search.content-search--simple .content-search__input:focus {
  border-color: var(--dynamic-page-line-strong);
  box-shadow: 0 0 0 .22rem rgba(var(--dynamic-page-primary-rgb), .10);
}

/* ========================================================================== 
   PÁGINAS DINÂMICAS — seções colapsáveis, sempre em lista vertical
   ========================================================================== */
.content-section,
.content-section--wide {
  display: block;
  grid-column: auto;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.content-section__toggle {
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 0 0 1rem;
  border: 0;
  border-bottom: 1px solid var(--dynamic-page-line);
  border-radius: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.content-section__toggle:hover,
.content-section__toggle:focus-visible {
  background: transparent;
  border-bottom-color: var(--dynamic-page-line-strong);
}

.content-section__toggle:focus-visible {
  outline: 3px solid rgba(var(--dynamic-page-primary-rgb), .16);
  outline-offset: 4px;
}

.content-section__title,
.section-title {
  margin: 0;
  color: var(--dynamic-page-text);
  font-size: clamp(1.35rem, 2vw, 1.85rem);
  font-weight: 800;
  line-height: 1.18;
  letter-spacing: -.02em;
}

.content-section__subtitle {
  margin-top: .55rem;
  max-width: 760px;
  color: var(--dynamic-page-muted-text);
  font-size: 1rem;
  line-height: 1.65;
}

.content-section__caret {
  width: 2.35rem;
  height: 2.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--dynamic-page-line);
  border-radius: 999px;
  background: #ffffff;
  color: var(--dynamic-page-primary);
  transition: transform var(--dynamic-page-transition), border-color var(--dynamic-page-transition), background var(--dynamic-page-transition);
}

.content-section__toggle:hover .content-section__caret,
.content-section__toggle:focus-visible .content-section__caret {
  border-color: var(--dynamic-page-line-strong);
  background: var(--dynamic-page-primary-soft);
}

.content-section__body {
  padding: clamp(1.25rem, 2vw, 1.75rem) 0 0;
}


/* ========================================================================== 
   PÁGINAS DINÂMICAS — refinamento visual final das seções
   Mantém a hero fora deste bloco. As seções continuam em lista vertical,
   nascem abertas e usam apenas título + linha inferior, sem card externo.
   ========================================================================== */
:root {
  --dynamic-page-container: 1140px;
  --dynamic-page-section-gap: clamp(1.85rem, 3.5vw, 3rem);
  --dynamic-page-title-size: clamp(1.12rem, 1.45vw, 1.38rem);
  --dynamic-page-model-title-size: clamp(1rem, 1.15vw, 1.15rem);
  --dynamic-page-file-bg: #ffffff;
  --dynamic-page-file-hover: #f8fbfd;
  --dynamic-page-folder-tab: #e8f6fb;
  --dynamic-page-folder-tab-border: rgba(var(--dynamic-page-primary-rgb), .18);
}

.content-page {
  padding-block: clamp(2rem, 4vw, 3.5rem) clamp(4.5rem, 7vw, 6.5rem);
}

.content-page__container {
  max-width: var(--dynamic-page-container);
}

.content-page__sections,
.content-sections-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--dynamic-page-section-gap);
}

.content-section,
.content-section--wide {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.content-section__toggle {
  position: relative;
  align-items: flex-start;
  padding: 0 0 .78rem !important;
  border: 0 !important;
  border-bottom: 1px solid var(--dynamic-page-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.content-section__toggle::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 4rem;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--dynamic-page-primary), rgba(var(--dynamic-page-primary-rgb), .12));
}

.content-section__title,
.section-title {
  font-size: var(--dynamic-page-title-size) !important;
  font-weight: 800 !important;
  line-height: 1.28 !important;
  letter-spacing: -.015em !important;
}

.content-section__subtitle {
  max-width: 760px;
  margin-top: .38rem !important;
  font-size: .94rem !important;
  line-height: 1.55 !important;
}

.content-section__caret {
  width: 2rem !important;
  height: 2rem !important;
  min-width: 2rem !important;
  border-color: rgba(var(--dynamic-page-primary-rgb), .16) !important;
  background: rgba(var(--dynamic-page-primary-rgb), .06) !important;
  color: var(--dynamic-page-primary) !important;
  transition: transform .22s ease, background .18s ease, border-color .18s ease !important;
}

.content-section__toggle[aria-expanded="true"] .content-section__caret {
  transform: rotate(0deg) !important;
}

.content-section__toggle[aria-expanded="false"] .content-section__caret {
  transform: rotate(-90deg) !important;
}

.content-section__body {
  padding-top: clamp(1rem, 2vw, 1.45rem) !important;
}

/* ========================================================================== 
   PÁGINAS DINÂMICAS — modelos internos sem cards aninhados
   ========================================================================== */
.content-model-stack,
.content-model-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.85rem !important;
}

.content-model,
.content-card,
.content-card--wide {
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.content-model__header {
  margin-bottom: .85rem !important;
}

.content-model__title,
.content-card__title {
  font-size: var(--dynamic-page-model-title-size) !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

.content-model__subtitle,
.content-card__subtitle {
  font-size: .92rem !important;
  line-height: 1.55 !important;
}

.content-richtext {
  max-width: 100%;
  font-size: .98rem;
  line-height: 1.78;
}

/* ========================================================================== 
   PÁGINAS DINÂMICAS — listagem de arquivos fora e dentro das pastas
   Visual de lista institucional, sem cards por item e preservando a paginação.
   ========================================================================== */
.content-file-group {
  gap: .85rem !important;
}

.content-section__files,
.content-folder__files {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  border: 1px solid var(--dynamic-page-line);
  border-radius: 18px;
  overflow: hidden;
  background: var(--dynamic-page-file-bg);
}

.content-file {
  display: grid !important;
  grid-template-columns: 2.55rem minmax(0, 1fr) auto;
  align-items: center !important;
  gap: 1rem !important;
  margin: 0 !important;
  padding: 1rem 1.05rem !important;
  border: 0 !important;
  border-bottom: 1px solid var(--dynamic-page-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: background .18s ease;
}

.content-file:last-child {
  border-bottom: 0 !important;
}

.content-file:hover,
.content-file:focus-within {
  background: var(--dynamic-page-file-hover) !important;
}

.content-file__icon {
  width: 2.45rem;
  height: 2.45rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(var(--dynamic-page-primary-rgb), .12);
  border-radius: 12px;
  background: rgba(var(--dynamic-page-primary-rgb), .07);
  color: var(--dynamic-page-primary);
  flex-shrink: 0;
}

.content-file__name {
  display: inline-block;
  color: #11315a !important;
  font-size: .98rem;
  font-weight: 850 !important;
  line-height: 1.35;
  text-decoration: none;
}

.content-file__name:hover {
  color: var(--dynamic-page-primary) !important;
  text-decoration: none !important;
}

.content-file__description {
  margin-top: .3rem;
  max-width: 860px;
  color: #31578c !important;
  font-size: .93rem;
  line-height: 1.55;
}

.content-file__meta {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-top: .5rem;
  color: #476f9f !important;
  font-size: .78rem;
  font-weight: 700;
}

.content-file__actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: .45rem;
  min-width: max-content;
}

.content-file__button,
.content-action {
  min-height: 2.4rem !important;
  padding: .55rem .95rem !important;
  border-radius: 10px !important;
  border-color: rgba(37, 99, 235, .20) !important;
  background: #f8fbff !important;
  color: #173f78 !important;
  box-shadow: 0 1px 0 rgba(15, 23, 42, .03);
}

.content-file__button:hover,
.content-action:hover {
  border-color: rgba(var(--dynamic-page-primary-rgb), .28) !important;
  background: rgba(var(--dynamic-page-primary-rgb), .08) !important;
  color: var(--dynamic-page-primary) !important;
}

/* ========================================================================== 
   PÁGINAS DINÂMICAS — pastas com aparência real de pasta
   ========================================================================== */
.content-section__tree,
.pastas-tree,
.content-folder__tree {
  display: flex !important;
  flex-direction: column !important;
  gap: .85rem !important;
}

.content-folder {
  position: relative;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.content-folder__toggle {
  position: relative;
  width: 100%;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 4.25rem;
  padding: .95rem 1rem .95rem 1.1rem !important;
  border: 1px solid var(--dynamic-page-line) !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  color: inherit;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .045);
}

.content-folder__tab {
  position: absolute;
  left: 1rem;
  top: -.52rem;
  width: 5.5rem;
  height: .9rem;
  border: 1px solid var(--dynamic-page-folder-tab-border);
  border-bottom: 0;
  border-radius: 12px 12px 0 0;
  background: var(--dynamic-page-folder-tab);
}

.content-folder__toggle:hover,
.content-folder__toggle:focus-visible {
  border-color: var(--dynamic-page-line-strong) !important;
  background: #ffffff !important;
}

.content-folder__left {
  display: flex;
  align-items: center;
  gap: .9rem;
  min-width: 0;
}

.content-folder__icon {
  width: 2.7rem !important;
  height: 2.7rem !important;
  border-radius: 13px !important;
  background: rgba(var(--dynamic-page-primary-rgb), .08) !important;
}

.content-folder__name {
  display: block;
  color: var(--dynamic-page-text) !important;
  font-size: 1rem;
  font-weight: 850 !important;
  line-height: 1.35;
}

.content-folder__meta {
  display: block;
  margin-top: .18rem;
  color: var(--dynamic-page-muted-text) !important;
  font-size: .8rem;
  line-height: 1.35;
}

.content-folder__caret {
  width: 2rem;
  height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(var(--dynamic-page-primary-rgb), .14);
  border-radius: 999px;
  background: rgba(var(--dynamic-page-primary-rgb), .06);
  color: var(--dynamic-page-primary);
  transition: transform .22s ease, background .18s ease, border-color .18s ease;
}

.content-folder__toggle[aria-expanded="true"] .content-folder__caret {
  transform: rotate(0deg);
}

.content-folder__toggle[aria-expanded="false"] .content-folder__caret {
  transform: rotate(-90deg);
}

.content-folder__content {
  /* margin-top: .7rem; */
  padding: .9rem 0 0 1.25rem !important;
  border: 0 !important;
  /* border-left: 2px solid rgba(var(--dynamic-page-primary-rgb), .12) !important; */
  background: transparent !important;
}

.content-folder__content>.content-folder__tree,
.content-folder__content>.content-section__tree {
  margin-top: .85rem;
}

/* ========================================================================== 
   PÁGINAS DINÂMICAS — tabela dinâmica e paginação preservada
   ========================================================================== */
.content-table-wrap {
  border-radius: 18px !important;
  box-shadow: 0 12px 30px rgba(15, 23, 42, .045) !important;
}

.content-table thead th {
  background: #f7fafc !important;
  font-size: .73rem !important;
}

.content-pagination {
  margin-top: 1rem !important;
}

.content-pagination__button,
.content-pagination__page {
  border-radius: 4px !important;
}

/* ========================================================================== 
   PÁGINAS DINÂMICAS — responsividade real
   ========================================================================== */
@media (max-width: 991.98px) {
  .content-file {
    grid-template-columns: 2.45rem minmax(0, 1fr);
  }

  .content-file__actions {
    grid-column: 2 / -1;
    justify-content: flex-start;
    flex-wrap: wrap;
    min-width: 0;
  }
}

@media (max-width: 575.98px) {
  .content-page {
    padding-block: 1.6rem 4rem;
  }

  .content-section__toggle {
    padding-bottom: .7rem !important;
  }

  .content-section__title,
  .section-title {
    font-size: 1.08rem !important;
  }

  .content-file {
    grid-template-columns: 1fr;
    gap: .65rem !important;
  }

  .content-file__icon {
    display: none;
  }

  .content-file__actions {
    grid-column: auto;
    width: 100%;
  }

  .content-file__button,
  .content-action {
    width: 100%;
  }

  .content-folder__toggle {
    align-items: flex-start;
    min-height: 0;
  }

  .content-folder__left {
    align-items: flex-start;
  }

  .content-folder__content {
    padding-left: .85rem !important;
  }
}

/* ==========================================================================
   SISTEMA VISUAL GENÉRICO — BUSCA, PAGINAÇÃO E COMPONENTES PÚBLICOS
   Regras centralizadas no theme.css para evitar estilos embutidos e padrões duplicados.
   ========================================================================== */

.content-public-page [hidden],
.content-public-page .is-hidden-by-pagination,
.news-public-page [hidden],
.news-public-page .is-hidden-by-pagination,
.agenda-page [hidden],
.agenda-page .is-hidden-by-pagination,
.content-page [hidden],
.content-page .is-hidden-by-pagination,
.servicos-page [hidden],
.servicos-page .is-hidden-by-pagination {
  display: none !important;
}

.ui-search-toolbar,
.content-toolbar,
.news-toolbar,
.servicos-toolbar {
  width: 100% !important;
  margin-bottom: clamp(1.5rem, 3vw, 2.25rem) !important;
}

.ui-search-toolbar form,
.content-toolbar #contentSearchForm,
.content-toolbar .content-search.content-search--simple,
.news-toolbar .news-search--simple {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.ui-search-shell,
.content-search-shell,
.news-search-shell,
.servicos-search-shell {
  position: relative;
  width: 100%;
}

.ui-search-shell__icon,
.content-search-shell__icon,
.news-search-shell__icon,
.servicos-search-shell__icon {
  position: absolute;
  top: 50%;
  left: 1rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  color: #173f78;
  transform: translateY(-50%);
  pointer-events: none;
}

.ui-search__input,
.content-search__input,
.news-search__input,
.servicos-search__input,
.content-toolbar .content-search__input,
.news-toolbar .news-search__input {
  width: 100% !important;
  max-width: none !important;
  min-height: 50px !important;
  padding: .85rem 1rem .85rem 3.15rem !important;
  border: 1px solid var(--dynamic-page-line, #dbe7ee) !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  color: var(--dynamic-page-text, #0f172a) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, .04) !important;
  outline: none !important;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease !important;
}

.ui-search__input:focus,
.content-search__input:focus,
.news-search__input:focus,
.servicos-search__input:focus,
.content-toolbar .content-search__input:focus,
.news-toolbar .news-search__input:focus {
  border-color: var(--dynamic-page-line-strong, rgba(8, 145, 178, .38)) !important;
  box-shadow: 0 0 0 .22rem rgba(8, 145, 178, .10) !important;
}

.ui-pagination-footer,
.content-file-list-panel__footer,
.content-dt-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 1rem !important;
  min-height: 4.25rem !important;
  margin-top: -1px !important;
  padding: .85rem 1rem !important;
  border-top: 1px solid var(--dynamic-page-line, #e2e8f0) !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
}

.content-dt-footer {
  justify-content: space-between !important;
}

.ui-pagination,
.content-pagination,
.news-pagination,
.agenda-upcoming__pagination,
.content-dt-pagination,
.content-dt-footer .dataTables_paginate,
.content-dt-footer .dt-paging,
.content-dt-pagination-normalized {
  width: 100% !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .45rem !important;
  /* margin: 0 !important; */
  padding: 0 !important;
}

.content-dt-pagination,
.content-dt-footer .dataTables_paginate,
.content-dt-footer .dt-paging,
.content-dt-pagination-normalized {
  width: auto !important;
  justify-content: flex-end !important;
}

.ui-pagination__pages,
.content-pagination__pages,
.content-dt-pagination .pagination,
.content-dt-footer .pagination {
  display: inline-flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .35rem !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ui-pagination__button,
.ui-pagination__page,
.content-pagination__button,
.content-pagination__page,
.news-pagination__button,
.agenda-upcoming__page,
.pagination-link,
.content-dt-pagination .paginate_button,
.content-dt-pagination .page-link,
.content-dt-pagination button.dt-paging-button,
.content-dt-pagination a.dt-paging-button,
.content-dt-footer .paginate_button,
.content-dt-footer .page-link,
.content-dt-footer button.dt-paging-button,
.content-dt-footer a.dt-paging-button {
  min-width: 2.35rem !important;
  height: 2.35rem !important;
  min-height: 2.35rem !important;
  padding: 0 .72rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(8, 145, 178, .18) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: rgb(14, 116, 144) !important;
  font-size: .88rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease, transform .18s ease !important;
}

.ui-pagination__button:hover:not(:disabled),
.ui-pagination__page:hover,
.content-pagination__button:hover:not(:disabled),
.content-pagination__page:hover,
.news-pagination__button:hover:not(:disabled),
.agenda-upcoming__page:hover:not(:disabled),
.pagination-link:hover,
.content-dt-pagination .paginate_button:hover:not(.disabled):not(.is-disabled),
.content-dt-pagination .page-link:hover,
.content-dt-pagination button.dt-paging-button:hover:not(:disabled),
.content-dt-pagination a.dt-paging-button:hover:not(.disabled),
.content-dt-footer .paginate_button:hover:not(.disabled):not(.is-disabled),
.content-dt-footer .page-link:hover {
  border-color: rgba(8, 145, 178, .26) !important;
  background: rgba(8, 145, 178, .08) !important;
  color: rgb(8, 105, 130) !important;
  transform: translateY(-1px) !important;
  text-decoration: none !important;
}

.ui-pagination__page.is-active,
.ui-pagination__page.active,
.content-pagination__page.is-active,
.content-pagination__page.active,
.news-pagination__button.is-active,
.news-pagination__button.active,
.agenda-upcoming__page.is-active,
.agenda-upcoming__page.active,
.pagination-link.is-active,
.content-dt-pagination .paginate_button.current,
.content-dt-pagination .paginate_button.is-active,
.content-dt-pagination .page-item.active .page-link,
.content-dt-pagination .page-link.active,
.content-dt-pagination button.dt-paging-button.current,
.content-dt-pagination button.dt-paging-button.is-active,
.content-dt-pagination a.dt-paging-button.current,
.content-dt-pagination a.dt-paging-button.is-active,
.content-dt-footer .paginate_button.current,
.content-dt-footer .paginate_button.is-active,
.content-dt-footer .page-item.active .page-link,
.content-dt-footer .page-link.active,
.content-dt-footer button.dt-paging-button.current,
.content-dt-footer button.dt-paging-button.is-active,
.content-dt-footer a.dt-paging-button.current,
.content-dt-footer a.dt-paging-button.is-active {
  border-color: rgba(8, 145, 178, .18) !important;
  background: rgba(8, 145, 178, .10) !important;
  color: rgb(8, 105, 130) !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

.ui-pagination__button:disabled,
.ui-pagination__button.is-disabled,
.ui-pagination__page.is-disabled,
.content-pagination__button:disabled,
.content-pagination__button.is-disabled,
.content-pagination__page.is-disabled,
.news-pagination__button:disabled,
.agenda-upcoming__page:disabled,
.pagination-link.is-disabled,
.content-dt-pagination .paginate_button.disabled,
.content-dt-pagination .paginate_button.is-disabled,
.content-dt-pagination .page-item.disabled .page-link,
.content-dt-pagination .page-link.disabled,
.content-dt-pagination button.dt-paging-button:disabled,
.content-dt-pagination button.dt-paging-button.disabled,
.content-dt-pagination button.dt-paging-button.is-disabled,
.content-dt-pagination a.dt-paging-button.disabled,
.content-dt-pagination a.dt-paging-button.is-disabled,
.content-dt-footer .paginate_button.disabled,
.content-dt-footer .paginate_button.is-disabled,
.content-dt-footer .page-item.disabled .page-link,
.content-dt-footer .page-link.disabled,
.content-dt-footer button.dt-paging-button:disabled,
.content-dt-footer button.dt-paging-button.disabled,
.content-dt-footer button.dt-paging-button.is-disabled,
.content-dt-footer a.dt-paging-button.disabled,
.content-dt-footer a.dt-paging-button.is-disabled {
  opacity: .45 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
  transform: none !important;
}

.ui-pagination__ellipsis,
.content-pagination__ellipsis,
.news-pagination__ellipsis,
.agenda-upcoming__ellipsis {
  min-width: 2rem;
  min-height: 2.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #94a3b8;
  font-weight: 900;
}

.content-file-list-panel {
  width: 100%;
  overflow: hidden;
  border: 1px solid var(--dynamic-page-line, #e2e8f0) !important;
  border-radius: 18px !important;
  background: var(--dynamic-page-file-bg, #ffffff) !important;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .045);
}

.content-file-list-panel>.content-section__files,
.content-file-list-panel>.content-folder__files {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

.content-file-list-panel__footer .content-pagination {
  width: auto !important;
}

.content-file-list-panel>.content-file-list-empty {
  border-width: 1px 0 0 0 !important;
  border-radius: 0 !important;
  margin: 0 !important;
}

.content-table-wrap--dynamic {
  overflow: hidden !important;
  border: 1px solid var(--dynamic-page-line, #e2e8f0) !important;
  border-radius: 18px !important;
  background: #ffffff !important;
}

.content-table-wrap--dynamic .table-responsive {
  width: 100%;
  overflow-x: auto;
}

.content-table-wrap--dynamic .content-table {
  margin-bottom: 0 !important;
}

.content-dt-info,
.content-dt-footer .dataTables_info,
.content-dt-footer .dt-info {
  margin: 0 !important;
  color: var(--dynamic-page-muted-text, #64748b) !important;
  font-size: .88rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

.services-gallery .service-card--shortcut {
  position: relative;
  width: 100%;
  min-height: 100% !important;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  overflow: hidden !important;
  border: 1px solid rgba(8, 145, 178, .12);
  border-radius: 24px;
  background: #ffffff;
  color: var(--dynamic-page-text, #0f172a);
  text-align: left;
  text-decoration: none;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .07);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.services-gallery .service-card--shortcut:hover,
.services-gallery .service-card--shortcut:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(8, 145, 178, .22);
  box-shadow: 0 24px 56px rgba(15, 23, 42, .11);
  text-decoration: none;
}

.shortcut-card-cover {
  position: relative !important;
  isolation: isolate !important;
  width: 100% !important;
  aspect-ratio: 16 / 10 !important;
  min-height: 155px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

.shortcut-card-cover--image {
  background: #f8fafc !important;
}

.shortcut-card-cover--icon {
  background: linear-gradient(135deg, rgba(8, 145, 178, .96), rgba(14, 116, 144, .94)) !important;
}

.shortcut-card-cover__img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  z-index: -1 !important;
  transition: transform .35s ease !important;
}

.service-card--shortcut:hover .shortcut-card-cover__img,
.service-card--shortcut:focus-visible .shortcut-card-cover__img {
  transform: scale(1.045) !important;
}

.shortcut-card-cover__shape {
  position: absolute !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .14) !important;
  z-index: -1 !important;
}

.shortcut-card-cover__shape--one {
  width: 10rem !important;
  height: 10rem !important;
  top: -2.5rem !important;
  right: -1.5rem !important;
}

.shortcut-card-cover__shape--two {
  width: 8rem !important;
  height: 8rem !important;
  left: -1.5rem !important;
  bottom: -2rem !important;
  background: rgba(255, 255, 255, .10) !important;
}

.shortcut-card-cover__icon {
  width: 5.75rem !important;
  height: 5.75rem !important;
  min-width: 5.75rem !important;
  min-height: 5.75rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 1.7rem !important;
  color: #ffffff !important;
  background: rgba(255, 255, 255, .16) !important;
  border: 1px solid rgba(255, 255, 255, .28) !important;
  box-shadow: 0 18px 36px rgba(15, 23, 42, .16) !important;
  backdrop-filter: blur(4px) !important;
}

.shortcut-card-cover__icon i {
  color: currentColor !important;
  font-size: 2.35rem !important;
  line-height: 1 !important;
}

.shortcut-card-badge {
  position: absolute !important;
  top: .85rem !important;
  left: .85rem !important;
  z-index: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: .42rem !important;
  max-width: calc(100% - 1.7rem) !important;
  min-height: 1.75rem !important;
  padding: .25rem .62rem !important;
  border: 1px solid rgba(8, 145, 178, .16) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .92) !important;
  color: rgb(14, 116, 144) !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .08) !important;
  font-size: .72rem !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.shortcut-card-badge i {
  color: currentColor !important;
  font-size: .78rem !important;
  line-height: 1 !important;
}

.service-card--shortcut .service-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
  gap: .8rem;
  padding: 1.1rem;
}

.service-card--shortcut .service-card__title {
  margin: 0;
  color: var(--dynamic-page-text, #0f172a);
  font-size: 1.08rem;
  font-weight: 900;
  line-height: 1.25;
}

.service-card__text {
  display: block;
  color: var(--dynamic-page-muted-text, #64748b);
  font-size: .94rem;
  line-height: 1.65;
}

.service-card__cta {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .62rem .95rem;
  border: 1px solid rgba(8, 145, 178, .18);
  border-radius: 999px;
  background: rgba(8, 145, 178, .08);
  color: rgb(14, 116, 144);
  font-size: .9rem;
  font-weight: 900;
  transition: .18s ease;
}

.service-card--shortcut:hover .service-card__cta,
.service-card--shortcut:focus-visible .service-card__cta {
  background: rgba(8, 145, 178, .14);
  color: rgb(8, 105, 130);
  transform: translateY(-1px);
}

.dynamic-table-cols-1 {
  min-width: 720px;
}

.dynamic-table-cols-2 {
  min-width: 720px;
}

.dynamic-table-cols-3 {
  min-width: 720px;
}

.dynamic-table-cols-4 {
  min-width: 760px;
}

.dynamic-table-cols-5 {
  min-width: 750px;
}

.dynamic-table-cols-6 {
  min-width: 900px;
}

.dynamic-table-cols-7 {
  min-width: 910px;
}

.dynamic-table-cols-8 {
  min-width: 1040px;
}

.dynamic-table-cols-9 {
  min-width: 990px;
}

.dynamic-table-cols-10 {
  min-width: 1100px;
}

.dynamic-table-cols-11 {
  min-width: 1210px;
}

.dynamic-table-cols-12 {
  min-width: 1320px;
}

.dynamic-table-cols-13 {
  min-width: 1430px;
}

.dynamic-table-cols-14 {
  min-width: 1540px;
}

.dynamic-table-cols-15 {
  min-width: 1650px;
}

.dynamic-table-cols-16 {
  min-width: 1760px;
}

.dynamic-table-cols-17 {
  min-width: 1870px;
}

.dynamic-table-cols-18 {
  min-width: 1980px;
}

.dynamic-table-cols-19 {
  min-width: 2090px;
}

.dynamic-table-cols-20 {
  min-width: 2200px;
}

.dynamic-table-cols-21 {
  min-width: 2310px;
}

.dynamic-table-cols-22 {
  min-width: 2420px;
}

.dynamic-table-cols-23 {
  min-width: 2530px;
}

.dynamic-table-cols-24 {
  min-width: 2640px;
}

.dynamic-table-cols-25 {
  min-width: 2750px;
}

.dynamic-table-cols-26 {
  min-width: 2860px;
}

.dynamic-table-cols-27 {
  min-width: 2970px;
}

.dynamic-table-cols-28 {
  min-width: 3080px;
}

.dynamic-table-cols-29 {
  min-width: 3190px;
}

.dynamic-table-cols-30 {
  min-width: 3300px;
}

.dynamic-table-cols-31 {
  min-width: 3410px;
}

.dynamic-table-cols-32 {
  min-width: 3520px;
}

.dynamic-table-cols-33 {
  min-width: 3630px;
}

.dynamic-table-cols-34 {
  min-width: 3740px;
}

.dynamic-table-cols-35 {
  min-width: 3850px;
}

.dynamic-table-cols-36 {
  min-width: 3960px;
}

.dynamic-table-cols-37 {
  min-width: 4070px;
}

.dynamic-table-cols-38 {
  min-width: 4180px;
}

.dynamic-table-cols-39 {
  min-width: 4290px;
}

.dynamic-table-cols-40 {
  min-width: 4400px;
}

.dynamic-table-cols-41 {
  min-width: 4510px;
}

.dynamic-table-cols-42 {
  min-width: 4620px;
}

.dynamic-table-cols-43 {
  min-width: 4730px;
}

.dynamic-table-cols-44 {
  min-width: 4840px;
}

.dynamic-table-cols-45 {
  min-width: 4950px;
}

.dynamic-table-cols-46 {
  min-width: 5060px;
}

.dynamic-table-cols-47 {
  min-width: 5170px;
}

.dynamic-table-cols-48 {
  min-width: 5280px;
}

.dynamic-table-cols-49 {
  min-width: 5390px;
}

.dynamic-table-cols-50 {
  min-width: 5500px;
}

.dynamic-table-cols-51 {
  min-width: 5610px;
}

.dynamic-table-cols-52 {
  min-width: 5720px;
}

.dynamic-table-cols-53 {
  min-width: 5830px;
}

.dynamic-table-cols-54 {
  min-width: 5940px;
}

.dynamic-table-cols-55 {
  min-width: 6050px;
}

.dynamic-table-cols-56 {
  min-width: 6160px;
}

.dynamic-table-cols-57 {
  min-width: 6270px;
}

.dynamic-table-cols-58 {
  min-width: 6380px;
}

.dynamic-table-cols-59 {
  min-width: 6490px;
}

.dynamic-table-cols-60 {
  min-width: 6600px;
}

.ui-progress-width-0 {
  width: 0%;
}

.ui-progress-height-0 {
  height: 0%;
}

.ui-survey-percent-0 {
  --survey-percent: 0;
}

.ui-progress-width-1 {
  width: 1%;
}

.ui-progress-height-1 {
  height: 1%;
}

.ui-survey-percent-1 {
  --survey-percent: 1;
}

.ui-progress-width-2 {
  width: 2%;
}

.ui-progress-height-2 {
  height: 2%;
}

.ui-survey-percent-2 {
  --survey-percent: 2;
}

.ui-progress-width-3 {
  width: 3%;
}

.ui-progress-height-3 {
  height: 3%;
}

.ui-survey-percent-3 {
  --survey-percent: 3;
}

.ui-progress-width-4 {
  width: 4%;
}

.ui-progress-height-4 {
  height: 4%;
}

.ui-survey-percent-4 {
  --survey-percent: 4;
}

.ui-progress-width-5 {
  width: 5%;
}

.ui-progress-height-5 {
  height: 5%;
}

.ui-survey-percent-5 {
  --survey-percent: 5;
}

.ui-progress-width-6 {
  width: 6%;
}

.ui-progress-height-6 {
  height: 6%;
}

.ui-survey-percent-6 {
  --survey-percent: 6;
}

.ui-progress-width-7 {
  width: 7%;
}

.ui-progress-height-7 {
  height: 7%;
}

.ui-survey-percent-7 {
  --survey-percent: 7;
}

.ui-progress-width-8 {
  width: 8%;
}

.ui-progress-height-8 {
  height: 8%;
}

.ui-survey-percent-8 {
  --survey-percent: 8;
}

.ui-progress-width-9 {
  width: 9%;
}

.ui-progress-height-9 {
  height: 9%;
}

.ui-survey-percent-9 {
  --survey-percent: 9;
}

.ui-progress-width-10 {
  width: 10%;
}

.ui-progress-height-10 {
  height: 10%;
}

.ui-survey-percent-10 {
  --survey-percent: 10;
}

.ui-progress-width-11 {
  width: 11%;
}

.ui-progress-height-11 {
  height: 11%;
}

.ui-survey-percent-11 {
  --survey-percent: 11;
}

.ui-progress-width-12 {
  width: 12%;
}

.ui-progress-height-12 {
  height: 12%;
}

.ui-survey-percent-12 {
  --survey-percent: 12;
}

.ui-progress-width-13 {
  width: 13%;
}

.ui-progress-height-13 {
  height: 13%;
}

.ui-survey-percent-13 {
  --survey-percent: 13;
}

.ui-progress-width-14 {
  width: 14%;
}

.ui-progress-height-14 {
  height: 14%;
}

.ui-survey-percent-14 {
  --survey-percent: 14;
}

.ui-progress-width-15 {
  width: 15%;
}

.ui-progress-height-15 {
  height: 15%;
}

.ui-survey-percent-15 {
  --survey-percent: 15;
}

.ui-progress-width-16 {
  width: 16%;
}

.ui-progress-height-16 {
  height: 16%;
}

.ui-survey-percent-16 {
  --survey-percent: 16;
}

.ui-progress-width-17 {
  width: 17%;
}

.ui-progress-height-17 {
  height: 17%;
}

.ui-survey-percent-17 {
  --survey-percent: 17;
}

.ui-progress-width-18 {
  width: 18%;
}

.ui-progress-height-18 {
  height: 18%;
}

.ui-survey-percent-18 {
  --survey-percent: 18;
}

.ui-progress-width-19 {
  width: 19%;
}

.ui-progress-height-19 {
  height: 19%;
}

.ui-survey-percent-19 {
  --survey-percent: 19;
}

.ui-progress-width-20 {
  width: 20%;
}

.ui-progress-height-20 {
  height: 20%;
}

.ui-survey-percent-20 {
  --survey-percent: 20;
}

.ui-progress-width-21 {
  width: 21%;
}

.ui-progress-height-21 {
  height: 21%;
}

.ui-survey-percent-21 {
  --survey-percent: 21;
}

.ui-progress-width-22 {
  width: 22%;
}

.ui-progress-height-22 {
  height: 22%;
}

.ui-survey-percent-22 {
  --survey-percent: 22;
}

.ui-progress-width-23 {
  width: 23%;
}

.ui-progress-height-23 {
  height: 23%;
}

.ui-survey-percent-23 {
  --survey-percent: 23;
}

.ui-progress-width-24 {
  width: 24%;
}

.ui-progress-height-24 {
  height: 24%;
}

.ui-survey-percent-24 {
  --survey-percent: 24;
}

.ui-progress-width-25 {
  width: 25%;
}

.ui-progress-height-25 {
  height: 25%;
}

.ui-survey-percent-25 {
  --survey-percent: 25;
}

.ui-progress-width-26 {
  width: 26%;
}

.ui-progress-height-26 {
  height: 26%;
}

.ui-survey-percent-26 {
  --survey-percent: 26;
}

.ui-progress-width-27 {
  width: 27%;
}

.ui-progress-height-27 {
  height: 27%;
}

.ui-survey-percent-27 {
  --survey-percent: 27;
}

.ui-progress-width-28 {
  width: 28%;
}

.ui-progress-height-28 {
  height: 28%;
}

.ui-survey-percent-28 {
  --survey-percent: 28;
}

.ui-progress-width-29 {
  width: 29%;
}

.ui-progress-height-29 {
  height: 29%;
}

.ui-survey-percent-29 {
  --survey-percent: 29;
}

.ui-progress-width-30 {
  width: 30%;
}

.ui-progress-height-30 {
  height: 30%;
}

.ui-survey-percent-30 {
  --survey-percent: 30;
}

.ui-progress-width-31 {
  width: 31%;
}

.ui-progress-height-31 {
  height: 31%;
}

.ui-survey-percent-31 {
  --survey-percent: 31;
}

.ui-progress-width-32 {
  width: 32%;
}

.ui-progress-height-32 {
  height: 32%;
}

.ui-survey-percent-32 {
  --survey-percent: 32;
}

.ui-progress-width-33 {
  width: 33%;
}

.ui-progress-height-33 {
  height: 33%;
}

.ui-survey-percent-33 {
  --survey-percent: 33;
}

.ui-progress-width-34 {
  width: 34%;
}

.ui-progress-height-34 {
  height: 34%;
}

.ui-survey-percent-34 {
  --survey-percent: 34;
}

.ui-progress-width-35 {
  width: 35%;
}

.ui-progress-height-35 {
  height: 35%;
}

.ui-survey-percent-35 {
  --survey-percent: 35;
}

.ui-progress-width-36 {
  width: 36%;
}

.ui-progress-height-36 {
  height: 36%;
}

.ui-survey-percent-36 {
  --survey-percent: 36;
}

.ui-progress-width-37 {
  width: 37%;
}

.ui-progress-height-37 {
  height: 37%;
}

.ui-survey-percent-37 {
  --survey-percent: 37;
}

.ui-progress-width-38 {
  width: 38%;
}

.ui-progress-height-38 {
  height: 38%;
}

.ui-survey-percent-38 {
  --survey-percent: 38;
}

.ui-progress-width-39 {
  width: 39%;
}

.ui-progress-height-39 {
  height: 39%;
}

.ui-survey-percent-39 {
  --survey-percent: 39;
}

.ui-progress-width-40 {
  width: 40%;
}

.ui-progress-height-40 {
  height: 40%;
}

.ui-survey-percent-40 {
  --survey-percent: 40;
}

.ui-progress-width-41 {
  width: 41%;
}

.ui-progress-height-41 {
  height: 41%;
}

.ui-survey-percent-41 {
  --survey-percent: 41;
}

.ui-progress-width-42 {
  width: 42%;
}

.ui-progress-height-42 {
  height: 42%;
}

.ui-survey-percent-42 {
  --survey-percent: 42;
}

.ui-progress-width-43 {
  width: 43%;
}

.ui-progress-height-43 {
  height: 43%;
}

.ui-survey-percent-43 {
  --survey-percent: 43;
}

.ui-progress-width-44 {
  width: 44%;
}

.ui-progress-height-44 {
  height: 44%;
}

.ui-survey-percent-44 {
  --survey-percent: 44;
}

.ui-progress-width-45 {
  width: 45%;
}

.ui-progress-height-45 {
  height: 45%;
}

.ui-survey-percent-45 {
  --survey-percent: 45;
}

.ui-progress-width-46 {
  width: 46%;
}

.ui-progress-height-46 {
  height: 46%;
}

.ui-survey-percent-46 {
  --survey-percent: 46;
}

.ui-progress-width-47 {
  width: 47%;
}

.ui-progress-height-47 {
  height: 47%;
}

.ui-survey-percent-47 {
  --survey-percent: 47;
}

.ui-progress-width-48 {
  width: 48%;
}

.ui-progress-height-48 {
  height: 48%;
}

.ui-survey-percent-48 {
  --survey-percent: 48;
}

.ui-progress-width-49 {
  width: 49%;
}

.ui-progress-height-49 {
  height: 49%;
}

.ui-survey-percent-49 {
  --survey-percent: 49;
}

.ui-progress-width-50 {
  width: 50%;
}

.ui-progress-height-50 {
  height: 50%;
}

.ui-survey-percent-50 {
  --survey-percent: 50;
}

.ui-progress-width-51 {
  width: 51%;
}

.ui-progress-height-51 {
  height: 51%;
}

.ui-survey-percent-51 {
  --survey-percent: 51;
}

.ui-progress-width-52 {
  width: 52%;
}

.ui-progress-height-52 {
  height: 52%;
}

.ui-survey-percent-52 {
  --survey-percent: 52;
}

.ui-progress-width-53 {
  width: 53%;
}

.ui-progress-height-53 {
  height: 53%;
}

.ui-survey-percent-53 {
  --survey-percent: 53;
}

.ui-progress-width-54 {
  width: 54%;
}

.ui-progress-height-54 {
  height: 54%;
}

.ui-survey-percent-54 {
  --survey-percent: 54;
}

.ui-progress-width-55 {
  width: 55%;
}

.ui-progress-height-55 {
  height: 55%;
}

.ui-survey-percent-55 {
  --survey-percent: 55;
}

.ui-progress-width-56 {
  width: 56%;
}

.ui-progress-height-56 {
  height: 56%;
}

.ui-survey-percent-56 {
  --survey-percent: 56;
}

.ui-progress-width-57 {
  width: 57%;
}

.ui-progress-height-57 {
  height: 57%;
}

.ui-survey-percent-57 {
  --survey-percent: 57;
}

.ui-progress-width-58 {
  width: 58%;
}

.ui-progress-height-58 {
  height: 58%;
}

.ui-survey-percent-58 {
  --survey-percent: 58;
}

.ui-progress-width-59 {
  width: 59%;
}

.ui-progress-height-59 {
  height: 59%;
}

.ui-survey-percent-59 {
  --survey-percent: 59;
}

.ui-progress-width-60 {
  width: 60%;
}

.ui-progress-height-60 {
  height: 60%;
}

.ui-survey-percent-60 {
  --survey-percent: 60;
}

.ui-progress-width-61 {
  width: 61%;
}

.ui-progress-height-61 {
  height: 61%;
}

.ui-survey-percent-61 {
  --survey-percent: 61;
}

.ui-progress-width-62 {
  width: 62%;
}

.ui-progress-height-62 {
  height: 62%;
}

.ui-survey-percent-62 {
  --survey-percent: 62;
}

.ui-progress-width-63 {
  width: 63%;
}

.ui-progress-height-63 {
  height: 63%;
}

.ui-survey-percent-63 {
  --survey-percent: 63;
}

.ui-progress-width-64 {
  width: 64%;
}

.ui-progress-height-64 {
  height: 64%;
}

.ui-survey-percent-64 {
  --survey-percent: 64;
}

.ui-progress-width-65 {
  width: 65%;
}

.ui-progress-height-65 {
  height: 65%;
}

.ui-survey-percent-65 {
  --survey-percent: 65;
}

.ui-progress-width-66 {
  width: 66%;
}

.ui-progress-height-66 {
  height: 66%;
}

.ui-survey-percent-66 {
  --survey-percent: 66;
}

.ui-progress-width-67 {
  width: 67%;
}

.ui-progress-height-67 {
  height: 67%;
}

.ui-survey-percent-67 {
  --survey-percent: 67;
}

.ui-progress-width-68 {
  width: 68%;
}

.ui-progress-height-68 {
  height: 68%;
}

.ui-survey-percent-68 {
  --survey-percent: 68;
}

.ui-progress-width-69 {
  width: 69%;
}

.ui-progress-height-69 {
  height: 69%;
}

.ui-survey-percent-69 {
  --survey-percent: 69;
}

.ui-progress-width-70 {
  width: 70%;
}

.ui-progress-height-70 {
  height: 70%;
}

.ui-survey-percent-70 {
  --survey-percent: 70;
}

.ui-progress-width-71 {
  width: 71%;
}

.ui-progress-height-71 {
  height: 71%;
}

.ui-survey-percent-71 {
  --survey-percent: 71;
}

.ui-progress-width-72 {
  width: 72%;
}

.ui-progress-height-72 {
  height: 72%;
}

.ui-survey-percent-72 {
  --survey-percent: 72;
}

.ui-progress-width-73 {
  width: 73%;
}

.ui-progress-height-73 {
  height: 73%;
}

.ui-survey-percent-73 {
  --survey-percent: 73;
}

.ui-progress-width-74 {
  width: 74%;
}

.ui-progress-height-74 {
  height: 74%;
}

.ui-survey-percent-74 {
  --survey-percent: 74;
}

.ui-progress-width-75 {
  width: 75%;
}

.ui-progress-height-75 {
  height: 75%;
}

.ui-survey-percent-75 {
  --survey-percent: 75;
}

.ui-progress-width-76 {
  width: 76%;
}

.ui-progress-height-76 {
  height: 76%;
}

.ui-survey-percent-76 {
  --survey-percent: 76;
}

.ui-progress-width-77 {
  width: 77%;
}

.ui-progress-height-77 {
  height: 77%;
}

.ui-survey-percent-77 {
  --survey-percent: 77;
}

.ui-progress-width-78 {
  width: 78%;
}

.ui-progress-height-78 {
  height: 78%;
}

.ui-survey-percent-78 {
  --survey-percent: 78;
}

.ui-progress-width-79 {
  width: 79%;
}

.ui-progress-height-79 {
  height: 79%;
}

.ui-survey-percent-79 {
  --survey-percent: 79;
}

.ui-progress-width-80 {
  width: 80%;
}

.ui-progress-height-80 {
  height: 80%;
}

.ui-survey-percent-80 {
  --survey-percent: 80;
}

.ui-progress-width-81 {
  width: 81%;
}

.ui-progress-height-81 {
  height: 81%;
}

.ui-survey-percent-81 {
  --survey-percent: 81;
}

.ui-progress-width-82 {
  width: 82%;
}

.ui-progress-height-82 {
  height: 82%;
}

.ui-survey-percent-82 {
  --survey-percent: 82;
}

.ui-progress-width-83 {
  width: 83%;
}

.ui-progress-height-83 {
  height: 83%;
}

.ui-survey-percent-83 {
  --survey-percent: 83;
}

.ui-progress-width-84 {
  width: 84%;
}

.ui-progress-height-84 {
  height: 84%;
}

.ui-survey-percent-84 {
  --survey-percent: 84;
}

.ui-progress-width-85 {
  width: 85%;
}

.ui-progress-height-85 {
  height: 85%;
}

.ui-survey-percent-85 {
  --survey-percent: 85;
}

.ui-progress-width-86 {
  width: 86%;
}

.ui-progress-height-86 {
  height: 86%;
}

.ui-survey-percent-86 {
  --survey-percent: 86;
}

.ui-progress-width-87 {
  width: 87%;
}

.ui-progress-height-87 {
  height: 87%;
}

.ui-survey-percent-87 {
  --survey-percent: 87;
}

.ui-progress-width-88 {
  width: 88%;
}

.ui-progress-height-88 {
  height: 88%;
}

.ui-survey-percent-88 {
  --survey-percent: 88;
}

.ui-progress-width-89 {
  width: 89%;
}

.ui-progress-height-89 {
  height: 89%;
}

.ui-survey-percent-89 {
  --survey-percent: 89;
}

.ui-progress-width-90 {
  width: 90%;
}

.ui-progress-height-90 {
  height: 90%;
}

.ui-survey-percent-90 {
  --survey-percent: 90;
}

.ui-progress-width-91 {
  width: 91%;
}

.ui-progress-height-91 {
  height: 91%;
}

.ui-survey-percent-91 {
  --survey-percent: 91;
}

.ui-progress-width-92 {
  width: 92%;
}

.ui-progress-height-92 {
  height: 92%;
}

.ui-survey-percent-92 {
  --survey-percent: 92;
}

.ui-progress-width-93 {
  width: 93%;
}

.ui-progress-height-93 {
  height: 93%;
}

.ui-survey-percent-93 {
  --survey-percent: 93;
}

.ui-progress-width-94 {
  width: 94%;
}

.ui-progress-height-94 {
  height: 94%;
}

.ui-survey-percent-94 {
  --survey-percent: 94;
}

.ui-progress-width-95 {
  width: 95%;
}

.ui-progress-height-95 {
  height: 95%;
}

.ui-survey-percent-95 {
  --survey-percent: 95;
}

.ui-progress-width-96 {
  width: 96%;
}

.ui-progress-height-96 {
  height: 96%;
}

.ui-survey-percent-96 {
  --survey-percent: 96;
}

.ui-progress-width-97 {
  width: 97%;
}

.ui-progress-height-97 {
  height: 97%;
}

.ui-survey-percent-97 {
  --survey-percent: 97;
}

.ui-progress-width-98 {
  width: 98%;
}

.ui-progress-height-98 {
  height: 98%;
}

.ui-survey-percent-98 {
  --survey-percent: 98;
}

.ui-progress-width-99 {
  width: 99%;
}

.ui-progress-height-99 {
  height: 99%;
}

.ui-survey-percent-99 {
  --survey-percent: 99;
}

.ui-progress-width-100 {
  width: 100%;
}

.ui-progress-height-100 {
  height: 100%;
}

.ui-survey-percent-100 {
  --survey-percent: 100;
}

@media (max-width: 767.98px) {

  .content-dt-pagination,
  .content-dt-footer .dataTables_paginate,
  .content-dt-footer .dt-paging,
  .content-dt-pagination-normalized,
  .content-dt-pagination .pagination,
  .content-dt-footer .pagination {
    width: 100% !important;
    justify-content: center !important;
  }

  .content-dt-footer {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .content-file-list-panel__footer {
    padding: .75rem !important;
  }

  .content-file-list-panel__footer .content-pagination {
    width: 100% !important;
  }
}

@media (max-width: 575.98px) {
  .shortcut-card-cover {
    min-height: 145px !important;
  }

  .shortcut-card-cover__icon {
    width: 5.25rem !important;
    height: 5.25rem !important;
    min-width: 5.25rem !important;
    min-height: 5.25rem !important;
  }

  .shortcut-card-cover__icon i {
    font-size: 2rem !important;
  }
}

/* ==========================================================================
   CSS ORIGINALMENTE EMBUTIDO NAS PÁGINAS, AGORA CENTRALIZADO
   ========================================================================== */

/* CSS movido de pages/doacao.php para remover bloco embutido da página. */
.doacao-page {
  background: #fff;
  color: #152333;
}

/* Ajuste específico da página Doação: como a hero possui painel lateral de Pix,
   os 4 cards não devem usar 4 colunas dentro da coluna reduzida do texto. */
.doacao-page .hero__cards {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 44rem;
  gap: .9rem;
}

.doacao-page .hero__card {
  align-items: flex-start;
  min-height: 116px;
  padding: .95rem 1rem;
}

.doacao-page .hero__card-icon {
  margin-top: .15rem;
}

.doacao-page .hero__card-body {
  min-width: 0;
}

.doacao-page .hero__card-title,
.doacao-page .hero__card-text {
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
}

.doacao-page .hero__card-title {
  font-size: clamp(.95rem, 1.05vw, 1.05rem);
  font-weight: 800;
  line-height: 1.2;
}

.doacao-page .hero__card-text {
  margin-top: .18rem;
  font-size: .88rem;
  line-height: 1.42;
}

.doacao-page .hero__panel-image {
  max-width: min(15rem, 100%);
  max-height: 15rem;
}

.doacao-section {
  padding: 5rem 0;
}

.doacao-section--soft {
  background: #f1f4f6;
}

.doacao-container {
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
}

.doacao-section-head {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 3rem;
}

.doacao-section-head__title {
  margin: 0;
  color: #152333;
  font-size: clamp(1.85rem, 3vw, 2.55rem);
  font-weight: 900;
  line-height: 1.1;
}

.doacao-section-head__text {
  margin: .8rem 0 0;
  color: #667789;
  font-size: 1.04rem;
  line-height: 1.55;
}

.doacao-content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  gap: 2.25rem;
  align-items: start;
}

.doacao-info-list {
  display: grid;
  gap: 1rem;
}

.doacao-info-card {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: .95rem;
  align-items: start;
  border: 1px solid rgba(15, 23, 42, .06);
  border-radius: 18px;
  background: #fff;
  padding: 1.05rem 1.15rem;
  box-shadow: 0 12px 34px rgba(15, 23, 42, .045);
}

.doacao-info-card--highlight {
  background: #eefafe;
}

.doacao-info-card__icon {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #0a85a5;
  background: rgba(10, 133, 165, .12);
}

.doacao-info-card__title {
  margin: 0 0 .35rem;
  font-size: 1rem;
  color: #152333;
  font-weight: 900;
}

.doacao-info-card__text {
  color: #667789;
  font-size: .96rem;
  line-height: 1.55;
}

.doacao-info-card__text p:last-child {
  margin-bottom: 0;
}

.doacao-main-card {
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 20px 60px rgba(15, 23, 42, .10);
  padding: 1.55rem;
}

.doacao-main-card__head {
  display: flex;
  align-items: center;
  gap: .8rem;
  margin-bottom: 1.2rem;
}

.doacao-main-card__icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(10, 133, 165, .12);
  color: #0a85a5;
}

.doacao-main-card__title {
  margin: 0;
  color: #152333;
  font-weight: 900;
  font-size: 1.05rem;
}

.doacao-main-card__subtitle {
  margin: .1rem 0 0;
  color: #667789;
  font-size: .86rem;
}

.doacao-main-card__qr {
  background: #f8fafc;
  border-radius: 20px;
  padding: 1.2rem;
  text-align: center;
  margin-bottom: 1.2rem;
}

.doacao-main-card__qr img {
  width: min(230px, 100%);
  height: auto;
  margin: auto;
  background: #fff;
  border-radius: 14px;
  padding: .5rem;
}

.doacao-main-card__label {
  margin: .9rem 0 0;
  font-weight: 900;
  color: #152333;
}

.doacao-copy {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .55rem;
  margin-top: .7rem;
}

.doacao-copy input {
  height: 42px;
  border: 1px solid rgba(15, 23, 42, .16);
  border-radius: 12px;
  padding: 0 .85rem;
  color: #152333;
  background: #fff;
  font-size: .9rem;
}

.doacao-copy button {
  height: 42px;
  border: 0;
  border-radius: 12px;
  padding: 0 1rem;
  background: #e9f8fb;
  color: #0a85a5;
  font-weight: 900;
}

.doacao-side-right {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
}

.doacao-faq {
  margin: 0 auto;
  display: grid;
  gap: 1rem;
}

.doacao-faq-item {
  border-radius: 16px;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .07);
  box-shadow: 0 10px 28px rgba(15, 23, 42, .045);
  overflow: hidden;
}

.doacao-faq-button {
  width: 100%;
  border: 0;
  background: #fff;
  color: #152333;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.1rem 1.25rem;
  text-align: left;
  font-weight: 900;
}

.doacao-faq-button span {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
}

.doacao-faq-button span i {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(10, 133, 165, .12);
  color: #0a85a5;
  font-size: .82rem;
}

.doacao-faq-panel {
  padding: 0 1.25rem 1.1rem 4rem;
  color: #667789;
  line-height: 1.6;
  display: none;
}

.doacao-faq-item.is-open .doacao-faq-panel {
  display: block;
}

.doacao-faq-item.is-open .doacao-faq-button>i {
  transform: rotate(180deg);
}

@media (max-width: 991.98px) {
  .doacao-page .hero__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .doacao-content-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px) {
  .doacao-page .hero__cards {
    grid-template-columns: 1fr;
  }

  .doacao-page .hero__card {
    min-height: 0;
  }

  .doacao-copy {
    grid-template-columns: 1fr;
  }

  .doacao-faq-panel {
    padding-left: 1.25rem;
  }
}

/* CSS movido de pages/noticia.php para remover bloco embutido da página. */
.news-detail-v2 {
  --news-bg: #f1f4f6;
  --news-card: #ffffff;
  --news-border: #dbe7ee;
  --news-text: #111827;
  --news-muted: #667585;
  --news-primary: #0a6587;
  --news-primary-dark: #083447;
  --news-accent: #17b879;
  --news-radius-lg: 28px;
  --news-radius-md: 18px;
  --news-shadow: 0 22px 55px rgba(15, 23, 42, .08);
  color: var(--news-text);
}

.news-detail-v2 * {
  box-sizing: border-box;
}

.news-detail-v2__content-wrap {
  position: relative;
  z-index: 2;
  padding: clamp(1.5rem, 4vw, 3rem) 0 0;
  background: #fff;
}

.news-detail-v2__content-wrap.is-last {
  padding-bottom: clamp(3.5rem, 7vw, 5.5rem);
}

.news-detail-v2__container {
  width: 100%;
}

.news-detail-v2__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: clamp(1.25rem, 3vw, 2.25rem);
  align-items: start;
  width: 100%;
}

.news-detail-v2__article-card {
  overflow: hidden;
  border: 1px solid var(--news-border);
  border-radius: var(--news-radius-md);
  background: var(--news-card);
  box-shadow: var(--news-shadow);
}

.news-detail-v2__cover {
  width: 100%;
  aspect-ratio: 16 / 8.1;
  background: #e5eef2;
  overflow: hidden;
}

.news-detail-v2__cover img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.news-detail-v2__article-body {
  padding: clamp(1.25rem, 3vw, 2rem);
}

.news-detail-v2__chips {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-bottom: 1.05rem;
}

.news-detail-v2__chip {
  display: inline-flex;
  align-items: center;
  gap: .38rem;
  padding: .35rem .65rem;
  border: 1px solid rgba(10, 101, 135, .14);
  border-radius: 999px;
  background: rgba(10, 101, 135, .08);
  color: #0a6587;
  font-size: .75rem;
  font-weight: 800;
  text-decoration: none;
}

.news-detail-v2__content {
  color: #4b5563;
  font-size: 1rem;
  line-height: 1.82;
}

.news-detail-v2__content :where(p, ul, ol, blockquote) {
  margin-bottom: 1.08rem;
}

.news-detail-v2__content :where(h2, h3, h4) {
  margin: 1.65rem 0 .85rem;
  color: #111827;
  line-height: 1.25;
  font-weight: 900;
}

.news-detail-v2__content img {
  max-width: 100%;
  height: auto;
  border-radius: 16px;
}

.news-detail-v2__section-title {
  margin: 1.9rem 0 .85rem;
  color: #111827;
  font-size: 1.05rem;
  font-weight: 900;
}

.news-detail-v2__gallery {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
}

.news-detail-v2__gallery-link {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 14px;
  border: 1px solid var(--news-border);
  background: #f8fafc;
}

.news-detail-v2__gallery-link img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .3s ease;
}

.news-detail-v2__gallery-link:hover img {
  transform: scale(1.05);
}

.news-detail-v2__files {
  display: grid;
  gap: .6rem;
}

.news-detail-v2__file {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .85rem .95rem;
  border: 1px solid var(--news-border);
  border-radius: 14px;
  color: #111827;
  background: #f8fafc;
  text-decoration: none;
  font-weight: 800;
}

.news-detail-v2__file span:first-child {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  min-width: 0;
}

.news-detail-v2__file i {
  color: var(--news-primary);
}

.news-detail-v2__file-action {
  color: var(--news-primary);
  font-size: .82rem;
  flex-shrink: 0;
}

.news-detail-v2__article-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--news-border);
}

.news-detail-v2__back,
.news-detail-v2__contact {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  text-decoration: none;
  font-weight: 900;
  font-size: .88rem;
}

.news-detail-v2__back {
  color: var(--news-primary);
}

.news-detail-v2__contact {
  padding: .62rem 1rem;
  border-radius: 999px;
  color: #fff;
  background: var(--news-accent);
  box-shadow: 0 14px 24px rgba(23, 184, 121, .22);
}

.news-detail-v2__side {
  display: grid;
  gap: 1rem;
}

.news-detail-v2__side-card {
  padding: 1.25rem;
  border: 1px solid var(--news-border);
  border-radius: var(--news-radius-md);
  background: #fff;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .05);
}

.news-detail-v2__side-title {
  margin: 0 0 1rem;
  color: #111827;
  font-size: 1rem;
  font-weight: 900;
}

.news-detail-v2__info-list {
  display: grid;
  gap: .6rem;
}

.news-detail-v2__info-item {
  padding: .8rem .85rem;
  border-radius: 12px;
  background: #f8fafc;
}

.news-detail-v2__info-item span {
  display: block;
  color: #64748b;
  font-size: .66rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .11em;
}

.news-detail-v2__info-item strong {
  display: block;
  margin-top: .28rem;
  color: #111827;
  font-size: .86rem;
  line-height: 1.35;
  font-weight: 900;
}

.news-detail-v2__share {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}

.news-detail-v2__share a {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(10, 101, 135, .14);
  border-radius: 999px;
  color: var(--news-primary);
  background: rgba(10, 101, 135, .08);
  text-decoration: none;
  transition: .2s ease;
}

.news-detail-v2__share a:hover {
  color: #fff;
  background: var(--news-primary);
  transform: translateY(-2px);
}

.news-detail-v2__related {
  margin-top: clamp(2.5rem, 6vw, 4.25rem);
  padding: clamp(3rem, 6vw, 4.5rem) 0;
  background: var(--news-bg);
}

.news-detail-v2__related-head {
  max-width: 640px;
  margin: 0 auto 2rem;
  padding: 0 1.25rem;
  text-align: center;
}

.news-detail-v2__kicker {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin-bottom: .7rem;
  padding: .36rem .75rem;
  border: 1px solid rgba(10, 101, 135, .14);
  border-radius: 999px;
  color: var(--news-primary);
  background: rgba(10, 101, 135, .07);
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.news-detail-v2__related-title {
  margin: 0;
  color: #111827;
  font-size: clamp(1.65rem, 3vw, 2.35rem);
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: -.035em;
}

.news-detail-v2__related-subtitle {
  margin: .7rem auto 0;
  color: #667585;
  line-height: 1.6;
}

.news-detail-v2__related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  width: 100%;
}

.news-detail-v2__related-card {
  overflow: hidden;
  border: 1px solid var(--news-border);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 18px 38px rgba(15, 23, 42, .06);
  text-decoration: none;
  transition: transform .24s ease, box-shadow .24s ease;
}

.news-detail-v2__related-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 26px 50px rgba(15, 23, 42, .10);
  text-decoration: none;
}

.news-detail-v2__related-cover {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 8.4;
  overflow: hidden;
  background: #e5eef2;
}

.news-detail-v2__related-cover img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .3s ease;
}

.news-detail-v2__related-card:hover .news-detail-v2__related-cover img {
  transform: scale(1.04);
}

.news-detail-v2__related-body {
  padding: 1rem 1.05rem 1.15rem;
}

.news-detail-v2__related-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .7rem;
  color: #64748b;
  font-size: .76rem;
  font-weight: 700;
}

.news-detail-v2__related h3 {
  margin: 0;
  color: #111827;
  font-size: 1rem;
  line-height: 1.35;
  font-weight: 900;
}

.news-detail-v2__related p {
  margin: .65rem 0 1rem;
  color: #64748b;
  font-size: .88rem;
  line-height: 1.55;
}

.news-detail-v2__related-more {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  color: var(--news-primary);
  font-size: .86rem;
  font-weight: 900;
}

@media (max-width: 991.98px) {

  .news-detail-v2__grid,
  .news-detail-v2__related-grid {
    grid-template-columns: 1fr;
  }

  .news-detail-v2__side {
    order: -1;
  }
}

@media (max-width: 575.98px) {
  .news-detail-v2__gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .news-detail-v2__article-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .news-detail-v2__contact,
  .news-detail-v2__back {
    justify-content: center;
  }
}

/* CSS movido de partials/footer.php para remover bloco embutido da página. */
.site-footer-cemab {
  background: #071126;
  color: #fff;
  padding: 2rem 0 2rem;
}

.site-footer-cemab .site-footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(170px, .85fr) minmax(210px, 1fr) minmax(230px, 1.05fr);
  gap: clamp(2rem, 4vw, 4.25rem);
  align-items: start;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, .10);
}

.site-footer-cemab .footer-logo-img {
  width: auto;
  max-width: 180px;
  max-height: 82px;
  object-fit: contain;
  object-position: left center;
}

.site-footer-cemab .footer-brand-text {
  max-width: 290px;
  color: #9ba9bd;
  line-height: 1.65;
  margin: 1.4rem 0 1.7rem;
  font-size: .98rem;
}

.site-footer-cemab .footer-heading {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin: 0 0 1.45rem;
  color: #fff;
  font-size: 1.04rem;
  font-weight: 800;
  line-height: 1.2;
}

.site-footer-cemab .footer-heading::before {
  content: '';
  width: 1.9rem;
  height: .15rem;
  border-radius: 999px;
  background: linear-gradient(90deg, #19c37d, #11a9c9);
  flex: 0 0 auto;
}

.site-footer-cemab .footer-list,
.site-footer-cemab .footer-contact-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.site-footer-cemab .footer-list {
  display: grid;
  gap: .85rem;
}

.site-footer-cemab .footer-list a {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  color: #9ba9bd;
  text-decoration: none;
  transition: color .18s ease, transform .18s ease;
}

.site-footer-cemab .footer-list a:hover {
  color: #fff;
  transform: translateX(2px);
}

.site-footer-cemab .footer-list i {
  color: #10a4c3;
  font-size: .72rem;
}

.site-footer-cemab .footer-contact-list {
  display: grid;
  gap: 1.15rem;
}

.site-footer-cemab .footer-contact-item {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  gap: .9rem;
  align-items: start;
  min-width: 0;
}

.site-footer-cemab .footer-contact-icon {
  width: 2.75rem !important;
  height: 2.75rem !important;
  border-radius: .72rem !important;
}

.site-footer-cemab .footer-contact-content {
  min-width: 0;
}

.site-footer-cemab .footer-contact-label {
  display: block;
  margin-bottom: .28rem;
  color: #64748b;
  font-size: .72rem;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.site-footer-cemab .footer-contact-value {
  display: inline-block;
  max-width: 100%;
  color: #e5edf7;
  text-decoration: none;
  line-height: 1.45;
  overflow-wrap: anywhere;
  word-break: normal;
}

.site-footer-cemab .footer-contact-value:hover {
  color: #fff;
  text-decoration: none;
}

.site-footer-cemab .footer-hours-card {
  width: 100%;
  max-width: 260px;
  padding: 1rem 1.1rem;
  border-radius: .85rem;
  background: rgba(255, 255, 255, .055);
}

.site-footer-cemab .footer-hours-label {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  color: #7a8799;
  font-size: .78rem;
  line-height: 1.2;
}

.site-footer-cemab .footer-hours-card strong {
  display: block;
  margin-top: .24rem;
  color: #fff;
  font-size: .98rem;
  line-height: 1.2;
}

.site-footer-cemab .footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 0.5rem;
  gap: 1.25rem;
  color: #64748b;
}

.site-footer-cemab .footer-bottom p {
  margin: 0;
}

.site-footer-cemab .footer-bottom-links {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.site-footer-cemab .footer-bottom a {
  color: #64748b;
  text-decoration: none;
  transition: color .18s ease;
}

.site-footer-cemab .footer-bottom a:hover {
  color: #fff;
}

@media (max-width: 1199.98px) {
  .site-footer-cemab .site-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .site-footer-cemab {
    padding-top: 3.25rem;
  }

  .site-footer-cemab .site-footer-grid {
    grid-template-columns: 1fr;
    gap: 2.4rem;
  }

  .site-footer-cemab .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ==========================================================
   Página Serviços - listagem em cards e modal de detalhes
   ========================================================== */
.servicos-list-section {
  padding: clamp(2.5rem, 5vw, 4.5rem) 0;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.servicos-list-shell {
  width: 100%;
}

.servicos-list-head {
  max-width: 760px;
  margin-bottom: clamp(1.25rem, 2.6vw, 1.85rem);
}

.servicos-list-head__content {
  min-width: 0;
}

.servicos-card__meta,
.servicos-modal__badge {
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  min-height: 1.75rem;
  padding: .25rem .62rem;
  border: 1px solid rgba(8, 145, 178, .15);
  border-radius: 999px;
  background: rgba(8, 145, 178, .09);
  color: rgb(14, 116, 144);
  font-size: .72rem;
  font-weight: 850;
  line-height: 1;
}

.servicos-list-head__title {
  margin: 0;
  color: #0f172a;
  font-size: clamp(1.55rem, 3vw, 2.25rem);
  font-weight: 900;
  line-height: 1.16;
  letter-spacing: -.03em;
}

.servicos-list-head__subtitle {
  max-width: 680px;
  margin: .75rem 0 0;
  color: #64748b;
  font-size: 1rem;
  line-height: 1.68;
}

.servicos-toolbar.ui-search-toolbar {
  margin-bottom: clamp(1.5rem, 3vw, 2.25rem) !important;
}

.servicos-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.15rem;
  align-items: stretch;
}

.servicos-card-item {
  min-width: 0;
  display: flex;
}

.servicos-card-item[hidden],
.servicos-empty[hidden],
.servicos-pagination-footer[hidden],
.servicos-modal[hidden],
.is-hidden-by-pagination {
  display: none !important;
}

.servicos-card {
  width: 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(8, 145, 178, .12);
  border-radius: 24px;
  background: #ffffff;
  color: inherit;
  text-align: left;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .07);
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.servicos-card:hover,
.servicos-card:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(8, 145, 178, .22);
  box-shadow: 0 24px 56px rgba(15, 23, 42, .11);
  outline: none;
}

.servicos-card__media {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(8, 145, 178, .96), rgba(14, 116, 144, .94));
  isolation: isolate;
}

.servicos-card__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .35s ease;
}

.servicos-card:hover .servicos-card__media img,
.servicos-card:focus-visible .servicos-card__media img {
  transform: scale(1.045);
}

.servicos-card__media-shape {
  position: absolute;
  border-radius: 999px;
  background: rgba(255, 255, 255, .14);
  z-index: -1;
}

.servicos-card__media-shape--one {
  width: 10rem;
  height: 10rem;
  top: -2.5rem;
  right: -1.5rem;
}

.servicos-card__media-shape--two {
  width: 8rem;
  height: 8rem;
  left: -1.5rem;
  bottom: -2rem;
  background: rgba(255, 255, 255, .10);
}

.servicos-card__icon {
  width: 5.75rem;
  height: 5.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 1.7rem;
  background: rgba(255, 255, 255, .16);
  color: #ffffff;
  box-shadow: 0 18px 36px rgba(15, 23, 42, .16);
  backdrop-filter: blur(4px);
}

.servicos-card__icon i {
  font-size: 2.35rem;
}

.servicos-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  gap: .8rem;
  padding: 1.1rem;
}

.servicos-card__title {
  display: block;
  margin: 0;
  color: #0f172a;
  font-size: 1.08rem;
  font-weight: 900;
  line-height: 1.25;
}

.servicos-card__summary {
  display: block;
  color: #64748b;
  font-size: .94rem;
  line-height: 1.65;
}

.servicos-card__action {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .62rem .9rem;
  border: 1px solid rgba(8, 145, 178, .18);
  border-radius: 999px;
  background: rgba(8, 145, 178, .08);
  color: rgb(14, 116, 144);
  font-size: .9rem;
  font-weight: 900;
  transition: background-color .18s ease, color .18s ease, transform .18s ease;
}

.servicos-card:hover .servicos-card__action,
.servicos-card:focus-visible .servicos-card__action {
  background: rgba(8, 145, 178, .14);
  color: rgb(8, 105, 130);
  transform: translateY(-1px);
}

.servicos-empty {
  margin-top: 1.25rem;
}

.servicos-pagination-footer.ui-pagination-footer {
  margin-top: 1.35rem;
  border: 1px solid rgba(8, 145, 178, .12);
  border-radius: 20px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

body.is-service-modal-open {
  overflow: hidden;
}

.servicos-modal {
  position: fixed;
  inset: 0;
  z-index: 1090;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(1rem, 3vw, 2rem);
}

.servicos-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 6, 23, .62);
  backdrop-filter: blur(6px);
}

.servicos-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 1040px);
  max-height: min(86vh, 780px);
  overflow: hidden;
  border: 1px solid rgba(226, 232, 240, .95);
  border-radius: 28px;
  background: #ffffff;
  box-shadow: 0 30px 80px rgba(2, 6, 23, .32);
}

.servicos-modal__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 3;
  width: 2.65rem;
  height: 2.65rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(226, 232, 240, .9);
  border-radius: 999px;
  background: rgba(255, 255, 255, .94);
  color: #0f172a;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .12);
  transition: background-color .18s ease, color .18s ease, transform .18s ease;
}

.servicos-modal__close:hover,
.servicos-modal__close:focus-visible {
  background: rgba(8, 145, 178, .10);
  color: rgb(14, 116, 144);
  outline: none;
  transform: translateY(-1px);
}

.servicos-modal__layout {
  display: grid;
  grid-template-columns: minmax(300px, 42%) minmax(0, 1fr);
  min-height: 480px;
}

.servicos-modal__media {
  position: relative;
  min-height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(8, 145, 178, .96), rgba(14, 116, 144, .94));
  isolation: isolate;
}

.servicos-modal__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.servicos-modal__media-shape {
  position: absolute;
  border-radius: 999px;
  background: rgba(255, 255, 255, .13);
  z-index: -1;
}

.servicos-modal__media-shape--one {
  width: 18rem;
  height: 18rem;
  top: -5rem;
  right: -5rem;
}

.servicos-modal__media-shape--two {
  width: 14rem;
  height: 14rem;
  left: -4rem;
  bottom: -4rem;
}

.servicos-modal__icon {
  width: 7.5rem;
  height: 7.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 2rem;
  background: rgba(255, 255, 255, .16);
  color: #ffffff;
  box-shadow: 0 22px 50px rgba(15, 23, 42, .18);
}

.servicos-modal__icon i {
  font-size: 3rem;
}

.servicos-modal__content {
  max-height: min(86vh, 780px);
  overflow-y: auto;
  padding: clamp(1.5rem, 3vw, 2.6rem);
}

.servicos-modal__badge {
  margin-bottom: 1rem;
}

.servicos-modal__title {
  margin: 0;
  color: #0f172a;
  font-size: clamp(1.45rem, 3vw, 2rem);
  font-weight: 950;
  line-height: 1.16;
  letter-spacing: -.03em;
}

.servicos-modal__summary {
  margin: 1rem 0 0;
  color: #475569;
  font-size: 1.04rem;
  line-height: 1.68;
}

.servicos-modal__text {
  margin-top: 1.35rem;
  color: #334155;
  font-size: 1rem;
  line-height: 1.72;
}

.servicos-modal__text p+p,
.servicos-modal__text ul+p,
.servicos-modal__text ol+p,
.servicos-modal__text p+ul,
.servicos-modal__text p+ol {
  margin-top: .85rem;
}

@media (max-width: 1199.98px) {
  .servicos-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {
  .servicos-list-head {
    max-width: none;
  }

  .servicos-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .servicos-modal__layout {
    grid-template-columns: 1fr;
  }

  .servicos-modal__media {
    min-height: 260px;
    max-height: 320px;
  }
}

@media (max-width: 767.98px) {
  .servicos-list-section {
    padding: 2rem 0 3rem;
  }

  .servicos-card-grid {
    grid-template-columns: 1fr;
  }

  .servicos-modal {
    padding: .75rem;
  }

  .servicos-modal__dialog {
    max-height: 88vh;
    border-radius: 22px;
  }

  .servicos-modal__media {
    min-height: 220px;
  }

  .servicos-modal__content {
    max-height: calc(88vh - 220px);
    padding: 1.25rem;
  }
}