/* Tailwind compiled build - embedded for offline/sandboxed preview */
*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box;
  /* 1 */
  border-width: 0;
  /* 2 */
  border-style: solid;
  /* 2 */
  border-color: #e5e7eb;
  /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -moz-tab-size: 4;
  /* 3 */
  -o-tab-size: 4;
     tab-size: 4;
  /* 3 */
  font-family: "Plus Jakarta Sans", sans-serif;
  /* 4 */
  font-feature-settings: normal;
  /* 5 */
  font-variation-settings: normal;
  /* 6 */
  -webkit-tap-highlight-color: transparent;
  /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0;
  /* 1 */
  line-height: inherit;
  /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0;
  /* 1 */
  color: inherit;
  /* 2 */
  border-top-width: 1px;
  /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

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

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  /* 1 */
  font-feature-settings: normal;
  /* 2 */
  font-variation-settings: normal;
  /* 3 */
  font-size: 1em;
  /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0;
  /* 1 */
  border-color: inherit;
  /* 2 */
  border-collapse: collapse;
  /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-feature-settings: inherit;
  /* 1 */
  font-variation-settings: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  font-weight: inherit;
  /* 1 */
  line-height: inherit;
  /* 1 */
  letter-spacing: inherit;
  /* 1 */
  color: inherit;
  /* 1 */
  margin: 0;
  /* 2 */
  padding: 0;
  /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button;
  /* 1 */
  background-color: transparent;
  /* 2 */
  background-image: none;
  /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

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

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

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

/*
Reset default styling for dialogs.
*/

dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

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

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

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

/* Make elements with the HTML hidden attribute stay hidden by default */

[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

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

.visible {
  visibility: visible;
}

.fixed {
  position: fixed;
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.inset-0 {
  inset: 0px;
}

.-bottom-32 {
  bottom: -8rem;
}

.-bottom-40 {
  bottom: -10rem;
}

.-left-16 {
  left: -4rem;
}

.-left-24 {
  left: -6rem;
}

.-left-32 {
  left: -8rem;
}

.-top-24 {
  top: -6rem;
}

.-top-32 {
  top: -8rem;
}

.-top-6 {
  top: -1.5rem;
}

.bottom-10 {
  bottom: 2.5rem;
}

.bottom-16 {
  bottom: 4rem;
}

.bottom-6 {
  bottom: 1.5rem;
}

.bottom-\[235px\] {
  bottom: 235px;
}

.bottom-\[290px\] {
  bottom: 290px;
}

.left-0 {
  left: 0px;
}

.left-1\/2 {
  left: 50%;
}

.left-10 {
  left: 2.5rem;
}

.left-16 {
  left: 4rem;
}

.left-4 {
  left: 1rem;
}

.left-\[8\%\] {
  left: 8%;
}

.right-0 {
  right: 0px;
}

.right-1\/4 {
  right: 25%;
}

.right-4 {
  right: 1rem;
}

.right-5 {
  right: 1.25rem;
}

.right-6 {
  right: 1.5rem;
}

.right-8 {
  right: 2rem;
}

.right-\[10\%\] {
  right: 10%;
}

.right-\[8\%\] {
  right: 8%;
}

.right-full {
  right: 100%;
}

.top-0 {
  top: 0px;
}

.top-1\/2 {
  top: 50%;
}

.top-1\/3 {
  top: 33.333333%;
}

.top-16 {
  top: 4rem;
}

.top-5 {
  top: 1.25rem;
}

.top-6 {
  top: 1.5rem;
}

.top-full {
  top: 100%;
}

.z-0 {
  z-index: 0;
}

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

.z-20 {
  z-index: 20;
}

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

.mx-4 {
  margin-left: 1rem;
  margin-right: 1rem;
}

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

.-ml-5 {
  margin-left: -1.25rem;
}

.-mr-5 {
  margin-right: -1.25rem;
}

.-mt-10 {
  margin-top: -2.5rem;
}

.-mt-28 {
  margin-top: -7rem;
}

.-mt-4 {
  margin-top: -1rem;
}

.mb-1 {
  margin-bottom: 0.25rem;
}

.mb-12 {
  margin-bottom: 3rem;
}

.mb-2 {
  margin-bottom: 0.5rem;
}

.mb-4 {
  margin-bottom: 1rem;
}

.ml-4 {
  margin-left: 1rem;
}

.mr-2 {
  margin-right: 0.5rem;
}

.mr-3 {
  margin-right: 0.75rem;
}

.mt-1 {
  margin-top: 0.25rem;
}

.mt-2 {
  margin-top: 0.5rem;
}

.mt-3 {
  margin-top: 0.75rem;
}

.mt-4 {
  margin-top: 1rem;
}

.mt-6 {
  margin-top: 1.5rem;
}

.mt-auto {
  margin-top: auto;
}

.line-clamp-5 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
}

.line-clamp-6 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
}

.block {
  display: block;
}

.flex {
  display: flex;
}

.grid {
  display: grid;
}

.hidden {
  display: none;
}

.h-1\.5 {
  height: 0.375rem;
}

.h-10 {
  height: 2.5rem;
}

.h-11 {
  height: 2.75rem;
}

.h-12 {
  height: 3rem;
}

.h-14 {
  height: 3.5rem;
}

.h-2 {
  height: 0.5rem;
}

.h-24 {
  height: 6rem;
}

.h-32 {
  height: 8rem;
}

.h-9 {
  height: 2.25rem;
}

.h-96 {
  height: 24rem;
}

.h-\[120px\] {
  height: 120px;
}

.h-\[200px\] {
  height: 200px;
}

.h-\[240px\] {
  height: 240px;
}

.h-\[260px\] {
  height: 260px;
}

.h-\[280px\] {
  height: 280px;
}

.h-\[380px\] {
  height: 380px;
}

.h-\[3px\] {
  height: 3px;
}

.h-\[420px\] {
  height: 420px;
}

.h-\[440px\] {
  height: 440px;
}

.h-\[460px\] {
  height: 460px;
}

.h-\[520px\] {
  height: 520px;
}

.h-full {
  height: 100%;
}

.max-h-0 {
  max-height: 0px;
}

.min-h-\[250px\] {
  min-height: 250px;
}

.min-h-\[320px\] {
  min-height: 320px;
}

.min-h-\[350px\] {
  min-height: 350px;
}

.min-h-\[440px\] {
  min-height: 440px;
}

.min-h-\[60vh\] {
  min-height: 60vh;
}

.min-h-\[680px\] {
  min-height: 680px;
}

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

.w-1\.5 {
  width: 0.375rem;
}

.w-10 {
  width: 2.5rem;
}

.w-11 {
  width: 2.75rem;
}

.w-12 {
  width: 3rem;
}

.w-14 {
  width: 3.5rem;
}

.w-2 {
  width: 0.5rem;
}

.w-24 {
  width: 6rem;
}

.w-6 {
  width: 1.5rem;
}

.w-9 {
  width: 2.25rem;
}

.w-\[120px\] {
  width: 120px;
}

.w-\[200px\] {
  width: 200px;
}

.w-\[260px\] {
  width: 260px;
}

.w-\[280px\] {
  width: 280px;
}

.w-\[380px\] {
  width: 380px;
}

.w-\[420px\] {
  width: 420px;
}

.w-\[460px\] {
  width: 460px;
}

.w-\[520px\] {
  width: 520px;
}

.w-full {
  width: 100%;
}

.w-max {
  width: -moz-max-content;
  width: max-content;
}

.w-screen {
  width: 100vw;
}

.max-w-2xl {
  max-width: 42rem;
}

.max-w-3xl {
  max-width: 48rem;
}

.max-w-4xl {
  max-width: 56rem;
}

.max-w-6xl {
  max-width: 72rem;
}

.max-w-7xl {
  max-width: 80rem;
}

.max-w-lg {
  max-width: 32rem;
}

.max-w-sm {
  max-width: 24rem;
}

.max-w-xl {
  max-width: 36rem;
}

.flex-1 {
  flex: 1 1 0%;
}

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

.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-y-2 {
  --tw-translate-y: -0.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.scale-100 {
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.scale-90 {
  --tw-scale-x: .9;
  --tw-scale-y: .9;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

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

.resize {
  resize: both;
}

.scroll-mt-32 {
  scroll-margin-top: 8rem;
}

.list-none {
  list-style-type: none;
}

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

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

.flex-col {
  flex-direction: column;
}

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

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

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

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

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

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

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

.gap-0 {
  gap: 0px;
}

.gap-1\.5 {
  gap: 0.375rem;
}

.gap-12 {
  gap: 3rem;
}

.gap-14 {
  gap: 3.5rem;
}

.gap-2 {
  gap: 0.5rem;
}

.gap-2\.5 {
  gap: 0.625rem;
}

.gap-24 {
  gap: 6rem;
}

.gap-3 {
  gap: 0.75rem;
}

.gap-4 {
  gap: 1rem;
}

.gap-5 {
  gap: 1.25rem;
}

.gap-6 {
  gap: 1.5rem;
}

.gap-8 {
  gap: 2rem;
}

.-space-x-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(-0.75rem * var(--tw-space-x-reverse));
  margin-left: calc(-0.75rem * calc(1 - var(--tw-space-x-reverse)));
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-x-hidden {
  overflow-x: hidden;
}

.scroll-smooth {
  scroll-behavior: smooth;
}

.whitespace-nowrap {
  white-space: nowrap;
}

.rounded-2xl {
  border-radius: 1rem;
}

.rounded-3xl {
  border-radius: 1.5rem;
}

.rounded-full {
  border-radius: 9999px;
}

.rounded-lg {
  border-radius: 0.5rem;
}

.rounded-xl {
  border-radius: 0.75rem;
}

.border {
  border-width: 1px;
}

.border-2 {
  border-width: 2px;
}

.border-y {
  border-top-width: 1px;
  border-bottom-width: 1px;
}

.border-b {
  border-bottom-width: 1px;
}

.border-t {
  border-top-width: 1px;
}

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

.border-brand-gold\/20 {
  border-color: rgb(224 99 160 / 0.2);
}

.border-brand-teal\/15 {
  border-color: rgb(202 98 199 / 0.15);
}

.border-brand-teal\/20 {
  border-color: rgb(202 98 199 / 0.2);
}

.border-brand-teal\/25 {
  border-color: rgb(202 98 199 / 0.25);
}

.border-slate-100 {
  --tw-border-opacity: 1;
  border-color: rgb(241 245 249 / var(--tw-border-opacity, 1));
}

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

.border-slate-200\/60 {
  border-color: rgb(226 232 240 / 0.6);
}

.border-slate-200\/80 {
  border-color: rgb(226 232 240 / 0.8);
}

.border-slate-300 {
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}

.border-white {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}

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

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

.border-white\/5 {
  border-color: rgb(255 255 255 / 0.05);
}

.bg-\[\#6B2F86\] {
  --tw-bg-opacity: 1;
  background-color: rgb(74 36 95 / var(--tw-bg-opacity, 1));
}

.bg-\[\#0a4f6e\] {
  --tw-bg-opacity: 1;
  background-color: rgb(10 79 110 / var(--tw-bg-opacity, 1));
}

.bg-\[\#6B2F86\] {
  --tw-bg-opacity: 1;
  background-color: rgb(12 18 32 / var(--tw-bg-opacity, 1));
}

.bg-\[\#CA62C7\] {
  --tw-bg-opacity: 1;
  background-color: rgb(202 98 199 / var(--tw-bg-opacity, 1));
}

.bg-\[\#6B2F86\] {
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}

.bg-brand-card {
  --tw-bg-opacity: 1;
  background-color: rgb(74 36 95 / var(--tw-bg-opacity, 1));
}

.bg-brand-dark {
  --tw-bg-opacity: 1;
  background-color: rgb(107 47 134 / var(--tw-bg-opacity, 1));
}

.bg-brand-gold {
  --tw-bg-opacity: 1;
  background-color: rgb(224 99 160 / var(--tw-bg-opacity, 1));
}

.bg-brand-gold\/10 {
  background-color: rgb(224 99 160 / 0.1);
}

.bg-brand-teal {
  --tw-bg-opacity: 1;
  background-color: rgb(202 98 199 / var(--tw-bg-opacity, 1));
}

.bg-brand-teal\/20 {
  background-color: rgb(202 98 199 / 0.2);
}

.bg-brand-teal\/25 {
  background-color: rgb(202 98 199 / 0.25);
}

.bg-brand-teal\/70 {
  background-color: rgb(202 98 199 / 0.7);
}

.bg-emerald-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
}

.bg-sky-500\/20 {
  background-color: rgb(202 98 199 / 0.2);
}

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

.bg-slate-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}

.bg-slate-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(203 213 225 / var(--tw-bg-opacity, 1));
}

.bg-slate-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}

.bg-slate-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}

.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

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

.bg-white\/80 {
  background-color: rgb(255 255 255 / 0.8);
}

.bg-gradient-to-b {
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}

.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}

.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}

.bg-gradient-to-t {
  background-image: linear-gradient(to top, var(--tw-gradient-stops));
}

.from-\[\#7E3B97\] {
  --tw-gradient-from: #7E3B97 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(10 26 46 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-brand-gold {
  --tw-gradient-from: #E063A0 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(224 99 160 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-white {
  --tw-gradient-from: #fff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.via-\[\#6B2F86\] {
  --tw-gradient-to: rgb(12 18 32 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #6B2F86 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-white\/70 {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.7) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-yellow-400 {
  --tw-gradient-to: rgb(202 98 199 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #CA62C7 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.to-\[\#4A245F\] {
  --tw-gradient-to: #4A245F var(--tw-gradient-to-position);
}

.to-amber-500 {
  --tw-gradient-to: #e063a0 var(--tw-gradient-to-position);
}

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

.to-yellow-600 {
  --tw-gradient-to: #FC936B var(--tw-gradient-to-position);
}

.bg-clip-text {
  -webkit-background-clip: text;
          background-clip: text;
}

.p-5 {
  padding: 1.25rem;
}

.p-6 {
  padding: 1.5rem;
}

.p-8 {
  padding: 2rem;
}

.px-0 {
  padding-left: 0px;
  padding-right: 0px;
}

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

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

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

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

.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.px-7 {
  padding-left: 1.75rem;
  padding-right: 1.75rem;
}

.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}

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

.py-1\.5 {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.py-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.py-14 {
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}

.py-16 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

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

.py-2\.5 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

.py-20 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

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

.py-3\.5 {
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}

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

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

.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.pb-14 {
  padding-bottom: 3.5rem;
}

.pb-16 {
  padding-bottom: 4rem;
}

.pb-20 {
  padding-bottom: 5rem;
}

.pb-6 {
  padding-bottom: 1.5rem;
}

.pb-8 {
  padding-bottom: 2rem;
}

.pb-\[560px\] {
  padding-bottom: 560px;
}

.pr-10 {
  padding-right: 2.5rem;
}

.pt-16 {
  padding-top: 4rem;
}

.pt-28 {
  padding-top: 7rem;
}

.pt-36 {
  padding-top: 9rem;
}

.pt-4 {
  padding-top: 1rem;
}

.pt-40 {
  padding-top: 10rem;
}

.pt-8 {
  padding-top: 2rem;
}

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

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

.font-sans {
  font-family: "Plus Jakarta Sans", sans-serif;
}

.font-serif {
  font-family: "Playfair Display", serif;
}

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

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

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

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

.text-7xl {
  font-size: 4.5rem;
  line-height: 1;
}

.text-\[10px\] {
  font-size: 10px;
}

.text-\[11px\] {
  font-size: 11px;
}

.text-\[9px\] {
  font-size: 9px;
}

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

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

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

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

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

.font-bold {
  font-weight: 700;
}

.font-extrabold {
  font-weight: 800;
}

.font-semibold {
  font-weight: 600;
}

.uppercase {
  text-transform: uppercase;
}

.leading-none {
  line-height: 1;
}

.leading-relaxed {
  line-height: 1.625;
}

.leading-snug {
  line-height: 1.375;
}

.leading-tight {
  line-height: 1.25;
}

.tracking-wide {
  letter-spacing: 0.025em;
}

.tracking-wider {
  letter-spacing: 0.05em;
}

.tracking-widest {
  letter-spacing: 0.1em;
}

.text-\[\#CA62C7\] {
  --tw-text-opacity: 1;
  color: rgb(202 98 199 / var(--tw-text-opacity, 1));
}

.text-\[\#6B2F86\] {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.text-\[\#4285F4\] {
  --tw-text-opacity: 1;
  color: rgb(66 133 244 / var(--tw-text-opacity, 1));
}

.text-brand-dark {
  --tw-text-opacity: 1;
  color: rgb(107 47 134 / var(--tw-text-opacity, 1));
}

.text-brand-gold {
  --tw-text-opacity: 1;
  color: rgb(224 99 160 / var(--tw-text-opacity, 1));
}

.text-brand-muted {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}

.text-brand-teal {
  --tw-text-opacity: 1;
  color: rgb(202 98 199 / var(--tw-text-opacity, 1));
}

.text-slate-200 {
  --tw-text-opacity: 1;
  color: rgb(226 232 240 / var(--tw-text-opacity, 1));
}

.text-slate-300 {
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}

.text-slate-400 {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}

.text-slate-500 {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}

.text-slate-600 {
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}

.text-slate-700 {
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}

.text-slate-800 {
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}

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

.text-transparent {
  color: transparent;
}

.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.text-white\/20 {
  color: rgb(255 255 255 / 0.2);
}

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

.opacity-0 {
  opacity: 0;
}

.opacity-100 {
  opacity: 1;
}

.opacity-40 {
  opacity: 0.4;
}

.opacity-50 {
  opacity: 0.5;
}

.opacity-\[0\.05\] {
  opacity: 0.05;
}

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

.shadow-\[0_0_12px_4px_rgba\(14\2c 165\2c 233\2c 0\.5\)\] {
  --tw-shadow: 0 0 12px 4px rgba(202,98,199,0.5);
  --tw-shadow-colored: 0 0 12px 4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_0_12px_4px_rgba\(212\2c 175\2c 55\2c 0\.5\)\] {
  --tw-shadow: 0 0 12px 4px rgba(212,175,55,0.5);
  --tw-shadow-colored: 0 0 12px 4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

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

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

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

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

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

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

.blur-\[100px\] {
  --tw-blur: blur(100px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.blur-\[110px\] {
  --tw-blur: blur(110px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.blur-\[120px\] {
  --tw-blur: blur(120px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.blur-\[2px\] {
  --tw-blur: blur(2px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

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

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

.transition {
  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;
}

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

.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;
}

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

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

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

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

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

.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

.will-change-transform {
  will-change: transform;
}

.\[transform-style\:preserve-3d\] {
  transform-style: preserve-3d;
}

.selection\:bg-brand-gold *::-moz-selection {
  --tw-bg-opacity: 1;
  background-color: rgb(224 99 160 / var(--tw-bg-opacity, 1));
}

.selection\:bg-brand-gold *::selection {
  --tw-bg-opacity: 1;
  background-color: rgb(224 99 160 / var(--tw-bg-opacity, 1));
}

.selection\:text-brand-dark *::-moz-selection {
  --tw-text-opacity: 1;
  color: rgb(107 47 134 / var(--tw-text-opacity, 1));
}

.selection\:text-brand-dark *::selection {
  --tw-text-opacity: 1;
  color: rgb(107 47 134 / var(--tw-text-opacity, 1));
}

.selection\:bg-brand-gold::-moz-selection {
  --tw-bg-opacity: 1;
  background-color: rgb(224 99 160 / var(--tw-bg-opacity, 1));
}

.selection\:bg-brand-gold::selection {
  --tw-bg-opacity: 1;
  background-color: rgb(224 99 160 / var(--tw-bg-opacity, 1));
}

.selection\:text-brand-dark::-moz-selection {
  --tw-text-opacity: 1;
  color: rgb(107 47 134 / var(--tw-text-opacity, 1));
}

.selection\:text-brand-dark::selection {
  --tw-text-opacity: 1;
  color: rgb(107 47 134 / var(--tw-text-opacity, 1));
}

.hover\:translate-x-1:hover {
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:translate-y-\[-4px\]:hover {
  --tw-translate-y: -4px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:scale-105:hover {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:scale-110:hover {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:border-brand-gold:hover {
  --tw-border-opacity: 1;
  border-color: rgb(224 99 160 / var(--tw-border-opacity, 1));
}

.hover\:border-brand-gold\/30:hover {
  border-color: rgb(224 99 160 / 0.3);
}

.hover\:border-brand-gold\/40:hover {
  border-color: rgb(224 99 160 / 0.4);
}

.hover\:bg-\[\#B54FA4\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(2 132 199 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#083d56\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(8 61 86 / var(--tw-bg-opacity, 1));
}

.hover\:bg-brand-gold:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(224 99 160 / var(--tw-bg-opacity, 1));
}

.hover\:bg-brand-goldHover:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(37 110 58 / var(--tw-bg-opacity, 1));
}

.hover\:bg-emerald-400:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(52 211 153 / var(--tw-bg-opacity, 1));
}

.hover\:text-brand-dark:hover {
  --tw-text-opacity: 1;
  color: rgb(107 47 134 / var(--tw-text-opacity, 1));
}

.hover\:text-brand-gold:hover {
  --tw-text-opacity: 1;
  color: rgb(224 99 160 / var(--tw-text-opacity, 1));
}

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

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

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

.group:hover .group-hover\:mb-5 {
  margin-bottom: 1.25rem;
}

.group:hover .group-hover\:max-h-24 {
  max-height: 6rem;
}

.group:hover .group-hover\:max-h-32 {
  max-height: 8rem;
}

.group:hover .group-hover\:translate-y-0 {
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:rotate-12 {
  --tw-rotate: 12deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:from-black {
  --tw-gradient-from: #000 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.group:hover .group-hover\:via-black\/75 {
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.75) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.group:hover .group-hover\:to-black\/10 {
  --tw-gradient-to: rgb(0 0 0 / 0.1) var(--tw-gradient-to-position);
}

.group:hover .group-hover\:text-brand-gold {
  --tw-text-opacity: 1;
  color: rgb(224 99 160 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-slate-200 {
  --tw-text-opacity: 1;
  color: rgb(226 232 240 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-slate-300 {
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}

@media (min-width: 640px) {
  .sm\:bottom-\[195px\] {
    bottom: 195px;
  }

  .sm\:bottom-\[250px\] {
    bottom: 250px;
  }

  .sm\:flex {
    display: flex;
  }

  .sm\:hidden {
    display: none;
  }

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

  .sm\:flex-row {
    flex-direction: row;
  }

  .sm\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .sm\:pb-\[520px\] {
    padding-bottom: 520px;
  }
}

@media (min-width: 768px) {
  .md\:col-span-4 {
    grid-column: span 4 / span 4;
  }

  .md\:h-\[320px\] {
    height: 320px;
  }

  .md\:h-\[520px\] {
    height: 520px;
  }

  .md\:min-h-full {
    min-height: 100%;
  }

  .md\:w-1\/2 {
    width: 50%;
  }

  .md\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

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

  .md\:flex-row {
    flex-direction: row;
  }
}

@media (min-width: 1024px) {
  .lg\:absolute {
    position: absolute;
  }

  .lg\:-top-8 {
    top: -2rem;
  }

  .lg\:bottom-auto {
    bottom: auto;
  }

  .lg\:left-10 {
    left: 2.5rem;
  }

  .lg\:right-10 {
    right: 2.5rem;
  }

  .lg\:top-\[200px\] {
    top: 200px;
  }

  .lg\:top-\[300px\] {
    top: 300px;
  }

  .lg\:top-\[412px\] {
    top: 412px;
  }

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

  .lg\:-mt-36 {
    margin-top: -9rem;
  }

  .lg\:ml-0 {
    margin-left: 0px;
  }

  .lg\:mt-0 {
    margin-top: 0px;
  }

  .lg\:block {
    display: block;
  }

  .lg\:flex {
    display: flex;
  }

  .lg\:hidden {
    display: none;
  }

  .lg\:h-\[260px\] {
    height: 260px;
  }

  .lg\:h-\[300px\] {
    height: 300px;
  }

  .lg\:h-\[380px\] {
    height: 380px;
  }

  .lg\:h-\[600px\] {
    height: 600px;
  }

  .lg\:min-h-\[500px\] {
    min-height: 500px;
  }

  .lg\:min-h-\[780px\] {
    min-height: 780px;
  }

  .lg\:w-\[260px\] {
    width: 260px;
  }

  .lg\:w-\[300px\] {
    width: 300px;
  }

  .lg\:w-\[380px\] {
    width: 380px;
  }

  .lg\:w-\[620px\] {
    width: 620px;
  }

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

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

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

  .lg\:gap-16 {
    gap: 4rem;
  }

  .lg\:gap-6 {
    gap: 1.5rem;
  }

  .lg\:p-12 {
    padding: 3rem;
  }

  .lg\:px-14 {
    padding-left: 3.5rem;
    padding-right: 3.5rem;
  }

  .lg\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .lg\:py-24 {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .lg\:pb-24 {
    padding-bottom: 6rem;
  }

  .lg\:pb-28 {
    padding-bottom: 7rem;
  }

  .lg\:pb-\[300px\] {
    padding-bottom: 300px;
  }

  .lg\:pt-36 {
    padding-top: 9rem;
  }

  .lg\:pt-48 {
    padding-top: 12rem;
  }

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

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

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

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

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

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

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

        /* Custom Premium Scrollbar */
        ::-webkit-scrollbar {
            width: 8px;
        }
        ::-webkit-scrollbar-track {
            background: #fff9fc;
        }
        ::-webkit-scrollbar-thumb {
            background: linear-gradient(180deg, #CA62C7, #E063A0);
            border-radius: 4px;
        }
        ::-webkit-scrollbar-thumb:hover {
            background: linear-gradient(180deg, #CA62C7, #E063A0);
        }

        /* Glassmorphism Styles matching mockup */
        .glass-card {
            background: rgba(74, 36, 95, 0.45);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            border: 1px solid rgba(255, 255, 255, 0.08);
            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .glass-card:hover {
            border-color: rgba(224, 99, 160, 0.35);
            background: rgba(74, 36, 95, 0.62);
            transform: translateY(-4px);
        }

        /* Light glass variant - for use over white/light or photo backgrounds */
        .glass-card-light {
            background: rgba(255, 255, 255, 0.55);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            border: 1px solid rgba(15, 23, 42, 0.08);
            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .glass-card-light:hover {
            border-color: rgba(224, 99, 160, 0.5);
            background: rgba(255, 255, 255, 0.75);
            transform: translateY(-4px);
        }

        /* Neon & Glow effects */
        .glow-text-gold {
            text-shadow: 0 0 12px rgba(224, 99, 160, 0.22);
        }

        /* Custom Dropdown Animations */
        .dropdown-menu {
            opacity: 0;
            transform: translateY(10px) scale(0.95);
            pointer-events: none;
            transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .dropdown-group:hover .dropdown-menu {
            opacity: 1;
            transform: translateY(0) scale(1);
            pointer-events: auto;
        }

        /* Page Display Utilities */
        .page-content {
            display: none;
            opacity: 0;
            transform: scale(0.99) translateY(10px);
            transition: opacity 0.40s ease-out, transform 0.40s ease-out;
        }
        .page-content.active {
            display: block;
            opacity: 1;
            transform: scale(1) translateY(0);
        }
    

:root{
  --km-purple:#CA62C7;
  --km-pink:#E063A0;
  --km-coral:#FC936B;
  --km-dark:#6B2F86;
  --km-dark-2:#4A245F;
  --km-bg:#FFF8FC;
}
body{
  background: linear-gradient(180deg,#fffbfd 0%,#fff8fc 55%,#fff4fa 100%);
  color:#2f2340;
}
.header-inner{
  border-color: rgba(224,99,160,0.16) !important;
  box-shadow: 0 12px 30px rgba(107,47,134,0.12) !important;
}
body.page-inicio-active header:not(.header-scrolled) .nav-link,
body.page-inicio-active header:not(.header-scrolled) .espnav-trigger{
  text-shadow: 0 2px 10px rgba(74,36,95,0.55) !important;
}
.glass-card-light{ background: rgba(255,255,255,0.62); }
.glass-card-light:hover{ background: rgba(255,255,255,0.85); }
.glow-text-gold{ text-shadow:0 0 14px rgba(224,99,160,0.30) !important; }
.hero-servicos__btn, .esp-intro-btn, .esp-cta-final a, .blog-article-cta, .cookie-btn-accept, .contact-map__btn--primary{
  background: var(--km-pink) !important;
  color:#fff !important;
}
.hero-servicos__btn:hover, .esp-intro-btn:hover, .esp-cta-final a:hover, .blog-article-cta:hover, .cookie-btn-accept:hover, .contact-map__btn--primary:hover{
  background: var(--km-coral) !important;
  color:#fff !important;
}
.stss-tab-btn.active, .stss-card.active{
  background: linear-gradient(135deg,var(--km-pink),var(--km-coral)) !important;
  color:#fff !important;
  border-color: transparent !important;
}
.stss-center-badge, .qs2-logo-card .qs2-logo-badge{
  color:#fff !important;
}
footer{ box-shadow: 0 -12px 32px rgba(74,36,95,0.08); }

.hero-desktop-only{display:block;}
.hero-mobile-only{display:none;}
@media (max-width: 767px){
    .hero-desktop-only{display:none !important;}
    .hero-mobile-only{display:block !important;}
}

                .header-inner {
                    background: rgba(255,255,255,0.8);
                    -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
                    border: 1px solid rgba(226,232,240,0.8);
                    box-shadow: 0 10px 30px rgba(15,23,42,0.10);
                    transition: background 400ms ease, box-shadow 400ms ease, border-color 400ms ease, border-radius 400ms ease;
                }
                .header-logo-img { height:38px; width:auto; display:block; object-fit:contain; }
                @media (min-width:1024px) { .header-logo-img { height:46px; } }

                /* Só na página inicial e enquanto não rolou: cabeçalho totalmente transparente */
                body.page-inicio-active header:not(.header-scrolled) .header-inner {
                    background: transparent;
                    -webkit-backdrop-filter: none; backdrop-filter: none;
                    border-color: transparent;
                    box-shadow: none;
                    border-radius: 0;
                }
                body.page-inicio-active header:not(.header-scrolled) .nav-link,
                body.page-inicio-active header:not(.header-scrolled) .espnav-trigger {
                    color: #6B2F86; text-shadow: 0 1px 8px rgba(255,255,255,0.85);
                }
                body.page-inicio-active header:not(.header-scrolled) #mobile-menu-btn {
                    background: rgba(255,255,255,0.15); border-color: rgba(255,255,255,0.3); color:#ffffff;
                }
            

                .espnav-wrap { position:relative; }
                .espnav-menu { position:absolute; top:calc(100% + 14px); left:50%; width:720px; max-width:90vw; background:#ffffff; padding:28px; border-radius:20px; box-shadow:0 25px 60px rgba(15,23,42,0.15); display:grid; grid-template-columns:1fr 1fr; gap:6px 28px; z-index:60; opacity:0; visibility:hidden; pointer-events:none; transform:translateX(-50%) translateY(8px); transition:opacity 250ms ease, transform 250ms ease, visibility 250ms ease; }
                .espnav-wrap:hover .espnav-menu, .espnav-wrap:focus-within .espnav-menu { opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0); }
                .espnav-col { display:flex; flex-direction:column; }
                .espnav-col-title { display:block; font-size:11px; font-weight:800; letter-spacing:0.1em; text-transform:uppercase; color:#e063a0; margin-bottom:10px; }
                .espnav-item { display:flex; align-items:flex-start; gap:12px; padding:10px 12px; border-radius:12px; text-decoration:none; margin-bottom:12px; transition:background 250ms ease; }
                .espnav-item:last-child { margin-bottom:0; }
                .espnav-item:hover { background:#faf6ea; }
                .espnav-item i { color:#e063a0; width:18px; text-align:center; margin-top:2px; flex-shrink:0; font-size:14px; }
                .espnav-item strong { display:block; font-size:14px; font-weight:700; color:#6b2f86; }
                .espnav-item small { display:block; font-size:12px; color:#64748b; margin-top:2px; line-height:1.4; }

                .espnav-mobile-panel { display:flex; flex-direction:column; gap:2px; padding-left:8px; }
                .espnav-mobile-panel.hidden { display:none; }
                .espnav-mobile-item { display:flex; align-items:center; gap:10px; padding:9px 4px; font-size:14px; font-weight:600; color:#334155; text-decoration:none; }
                .espnav-mobile-item i { color:#e063a0; width:16px; text-align:center; font-size:13px; }
            

                    .hero-bg-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; display:block; }
                

                            @media (max-width:767px) { .hide-mobile-bullet { display:none; } }
                        

                        .acomp-viewport { height: 380px; touch-action: pan-y; }
                        @media (min-width:640px) { .acomp-viewport { height:440px; } }
                        @media (min-width:1024px) { .acomp-viewport { height:480px; } }
                        .acomp-card {
                            position: absolute; top: 50%; left: 50%;
                            width: 230px; height: 300px;
                            border-radius: 16px; overflow: hidden;
                            border: 1px solid #e2e8f0; background: #f1f5f9;
                            cursor: pointer;
                        }
                        @media (min-width:640px) { .acomp-card { width:260px; height:350px; } }
                        @media (min-width:1024px) { .acomp-card { width:300px; height:384px; } }
                        .acomp-overlay {
                            position: absolute; inset: 0;
                            background: linear-gradient(to top, rgba(0,0,0,0.72), rgba(0,0,0,0.08) 55%, transparent);
                            display: flex; flex-direction: column; justify-content: flex-end;
                            padding: 24px; box-sizing: border-box;
                        }
                        .acomp-overlay h4 { font-weight: 700; font-size: 18px; color: #fff; line-height: 1.25; margin: 0 0 8px; }
                        .acomp-overlay p { font-size: 12px; line-height: 1.5; color: #e2e8f0; margin: 0; }
                    

                    /* Celular (padrão): imagem cobre o card inteiro, sem nenhum filtro/degradê de cor por cima */
                    .superar-slide-box { position:relative; overflow:hidden; min-height:420px; }
                    .superar-slide-box.hidden { display:none; }
                    .superar-img { position:absolute; inset:0; width:100%; height:100%; background-size:cover; background-position:center; z-index:0; }
                    .superar-content { position:relative; z-index:10; display:flex; flex-direction:column; justify-content:flex-end; height:100%; min-height:420px; padding:24px; gap:12px; background:transparent; color:#ffffff; box-sizing:border-box; }
                    .superar-title { font-size:22px; line-height:1.25; margin:0; max-width:520px; text-shadow:0 2px 10px rgba(0,0,0,0.85), 0 0 24px rgba(0,0,0,0.6); }
                    .superar-text { font-size:14px; line-height:1.55; margin:0; max-width:520px; color:#ffffff; text-shadow:0 1px 8px rgba(0,0,0,0.85), 0 0 18px rgba(0,0,0,0.6); }
                    .superar-btn { margin-top:6px; width:max-content; padding:10px 22px; border-radius:999px; border:1px solid rgba(255,255,255,0.7); background:rgba(0,0,0,0.25); color:#ffffff; font-size:12px; font-weight:700; display:inline-flex; align-items:center; gap:8px; transition:all 200ms ease; text-shadow:0 1px 6px rgba(0,0,0,0.7); }
                    .superar-btn:hover { background:#ffffff; color:#0f172a; text-shadow:none; }

                    /* A partir de 768px (desktop/tablet): volta ao layout original lado a lado, sem sobreposição */
                    @media (min-width:768px) {
                        .superar-slide-box { display:flex; flex-direction:row; align-items:stretch; min-height:350px; }
                        .superar-img { position:relative; inset:auto; width:50%; height:auto; min-height:100%; flex-shrink:0; }
                        .superar-content { position:relative; width:50%; height:auto; min-height:0; justify-content:center; background:#6B2F86; padding:48px; }
                        .superar-title { font-size:28px; text-shadow:none; }
                        .superar-text { font-size:15px; color:#cbd5e1; text-shadow:none; }
                        .superar-btn { border-color:rgba(255,255,255,0.2); background:transparent; text-shadow:none; }
                        .superar-btn:hover { border-color:#d4af37; color:#d4af37; background:transparent; }
                    }
                    @media (min-width:1024px) {
                        .superar-title { font-size:32px; }
                    }
                

                    .seg-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px; align-items:stretch; }
                    @media (min-width:768px) { .seg-grid { grid-template-columns:repeat(3, minmax(0,1fr)); gap:20px; } }
                    @media (min-width:1024px) { .seg-grid { gap:32px; } }

                    /* Mobile (até 767px): cards verticais, proporção próxima de 2:3, sem achatar */
                    .seg-card { width:100%; aspect-ratio:2/3; min-height:230px; height:auto; border-radius:18px; }
                    @media (min-width:400px) { .seg-card { min-height:250px; } }

                    /* A partir de 768px (3 colunas): mesma altura fixa de antes, desktop inalterado */
                    @media (min-width:768px) { .seg-card { aspect-ratio:auto; min-height:0; height:520px; border-radius:24px; } }
                    @media (min-width:1024px) { .seg-card { height:600px; } }

                    .seg-overlay { padding:16px; box-sizing:border-box; }
                    @media (min-width:640px) { .seg-overlay { padding:24px; } }
                    @media (min-width:1024px) { .seg-overlay { padding:32px; } }
                    .seg-eyebrow { font-size:9px; }
                    @media (min-width:640px) { .seg-eyebrow { font-size:12px; } }
                    .seg-title { font-size:16px; margin-bottom:4px; }
                    @media (min-width:640px) { .seg-title { font-size:20px; margin-bottom:8px; } }
                    @media (min-width:1024px) { .seg-title { font-size:24px; } }

                    /* Contraste dos textos sobre as novas imagens dos segmentos */
                    .seg-card .seg-overlay {
                        background: linear-gradient(to top, rgba(24,12,31,0.92) 0%, rgba(24,12,31,0.68) 35%, rgba(24,12,31,0.18) 68%, transparent 100%) !important;
                    }
                    .seg-card:hover .seg-overlay {
                        background: linear-gradient(to top, rgba(24,12,31,0.94) 0%, rgba(24,12,31,0.76) 42%, rgba(24,12,31,0.24) 72%, transparent 100%) !important;
                    }
                    .seg-card .seg-eyebrow {
                        color:#F3C4E4 !important;
                        text-shadow:0 1px 5px rgba(0,0,0,0.50);
                    }
                    .seg-card .seg-title {
                        color:#FFFFFF !important;
                        text-shadow:0 2px 8px rgba(0,0,0,0.55);
                    }
                    .seg-card .seg-overlay p {
                        color:#F7F1F6 !important;
                        text-shadow:0 1px 6px rgba(0,0,0,0.55);
                    }
                

                .hero-quem-somos, .hero-quem-somos * { box-sizing: border-box; }
                .hero-quem-somos { position:relative; width:100vw; height:760px; min-height:760px; margin:-112px 0 0; padding:0; overflow:hidden; left:50%; transform:translateX(-50%); }
                @media (min-width: 1024px) { .hero-quem-somos { margin-top:-144px; } }

                .hero-quem-somos__media { position:absolute; inset:0; width:100%; height:100%; background:#E9EDF2; overflow:hidden; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; color:#9AA5B1; }
                .hero-quem-somos__media img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }

                .hero-quem-somos__content { position:relative; z-index:5; width:100%; max-width:1320px; height:100%; margin:0 auto; padding:175px 40px 70px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
                .hero-quem-somos__eyebrow { font-size:15px; font-weight:800; letter-spacing:1.5px; color:#E063A0; margin-bottom:18px; display:block; text-shadow:0 1px 10px rgba(255,255,255,0.9); }
                .hero-quem-somos__title { font-size:58px; line-height:1.08; font-weight:700; color:#6B2F86; max-width:820px; margin:0; text-shadow:0 1px 12px rgba(255,255,255,0.9); }
                .hero-quem-somos__title span { color:#e063a0; }
                .hero-quem-somos__breadcrumb { margin-top:32px; display:flex; align-items:center; gap:10px; font-size:16px; color:#6B2F86; font-weight:700; }
                .hero-quem-somos__breadcrumb a { color:#6B2F86; text-decoration:none; display:flex; align-items:center; gap:8px; transition:color 250ms ease; }
                .hero-quem-somos__breadcrumb a:hover { color:#e063a0; }
                .hero-quem-somos__breadcrumb .sep { color:#e063a0; }

                /* Cabeçalho sobreposto — mesmo padrão da página Serviços */
                body.page-quemsomos-active header { padding:0; }
                body.page-quemsomos-active header > div:first-child {
                    max-width:100%; margin:0; border-radius:0; background:rgba(255,255,255,0.82);
                    -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border:none; box-shadow:none;
                    padding:0 40px; height:105px; display:flex; align-items:center; justify-content:space-between;
                }

                @media (min-width: 900px) and (max-width: 1199px) {
                    .hero-quem-somos { height:650px; min-height:650px; }
                    .hero-quem-somos__title { font-size:46px; }
                    .hero-quem-somos__content { padding:150px 30px 60px; }
                    body.page-quemsomos-active header > div:first-child { height:90px; padding:0 30px; }
                }
                @media (max-width: 899px) {
                    .hero-quem-somos { height:620px; min-height:620px; }
                    .hero-quem-somos__title { font-size:36px; }
                    .hero-quem-somos__content { padding:135px 22px 50px; }
                }
            

                .km-history, .km-history * { box-sizing:border-box; }
                .km-history { background:#fff; }
                .km-history__inner { max-width:1180px; margin:0 auto; padding:90px 24px 86px; }
                .km-history__eyebrow { display:flex; align-items:center; gap:14px; color:#e063a0; font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; margin-bottom:18px; }
                .km-history__eyebrow::before { content:""; width:62px; height:2px; background:linear-gradient(90deg,#ca62c7,#fc936b); border-radius:999px; }
                .km-history__title { font-family:"Playfair Display", serif; font-size:46px; line-height:1.12; color:#6b2f86; font-weight:700; margin:0 0 28px; }
                .km-history__lead { font-size:20px; line-height:1.75; color:#4b3e59; max-width:980px; margin-bottom:18px; }
                .km-history__text { font-size:17px; line-height:1.8; color:#5a4c67; margin:0 0 18px; }
                .km-history__grid { display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:42px; }
                .km-history__card { background:linear-gradient(145deg,#fff9fc,#fff); border:1px solid rgba(224,99,160,.18); border-radius:24px; padding:32px; box-shadow:0 20px 55px rgba(107,47,134,.08); }
                .km-history__card h3 { color:#6b2f86; font-size:25px; font-weight:800; margin:0 0 16px; }
                .km-history__card p { color:#5a4c67; font-size:16px; line-height:1.75; margin:0; }
                .km-history__services { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:32px; }
                .km-history__service { border-radius:20px; padding:24px; background:#fff; border:1px solid rgba(202,98,199,.18); box-shadow:0 14px 36px rgba(74,36,95,.06); }
                .km-history__service i { width:46px; height:46px; border-radius:14px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#ca62c7,#e063a0,#fc936b); color:#fff; font-size:18px; margin-bottom:16px; }
                .km-history__service strong { display:block; color:#6b2f86; font-size:18px; margin-bottom:8px; }
                .km-history__service span { display:block; color:#5a4c67; font-size:15px; line-height:1.65; }
                .km-history__closing { margin-top:34px; padding:26px 30px; border-radius:22px; background:linear-gradient(135deg,#6b2f86 0%,#8d419b 50%,#ca62c7 100%); color:#fff; box-shadow:0 18px 45px rgba(107,47,134,.20); }
                .km-history__closing p { font-size:18px; line-height:1.7; margin:0; }
                .km-history__signature { margin-top:16px; font-size:22px; font-weight:800; }
                .km-history__signature span { display:block; font-size:14px; font-weight:600; opacity:.9; margin-top:4px; }

                .km-legacy { background:linear-gradient(180deg,#fff8fc 0%,#fff 100%); border-top:1px solid rgba(224,99,160,.12); }
                .km-legacy__inner { max-width:1180px; margin:0 auto; padding:84px 24px 96px; display:grid; grid-template-columns:minmax(0, .88fr) minmax(0, 1.12fr); gap:70px; align-items:center; }
                .km-legacy__photo { min-height:560px; border-radius:30px; position:relative; overflow:hidden; background:linear-gradient(145deg,#f3e6f4,#fde8ef); border:1px solid rgba(202,98,199,.20); box-shadow:0 28px 70px rgba(107,47,134,.14); }
                .km-legacy__photo-placeholder { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; text-align:center; padding:35px; color:#8a6d94; }
                .km-legacy__photo-placeholder i { width:74px; height:74px; border-radius:22px; display:flex; align-items:center; justify-content:center; font-size:28px; color:#fff; background:linear-gradient(135deg,#ca62c7,#e063a0,#fc936b); box-shadow:0 14px 36px rgba(224,99,160,.25); }
                .km-legacy__photo-placeholder strong { color:#6b2f86; font-size:18px; }
                .km-legacy__photo-placeholder span { max-width:310px; font-size:14px; line-height:1.6; }
                .km-legacy__photo::after { content:""; position:absolute; left:22px; right:22px; bottom:22px; height:7px; border-radius:999px; background:linear-gradient(90deg,#ca62c7,#e063a0,#fc936b); }
                .km-legacy__kicker { display:inline-flex; align-items:center; gap:9px; color:#e063a0; font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; margin-bottom:16px; }
                .km-legacy__kicker i { font-size:15px; }
                .km-legacy__title { font-family:"Playfair Display", serif; color:#6b2f86; font-size:43px; line-height:1.14; font-weight:700; margin:0 0 24px; }
                .km-legacy__text { color:#5a4c67; font-size:17px; line-height:1.85; margin:0 0 18px; }
                .km-legacy__quote { margin:28px 0 0; padding:24px 26px; border-left:4px solid #e063a0; background:#fff; border-radius:0 18px 18px 0; box-shadow:0 14px 38px rgba(107,47,134,.07); }
                .km-legacy__quote p { font-family:"Playfair Display", serif; color:#6b2f86; font-size:21px; line-height:1.55; margin:0; }
                .km-legacy__quote span { display:block; color:#8a6d94; font-size:13px; font-weight:700; margin-top:10px; text-transform:uppercase; letter-spacing:.08em; }

                @media (max-width:900px) {
                    .km-history__inner { padding:62px 22px 66px; }
                    .km-history__title { font-size:38px; }
                    .km-history__grid { grid-template-columns:1fr; }
                    .km-history__services { grid-template-columns:1fr; }
                    .km-legacy__inner { grid-template-columns:1fr; gap:38px; padding:62px 22px 72px; }
                    .km-legacy__photo { min-height:430px; order:2; }
                    .km-legacy__content { order:1; }
                    .km-legacy__title { font-size:36px; }
                }
                @media (max-width:600px) {
                    .km-history__title, .km-legacy__title { font-size:32px; }
                    .km-history__lead { font-size:18px; }
                    .km-history__text, .km-legacy__text { font-size:16px; }
                    .km-history__card { padding:24px; }
                    .km-legacy__photo { min-height:360px; }
                }
            

                .mvv-wrap, .mvv-wrap * { box-sizing: border-box; }

                .mvv-wrap { display:grid; grid-template-columns:57% 43%; width:100%; height:620px; min-height:620px; max-height:620px; margin:0; padding:0; overflow:hidden; align-items:stretch; box-sizing:border-box; }

                .mvv-left { position:relative; height:620px; min-height:620px; max-height:620px; background:#6B2F86; display:flex; align-items:center; padding:0; margin:0; box-sizing:border-box; overflow:hidden; }
                .mvv-inner { position:relative; max-width:650px; width:100%; margin-left:12%; margin-top:0; margin-bottom:0; padding-left:42px; padding-right:60px; box-sizing:border-box; }
                .mvv-line { position:absolute; left:0; top:50%; transform:translateY(-50%); width:2px; height:365px; background:#2C63C8; }
                .mvv-content { box-sizing:border-box; }

                .mvv-item { margin:0; }
                .mvv-item + .mvv-item { margin-top:38px; }

                .mvv-tab-btn { display:block; background:none; border:none; padding:0; margin:0; text-align:left; font-family:inherit; font-weight:800; font-size:28px; color:rgba(255,255,255,0.65); cursor:pointer; line-height:1.2; transition:color 300ms ease, font-size 300ms ease; box-sizing:border-box; }
                .mvv-tab-btn:focus-visible { outline:2px solid #2C63C8; outline-offset:4px; }
                .mvv-tab-btn.mvv-tab-active { color:#2C63C8; font-size:30px; }

                .mvv-panel { color:#ffffff; font-size:18px; line-height:1.4; max-width:610px; text-align:left; margin-top:0; opacity:0; max-height:0; overflow:hidden; transition:opacity 300ms ease; box-sizing:border-box; }
                .mvv-panel.mvv-panel-visible { opacity:1; max-height:220px; margin-top:20px; }

                .mvv-right { width:100%; height:620px; min-height:620px; max-height:620px; position:relative; margin:0; padding:0; overflow:hidden; box-sizing:border-box; }
                .mvv-right .mvv-image-placeholder { position:absolute; inset:0; width:100%; height:620px; min-height:620px; max-height:620px; object-fit:cover; object-position:center; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; color:#64748b; background:#cbd5e1; margin:0; padding:0; }
                .mvv-right .mvv-image-overlay { position:absolute; inset:0; background:rgba(0,20,28,0.12); }

                @media (min-width: 769px) and (max-width: 1099px) {
                    .mvv-wrap { grid-template-columns:55% 45%; height:540px; min-height:540px; max-height:540px; }
                    .mvv-left { height:540px; min-height:540px; max-height:540px; }
                    .mvv-right { height:540px; min-height:540px; max-height:540px; }
                    .mvv-right .mvv-image-placeholder { height:540px; min-height:540px; max-height:540px; }
                    .mvv-tab-btn.mvv-tab-active { font-size:27px; }
                    .mvv-panel { font-size:17px; }
                }

                @media (max-width: 768px) {
                    .mvv-wrap { display:flex; flex-direction:column; width:100%; height:auto; min-height:0; max-height:none; overflow:visible; }
                    .mvv-left { width:100%; height:auto; min-height:0; max-height:none; padding:55px 24px; overflow:visible; }
                    .mvv-inner { margin-left:0; padding-right:0; padding-left:42px; max-width:100%; }
                    .mvv-line { height:100%; }
                    .mvv-tab-btn { font-size:28px; }
                    .mvv-tab-btn.mvv-tab-active { font-size:28px; }
                    .mvv-panel { font-size:18px; max-width:100%; }
                    .mvv-panel.mvv-panel-visible { max-height:600px; }
                    .mvv-right { width:100%; height:300px; min-height:300px; max-height:300px; }
                    .mvv-right .mvv-image-placeholder { height:300px; min-height:300px; max-height:300px; }
                }
            

                .km-founder, .km-founder * { box-sizing:border-box; }
                .km-founder {
                    width:100vw; position:relative; left:50%; transform:translateX(-50%);
                    background:linear-gradient(180deg,#fff 0%,#fff7fb 100%);
                    border-top:1px solid rgba(224,99,160,.14);
                }
                .km-founder__inner {
                    max-width:1180px; margin:0 auto; padding:88px 24px 96px;
                    display:flex; flex-direction:column; align-items:center; text-align:center;
                }
                .km-founder__eyebrow {
                    display:inline-flex; align-items:center; gap:10px; margin-bottom:16px;
                    color:#e063a0; font-size:12px; font-weight:800; letter-spacing:.16em; text-transform:uppercase;
                }
                .km-founder__eyebrow::before, .km-founder__eyebrow::after {
                    content:""; width:34px; height:2px; border-radius:999px;
                    background:linear-gradient(90deg,#ca62c7,#e063a0,#fc936b);
                }
                .km-founder__heading {
                    font-family:"Playfair Display",serif; font-size:42px; line-height:1.15;
                    color:#6b2f86; font-weight:700; margin:0 0 34px;
                }
                .km-founder__card {
                    width:min(100%,430px); padding:18px 18px 26px; border-radius:30px;
                    background:#fff; border:1px solid rgba(202,98,199,.20);
                    box-shadow:0 24px 60px rgba(107,47,134,.12);
                }
                .km-founder__photo {
                    width:100%; aspect-ratio:1/1; border-radius:24px; overflow:hidden; position:relative;
                    background:linear-gradient(145deg,#f4e7f4,#fde8ef);
                    display:flex; align-items:center; justify-content:center;
                }
                .km-founder__photo-placeholder {
                    position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center;
                    gap:13px; padding:28px; color:#8a6d94; text-align:center;
                }
                .km-founder__photo-placeholder i {
                    width:76px; height:76px; border-radius:22px; display:flex; align-items:center; justify-content:center;
                    font-size:29px; color:#fff; background:linear-gradient(135deg,#ca62c7,#e063a0,#fc936b);
                    box-shadow:0 14px 34px rgba(224,99,160,.24);
                }
                .km-founder__photo-placeholder strong { color:#6b2f86; font-size:18px; }
                .km-founder__photo-placeholder span { font-size:13px; line-height:1.55; max-width:270px; }
                .km-founder__name {
                    font-family:"Playfair Display",serif; font-size:30px; line-height:1.15; color:#6b2f86;
                    font-weight:700; margin:24px 0 7px;
                }
                .km-founder__role {
                    display:inline-flex; align-items:center; justify-content:center; gap:8px;
                    color:#e063a0; font-size:13px; font-weight:800; letter-spacing:.12em; text-transform:uppercase;
                }
                .km-founder__role i { font-size:12px; }
                @media (max-width:600px) {
                    .km-founder__inner { padding:64px 18px 72px; }
                    .km-founder__heading { font-size:32px; margin-bottom:28px; }
                    .km-founder__card { width:min(100%,360px); border-radius:24px; padding:14px 14px 22px; }
                    .km-founder__photo { border-radius:19px; }
                    .km-founder__name { font-size:26px; }
                }
            

                .hero-servicos, .hero-servicos * { box-sizing: border-box; }
                .hero-servicos { position:relative; width:100vw; height:760px; min-height:760px; margin:-112px 0 0; padding:0; overflow:hidden; left:50%; transform:translateX(-50%); }
                @media (min-width: 1024px) { .hero-servicos { margin-top:-144px; } }

                .hero-servicos__media { position:absolute; inset:0; width:100%; height:100%; background:#E9EDF2; overflow:hidden; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; color:#9AA5B1; }
                .hero-servicos__media img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }

                .hero-servicos__content { position:relative; z-index:5; width:100%; max-width:1320px; height:100%; margin:0 auto; padding:175px 40px 70px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
                .hero-servicos__eyebrow { font-size:18px; font-weight:800; color:#ffffff; margin-bottom:16px; display:block; text-shadow:0 2px 14px rgba(0,0,0,0.45); }
                .hero-servicos__title { font-size:54px; line-height:1.1; font-weight:700; color:#ffffff; max-width:780px; margin:0; text-shadow:0 2px 14px rgba(0,0,0,0.45); }
                .hero-servicos__title span { color:#e063a0; }
                .hero-servicos__desc { font-size:18px; line-height:1.55; color:#ffffff; font-weight:600; max-width:760px; margin-top:24px; }
                .hero-servicos__btn { margin-top:30px; height:54px; padding:0 28px; border-radius:27px; background:#e063a0; color:#6b2f86; font-size:16px; font-weight:700; display:inline-flex; align-items:center; justify-content:center; gap:10px; text-decoration:none; transition:background 250ms ease; }
                .hero-servicos__btn:hover { background:#FC936B; }

                /* Cabeçalho sobreposto somente na página de Serviços */
                body.page-servicos-active header { padding:0; }
                body.page-servicos-active header > div:first-child {
                    max-width:100%; margin:0; border-radius:0; background:rgba(255,255,255,0.82);
                    -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border:none; box-shadow:none;
                    padding:0 40px; height:105px; display:flex; align-items:center; justify-content:space-between;
                }

                @media (min-width: 900px) and (max-width: 1199px) {
                    .hero-servicos { height:650px; min-height:650px; }
                    .hero-servicos__title { font-size:45px; }
                    .hero-servicos__content { padding:150px 30px 60px; }
                    body.page-servicos-active header > div:first-child { height:90px; padding:0 30px; }
                }
                @media (max-width: 899px) {
                    .hero-servicos { height:620px; min-height:620px; }
                    .hero-servicos__title { font-size:36px; }
                    .hero-servicos__desc { font-size:16px; }
                    .hero-servicos__content { padding:135px 22px 50px; }
                }
            

                .svc-wrap, .svc-wrap * { box-sizing: border-box; }
                .svc-wrap { background:#F4F8F9; width:100%; }
                .svc-inner { max-width:1320px; margin:0 auto; padding:85px 36px 110px; }
                .svc-eyebrow { font-size:13px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; color:#e063a0; display:block; }
                .svc-title { font-family:"Playfair Display", serif; font-size:38px; line-height:1.15; font-weight:700; color:#6b2f86; margin:12px 0 0; }
                .svc-desc { font-size:17px; line-height:1.5; color:#3e5378; max-width:670px; margin:16px 0 0; }

                .svc-filters { width:100%; display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:38px; margin-bottom:42px; }
                .svc-cat-btn { height:48px; padding:0 20px; border-radius:24px; border:1px solid rgba(10,25,50,0.15); background:#ffffff; color:#6b2f86; font-size:15px; font-weight:600; display:flex; align-items:center; gap:9px; cursor:pointer; white-space:nowrap; transition:all 250ms ease; }
                .svc-cat-btn:hover:not(.svc-cat-active) { background:#f1f5f9; }
                .svc-cat-btn.svc-cat-active { background:#e063a0; border-color:#e063a0; color:#6b2f86; font-weight:700; }
                .svc-cat-btn:focus-visible { outline:2px solid #6b2f86; outline-offset:2px; }

                .svc-grid { width:100%; display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:30px; align-items:stretch; }

                .svc-card { width:100%; min-width:0; min-height:590px; background:#ffffff; border-radius:24px; overflow:hidden; display:flex; flex-direction:column; border:1px solid rgba(10,25,50,0.06); box-shadow:0 14px 38px rgba(10,25,50,0.08); transition:transform 300ms ease, box-shadow 300ms ease; opacity:0; transform:translateY(12px); animation:svc-fade-in 300ms ease forwards; }
                .svc-card:hover { transform:translateY(-7px); box-shadow:0 22px 48px rgba(10,25,50,0.13); }
                @keyframes svc-fade-in { to { opacity:1; transform:translateY(0); } }

                .svc-card-img { width:100%; height:270px; min-height:270px; max-height:270px; aspect-ratio:16/10; object-fit:cover; object-position:center; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; background:#e7ebf0; color:#94a3b8; }
                .svc-card-img img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }

                .svc-card-body { padding:26px 28px 28px; display:flex; flex-direction:column; flex-grow:1; }
                .svc-card-cat { font-size:12px; letter-spacing:1px; text-transform:uppercase; font-weight:700; color:#e063a0; margin-bottom:12px; }
                .svc-card-title { font-size:25px; line-height:1.2; font-weight:700; color:#6b2f86; margin:0 0 15px; font-family:"Playfair Display", serif; }
                .svc-card-desc { font-size:16px; line-height:1.55; color:#3e5378; margin:0 0 24px; }

                .svc-card-btn { width:100%; height:50px; border-radius:13px; background:#6b2f86; color:#ffffff; font-weight:700; border:none; display:flex; align-items:center; justify-content:center; gap:8px; margin-top:auto; cursor:pointer; text-decoration:none; transition:background 250ms ease; font-size:15px; }
                .svc-card-btn:hover { background:#e063a0; color:#6b2f86; }

                @media (min-width: 900px) and (max-width: 1199px) {
                    .svc-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
                    .svc-card-img { height:250px; min-height:250px; max-height:250px; }
                }

                @media (min-width: 650px) and (max-width: 899px) {
                    .svc-inner { padding:65px 28px 90px; }
                    .svc-filters { gap:10px; }
                    .svc-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:22px; }
                }

                @media (max-width: 649px) {
                    .svc-inner { padding:55px 20px 80px; }
                    .svc-grid { grid-template-columns:1fr; }
                    .svc-card-img { height:240px; min-height:240px; max-height:240px; }
                    .svc-wrap { overflow-x:hidden; }
                    .svc-filters { flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; -ms-overflow-style:none; margin-left:-20px; margin-right:-20px; padding-left:20px; padding-right:20px; }
                    .svc-filters::-webkit-scrollbar { display:none; }
                    .svc-cat-btn { flex:0 0 auto; white-space:nowrap; }
                }
            

            .esp-page, .esp-page * { box-sizing: border-box; }

            /* Banner específico das páginas individuais de especialidade */
            .specialty-hero, .specialty-hero * { box-sizing: border-box; }
            .specialty-hero { position:relative; width:100vw; max-width:none; left:50%; transform:translateX(-50%); margin-top:-112px; height:680px; min-height:680px; padding:0; overflow:hidden; border-radius:0; }
            @media (min-width:1024px) { .specialty-hero { margin-top:-144px; } }
            .specialty-hero__media { position:absolute; inset:0; width:100%; height:100%; background:#FFFFFF; overflow:hidden; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; color:#9AA5B1; }
            .specialty-hero__media img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
            .specialty-hero__content { position:relative; z-index:5; width:100%; max-width:1320px; height:100%; margin:0 auto; padding:150px 40px 60px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
            .specialty-hero__eyebrow { font-size:15px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; color:#ffffff; margin-bottom:18px; display:block; text-shadow:0 2px 14px rgba(0,0,0,0.45); }
            .specialty-hero__title { font-size:56px; line-height:1.08; font-weight:700; color:#ffffff; max-width:840px; margin:0; text-shadow:0 2px 14px rgba(0,0,0,0.45); }
            .specialty-hero__breadcrumb { margin-top:30px; display:flex; align-items:center; gap:10px; font-size:16px; color:#ffffff; font-weight:700; }
            .specialty-hero__breadcrumb a { color:#ffffff; text-decoration:none; display:flex; align-items:center; gap:8px; }
            .specialty-hero__breadcrumb a:hover { color:#e063a0; }
            .specialty-hero__breadcrumb .sep { color:#e063a0; }

            @media (min-width:768px) and (max-width:1099px) {
                .specialty-hero { height:620px; min-height:620px; }
                .specialty-hero__title { font-size:46px; }
            }
            @media (max-width:767px) {
                .specialty-hero { height:560px; min-height:560px; }
                .specialty-hero__title { font-size:35px; }
                .specialty-hero__content { padding:130px 20px 40px; }
            }

            /* Seção "Desafios do segmento" (cards com ícone) */
            .specialty-challenges { background:#F4F8F9; width:100%; padding:85px 40px 100px; }
            .specialty-challenges__inner { max-width:1320px; margin:0 auto; }
            .specialty-challenges__eyebrow { font-size:13px; font-weight:800; letter-spacing:0.1em; text-transform:uppercase; color:#e063a0; display:block; }
            .specialty-challenges__title { font-family:"Playfair Display", serif; font-size:30px; line-height:1.25; font-weight:700; color:#6b2f86; max-width:760px; margin:12px 0 0; }
            .specialty-challenges__desc { font-size:16px; line-height:1.55; color:#3e5378; max-width:640px; margin:14px 0 0; }

            .specialty-challenges__grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:26px; margin-top:45px; }
            .specialty-challenge-card { min-height:250px; background:#ffffff; border-radius:22px; padding:30px; border:1px solid rgba(10,25,50,0.07); box-shadow:0 12px 32px rgba(10,25,50,0.07); display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; transition:transform 300ms ease, box-shadow 300ms ease; }
            .specialty-challenge-card:hover { transform:translateY(-6px); box-shadow:0 20px 42px rgba(10,25,50,0.12); }
            .specialty-challenge-card__icon { width:50px; height:50px; border-radius:14px; background:#FBF1D6; color:#6b2f86; display:flex; align-items:center; justify-content:center; font-size:20px; flex-shrink:0; }
            .specialty-challenge-card__title { font-size:22px; line-height:1.25; font-weight:700; color:#6b2f86; margin-top:24px; }
            .specialty-challenge-card__desc { font-size:16px; line-height:1.55; color:#3e5378; margin-top:12px; }

            @media (min-width:768px) and (max-width:1099px) {
                .specialty-challenges__grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
            }
            @media (max-width:767px) {
                .specialty-challenges { padding:65px 0 70px; }
                .specialty-challenges__inner { padding-left:20px; padding-right:20px; }
                .specialty-challenges__grid {
                    display:flex; grid-template-columns:none; gap:16px; margin-top:30px;
                    overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
                    scrollbar-width:none; -ms-overflow-style:none;
                    padding:4px 20px 10px; margin-left:-20px; margin-right:-20px;
                }
                .specialty-challenges__grid::-webkit-scrollbar { display:none; }
                .specialty-challenge-card { flex:0 0 82%; scroll-snap-align:center; min-height:auto; }
            }

            .esp-intro-wrap { background:#ffffff; width:100%; }
            .esp-intro-inner { max-width:1000px; margin:0 auto; padding:56px 36px 10px; }
            .esp-intro-text { font-size:18px; line-height:1.6; color:#334155; margin:0 0 26px; }
            .esp-intro-btn { display:inline-flex; align-items:center; gap:10px; height:52px; padding:0 26px; border-radius:26px; background:#e063a0; color:#6b2f86; font-weight:800; font-size:15px; text-decoration:none; transition:background 250ms ease; }
            .esp-intro-btn:hover { background:#FC936B; }

            .esp-section { width:100%; }
            .esp-section-inner { max-width:1080px; margin:0 auto; padding:56px 36px; }
            .esp-section-alt { background:#F4F8F9; }
            .esp-section-title { font-family:"Playfair Display", serif; font-size:28px; font-weight:700; color:#6b2f86; margin:0 0 28px; }

            .esp-card-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:22px; }
            .esp-card { background:#ffffff; border:1px solid rgba(10,25,50,0.06); border-radius:18px; padding:22px; box-shadow:0 10px 28px rgba(10,25,50,0.05); display:flex; flex-direction:column; gap:10px; transition:transform 300ms ease, box-shadow 300ms ease; }
            .esp-card:hover { transform:translateY(-6px); box-shadow:0 20px 42px rgba(10,25,50,0.12); }
            .esp-card .esp-card-icon { width:42px; height:42px; border-radius:12px; background:#6b2f86; color:#e063a0; display:flex; align-items:center; justify-content:center; font-size:16px; }
            .esp-card .esp-card-title { font-size:15px; font-weight:700; color:#6b2f86; margin:0; line-height:1.3; }

            .esp-challenge-list { display:flex; flex-direction:column; gap:14px; }
            .esp-challenge-item { display:flex; align-items:flex-start; gap:12px; background:#ffffff; border-radius:14px; padding:16px 18px; border:1px solid rgba(10,25,50,0.06); }
            .esp-challenge-item i { color:#e063a0; margin-top:3px; flex-shrink:0; }
            .esp-challenge-item span { font-size:15px; line-height:1.55; color:#334155; }

            .esp-faq-item { border-bottom:1px solid rgba(10,25,50,0.08); padding:16px 0; }
            .esp-faq-item summary { cursor:pointer; font-weight:700; color:#6b2f86; font-size:16px; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:12px; }
            .esp-faq-item summary::-webkit-details-marker { display:none; }
            .esp-faq-item summary::after { content:"+"; font-size:20px; color:#e063a0; font-weight:800; flex-shrink:0; }
            .esp-faq-item[open] summary::after { content:"–"; }
            .esp-faq-item p { font-size:15px; line-height:1.6; color:#3e5378; margin:12px 0 0; }

            .esp-cta-final { max-width:1000px; margin:0 auto 90px; background:#6b2f86; border-radius:24px; padding:50px 40px; display:flex; flex-direction:column; align-items:center; text-align:center; gap:18px; }
            .esp-cta-final h2 { font-family:"Playfair Display", serif; font-size:26px; font-weight:700; color:#ffffff; margin:0; max-width:560px; }
            .esp-cta-final a { display:inline-flex; align-items:center; gap:10px; height:52px; padding:0 26px; border-radius:26px; background:#e063a0; color:#6b2f86; font-weight:800; font-size:15px; text-decoration:none; transition:background 250ms ease; }
            .esp-cta-final a:hover { background:#FC936B; }

            .esp-links-inline { display:flex; flex-wrap:wrap; gap:10px 22px; font-size:14px; margin-top:22px; }
            .esp-links-inline a { color:#6b2f86; font-weight:700; text-decoration:underline; text-decoration-color:#e063a0; text-underline-offset:4px; }

            /* Nova seção: Soluções especializadas (4 cards grandes) */
            .esp-solutions { width:100%; background:#ffffff; }
            .esp-solutions-inner { max-width:1080px; margin:0 auto; padding:56px 36px 10px; }
            .esp-solutions-title { font-family:"Playfair Display", serif; font-size:28px; font-weight:700; color:#6b2f86; margin:0; }
            .esp-solutions-intro { font-size:16px; line-height:1.6; color:#3e5378; max-width:700px; margin:14px 0 0; }

            .esp-solutions-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:28px; margin-top:45px; }
            .esp-solution-card { min-height:260px; background:#ffffff; border-radius:24px; padding:32px; border:1px solid rgba(10,25,50,0.07); box-shadow:0 16px 38px rgba(10,25,50,0.08); position:relative; overflow:hidden; display:flex; flex-direction:column; transition:transform 300ms ease, box-shadow 300ms ease; transform-style:preserve-3d; perspective:900px; }
            .esp-solution-card:hover { transform:translateY(-8px) rotateX(1.5deg) rotateY(-1.5deg); box-shadow:0 25px 55px rgba(10,25,50,0.15); }
            .esp-solution-card::before { content:""; position:absolute; top:-46px; right:-46px; width:150px; height:150px; border-radius:50%; background:#e063a0; opacity:0.08; pointer-events:none; }
            .esp-solution-card__icon { position:relative; z-index:2; width:58px; height:58px; border-radius:16px; background:#6b2f86; color:#e063a0; display:flex; align-items:center; justify-content:center; font-size:22px; box-shadow:0 10px 22px rgba(15,23,42,0.25); transform:translateZ(20px); flex-shrink:0; }
            .esp-solution-card__title { position:relative; z-index:2; font-size:23px; line-height:1.25; font-weight:700; color:#6b2f86; margin-top:24px; }
            .esp-solution-card__desc { position:relative; z-index:2; font-size:16px; line-height:1.55; color:#3e5378; margin-top:13px; }
            .esp-solution-card__link { position:relative; z-index:2; margin-top:18px; padding-top:0; display:inline-flex; align-items:center; gap:6px; font-size:14px; font-weight:800; color:#6b2f86; text-decoration:none; transition:color 250ms ease, gap 250ms ease; }
            .esp-solution-card__link:hover { color:#e063a0; gap:10px; }

            @media (max-width: 767px) {
                .esp-solutions-inner { padding-left:20px; padding-right:20px; }
                .esp-solutions-grid {
                    display:flex; grid-template-columns:none; gap:16px; margin-top:30px;
                    overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
                    scrollbar-width:none; -ms-overflow-style:none;
                    padding:4px 20px 10px; margin-left:-20px; margin-right:-20px;
                }
                .esp-solutions-grid::-webkit-scrollbar { display:none; }
                .esp-solution-card { flex:0 0 82%; scroll-snap-align:center; min-height:auto; }
            }

            /* Nova seção: "Como funciona na prática" (carrossel) */
            .hfp-section, .hfp-section * { box-sizing: border-box; }
            .hfp-section { width:100vw; left:50%; transform:translateX(-50%); margin:0; background:#6b2f86; padding:85px 0 95px; position:relative; overflow:hidden; box-sizing:border-box; }
            .hfp-grid-bg { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px); background-size:74px 74px; pointer-events:none; }
            .hfp-navy-host { position:absolute; inset:0; pointer-events:none; z-index:1; }
            .hfp-header { position:relative; z-index:2; max-width:820px; margin:0 auto; text-align:center; padding:0 20px; }
            .hfp-eyebrow { font-size:14px; font-weight:700; letter-spacing:1.4px; color:#e063a0; text-transform:uppercase; margin-bottom:14px; display:block; }
            .hfp-title { font-size:44px; line-height:1.12; font-weight:700; color:#ffffff; margin:0 auto; max-width:820px; }
            .hfp-desc { font-size:17px; line-height:1.55; color:rgba(255,255,255,0.68); max-width:760px; margin:18px auto 0; }

            .hfp-carousel { position:relative; z-index:2; max-width:1320px; margin:48px auto 0; padding:0 72px; }
            .hfp-viewport { overflow:hidden; }
            .hfp-track { display:flex; gap:28px; transition:transform 500ms ease; will-change:transform; }
            .hfp-card { flex:0 0 calc((100% - 56px)/3); width:calc((100% - 56px)/3); background:#ffffff; min-height:350px; border-radius:20px; padding:34px; border:1px solid rgba(255,255,255,0.10); box-shadow:0 18px 40px rgba(0,0,0,0.18); display:flex; flex-direction:column; align-items:flex-start; position:relative; overflow:hidden; transition:transform 300ms ease, box-shadow 300ms ease; }
            .hfp-card:hover { transform:translateY(-7px); box-shadow:0 25px 55px rgba(0,0,0,0.26); }
            .hfp-card__icon { width:58px; height:58px; border-radius:15px; background:#F2F5F8; display:flex; align-items:center; justify-content:center; color:#6B2F86; font-size:25px; flex-shrink:0; }
            .hfp-card__title { font-size:22px; line-height:1.3; font-weight:700; color:#6B2F86; margin-top:28px; }
            .hfp-card__desc { font-size:16px; line-height:1.55; color:#3e5378; margin-top:16px; }

            .hfp-arrow { position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; border-radius:50%; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.16); color:#ffffff; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all 250ms ease; z-index:10; }
            .hfp-arrow-prev { left:8px; }
            .hfp-arrow-next { right:8px; }
            .hfp-arrow:hover { background:#e063a0; color:#6b2f86; transform:translateY(-50%) scale(1.06); }

            .hfp-dots { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:30px; position:relative; z-index:2; }
            .hfp-dots span { width:8px; height:8px; border-radius:10px; background:rgba(255,255,255,0.22); cursor:pointer; transition:all 250ms ease; display:inline-block; }
            .hfp-dots span.hfp-dot-active { width:26px; background:#e063a0; }

            @media (min-width:768px) and (max-width:1099px) {
                .hfp-title { font-size:38px; }
                .hfp-carousel { padding:0 62px; }
                .hfp-card { flex:0 0 calc((100% - 28px)/2); width:calc((100% - 28px)/2); min-height:340px; }
            }
            @media (max-width:767px) {
                .hfp-section { padding:65px 0 75px; }
                .hfp-title { font-size:31px; }
                .hfp-desc { font-size:16px; }
                .hfp-carousel { padding:0 54px; }
                .hfp-card { flex:0 0 100%; width:100%; min-height:auto; }
                .hfp-arrow { width:42px; height:42px; }
            }

            @media (max-width: 767px) {
                .esp-card-grid { grid-template-columns:1fr; }
            }
        

            .blog-hero, .blog-hero * { box-sizing: border-box; }
            .blog-hero { position:relative; width:100vw; max-width:none; left:50%; transform:translateX(-50%); margin-top:-112px; height:680px; min-height:680px; padding:0; overflow:hidden; }
            @media (min-width:1024px) { .blog-hero { margin-top:-144px; } }
            .blog-hero__media { position:absolute; inset:0; width:100%; height:100%; background:#E9EDF2; overflow:hidden; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; color:#9AA5B1; }
            .blog-hero__media img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
            .blog-hero__content { position:relative; z-index:5; width:100%; max-width:1320px; height:100%; margin:0 auto; padding:150px 40px 60px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
            .blog-hero__eyebrow { font-size:15px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; color:#6b2f86; margin-bottom:18px; display:block; text-shadow:0 2px 10px rgba(255,255,255,0.7); }
            .blog-hero__title { font-size:56px; line-height:1.08; font-weight:700; color:#6b2f86; max-width:790px; margin:0; text-shadow:0 2px 14px rgba(255,255,255,0.75); }
            .blog-hero__desc { font-size:18px; line-height:1.55; color:#6b2f86; font-weight:600; max-width:720px; margin-top:22px; text-shadow:0 1px 10px rgba(255,255,255,0.7); }
            .blog-hero__breadcrumb { margin-top:30px; display:flex; align-items:center; gap:10px; font-size:16px; color:#6b2f86; font-weight:700; }
            .blog-hero__breadcrumb a { color:#6b2f86; text-decoration:none; display:flex; align-items:center; gap:8px; }
            .blog-hero__breadcrumb a:hover { color:#e063a0; }
            .blog-hero__breadcrumb .sep { color:#e063a0; }

            @media (min-width:768px) and (max-width:1099px) {
                .blog-hero { height:620px; min-height:620px; }
                .blog-hero__title { font-size:46px; }
            }
            @media (max-width:767px) {
                .blog-hero { height:560px; min-height:560px; }
                .blog-hero__title { font-size:35px; }
                .blog-hero__desc { font-size:16px; }
                .blog-hero__content { padding:130px 20px 40px; }
            }

            .blog-wrap, .blog-wrap * { box-sizing: border-box; }
            .blog-wrap { background:#F4F8F9; width:100%; padding:85px 36px 110px; }
            .blog-inner { max-width:1320px; margin:0 auto; }
            .blog-eyebrow { font-size:13px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; color:#e063a0; display:block; }
            .blog-title { font-family:"Playfair Display", serif; font-size:34px; line-height:1.2; font-weight:700; color:#6b2f86; margin:12px 0 0; max-width:760px; }
            .blog-desc { font-size:16px; line-height:1.55; color:#3e5378; max-width:700px; margin:14px 0 0; }

            .blog-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin-top:35px; margin-bottom:42px; }
            .blog-filters { display:flex; flex-wrap:wrap; gap:12px; }
            .blog-filter-btn { height:46px; padding:0 20px; border-radius:23px; background:#ffffff; border:1px solid rgba(10,25,50,0.12); color:#6b2f86; font-size:14px; font-weight:600; cursor:pointer; transition:all 250ms ease; }
            .blog-filter-btn:hover:not(.blog-filter-active) { background:#f1f5f9; }
            .blog-filter-btn.blog-filter-active { background:#e063a0; border-color:#e063a0; color:#6b2f86; }

            .blog-search { position:relative; width:310px; max-width:100%; }
            .blog-search input { width:100%; height:48px; border-radius:24px; background:#ffffff; border:1px solid rgba(10,25,50,0.12); padding:0 18px 0 44px; font-size:14px; color:#6b2f86; outline:none; }
            .blog-search input:focus { border-color:#e063a0; }
            .blog-search i { position:absolute; left:18px; top:50%; transform:translateY(-50%); color:#94a3b8; font-size:14px; }

            .blog-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:30px; }
            .blog-card { background:#ffffff; border-radius:24px; overflow:hidden; min-height:510px; display:flex; flex-direction:column; border:1px solid rgba(10,25,50,0.06); box-shadow:0 14px 38px rgba(10,25,50,0.08); transition:transform 300ms ease, box-shadow 300ms ease; }
            .blog-card:hover { transform:translateY(-7px); box-shadow:0 23px 50px rgba(10,25,50,0.14); }
            .blog-card-img { width:100%; height:240px; background:#E3E8EF; display:flex; align-items:center; justify-content:center; text-align:center; font-size:12px; font-weight:700; color:#91A0B5; text-transform:uppercase; padding:0 20px; }
            .blog-card-body { padding:26px 27px 28px; display:flex; flex-direction:column; flex-grow:1; }
            .blog-card-cat { font-size:12px; text-transform:uppercase; letter-spacing:1px; font-weight:700; color:#e063a0; }
            .blog-card-title { font-size:23px; line-height:1.25; font-weight:700; color:#6b2f86; margin-top:12px; font-family:"Playfair Display", serif; }
            .blog-card-resumo { font-size:16px; line-height:1.55; color:#3e5378; margin-top:14px; }
            .blog-card-date { font-size:13px; color:#7B8798; margin-top:18px; }
            .blog-card-link { margin-top:auto; padding-top:24px; font-size:15px; font-weight:700; color:#6b2f86; text-decoration:none; display:inline-flex; align-items:center; gap:6px; transition:color 250ms ease; }
            .blog-card-link:hover { color:#e063a0; }

            .blog-empty { grid-column:1/-1; text-align:center; padding:40px 0; color:#64748b; font-size:15px; }

            .blog-pagination { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:55px; flex-wrap:wrap; }
            .blog-pagination button { height:44px; padding:0 18px; border-radius:22px; font-size:14px; font-weight:700; border:1px solid rgba(10,25,50,0.12); background:#ffffff; color:#6b2f86; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; transition:all 200ms ease; }
            .blog-pagination button:hover:not(:disabled):not(.blog-page-active) { background:#f1f5f9; }
            .blog-pagination button:disabled { color:#cbd5e1; cursor:not-allowed; }
            .blog-pagination .blog-page-active { background:#6b2f86; color:#ffffff; border-color:#6b2f86; width:44px; padding:0; cursor:default; }
            .blog-pagination .blog-page-dots { color:#94a3b8; padding:0 4px; }

            @media (min-width:768px) and (max-width:1099px) {
                .blog-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
            }
            @media (max-width:767px) {
                .blog-wrap { padding:60px 20px 80px; }
                .blog-grid { grid-template-columns:1fr; }
                .blog-card-img { height:220px; }
                .blog-search { width:100%; }
                .blog-toolbar { flex-direction:column; align-items:stretch; }
            }

            /* Página individual de artigo */
            .blog-article-hero { width:100%; background:#F4F8F9; padding:70px 36px 40px; }
            .blog-article-hero__inner { max-width:900px; margin:0 auto; }
            .blog-article-hero__cat { font-size:12px; font-weight:800; letter-spacing:0.1em; text-transform:uppercase; color:#e063a0; display:block; }
            .blog-article-hero__title { font-family:"Playfair Display", serif; font-size:36px; line-height:1.2; font-weight:700; color:#6b2f86; margin:14px 0 0; }
            .blog-article-hero__date { font-size:14px; color:#7B8798; margin-top:14px; }
            .blog-article-hero__breadcrumb { display:flex; align-items:center; gap:10px; font-size:14px; color:#64748b; font-weight:600; margin-top:18px; }
            .blog-article-hero__breadcrumb a { color:#64748b; text-decoration:none; }
            .blog-article-hero__breadcrumb a:hover { color:#e063a0; }
            .blog-article-hero__breadcrumb .sep { color:#e063a0; }

            .blog-article-body { width:100%; background:#ffffff; padding:10px 36px 20px; }
            .blog-article-body__inner { max-width:900px; margin:0 auto; }
            .blog-article-body__inner p { font-size:17px; line-height:1.65; color:#334155; margin:0 0 18px; }
            .blog-article-body__inner h2 { font-family:"Playfair Display", serif; font-size:24px; font-weight:700; color:#6b2f86; margin:36px 0 14px; }

            .blog-article-cta { display:inline-flex; align-items:center; gap:10px; height:52px; padding:0 26px; border-radius:26px; background:#e063a0; color:#6b2f86; font-weight:800; font-size:15px; text-decoration:none; margin-top:10px; transition:background 250ms ease; }
            .blog-article-cta:hover { background:#FC936B; }

            .blog-related { width:100%; background:#F4F8F9; padding:60px 36px 90px; }
            .blog-related__inner { max-width:1080px; margin:0 auto; }
            .blog-related__title { font-family:"Playfair Display", serif; font-size:24px; font-weight:700; color:#6b2f86; margin:0 0 24px; }
            .blog-related__grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:22px; }

            @media (max-width:767px) {
                .blog-article-hero__title { font-size:26px; }
                .blog-related__grid { grid-template-columns:1fr; }
            }
        

            .legal-hero, .legal-hero * { box-sizing: border-box; }
            .legal-hero { position:relative; width:100vw; max-width:none; left:50%; transform:translateX(-50%); margin-top:-112px; height:390px; min-height:390px; padding:0; overflow:hidden; background:linear-gradient(135deg, #F8F5EE 0%, #F1ECE0 100%); }
            @media (min-width:1024px) { .legal-hero { margin-top:-144px; } }
            .legal-hero::before { content:""; position:absolute; right:-80px; top:-80px; width:320px; height:320px; border-radius:50%; border:1px dashed rgba(212,175,55,0.35); pointer-events:none; }
            .legal-hero::after { content:""; position:absolute; right:40px; bottom:-120px; width:220px; height:220px; border-radius:50%; border:1px dashed rgba(15,23,42,0.10); pointer-events:none; }
            .legal-hero__content { position:relative; z-index:5; width:100%; max-width:1320px; height:100%; margin:0 auto; padding:150px 40px 0; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
            .legal-hero__eyebrow { font-size:14px; font-weight:800; letter-spacing:0.1em; text-transform:uppercase; color:#e063a0; margin-bottom:14px; display:block; }
            .legal-hero__title { font-family:"Playfair Display", serif; font-size:48px; line-height:1.15; font-weight:700; color:#6b2f86; margin:0; }
            .legal-hero__breadcrumb { margin-top:16px; display:flex; align-items:center; gap:10px; font-size:14px; color:#3e5378; font-weight:600; }
            .legal-hero__breadcrumb a { color:#3e5378; text-decoration:none; }
            .legal-hero__breadcrumb a:hover { color:#e063a0; }
            .legal-hero__breadcrumb .sep { color:#e063a0; }

            @media (max-width:767px) {
                .legal-hero { height:340px; min-height:340px; }
                .legal-hero__content { padding:130px 20px 0; }
                .legal-hero__title { font-size:32px; }
            }

            .legal-page, .legal-page * { box-sizing: border-box; }
            .legal-container { max-width:1050px; margin:0 auto; padding:75px 35px 110px; background:#ffffff; }
            .legal-intro p { font-size:17px; line-height:1.7; color:#1f2937; margin:0 0 18px; }

            .legal-toc { background:#F4F8F9; border-radius:16px; padding:26px 28px; margin:36px 0 50px; }
            .legal-toc__title { font-size:13px; font-weight:800; letter-spacing:0.08em; text-transform:uppercase; color:#e063a0; margin:0 0 14px; }
            .legal-toc ol { margin:0; padding-left:20px; display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px 24px; }
            .legal-toc li { font-size:14px; }
            .legal-toc a { color:#6b2f86; font-weight:600; text-decoration:none; }
            .legal-toc a:hover { color:#e063a0; text-decoration:underline; }

            .legal-section { scroll-margin-top:140px; margin-bottom:40px; }
            .legal-section h2 { font-family:"Playfair Display", serif; font-size:29px; font-weight:700; color:#6b2f86; margin:0 0 16px; }
            .legal-section h3 { font-size:21px; font-weight:700; color:#6b2f86; margin:24px 0 10px; }
            .legal-section p { font-size:17px; line-height:1.7; color:#334155; margin:0 0 16px; }
            .legal-section ul { margin:0 0 16px; padding-left:22px; display:flex; flex-direction:column; gap:6px; }
            .legal-section li { font-size:17px; line-height:1.6; color:#334155; }
            .legal-section strong { color:#6b2f86; }
            .legal-section a.legal-inline-link { color:#6b2f86; font-weight:700; text-decoration:underline; text-decoration-color:#e063a0; text-underline-offset:3px; cursor:pointer; }
            .legal-placeholder { background:#FFF7E0; color:#8a6d1a; border:1px dashed #e063a0; border-radius:6px; padding:1px 8px; font-weight:700; font-size:0.95em; white-space:nowrap; }

            .legal-table-wrap { overflow-x:auto; margin:0 0 16px; }
            .legal-table { width:100%; border-collapse:collapse; font-size:14px; min-width:640px; }
            .legal-table th, .legal-table td { border:1px solid rgba(10,25,50,0.10); padding:12px 14px; text-align:left; color:#334155; }
            .legal-table th { background:#6b2f86; color:#ffffff; font-weight:700; }

            .legal-footer-note { margin-top:56px; padding-top:28px; border-top:1px solid rgba(10,25,50,0.08); }
            .legal-footer-note p { font-size:15px; color:#3e5378; margin:0 0 6px; }
            .legal-footer-note strong { color:#6b2f86; }

            /* Estilos extras para artigo enriquecido do blog (reaproveita .legal-section, .legal-toc, .esp-faq-item, .esp-cta-final) */
            .blog-article-rich { max-width:900px; margin:0 auto; }
            .blog-article-rich .legal-toc { margin:30px 0 46px; }
            .blog-meta-row { display:flex; flex-wrap:wrap; align-items:center; gap:14px; font-size:14px; color:#64748b; margin-top:6px; }
            .blog-meta-row span { display:inline-flex; align-items:center; gap:6px; }

            .blog-callout { border-radius:16px; padding:20px 24px; margin:24px 0; border-left:4px solid #e063a0; background:#FFF9EA; }
            .blog-callout__label { display:block; font-size:12px; font-weight:800; letter-spacing:0.08em; text-transform:uppercase; color:#a5790f; margin-bottom:8px; }
            .blog-callout p { font-size:15.5px; line-height:1.6; color:#5a4a1f; margin:0; }
            .blog-callout--alert { border-left-color:#dc2626; background:#FEF2F2; }
            .blog-callout--alert .blog-callout__label { color:#b91c1c; }
            .blog-callout--alert p { color:#7f1d1d; }

            .blog-summary { background:#F4F8F9; border-radius:16px; padding:22px 24px; margin:24px 0; display:flex; flex-direction:column; gap:12px; }
            .blog-summary__title { font-size:12px; font-weight:800; letter-spacing:0.08em; text-transform:uppercase; color:#e063a0; margin:0; }
            .blog-summary__item strong { display:block; font-size:15px; color:#6b2f86; margin-bottom:2px; }
            .blog-summary__item span { font-size:14.5px; color:#3e5378; line-height:1.5; }

            .blog-steps { list-style:none; margin:20px 0; padding:0; display:flex; flex-direction:column; gap:16px; counter-reset:blog-step; }
            .blog-steps li { position:relative; padding-left:46px; font-size:16px; line-height:1.6; color:#334155; counter-increment:blog-step; }
            .blog-steps li::before { content:counter(blog-step); position:absolute; left:0; top:0; width:32px; height:32px; border-radius:50%; background:#6b2f86; color:#e063a0; font-weight:800; font-size:14px; display:flex; align-items:center; justify-content:center; }
            .blog-steps li strong { display:block; color:#6b2f86; font-size:16.5px; margin-bottom:2px; }

            .blog-sources { list-style:none; margin:16px 0 0; padding:0; display:flex; flex-direction:column; gap:10px; }
            .blog-sources a { display:inline-flex; align-items:center; gap:8px; font-size:15px; color:#6b2f86; font-weight:600; text-decoration:underline; text-decoration-color:#e063a0; text-underline-offset:3px; }
            .blog-sources a:hover { color:#e063a0; }

            .blog-article-rich .esp-cta-final { margin:50px auto 10px; max-width:100%; }
        

            .cookie-banner, .cookie-banner * { box-sizing: border-box; }
            .cookie-banner { position:fixed; left:20px; right:auto; bottom:20px; width:calc(100% - 40px); max-width:640px; margin:0; background:#ffffff; border:1px solid rgba(10,25,50,0.10); border-radius:20px; box-shadow:0 20px 50px rgba(0,0,0,0.18); padding:22px 26px; z-index:200; display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
            .cookie-banner[hidden] { display:none; }
            .cookie-banner__text { flex:1 1 320px; font-size:13.5px; line-height:1.55; color:#334155; }
            .cookie-banner__text a { color:#6b2f86; font-weight:700; text-decoration:underline; text-decoration-color:#e063a0; cursor:pointer; }
            .cookie-banner__actions { display:flex; flex-wrap:wrap; gap:10px; }
            .cookie-btn { height:42px; padding:0 20px; border-radius:21px; font-size:13px; font-weight:700; cursor:pointer; transition:all 200ms ease; white-space:nowrap; }
            .cookie-btn-accept { background:#e063a0; border:1px solid #e063a0; color:#6b2f86; }
            .cookie-btn-accept:hover { background:#FC936B; }

            @media (max-width:600px) {
                .cookie-banner { flex-direction:column; align-items:stretch; padding:18px 20px; gap:12px; }
                .cookie-banner__text { flex:0 1 auto; }
                .cookie-banner__actions { justify-content:flex-start; }
            }
        

            .contact-hero, .contact-hero * { box-sizing: border-box; }
            .contact-hero { position:relative; width:100vw; max-width:none; left:50%; transform:translateX(-50%); margin-top:-112px; height:640px; min-height:640px; padding:0; overflow:hidden; }
            @media (min-width:1024px) { .contact-hero { margin-top:-144px; } }
            .contact-hero__media { position:absolute; inset:0; width:100%; height:100%; background:#E9EDF2; overflow:hidden; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; color:#9AA5B1; }
            .contact-hero__media img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
            .contact-hero__content { position:relative; z-index:5; width:100%; max-width:1320px; height:100%; margin:0 auto; padding:150px 40px 60px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
            .contact-hero__eyebrow { font-size:15px; font-weight:700; letter-spacing:1.5px; color:#6b2f86; margin-bottom:18px; display:block; }
            .contact-hero__title { font-size:56px; line-height:1.08; font-weight:600; color:#6b2f86; max-width:760px; margin:0; }
            .contact-hero__desc { font-size:18px; line-height:1.55; color:#101F26; max-width:700px; margin-top:22px; }
            .contact-hero__breadcrumb { margin-top:30px; display:flex; align-items:center; gap:10px; font-size:16px; color:#6b2f86; font-weight:600; }
            .contact-hero__breadcrumb a { color:#6b2f86; text-decoration:none; display:flex; align-items:center; gap:8px; }
            .contact-hero__breadcrumb a:hover { color:#e063a0; }
            .contact-hero__breadcrumb .sep { color:#e063a0; }

            @media (min-width:768px) and (max-width:1099px) { .contact-hero { height:600px; min-height:600px; } }
            @media (max-width:767px) {
                .contact-hero { height:540px; min-height:540px; }
                .contact-hero__title { font-size:35px; }
                .contact-hero__content { padding:130px 20px 40px; }
            }

            .contact-page, .contact-page * { box-sizing: border-box; }

            /* Seção principal: canais + formulário */
            .contact-main { background:#F4F8F9; width:100%; padding:90px 36px 105px; }
            .contact-main__inner { max-width:1100px; margin:0 auto; }

            .contact-eyebrow { font-size:13px; font-weight:800; letter-spacing:0.1em; text-transform:uppercase; color:#e063a0; display:block; }
            .contact-h2 { font-family:"Playfair Display", serif; font-size:30px; line-height:1.2; font-weight:700; color:#6b2f86; margin:12px 0 0; }
            .contact-lead { font-size:16px; line-height:1.6; color:#3e5378; margin:14px 0 30px; }

            .contact-cards { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:20px; }
            .contact-card { background:#ffffff; border-radius:22px; padding:25px; min-height:230px; border:1px solid rgba(10,25,50,0.07); box-shadow:0 12px 32px rgba(10,25,50,0.07); display:flex; flex-direction:column; transition:transform 300ms ease, box-shadow 300ms ease; position:relative; overflow:hidden; }
            .contact-card:hover { transform:translateY(-6px); box-shadow:0 20px 42px rgba(10,25,50,0.13); }
            .contact-card__icon { width:52px; height:52px; border-radius:15px; background:#6b2f86; color:#e063a0; display:flex; align-items:center; justify-content:center; font-size:20px; flex-shrink:0; }
            .contact-card__title { font-size:20px; font-weight:700; color:#6b2f86; margin-top:20px; }
            .contact-card__text { font-size:15px; line-height:1.5; color:#3e5378; margin-top:10px; }
            .contact-card__info { font-size:16px; font-weight:700; color:#6b2f86; margin-top:15px; word-break:break-word; }
            .contact-card__link { margin-top:auto; padding-top:18px; font-size:14px; font-weight:700; color:#e063a0; text-decoration:none; display:inline-flex; align-items:center; gap:6px; }
            .contact-card__link:hover { color:#6b2f86; }
            .contact-card__link.contact-card__link--disabled { color:#94a3b8; cursor:not-allowed; pointer-events:none; }

            /* Formulário */
            .contact-form-card { background:#ffffff; border-radius:28px; padding:38px; box-shadow:0 18px 48px rgba(10,25,50,0.09); border:1px solid rgba(10,25,50,0.06); }
            .contact-form-card h3 { font-family:"Playfair Display", serif; font-size:24px; font-weight:700; color:#6b2f86; margin:0 0 10px; }
            .contact-form-card > p { font-size:15px; line-height:1.6; color:#3e5378; margin:0 0 26px; }

            .contact-form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
            .contact-field { display:flex; flex-direction:column; gap:7px; }
            .contact-field label { font-size:13px; font-weight:700; color:#334155; }
            .contact-field input, .contact-field select, .contact-field textarea { height:52px; border-radius:13px; border:1px solid #D9E0E9; background:#FAFBFC; padding:0 16px; font-size:15px; width:100%; font-family:inherit; color:#6b2f86; transition:border-color 200ms ease, box-shadow 200ms ease; }
            .contact-field textarea { min-height:150px; height:auto; resize:vertical; padding:16px; }
            .contact-field input:focus, .contact-field select:focus, .contact-field textarea:focus { outline:2px solid transparent; border-color:#e063a0; box-shadow:0 0 0 3px rgba(212,175,55,0.18); }
            .contact-field-full { margin-bottom:16px; }

            .contact-checkbox { display:flex; align-items:flex-start; gap:10px; font-size:13.5px; color:#3e5378; margin:6px 0 8px; line-height:1.5; }
            .contact-checkbox input { margin-top:3px; width:16px; height:16px; flex-shrink:0; }
            .contact-checkbox a { color:#6b2f86; font-weight:700; text-decoration:underline; text-decoration-color:#e063a0; cursor:pointer; }

            .contact-submit-btn { width:100%; height:54px; border-radius:14px; background:#6b2f86; color:#ffffff; font-size:16px; font-weight:700; border:none; cursor:pointer; margin-top:20px; transition:background 250ms ease; display:flex; align-items:center; justify-content:center; gap:10px; }
            .contact-submit-btn:hover { background:#6b2f86; }
            .contact-submit-btn:disabled { opacity:0.7; cursor:wait; }

            .contact-form-msg { margin-top:16px; padding:14px 16px; border-radius:12px; font-size:14px; line-height:1.5; display:none; }
            .contact-form-msg.contact-form-msg--info { display:block; background:#EFF6FF; color:#1e40af; }
            .contact-form-msg.contact-form-msg--error { display:block; background:#FEF2F2; color:#b91c1c; }
            .contact-form-msg.contact-form-msg--success { display:block; background:#F0FDF4; color:#166534; }

            @media (max-width:1099px) {
                .contact-main__inner { grid-template-columns:1fr; }
                .contact-cards { grid-template-columns:repeat(2, minmax(0,1fr)); }
            }
            @media (max-width:767px) {
                .contact-main { padding:60px 0 70px; }
                .contact-main__inner { padding-left:20px; padding-right:20px; }
                .contact-cards {
                    display:flex; grid-template-columns:none; gap:14px;
                    overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
                    scrollbar-width:none; -ms-overflow-style:none;
                    padding:4px 20px 10px; margin-left:-20px; margin-right:-20px;
                }
                .contact-cards::-webkit-scrollbar { display:none; }
                .contact-card { flex:0 0 82%; scroll-snap-align:center; }
                .contact-form-row { grid-template-columns:1fr; }
                .contact-form-card { padding:26px; }
            }

            /* Horários */
            .contact-hours { background:#ffffff; width:100%; padding:85px 36px; }
            .contact-hours__inner { max-width:900px; margin:0 auto; text-align:center; }
            .contact-hours__status { display:inline-flex; align-items:center; gap:10px; font-size:14px; font-weight:700; color:#64748b; background:#F4F8F9; padding:10px 20px; border-radius:24px; margin:26px auto 0; }
            .contact-hours__status-dot { width:10px; height:10px; border-radius:50%; background:#94a3b8; }

            .contact-table-wrap { margin-top:36px; max-width:900px; margin-left:auto; margin-right:auto; border-radius:22px; overflow:hidden; box-shadow:0 15px 40px rgba(10,25,50,0.08); }
            .contact-table { width:100%; border-collapse:collapse; background:#ffffff; }
            .contact-table th { background:#6b2f86; color:#ffffff; font-size:13px; text-transform:uppercase; letter-spacing:0.05em; padding:16px 20px; text-align:left; }
            .contact-table td { padding:16px 20px; font-size:15px; color:#334155; border-top:1px solid rgba(10,25,50,0.06); text-align:left; }
            .contact-table td.contact-day { font-weight:700; color:#6b2f86; }
            .contact-status-pill { display:inline-flex; align-items:center; gap:7px; font-size:13px; font-weight:700; }
            .contact-status-pill .dot { width:8px; height:8px; border-radius:50%; }
            .contact-status-pill.open .dot { background:#16a34a; }
            .contact-status-pill.closed .dot { background:#94a3b8; }
            .contact-hours__note { font-size:13.5px; color:#7B8798; margin-top:22px; }

            @media (max-width:600px) {
                .contact-table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; border-radius:16px; }
                .contact-table { min-width:560px; }
                .contact-table th, .contact-table td { padding:12px 14px; font-size:13.5px; white-space:nowrap; }
            }

            /* Mapa */
            .contact-map { background:#F4F8F9; width:100%; padding:85px 36px 100px; }
            .contact-map__inner { max-width:1320px; margin:0 auto; display:grid; grid-template-columns:42% 58%; gap:42px; align-items:center; }
            .contact-map__info p { font-size:15px; line-height:1.6; color:#3e5378; margin:0 0 14px; }
            .contact-map__info strong { color:#6b2f86; }
            .contact-map__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
            .contact-map__btn { height:50px; padding:0 22px; border-radius:25px; display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:700; text-decoration:none; transition:all 250ms ease; }
            .contact-map__btn--primary { background:#e063a0; color:#6b2f86; }
            .contact-map__btn--primary:hover { background:#FC936B; }
            .contact-map__btn--outline { background:#ffffff; color:#6b2f86; border:1px solid rgba(10,25,50,0.15); }
            .contact-map__btn--outline:hover { background:#f1f5f9; }

            .contact-map__frame { width:100%; min-height:470px; border-radius:26px; overflow:hidden; box-shadow:0 18px 45px rgba(10,25,50,0.10); position:relative; background:#E3E8EF; }
            .contact-map__frame iframe { width:100%; height:100%; min-height:470px; border:0; display:block; }
            .contact-map__placeholder { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; color:#94A3B8; }

            @media (max-width:1099px) { .contact-map__inner { grid-template-columns:1fr; } }
            @media (max-width:767px) {
                .contact-map { padding:60px 20px 70px; }
                .contact-map__frame, .contact-map__frame iframe { min-height:350px; }
            }

            /* Como podemos ajudar */
            .contact-help { width:100vw; left:50%; transform:translateX(-50%); position:relative; margin:0; background:#6b2f86; padding:85px 36px; }
            .contact-help__inner { position:relative; max-width:1320px; margin:0 auto; text-align:center; }
            .contact-help__eyebrow { font-size:13px; font-weight:800; letter-spacing:0.1em; text-transform:uppercase; color:#e063a0; }
            .contact-help__title { font-family:"Playfair Display", serif; font-size:32px; font-weight:700; color:#ffffff; margin:12px 0 0; }
            .contact-help__grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:26px; margin-top:46px; text-align:left; }
            .contact-help__card { background:#0E1F30; border:1px solid rgba(255,255,255,0.08); border-radius:22px; padding:30px; transition:transform 300ms ease, box-shadow 300ms ease; }
            .contact-help__card:hover { transform:translateY(-6px); box-shadow:0 20px 40px rgba(0,0,0,0.3); }
            .contact-help__card i { font-size:22px; color:#e063a0; }
            .contact-help__card h3 { font-size:19px; font-weight:700; color:#ffffff; margin:18px 0 10px; }
            .contact-help__card p { font-size:14.5px; line-height:1.55; color:rgba(255,255,255,0.68); margin:0 0 20px; }
            .contact-help__card a { font-size:14px; font-weight:800; color:#e063a0; text-decoration:none; display:inline-flex; align-items:center; gap:8px; }
            .contact-help__card a:hover { color:#ffffff; }

            @media (max-width:900px) and (min-width:768px) { .contact-help__grid { grid-template-columns:1fr; } }
            @media (max-width:767px) {
                .contact-help { padding:65px 20px 70px; }
                .contact-help__grid {
                    display:flex; grid-template-columns:none; gap:16px; margin-top:36px;
                    overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
                    scrollbar-width:none; -ms-overflow-style:none;
                    padding:4px 20px 10px; margin-left:-20px; margin-right:-20px;
                }
                .contact-help__grid::-webkit-scrollbar { display:none; }
                .contact-help__card { flex:0 0 82%; scroll-snap-align:center; }
            }

            /* FAQ */
            .contact-faq { background:#ffffff; width:100%; padding:85px 36px; }
            .contact-faq__inner { max-width:820px; margin:0 auto; }
            .contact-faq__title { font-family:"Playfair Display", serif; font-size:28px; font-weight:700; color:#6b2f86; text-align:center; margin:0 0 30px; }

            /* CTA final */
            .contact-cta { width:100%; background:linear-gradient(120deg, #e063a0, #b8912b); padding:75px 36px; text-align:center; }
            .contact-cta__title { font-family:"Playfair Display", serif; font-size:30px; font-weight:700; color:#6b2f86; margin:0 auto; max-width:640px; }
            .contact-cta__text { font-size:16px; color:#3a2f0f; margin:16px auto 0; max-width:560px; }
            .contact-cta__actions { display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:30px; }
            .contact-cta__btn { height:54px; padding:0 28px; border-radius:27px; display:inline-flex; align-items:center; gap:10px; font-size:15px; font-weight:800; text-decoration:none; transition:all 250ms ease; }
            .contact-cta__btn--dark { background:#6b2f86; color:#ffffff; }
            .contact-cta__btn--dark:hover { background:#6b2f86; }
            .contact-cta__btn--outline { background:transparent; color:#6b2f86; border:2px solid #6b2f86; }
            .contact-cta__btn--outline:hover { background:#6b2f86; color:#ffffff; }
        

        .fx-reveal {
            opacity: 0;
            transform: translateY(28px);
            transition: opacity 0.6s ease-out, transform 0.6s ease-out;
        }
        .fx-reveal.fx-in {
            opacity: 1;
            transform: translateY(0);
        }
        @media (prefers-reduced-motion: reduce) {
            .fx-reveal { opacity: 1; transform: none; transition: none; }
        }
    

        .fx-navy-canvas {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            display: block;
        }
    

        .fx-counter { display: inline-block; }
        @media (prefers-reduced-motion: reduce) {
            .fx-counter { transform: none !important; opacity: 1 !important; }
        }
    
