/* 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(63 162 105 / 0.2);
}

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

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

.border-brand-teal\/25 {
  border-color: rgb(94 191 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-\[\#17375E\] {
  --tw-bg-opacity: 1;
  background-color: rgb(11 21 40 / var(--tw-bg-opacity, 1));
}

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

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

.bg-\[\#C8A252\] {
  --tw-bg-opacity: 1;
  background-color: rgb(94 191 199 / var(--tw-bg-opacity, 1));
}

.bg-\[\#17375E\] {
  --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(11 21 40 / var(--tw-bg-opacity, 1));
}

.bg-brand-dark {
  --tw-bg-opacity: 1;
  background-color: rgb(19 45 97 / var(--tw-bg-opacity, 1));
}

.bg-brand-gold {
  --tw-bg-opacity: 1;
  background-color: rgb(63 162 105 / var(--tw-bg-opacity, 1));
}

.bg-brand-gold\/10 {
  background-color: rgb(63 162 105 / 0.1);
}

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

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

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

.bg-brand-teal\/70 {
  background-color: rgb(94 191 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(94 191 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-\[\#0a1a2e\] {
  --tw-gradient-from: #0a1a2e 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: #C8A252 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(63 162 105 / 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-\[\#0F2744\] {
  --tw-gradient-to: rgb(12 18 32 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #0F2744 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(94 191 199 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #C8A252 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

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

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

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

.to-yellow-600 {
  --tw-gradient-to: #A9822F 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-\[\#C8A252\] {
  --tw-text-opacity: 1;
  color: rgb(94 191 199 / var(--tw-text-opacity, 1));
}

.text-\[\#17375E\] {
  --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(19 45 97 / var(--tw-text-opacity, 1));
}

.text-brand-gold {
  --tw-text-opacity: 1;
  color: rgb(63 162 105 / 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(94 191 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(14,165,233,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(63 162 105 / var(--tw-bg-opacity, 1));
}

.selection\:bg-brand-gold *::selection {
  --tw-bg-opacity: 1;
  background-color: rgb(63 162 105 / var(--tw-bg-opacity, 1));
}

.selection\:text-brand-dark *::-moz-selection {
  --tw-text-opacity: 1;
  color: rgb(19 45 97 / var(--tw-text-opacity, 1));
}

.selection\:text-brand-dark *::selection {
  --tw-text-opacity: 1;
  color: rgb(19 45 97 / var(--tw-text-opacity, 1));
}

.selection\:bg-brand-gold::-moz-selection {
  --tw-bg-opacity: 1;
  background-color: rgb(63 162 105 / var(--tw-bg-opacity, 1));
}

.selection\:bg-brand-gold::selection {
  --tw-bg-opacity: 1;
  background-color: rgb(63 162 105 / var(--tw-bg-opacity, 1));
}

.selection\:text-brand-dark::-moz-selection {
  --tw-text-opacity: 1;
  color: rgb(19 45 97 / var(--tw-text-opacity, 1));
}

.selection\:text-brand-dark::selection {
  --tw-text-opacity: 1;
  color: rgb(19 45 97 / 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(63 162 105 / var(--tw-border-opacity, 1));
}

.hover\:border-brand-gold\/30:hover {
  border-color: rgb(63 162 105 / 0.3);
}

.hover\:border-brand-gold\/40:hover {
  border-color: rgb(63 162 105 / 0.4);
}

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

.hover\:bg-\[\#0F2744\]: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(63 162 105 / 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(19 45 97 / var(--tw-text-opacity, 1));
}

.hover\:text-brand-gold:hover {
  --tw-text-opacity: 1;
  color: rgb(63 162 105 / 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(63 162 105 / 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: #ffffff;
        }
        ::-webkit-scrollbar-thumb {
            background: #cbd5e1;
            border-radius: 4px;
        }
        ::-webkit-scrollbar-thumb:hover {
            background: #C8A252;
        }

        /* Glassmorphism Styles matching mockup */
        .glass-card {
            background: rgba(11, 21, 40, 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(212, 175, 55, 0.35);
            background: rgba(11, 21, 40, 0.6);
            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(212, 175, 55, 0.5);
            background: rgba(255, 255, 255, 0.75);
            transform: translateY(-4px);
        }

        /* Neon & Glow effects */
        .glow-text-gold {
            text-shadow: 0 0 12px rgba(212, 175, 55, 0.2);
        }

        /* 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{
  --nepo-navy:#17375E;
  --nepo-navy-dark:#0F2744;
  --nepo-gold:#C8A252;
  --nepo-gold-dark:#A9822F;
  --nepo-cream:#F7F3E9;
}
.header-logo-img{
  width:52px !important;
  height:52px !important;
  object-fit:cover !important;
  border-radius:50% !important;
  box-shadow:0 4px 14px rgba(15,39,68,.18) !important;
}
@media(min-width:1024px){
  .header-logo-img{width:58px !important;height:58px !important;}
}
.bg-brand-dark{background-color:var(--nepo-navy) !important;}
.text-brand-dark{color:var(--nepo-navy) !important;}
.bg-brand-gold{background-color:var(--nepo-gold) !important;}
.text-brand-gold{color:var(--nepo-gold-dark) !important;}
.bg-brand-teal{background-color:var(--nepo-gold) !important;}
.text-brand-teal{color:var(--nepo-gold-dark) !important;}
.border-brand-gold\/20,
.border-brand-gold\/40{border-color:rgba(200,162,82,.35) !important;}
.from-brand-gold{--tw-gradient-from:#C8A252 var(--tw-gradient-from-position) !important;}
.to-amber-500,
.to-yellow-600{--tw-gradient-to:#A9822F var(--tw-gradient-to-position) !important;}
.via-yellow-400{--tw-gradient-stops:var(--tw-gradient-from),#D9BC78 var(--tw-gradient-via-position),var(--tw-gradient-to) !important;}

/* Hero: melhora contraste sem esconder a imagem */
#inicio .relative.z-10.max-w-3xl{
  background:rgba(247,243,233,.91);
  border-left:5px solid var(--nepo-gold);
  border-radius:16px;
  padding:30px 34px;
  box-shadow:0 18px 45px rgba(15,39,68,.18);
  backdrop-filter:blur(3px);
}
#inicio .relative.z-10.max-w-3xl h1,
#inicio .relative.z-10.max-w-3xl h1 span{
  color:var(--nepo-navy) !important;
}
#inicio .relative.z-10.max-w-3xl > p{
  color:#334155 !important;
}
#inicio .relative.z-10.max-w-3xl > span{
  color:var(--nepo-gold-dark) !important;
}

/* Páginas internas com leitura coerente com a marca */
.hero-quem-somos__content,
.hero-servicos__content,
.specialty-hero__content,
.blog-hero__content,
.contact-hero__content{
  background:rgba(23,55,94,.92) !important;
  border-left:5px solid #C8A252 !important;
  border-radius:16px !important;
  padding:30px 34px !important;
  box-shadow:0 18px 45px rgba(15,39,68,.24) !important;
}
.hero-quem-somos__title,
.hero-servicos__title,
.hero-servicos__title span,
.specialty-hero__title,
.blog-hero__title,
.contact-hero__title{
  color:#fff !important;
}
.hero-servicos__desc,
.blog-hero__desc,
.contact-hero__desc{
  color:#E8EDF4 !important;
}
.hero-quem-somos__eyebrow,
.hero-servicos__eyebrow,
.specialty-hero__eyebrow,
.blog-hero__eyebrow,
.contact-hero__eyebrow{
  color:#E1C98F !important;
}

/* WhatsApp continua com a cor oficial */
.bg-emerald-500{background-color:#22c55e !important;}

@media(max-width:767px){
  #inicio .relative.z-10.max-w-3xl{padding:22px 20px;}
  .hero-quem-somos__content,
  .hero-servicos__content,
  .specialty-hero__content,
  .blog-hero__content,
  .contact-hero__content{padding:22px 20px !important;}
}

  .header-lion-logo{width:48px;height:48px;object-fit:contain;border-radius:50%;box-shadow:0 6px 18px rgba(15,23,42,.16);background:#fff;}
  .header-brand-name{letter-spacing:.08em;}
  body.page-inicio-active header:not(.header-scrolled) .header-brand-name{color:#fff!important;text-shadow:0 2px 10px rgba(0,0,0,.55);}
  .hero-nominal-logo-wrap{width:max-content;max-width:260px;padding:8px 12px;border-radius:12px;background:rgba(255,255,255,.90);box-shadow:0 8px 28px rgba(15,23,42,.12);}
  .hero-nominal-logo{display:block;width:210px;max-width:58vw;height:auto;}
  .hero-quem-somos__desc-client{max-width:820px;margin-top:22px;color:#fff;font-size:16px;line-height:1.65;font-weight:600;text-shadow:0 2px 12px rgba(0,0,0,.55);}
  .qs2-brand-standard,.stss-brand-standard{text-align:center;color:#C8A252;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;}
  .qs2-brand-standard{margin-bottom:36px;}
  .stss-brand-standard{padding:54px 20px 0;background:#fff;}
  .qs2-image,.qs2-logo-card{display:none!important;}
  .qs2-comp{height:auto!important;min-height:360px;display:grid!important;grid-template-columns:minmax(0,1.45fr) minmax(260px,.75fr);gap:22px;align-items:stretch;position:relative;}
  .qs2-circles{left:auto!important;right:-100px!important;top:-70px!important;opacity:.55;}
  .qs2-text-card{position:relative!important;top:auto!important;left:auto!important;width:auto!important;min-height:0!important;grid-row:1 / span 2;padding:36px!important;display:block!important;}
  .qs2-count-card{position:relative!important;top:auto!important;right:auto!important;width:auto!important;height:auto!important;min-height:120px!important;padding:20px!important;}
  .qs2-cta{position:relative!important;top:auto!important;right:auto!important;width:auto!important;height:52px!important;}
  .qs2-top-text,.qs2-text-card p,.mvv-panel,.stss-panel p{text-align:justify;}
  .stss-center-badge{font-size:30px!important;}
  .stss-orbit-ring{display:none!important;}
  #segmentos h2{color:#17375E!important;letter-spacing:.02em;}
  #avaliacoes h2{max-width:900px;margin-left:auto;margin-right:auto;}
  .footer-brand-lockup{display:flex;align-items:center;gap:12px;width:max-content;max-width:100%;padding:10px 14px;border-radius:16px;background:#fff;text-decoration:none;box-shadow:0 10px 30px rgba(0,0,0,.12);}
  .footer-lion-logo{width:58px;height:58px;object-fit:contain;border-radius:50%;}
  .footer-nominal-logo{width:190px;max-width:48vw;height:auto;object-fit:contain;}
  .strategic-contact-strip{width:100%;padding:36px 0 0;}
  .strategic-contact-inner{background:#17375E;border-radius:28px;padding:40px 32px;box-shadow:0 18px 45px rgba(15,39,68,.16);}
  .strategic-contact-eyebrow{display:block;color:#C8A252;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800;text-align:center;}
  .strategic-contact-inner h2{font-family:"Playfair Display",serif;color:#fff;font-size:30px;line-height:1.2;text-align:center;margin:10px 0 26px;}
  .strategic-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
  .strategic-contact-card{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:18px;background:#0F2744;color:#fff;text-decoration:none;min-height:160px;border:1px solid rgba(255,255,255,.07);transition:.25s ease;}
  .strategic-contact-card:hover{transform:translateY(-4px);border-color:rgba(200,162,82,.55);}
  .strategic-contact-card i{color:#C8A252;font-size:20px;}
  .strategic-contact-card strong{font-size:16px;line-height:1.3;}
  .strategic-contact-card span{margin-top:auto;color:#C8A252;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;}
  .contact-status-pill.open{color:#166534;background:#dcfce7;}
  .contact-status-pill.open .dot{background:#22c55e;}
  @media(max-width:900px){
    .qs2-comp{grid-template-columns:1fr!important;min-height:0;}
    .qs2-text-card,.qs2-count-card,.qs2-cta{grid-row:auto;}
    .strategic-contact-grid{grid-template-columns:1fr;}
    .strategic-contact-card{min-height:120px;}
  }
  @media(max-width:767px){
    .header-lion-logo{width:42px;height:42px;}
    .header-brand-name{font-size:15px!important;}
    .hero-quem-somos__desc-client{font-size:14px;line-height:1.55;}
    .qs2-section{padding-left:18px!important;padding-right:18px!important;}
    .strategic-contact-inner{padding:32px 18px;border-radius:22px;}
    .strategic-contact-inner h2{font-size:26px;}
  }

  .header-lion-logo{width:52px!important;height:52px!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;filter:drop-shadow(0 4px 10px rgba(0,0,0,.25));}
  .hero-nominal-logo-wrap{background:transparent!important;box-shadow:none!important;padding:0!important;max-width:320px!important;}
  .hero-nominal-logo{width:280px!important;max-width:70vw!important;}
  .footer-brand-lockup{background:transparent!important;box-shadow:none!important;padding:0!important;gap:16px!important;}
  .footer-lion-logo{width:72px!important;height:72px!important;border-radius:0!important;}
  .footer-nominal-logo{width:230px!important;max-width:55vw!important;}
  @media(max-width:767px){.header-lion-logo{width:44px!important;height:44px!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: #ffffff; text-shadow: 0 2px 10px rgba(0,0,0,0.55);
                }
                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:#C8A252; 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:#C8A252; 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:#17375E; }
                .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:#C8A252; 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:#17375E; 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; } }
                

                        .rev-viewport { position:relative; width:100%; height:300px; overflow:hidden; touch-action: pan-y; }
                        @media (min-width:1024px) { .rev-viewport { height:340px; } }
                        .rev-card { position:absolute; top:50%; left:50%; width:230px; height:260px; border-radius:16px; background:#fff; border:1px solid #e2e8f0; box-sizing:border-box; padding:20px; text-align:left; cursor:pointer; transition: transform 700ms cubic-bezier(0.22, 1, 0.36, 1), opacity 500ms ease, box-shadow 500ms ease; }
                        @media (min-width:1024px) { .rev-card { width:280px; height:280px; padding:24px; } }
                        .rev-arrow-mobile { display:none; }
                        @media (min-width:1024px) { .rev-arrow-mobile { display:flex; } }
                    

                .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:#ffffff; margin-bottom:18px; display:block; text-shadow:0 2px 14px rgba(0,0,0,0.45); }
                .hero-quem-somos__title { font-size:58px; line-height:1.08; font-weight:700; color:#ffffff; max-width:820px; margin:0; text-shadow:0 2px 14px rgba(0,0,0,0.45); }
                .hero-quem-somos__title span { color:#C8A252; }
                .hero-quem-somos__breadcrumb { margin-top:32px; display:flex; align-items:center; gap:10px; font-size:16px; color:#ffffff; font-weight:700; }
                .hero-quem-somos__breadcrumb a { color:#ffffff; text-decoration:none; display:flex; align-items:center; gap:8px; transition:color 250ms ease; }
                .hero-quem-somos__breadcrumb a:hover { color:#C8A252; }
                .hero-quem-somos__breadcrumb .sep { color:#C8A252; }

                /* 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; }
                }
            

                .qs2-section { background:#ffffff; max-width:1200px; margin:0 auto; padding:80px 20px 100px; }
                .qs2-top { display:flex; gap:100px; margin-bottom:70px; }
                .qs2-top-left { width:470px; max-width:100%; flex-shrink:0; }
                .qs2-top-line { display:block; width:70px; height:2px; background:#C8A252; margin-bottom:18px; }
                .qs2-top-title { font-family:"Playfair Display", serif; font-weight:700; font-size:28px; line-height:1.25; color:#17375E; margin:0; }
                .qs2-top-right { width:430px; max-width:100%; }
                .qs2-top-text { font-size:16px; line-height:1.6; color:#3e5378; margin:0; }

                .qs2-comp { position:relative; width:100%; height:610px; }

                .qs2-circles { position:absolute; width:520px; height:520px; left:0; top:120px; z-index:1; pointer-events:none; }
                .qs2-circles span { position:absolute; border-radius:50%; border:1px dashed #C8A252; top:50%; left:50%; transform:translate(-50%,-50%); }
                .qs2-circles span:nth-child(1) { width:520px; height:520px; opacity:0.35; }
                .qs2-circles span:nth-child(2) { width:400px; height:400px; opacity:0.45; }
                .qs2-circles span:nth-child(3) { width:280px; height:280px; opacity:0.55; }

                .qs2-image { position:absolute; top:20px; right:30px; width:760px; height:450px; z-index:2; border-radius:4px; overflow:hidden; background:#e2e8f0; }
                .qs2-image .qs2-image-placeholder { width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; color:#94a3b8; }
                .qs2-image img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }

                .qs2-logo-card { position:absolute; top:65px; left:25px; z-index:5; width:240px; height:86px; border-radius:16px; background:#fff; box-shadow:0 12px 35px rgba(0,0,0,0.12); display:flex; align-items:center; justify-content:center; gap:12px; padding:0 16px; }
                .qs2-logo-card .qs2-logo-badge { width:38px; height:38px; border-radius:10px; background:linear-gradient(135deg,#C8A252,#A9822F); display:flex; align-items:center; justify-content:center; font-weight:800; color:#17375E; flex-shrink:0; }
                .qs2-logo-card .qs2-logo-text { line-height:1.2; }
                .qs2-logo-card .qs2-logo-text strong { display:block; font-size:14px; font-weight:800; letter-spacing:0.03em; color:#17375E; }
                .qs2-logo-card .qs2-logo-text span { display:block; font-size:9px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:#64748b; }

                .qs2-text-card { position:absolute; top:285px; left:25px; z-index:5; width:420px; min-height:310px; padding:34px; border-radius:10px; background:#fff; box-shadow:0 15px 40px rgba(0,0,0,0.08); }
                .qs2-text-card p { font-size:15px; line-height:1.55; color:#3e5378; margin:0 0 16px; }
                .qs2-text-card p:last-child { margin-bottom:0; }

                .qs2-count-card { position:absolute; top:390px; right:45px; z-index:6; width:270px; height:76px; border-radius:12px; background:#fff; box-shadow:0 10px 28px rgba(0,0,0,0.12); display:flex; align-items:center; gap:14px; padding:0 18px; }
                .qs2-count-avatars { display:flex; flex-shrink:0; }
                .qs2-count-avatars span { width:42px; height:42px; border-radius:50%; border:3px solid #fff; background:#17375E; color:#C8A252; display:flex; align-items:center; justify-content:center; font-size:14px; margin-left:-12px; }
                .qs2-count-avatars span:first-child { margin-left:0; background:#e2e8f0; color:#94a3b8; }
                .qs2-count-numbers strong { display:block; font-size:24px; font-weight:800; color:#C8A252; line-height:1.1; }
                .qs2-count-numbers span { display:block; font-size:14px; color:#64748b; font-weight:600; }

                .qs2-cta { position:absolute; top:490px; right:45px; z-index:6; width:270px; height:48px; border-radius:24px; background:#17375E; color:#fff; display:flex; align-items:center; justify-content:center; gap:8px; font-size:13px; font-weight:800; letter-spacing:0.02em; text-decoration:none; transition:all .3s ease; box-shadow:0 10px 25px rgba(0,0,0,0.15); }
                .qs2-cta:hover { background:#C8A252; color:#17375E; }

                @media (max-width: 900px) {
                    .qs2-section { padding:56px 20px 64px; }
                    .qs2-top { flex-direction:column; gap:24px; margin-bottom:40px; }
                    .qs2-top-left, .qs2-top-right { width:100%; }

                    .qs2-comp { height:auto; display:flex; flex-direction:column; gap:20px; }
                    .qs2-circles { display:none; }
                    .qs2-image { position:relative; top:auto; right:auto; left:auto; width:100%; height:auto; aspect-ratio:16/9; }
                    .qs2-logo-card { position:absolute; top:16px; left:16px; width:180px; height:66px; }
                    .qs2-logo-card .qs2-logo-text strong { font-size:12px; }
                    .qs2-text-card { position:relative; top:auto; left:auto; width:100%; min-height:auto; }
                    .qs2-count-card { position:relative; top:auto; right:auto; width:100%; }
                    .qs2-cta { position:relative; top:auto; right:auto; width:100%; }
                }

                /* Apenas celular: remove a imagem do escritório (mantém no tablet e desktop) */
                @media (max-width: 767px) {
                    .qs2-image { display:none; }
                    .qs2-logo-card { position:relative; top:auto; left:auto; margin-bottom:4px; }
                    .qs2-text-card { display:none; }
                }
            

                .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:#17375E; 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; }
                }
            

                .stss-wrap, .stss-wrap * { box-sizing: border-box; }
                .stss-wrap { width:100%; min-height:650px; background:#ffffff; padding:80px 7%; display:grid; grid-template-columns:55% 45%; align-items:center; gap:50px; overflow:hidden; }
                .stss-inner { max-width:1440px; width:100%; margin:0 auto; display:contents; }

                .stss-eyebrow-line { width:90px; height:3px; background:#C8A252; margin-bottom:22px; }
                .stss-eyebrow { font-size:13px; font-weight:800; letter-spacing:0.12em; text-transform:uppercase; color:#C8A252; display:block; margin-bottom:10px; }
                .stss-title { font-family:"Playfair Display", serif; font-size:42px; line-height:1.15; font-weight:700; max-width:700px; color:#17375E; margin:0 0 28px; }

                .stss-tabs { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:0; }
                .stss-tab-btn { height:54px; padding:0 22px; border-radius:14px; border:1px solid #C8A252; background:#ffffff; color:#17375E; font-size:15px; font-weight:700; cursor:pointer; transition:all 250ms ease; }
                .stss-tab-btn:hover { background:rgba(212,175,55,0.1); }
                .stss-tab-btn.stss-tab-active { background:#C8A252; color:#ffffff; }
                .stss-tab-btn:focus-visible { outline:2px solid #17375E; outline-offset:3px; }

                .stss-panels { position:relative; }
                .stss-panel { display:none; opacity:0; transform:translateY(8px); transition:opacity 300ms ease, transform 300ms ease; }
                .stss-panel.stss-panel-visible { display:block; opacity:1; transform:translateY(0); }
                .stss-panel h3 { font-size:27px; font-weight:700; margin-top:42px; margin-bottom:18px; color:#17375E; }
                .stss-panel p { font-size:18px; line-height:1.55; max-width:720px; color:#334155; text-align:left; margin:0; }

                /* Animação 3D orbital */
                .stss-orbit-container { position:relative; width:570px; height:570px; max-width:100%; margin:0 auto; perspective:1000px; }

                .stss-ring { position:absolute; inset:0; border-radius:50%; border:1px dashed rgba(212,175,55,0.35); pointer-events:none; }
                .stss-ring-1 { width:330px; height:330px; left:50%; top:50%; transform:translate(-50%,-50%); animation:stss-spin-slow 40s linear infinite; }
                .stss-ring-2 { width:430px; height:430px; left:50%; top:50%; transform:translate(-50%,-50%); border-color:rgba(0,31,38,0.18); animation:stss-spin-slow-rev 55s linear infinite; }
                .stss-ring-3 { width:520px; height:520px; left:50%; top:50%; transform:translate(-50%,-50%); animation:stss-spin-slow 70s linear infinite; }

                .stss-center-circle { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:230px; height:230px; border-radius:50%; background:#ffffff; box-shadow:0 20px 50px rgba(0,0,0,0.12); display:flex; align-items:center; justify-content:center; z-index:5; }
                .stss-center-badge { width:88px; height:88px; border-radius:22px; background:linear-gradient(135deg,#C8A252,#A9822F); display:flex; align-items:center; justify-content:center; color:#17375E; font-weight:800; font-size:34px; }

                .stss-orbit-ring { position:absolute; inset:0; animation:stss-spin 22s linear infinite; }
                .stss-orbit-holder { position:absolute; left:50%; top:50%; width:0; height:0; }
                .stss-orbit-counter { position:absolute; left:0; top:-235px; width:175px; height:92px; margin-left:-87.5px; animation:stss-spin-rev 22s linear infinite; }

                .stss-card { width:175px; height:92px; border-radius:18px; background:#ffffff; box-shadow:0 15px 35px rgba(0,0,0,0.10); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; font-size:14px; font-weight:700; padding:12px; color:#17375E; cursor:pointer; border:1px solid transparent; transition:transform 250ms ease, box-shadow 250ms ease, border-color 250ms ease; animation:stss-float 5s ease-in-out infinite; }
                .stss-card:hover { box-shadow:0 20px 45px rgba(19,45,97,0.25); border-color:rgba(63,162,105,0.5); }
                .stss-card i { font-size:20px; color:#C8A252; margin-bottom:8px; }
                .stss-card.stss-card-active { transform:scale(1.06); border-color:#C8A252; box-shadow:0 20px 45px rgba(212,175,55,0.35); z-index:6; }
                .stss-card:focus-visible { outline:2px solid #17375E; outline-offset:3px; }

                .stss-ring-b { animation-delay:-5.5s; }
                .stss-ring-c { animation-delay:-11s; }
                .stss-ring-d { animation-delay:-16.5s; }
                .stss-holder-b { animation-delay:-5.5s; }
                .stss-holder-c { animation-delay:-11s; }
                .stss-holder-d { animation-delay:-16.5s; }
                .stss-card-b { animation-delay:-1.25s; }
                .stss-card-c { animation-delay:-2.5s; }
                .stss-card-d { animation-delay:-3.75s; }

                @keyframes stss-spin { from { transform:rotate(0deg); } to { transform:rotate(360deg); } }
                @keyframes stss-spin-rev { from { transform:rotate(0deg); } to { transform:rotate(-360deg); } }
                @keyframes stss-spin-slow { from { transform:translate(-50%,-50%) rotate(0deg); } to { transform:translate(-50%,-50%) rotate(360deg); } }
                @keyframes stss-spin-slow-rev { from { transform:translate(-50%,-50%) rotate(0deg); } to { transform:translate(-50%,-50%) rotate(-360deg); } }
                @keyframes stss-float { 0%, 100% { margin-top:0; } 50% { margin-top:-8px; } }

                .stss-orbit-container.stss-paused .stss-ring,
                .stss-orbit-container.stss-paused .stss-orbit-ring,
                .stss-orbit-container.stss-paused .stss-orbit-counter,
                .stss-orbit-container.stss-paused .stss-card { animation-play-state:paused; }

                @media (prefers-reduced-motion: reduce) {
                    .stss-ring, .stss-orbit-ring, .stss-orbit-counter, .stss-card { animation:none !important; }
                }

                @media (max-width: 950px) {
                    .stss-wrap { grid-template-columns:1fr; min-height:auto; padding:65px 24px; gap:40px; }
                    .stss-title { font-size:34px; max-width:100%; }
                    .stss-tab-btn { flex:0 0 auto; }
                    .stss-orbit-container { width:500px; height:500px; }
                    .stss-orbit-counter { top:-205px; }
                }

                @media (max-width: 600px) {
                    .stss-title { font-size:29px; }
                    .stss-panel p { font-size:17px; }
                    .stss-tabs { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
                    .stss-tab-btn { width:100%; min-width:0; text-align:center; padding:0 6px; font-size:13px; white-space:normal; word-break:break-word; height:auto; min-height:46px; }
                    .stss-orbit-container { width:100%; max-width:340px; height:auto; aspect-ratio:1/1; margin:0 auto; }
                    .stss-center-circle { width:145px; height:145px; }
                    .stss-center-badge { width:60px; height:60px; font-size:22px; border-radius:16px; }
                    .stss-ring-1 { width:210px; height:210px; }
                    .stss-ring-2 { width:270px; height:270px; }
                    .stss-ring-3 { width:330px; height:330px; }
                    .stss-orbit-counter { width:112px; height:68px; margin-left:-56px; top:-148px; }
                    .stss-card { width:112px; height:68px; font-size:11px; padding:8px; }
                    .stss-card i { font-size:15px; margin-bottom:5px; }
                    .stss-wrap { overflow-x:hidden; padding-left:16px; padding-right:16px; }
                }
            

                .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:#C8A252; }
                .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:#C8A252; color:#17375E; 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:#A9822F; }

                /* 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:#C8A252; display:block; }
                .svc-title { font-family:"Playfair Display", serif; font-size:38px; line-height:1.15; font-weight:700; color:#17375E; 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:#17375E; 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:#C8A252; border-color:#C8A252; color:#17375E; font-weight:700; }
                .svc-cat-btn:focus-visible { outline:2px solid #17375E; 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:#C8A252; margin-bottom:12px; }
                .svc-card-title { font-size:25px; line-height:1.2; font-weight:700; color:#17375E; 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:#17375E; 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:#C8A252; color:#17375E; }

                @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:#C8A252; }
            .specialty-hero__breadcrumb .sep { color:#C8A252; }

            @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:#C8A252; display:block; }
            .specialty-challenges__title { font-family:"Playfair Display", serif; font-size:30px; line-height:1.25; font-weight:700; color:#17375E; 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:#17375E; 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:#17375E; 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:#C8A252; color:#17375E; font-weight:800; font-size:15px; text-decoration:none; transition:background 250ms ease; }
            .esp-intro-btn:hover { background:#A9822F; }

            .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:#17375E; 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:#17375E; color:#C8A252; display:flex; align-items:center; justify-content:center; font-size:16px; }
            .esp-card .esp-card-title { font-size:15px; font-weight:700; color:#17375E; 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:#C8A252; 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:#17375E; 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:#C8A252; 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:#17375E; 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:#C8A252; color:#17375E; font-weight:800; font-size:15px; text-decoration:none; transition:background 250ms ease; }
            .esp-cta-final a:hover { background:#A9822F; }

            .esp-links-inline { display:flex; flex-wrap:wrap; gap:10px 22px; font-size:14px; margin-top:22px; }
            .esp-links-inline a { color:#17375E; font-weight:700; text-decoration:underline; text-decoration-color:#C8A252; 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:#17375E; 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:#C8A252; opacity:0.08; pointer-events:none; }
            .esp-solution-card__icon { position:relative; z-index:2; width:58px; height:58px; border-radius:16px; background:#17375E; color:#C8A252; 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:#17375E; 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:#17375E; text-decoration:none; transition:color 250ms ease, gap 250ms ease; }
            .esp-solution-card__link:hover { color:#C8A252; 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:#17375E; 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:#C8A252; 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:#17375E; font-size:25px; flex-shrink:0; }
            .hfp-card__title { font-size:22px; line-height:1.3; font-weight:700; color:#17375E; 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:#C8A252; color:#17375E; 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:#C8A252; }

            @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:#17375E; 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:#17375E; 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:#17375E; 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:#17375E; font-weight:700; }
            .blog-hero__breadcrumb a { color:#17375E; text-decoration:none; display:flex; align-items:center; gap:8px; }
            .blog-hero__breadcrumb a:hover { color:#C8A252; }
            .blog-hero__breadcrumb .sep { color:#C8A252; }

            @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:#C8A252; display:block; }
            .blog-title { font-family:"Playfair Display", serif; font-size:34px; line-height:1.2; font-weight:700; color:#17375E; 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:#17375E; 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:#C8A252; border-color:#C8A252; color:#17375E; }

            .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:#17375E; outline:none; }
            .blog-search input:focus { border-color:#C8A252; }
            .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:#C8A252; }
            .blog-card-title { font-size:23px; line-height:1.25; font-weight:700; color:#17375E; 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:#17375E; text-decoration:none; display:inline-flex; align-items:center; gap:6px; transition:color 250ms ease; }
            .blog-card-link:hover { color:#C8A252; }

            .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:#17375E; 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:#17375E; color:#ffffff; border-color:#17375E; 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:#C8A252; display:block; }
            .blog-article-hero__title { font-family:"Playfair Display", serif; font-size:36px; line-height:1.2; font-weight:700; color:#17375E; 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:#C8A252; }
            .blog-article-hero__breadcrumb .sep { color:#C8A252; }

            .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:#17375E; margin:36px 0 14px; }

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

            .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:#17375E; 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:#C8A252; margin-bottom:14px; display:block; }
            .legal-hero__title { font-family:"Playfair Display", serif; font-size:48px; line-height:1.15; font-weight:700; color:#17375E; 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:#C8A252; }
            .legal-hero__breadcrumb .sep { color:#C8A252; }

            @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:#C8A252; 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:#17375E; font-weight:600; text-decoration:none; }
            .legal-toc a:hover { color:#C8A252; 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:#17375E; margin:0 0 16px; }
            .legal-section h3 { font-size:21px; font-weight:700; color:#17375E; 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:#17375E; }
            .legal-section a.legal-inline-link { color:#17375E; font-weight:700; text-decoration:underline; text-decoration-color:#C8A252; text-underline-offset:3px; cursor:pointer; }
            .legal-placeholder { background:#FFF7E0; color:#8a6d1a; border:1px dashed #C8A252; 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:#17375E; 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:#17375E; }

            /* 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 #C8A252; 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:#17375E; 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:#C8A252; margin:0; }
            .blog-summary__item strong { display:block; font-size:15px; color:#17375E; 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:#17375E; color:#C8A252; font-weight:800; font-size:14px; display:flex; align-items:center; justify-content:center; }
            .blog-steps li strong { display:block; color:#17375E; 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:#17375E; font-weight:600; text-decoration:underline; text-decoration-color:#C8A252; text-underline-offset:3px; }
            .blog-sources a:hover { color:#C8A252; }

            .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:#17375E; font-weight:700; text-decoration:underline; text-decoration-color:#C8A252; 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:#C8A252; border:1px solid #C8A252; color:#17375E; }
            .cookie-btn-accept:hover { background:#A9822F; }

            @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:#17375E; margin-bottom:18px; display:block; }
            .contact-hero__title { font-size:56px; line-height:1.08; font-weight:600; color:#17375E; 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:#17375E; font-weight:600; }
            .contact-hero__breadcrumb a { color:#17375E; text-decoration:none; display:flex; align-items:center; gap:8px; }
            .contact-hero__breadcrumb a:hover { color:#C8A252; }
            .contact-hero__breadcrumb .sep { color:#C8A252; }

            @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:#C8A252; display:block; }
            .contact-h2 { font-family:"Playfair Display", serif; font-size:30px; line-height:1.2; font-weight:700; color:#17375E; 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:#17375E; color:#C8A252; display:flex; align-items:center; justify-content:center; font-size:20px; flex-shrink:0; }
            .contact-card__title { font-size:20px; font-weight:700; color:#17375E; 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:#17375E; margin-top:15px; word-break:break-word; }
            .contact-card__link { margin-top:auto; padding-top:18px; font-size:14px; font-weight:700; color:#C8A252; text-decoration:none; display:inline-flex; align-items:center; gap:6px; }
            .contact-card__link:hover { color:#17375E; }
            .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:#17375E; 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:#17375E; 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:#C8A252; 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:#17375E; font-weight:700; text-decoration:underline; text-decoration-color:#C8A252; cursor:pointer; }

            .contact-submit-btn { width:100%; height:54px; border-radius:14px; background:#17375E; 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:#17375E; }
            .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:#17375E; 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:#17375E; }
            .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:#17375E; }
            .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:#C8A252; color:#17375E; }
            .contact-map__btn--primary:hover { background:#A9822F; }
            .contact-map__btn--outline { background:#ffffff; color:#17375E; 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:#17375E; 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:#C8A252; }
            .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:#C8A252; }
            .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:#C8A252; 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:#17375E; text-align:center; margin:0 0 30px; }

            /* CTA final */
            .contact-cta { width:100%; background:linear-gradient(120deg, #C8A252, #b8912b); padding:75px 36px; text-align:center; }
            .contact-cta__title { font-family:"Playfair Display", serif; font-size:30px; font-weight:700; color:#17375E; 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:#17375E; color:#ffffff; }
            .contact-cta__btn--dark:hover { background:#17375E; }
            .contact-cta__btn--outline { background:transparent; color:#17375E; border:2px solid #17375E; }
            .contact-cta__btn--outline:hover { background:#17375E; 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; }
        }
    
