/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
        @layer properties;
        @layer theme, base, components, utilities;
        @layer theme {
          :root, :host {
            --font-sans: "DM Sans", sans-serif;
            --font-serif: "Playfair Display", serif;
            --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
            --color-white: #fff;
            --spacing: 0.25rem;
            --container-sm: 24rem;
            --container-2xl: 42rem;
            --container-4xl: 56rem;
            --container-5xl: 64rem;
            --text-xs: 0.75rem;
            --text-xs--line-height: calc(1 / 0.75);
            --text-sm: 0.875rem;
            --text-sm--line-height: calc(1.25 / 0.875);
            --text-lg: 1.125rem;
            --text-lg--line-height: calc(1.75 / 1.125);
            --text-xl: 1.25rem;
            --text-xl--line-height: calc(1.75 / 1.25);
            --text-2xl: 1.5rem;
            --text-2xl--line-height: calc(2 / 1.5);
            --text-3xl: 1.875rem;
            --text-3xl--line-height: calc(2.25 / 1.875);
            --text-4xl: 2.25rem;
            --text-4xl--line-height: calc(2.5 / 2.25);
            --text-5xl: 3rem;
            --text-5xl--line-height: 1;
            --text-6xl: 3.75rem;
            --text-6xl--line-height: 1;
            --text-7xl: 4.5rem;
            --text-7xl--line-height: 1;
            --text-8xl: 6rem;
            --text-8xl--line-height: 1;
            --font-weight-light: 300;
            --font-weight-medium: 500;
            --font-weight-semibold: 600;
            --font-weight-bold: 700;
            --tracking-tighter: -0.05em;
            --tracking-wide: 0.025em;
            --tracking-wider: 0.05em;
            --tracking-widest: 0.1em;
            --leading-tight: 1.25;
            --leading-relaxed: 1.625;
            --blur-sm: 8px;
            --blur-md: 12px;
            --default-transition-duration: 150ms;
            --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
            --default-font-family: var(--font-sans);
            --default-mono-font-family: var(--font-mono);
            --color-primary: #2F3662;
            --color-secondary: #4A538A;
            --color-accent: #D1A773;
            --color-surface: #F7F5F0;
            --color-dark: #151933;
            --animate-fade-in-up: fade-in-up 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
          }
        }
        @layer base {
          *, ::after, ::before, ::backdrop, ::file-selector-button {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
            border: 0 solid;
          }
          html, :host {
            line-height: 1.5;
            -webkit-text-size-adjust: 100%;
            tab-size: 4;
            font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji');
            -webkit-tap-highlight-color: transparent;
          }
          a {
            color: inherit;
            text-decoration: inherit;
          }
          img, svg {
            display: block;
            vertical-align: middle;
          }
          img {
            max-width: 100%;
            height: auto;
          }
          button {
            font: inherit;
            color: inherit;
            background-color: transparent;
            cursor: pointer;
          }
          [hidden] {
            display: none!important;
          }
        }
        @layer utilities {
          .pointer-events-none { pointer-events: none; }
          .absolute { position: absolute; }
          .fixed { position: fixed; }
          .relative { position: relative; }
          .inset-0 { inset: 0; }
          .-top-10 { top: -2.5rem; }
          .top-0 { top: 0; }
          .-right-10 { right: -2.5rem; }
          .right-0 { right: 0; }
          .-bottom-10 { bottom: -2.5rem; }
          .bottom-0 { bottom: 0; }
          .bottom-10 { bottom: 2.5rem; }
          .-left-10 { left: -2.5rem; }
          .left-0 { left: 0; }
          .left-1\/2 { left: 50%; }
          .-z-10 { z-index: -10; }
          .z-10 { z-index: 10; }
          .z-20 { z-index: 20; }
          .z-40 { z-index: 40; }
          .z-50 { z-index: 50; }
          .container { width: 100%; margin-inline: auto; padding-inline: 1.5rem; }
          @media (min-width: 640px) { .container { max-width: 640px; } }
          @media (min-width: 768px) { .container { max-width: 768px; } }
          @media (min-width: 1024px) { .container { max-width: 1024px; } }
          @media (min-width: 1280px) { .container { max-width: 1280px; } }
          .mx-auto { margin-inline: auto; }
          .mt-4 { margin-top: 1rem; }
          .mb-2 { margin-bottom: 0.5rem; }
          .mb-4 { margin-bottom: 1rem; }
          .mb-6 { margin-bottom: 1.5rem; }
          .mb-8 { margin-bottom: 2rem; }
          .mb-10 { margin-bottom: 2.5rem; }
          .mb-12 { margin-bottom: 3rem; }
          .mb-16 { margin-bottom: 4rem; }
          .mb-24 { margin-bottom: 6rem; }
          .mb-32 { margin-bottom: 8rem; }
          .block { display: block; }
          .flex { display: flex; }
          .grid { display: grid; }
          .hidden { display: none; }
          .inline-block { display: inline-block; }
          .inline-flex { display: inline-flex; }
          .aspect-\[4\/5\] { aspect-ratio: 4/5; }
          .h-1\/2 { height: 50%; }
          .h-5 { height: 1.25rem; }
          .h-6 { height: 1.5rem; }
          .h-8 { height: 2rem; }
          .h-10 { height: 2.5rem; }
          .h-12 { height: 3rem; }
          .h-16 { height: 4rem; }
          .h-\[600px\] { height: 600px; }
          .h-\[800px\] { height: 800px; }
          .h-fit { height: fit-content; }
          .h-full { height: 100%; }
          .min-h-screen { min-height: 100vh; }
          .w-5 { width: 1.25rem; }
          .w-6 { width: 1.5rem; }
          .w-8 { width: 2rem; }
          .w-10 { width: 2.5rem; }
          .w-\[1px\] { width: 1px; }
          .w-\[600px\] { width: 600px; }
          .w-\[800px\] { width: 800px; }
          .w-full { width: 100%; }
          .max-w-2xl { max-width: var(--container-2xl); }
          .max-w-4xl { max-width: var(--container-4xl); }
          .max-w-5xl { max-width: var(--container-5xl); }
          .max-w-sm { max-width: var(--container-sm); }
          .min-w-\[320px\] { min-width: 320px; }
          .-translate-x-1\/2 { transform: translateX(-50%); }
          .-translate-x-1\/3 { transform: translateX(-33.3333%); }
          .translate-x-1\/3 { transform: translateX(33.3333%); }
          .-translate-y-1\/2 { transform: translateY(-50%); }
          .translate-y-1\/2 { transform: translateY(50%); }
          .translate-x-full { transform: translateX(100%); }
          .translate-x-0 { transform: translateX(0); }
          .scale-105 { transform: scale(1.05); }
          .animate-\[bounce_2s_infinite\] { animation: bounce 2s infinite; }
          .animate-fade-in-up { animation: var(--animate-fade-in-up); }
          .cursor-grab { cursor: grab; }
          .cursor-pointer { cursor: pointer; }
          .snap-x { scroll-snap-type: x mandatory; }
          .snap-start { scroll-snap-align: start; }
          .flex-col { flex-direction: column; }
          .flex-row { flex-direction: row; }
          .items-center { align-items: center; }
          .items-end { align-items: flex-end; }
          .justify-between { justify-content: space-between; }
          .justify-center { justify-content: center; }
          .gap-2 { gap: 0.5rem; }
          .gap-3 { gap: 0.75rem; }
          .gap-4 { gap: 1rem; }
          .gap-6 { gap: 1.5rem; }
          .gap-8 { gap: 2rem; }
          .gap-10 { gap: 2.5rem; }
          .gap-16 { gap: 4rem; }
          .space-y-6 > :not([hidden]) ~ :not([hidden]) { margin-top: 1.5rem; }
          .overflow-hidden { overflow: hidden; }
          .overflow-x-auto { overflow-x: auto; }
          .scroll-smooth { scroll-behavior: smooth; }
          .rounded-full { border-radius: 9999px; }
          .border { border-width: 1px; }
          .border-t { border-top-width: 1px; }
          .border-b { border-bottom-width: 1px; }
          .border-primary { border-color: var(--color-primary); }
          .border-primary\/5 { border-color: rgba(47, 54, 98, 0.05); }
          .border-primary\/10 { border-color: rgba(47, 54, 98, 0.1); }
          .border-primary\/20 { border-color: rgba(47, 54, 98, 0.2); }
          .border-surface\/30 { border-color: rgba(247, 245, 240, 0.3); }
          .bg-\[\#EFECE5\] { background-color: #EFECE5; }
          .bg-dark\/40 { background-color: rgba(21, 25, 51, 0.4); }
          .bg-primary { background-color: var(--color-primary); }
          .bg-primary\/5 { background-color: rgba(47, 54, 98, 0.05); }
          .bg-primary\/10 { background-color: rgba(47, 54, 98, 0.1); }
          .bg-primary\/30 { background-color: rgba(47, 54, 98, 0.3); }
          .bg-secondary\/20 { background-color: rgba(74, 83, 138, 0.2); }
          .bg-surface { background-color: var(--color-surface); }
          .bg-surface\/50 { background-color: rgba(247, 245, 240, 0.5); }
          .bg-surface\/80 { background-color: rgba(247, 245, 240, 0.8); }
          .bg-surface\/95 { background-color: rgba(247, 245, 240, 0.95); }
          .bg-transparent { background-color: transparent; }
          .bg-white { background-color: var(--color-white); }
          .fill-current { fill: currentColor; }
          .object-cover { object-fit: cover; }
          .object-top { object-position: top; }
          .p-10 { padding: 2.5rem; }
          .px-4 { padding-inline: 1rem; }
          .px-6 { padding-inline: 1.5rem; }
          .px-8 { padding-inline: 2rem; }
          .py-1\.5 { padding-block: 0.375rem; }
          .py-4 { padding-block: 1rem; }
          .py-5 { padding-block: 1.25rem; }
          .py-6 { padding-block: 1.5rem; }
          .py-10 { padding-block: 2.5rem; }
          .py-32 { padding-block: 8rem; }
          .pt-4 { padding-top: 1rem; }
          .pt-8 { padding-top: 2rem; }
          .pt-20 { padding-top: 5rem; }
          .pt-32 { padding-top: 8rem; }
          .pb-1 { padding-bottom: 0.25rem; }
          .pb-2 { padding-bottom: 0.5rem; }
          .pb-10 { padding-bottom: 2.5rem; }
          .pl-14 { padding-left: 3.5rem; }
          .text-center { text-align: center; }
          .font-sans { font-family: var(--font-sans); }
          .font-serif { font-family: var(--font-serif); }
          .text-2xl { font-size: var(--text-2xl); line-height: var(--text-2xl--line-height); }
          .text-3xl { font-size: var(--text-3xl); line-height: var(--text-3xl--line-height); }
          .text-4xl { font-size: var(--text-4xl); line-height: var(--text-4xl--line-height); }
          .text-5xl { font-size: var(--text-5xl); line-height: var(--text-5xl--line-height); }
          .text-8xl { font-size: var(--text-8xl); line-height: var(--text-8xl--line-height); }
          .text-lg { font-size: var(--text-lg); line-height: var(--text-lg--line-height); }
          .text-base { font-size: 1rem; line-height: 1.5; }
          .text-sm { font-size: var(--text-sm); line-height: var(--text-sm--line-height); }
          .text-xs { font-size: var(--text-xs); line-height: var(--text-xs--line-height); }
          .text-\[10vw\] { font-size: 10vw; }
          .leading-\[1\.1\] { line-height: 1.1; }
          .leading-none { line-height: 1; }
          .leading-relaxed { line-height: var(--leading-relaxed); }
          .leading-tight { line-height: var(--leading-tight); }
          .font-bold { font-weight: var(--font-weight-bold); }
          .font-light { font-weight: var(--font-weight-light); }
          .font-medium { font-weight: var(--font-weight-medium); }
          .font-semibold { font-weight: var(--font-weight-semibold); }
          .tracking-tighter { letter-spacing: var(--tracking-tighter); }
          .tracking-wide { letter-spacing: var(--tracking-wide); }
          .tracking-wider { letter-spacing: var(--tracking-wider); }
          .tracking-widest { letter-spacing: var(--tracking-widest); }
          .whitespace-nowrap { white-space: nowrap; }
          .text-accent { color: var(--color-accent); }
          .text-dark\/40 { color: rgba(21, 25, 51, 0.4); }
          .text-dark\/50 { color: rgba(21, 25, 51, 0.5); }
          .text-dark\/60 { color: rgba(21, 25, 51, 0.6); }
          .text-dark\/70 { color: rgba(21, 25, 51, 0.7); }
          .text-dark\/80 { color: rgba(21, 25, 51, 0.8); }
          .text-primary { color: var(--color-primary); }
          .text-primary\/5 { color: rgba(47, 54, 98, 0.05); }
          .text-primary\/30 { color: rgba(47, 54, 98, 0.3); }
          .text-primary\/40 { color: rgba(47, 54, 98, 0.4); }
          .text-primary\/60 { color: rgba(47, 54, 98, 0.6); }
          .text-secondary { color: var(--color-secondary); }
          .text-surface { color: var(--color-surface); }
          .text-surface\/80 { color: rgba(247, 245, 240, 0.8); }
          .uppercase { text-transform: uppercase; }
          .italic { font-style: italic; }
          .antialiased { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
          .opacity-0 { opacity: 0; }
          .opacity-50 { opacity: 0.5; }
          .mix-blend-multiply { mix-blend-mode: multiply; }
          .shadow-\[0_10px_40px_-15px_rgba\(47\,54\,98\,0\.05\)\] { box-shadow: 0 10px 40px -15px rgba(47,54,98,0.05); }
          .shadow-xl { box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1); }
          .shadow-primary\/20 { box-shadow: 0 4px 14px 0 rgba(47, 54, 98, 0.2); }
          .blur-\[100px\] { filter: blur(100px); }
          .blur-\[120px\] { filter: blur(120px); }
          .backdrop-blur-md { backdrop-filter: blur(var(--blur-md)); -webkit-backdrop-filter: blur(var(--blur-md)); }
          .backdrop-blur-sm { backdrop-filter: blur(var(--blur-sm)); -webkit-backdrop-filter: blur(var(--blur-sm)); }
          .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, fill, stroke; 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-300 { transition-duration: 300ms; }
          .duration-500 { transition-duration: 500ms; }
          .duration-1000 { transition-duration: 1000ms; }
          .select-none { user-select: none; }
          .rotate-180 { transform: rotate(180deg); }
          
          .group:hover .group-hover\:translate-x-2 { transform: translateX(0.5rem); }
          .group:hover .group-hover\:scale-100 { transform: scale(1); }
          .group:hover .group-hover\:text-accent { color: var(--color-accent); }
          .group:hover .group-hover\:text-primary { color: var(--color-primary); }
          
          .hover\:border-accent:hover { border-color: var(--color-accent); }
          .hover\:bg-accent:hover { background-color: var(--color-accent); }
          .hover\:bg-surface:hover { background-color: var(--color-surface); }
          .hover\:text-accent:hover { color: var(--color-accent); }
          .hover\:text-primary:hover { color: var(--color-primary); }
          .focus\:outline-none:focus { outline: none; }

          @media (min-width: 768px) {
            .md\:mt-0 { margin-top: 0; }
            .md\:mb-0 { margin-bottom: 0; }
            .md\:block { display: block; }
            .md\:flex { display: flex; }
            .md\:hidden { display: none; }
            .md\:inline-flex { display: inline-flex; }
            .md\:min-w-\[400px\] { min-width: 400px; }
            .md\:flex-row { flex-direction: row; }
            .md\:items-center { align-items: center; }
            .md\:gap-8 { gap: 2rem; }
            .md\:pl-16 { padding-left: 4rem; }
            .md\:text-2xl { font-size: var(--text-2xl); }
            .md\:text-5xl { font-size: var(--text-5xl); }
            .md\:text-6xl { font-size: var(--text-6xl); }
            .md\:text-7xl { font-size: var(--text-7xl); }
            .md\:text-xl { font-size: var(--text-xl); }
            .md\:text-lg { font-size: var(--text-lg); }
            .md\:text-\[8vw\] { font-size: 8vw; }
          }
          @media (min-width: 1024px) {
            .lg\:sticky { position: sticky; }
            .lg\:top-40 { top: 10rem; }
            .lg\:w-1\/2 { width: 50%; }
            .lg\:w-1\/3 { width: 33.333333%; }
            .lg\:w-2\/3 { width: 66.666667%; }
            .lg\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
            .lg\:flex-row { flex-direction: row; }
            .lg\:flex-row-reverse { flex-direction: row-reverse; }
            .lg\:justify-end { justify-content: flex-end; }
            .lg\:text-7xl { font-size: var(--text-7xl); }
          }
        }
        
        @keyframes float {
          0% { transform: translate(0px, 0px) scale(1) rotate(0deg); }
          33% { transform: translate(40px, -40px) scale(1.05) rotate(5deg); }
          66% { transform: translate(-30px, 30px) scale(0.95) rotate(-5deg); }
          100% { transform: translate(0px, 0px) scale(1) rotate(0deg); }
        }
        @keyframes fade-in-up {
          0% { opacity: 0; transform: translateY(40px); }
          100% { opacity: 1; transform: translateY(0); }
        }
        @keyframes bounce {
          0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(0.8, 0, 1, 1); }
          50% { transform: none; animation-timing-function: cubic-bezier(0, 0, 0.2, 1); }
        }

        @layer base {
          body { background-color: var(--color-surface); color: var(--color-dark); overflow-x: hidden; cursor: none; }
          ::-webkit-scrollbar { width: 8px; }
          ::-webkit-scrollbar-track { background: var(--color-surface); }
          ::-webkit-scrollbar-thumb { background: var(--color-primary); border-radius: 10px; }
        }
        
        @layer components {
          .cursor-dot, .cursor-outline { position: fixed; top: 0; left: 0; transform: translate(-50%, -50%); border-radius: 50%; z-index: 9999; pointer-events: none; mix-blend-mode: difference; }
          .cursor-dot { width: 8px; height: 8px; background-color: white; }
          .cursor-outline { width: 40px; height: 40px; border: 1px solid rgba(255, 255, 255, 0.8); transition: width 0.2s, height 0.2s, background-color 0.2s; }
          a:hover ~ .cursor-outline, button:hover ~ .cursor-outline, .hover-trigger:hover ~ .cursor-outline { width: 60px; height: 60px; background-color: rgba(255, 255, 255, 0.1); border-color: white; }
          
          @media (max-width: 1024px) {
            .cursor-dot, .cursor-outline { display: none; }
            body { cursor: auto; }
          }
          
          .hero-blobs { position: absolute; inset: 0; overflow: hidden; z-index: -1; pointer-events: none; }
          .blob-wrapper { position: absolute; inset: 0; transition: transform 0.4s cubic-bezier(0.1, 0.5, 0.3, 1); }
          .blob { position: absolute; border-radius: 50%; filter: blur(100px); opacity: 0.6; animation: float 18s infinite ease-in-out alternate; }
          .blob-1 { background: var(--color-primary); width: 60vw; height: 60vw; top: -20%; left: -10%; }
          .blob-2 { background: var(--color-accent); width: 50vw; height: 50vw; bottom: -10%; right: -10%; animation-delay: -6s; opacity: 0.4; }
          .blob-3 { background: #8B95C9; width: 40vw; height: 40vw; top: 30%; left: 40%; animation-delay: -12s; opacity: 0.3; }
          
          .reveal { opacity: 0; transform: translateY(40px); transition: all 1s cubic-bezier(0.16, 1, 0.3, 1); will-change: opacity, transform; }
          .reveal.active { opacity: 1; transform: translateY(0); }
          .reveal-delay-1 { transition-delay: 0.15s; }
          .reveal-delay-2 { transition-delay: 0.3s; }
          .animate-delay-1 { animation-delay: 0.2s; }
          .text-outline { color: transparent; -webkit-text-stroke: 1px var(--color-primary); }
          
          /* Modificação na transição do Service Item para acomodar o acordeão */
          .service-item { transition: all 0.4s ease; }
          .service-item:hover { padding-left: 1.5rem; border-color: var(--color-primary); }
          @media (max-width: 768px) { .service-item:hover { padding-left: 0.5rem; } }
          
          /* Estrutura Acordeão Grid */
          .accordion-content {
              display: grid;
              grid-template-rows: 0fr;
              transition: grid-template-rows 0.5s cubic-bezier(0.16, 1, 0.3, 1);
          }
          .accordion-content > div { overflow: hidden; }
          .service-item.is-open .accordion-content { grid-template-rows: 1fr; }
          .service-item.is-open .icon-chevron { transform: rotate(180deg); color: var(--color-primary); }
          .service-item.is-open { padding-left: 1.5rem; border-color: var(--color-primary); }
          @media (max-width: 768px) { .service-item.is-open { padding-left: 0.5rem; } }

          .organic-mask { clip-path: polygon(10% 0, 100% 5%, 95% 100%, 0 90%); transition: clip-path 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
          .group:hover .organic-mask { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
        }
        
        @layer utilities {
          .hide-scroll::-webkit-scrollbar { display: none; }
          .hide-scroll { -ms-overflow-style: none; scrollbar-width: none; }

          /* Missing utilities for custom sections */
          .mt-12 { margin-top: 3rem; }
          .mb-20 { margin-bottom: 5rem; }
          .p-8 { padding: 2rem; }
          .p-12 { padding: 3rem; }
          .px-3 { padding-left: 0.75rem; padding-right: 0.75rem; }
          .py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
          .rounded-xl { border-radius: 0.75rem; }
          .rounded-2xl { border-radius: 1rem; }
          .rounded-3xl { border-radius: 1.5rem; }
          .aspect-video { aspect-ratio: 16 / 9; }
          .opacity-80 { opacity: 0.8; }
          .flex-wrap { flex-wrap: wrap; }
          .hover\:-translate-y-2:hover { transform: translateY(-0.5rem); }
          .hover\:border-accent\/30:hover { border-color: rgba(209, 167, 115, 0.3); border-width: 1px; }
          .bg-surface\/10 { background-color: rgba(247, 245, 240, 0.1); }
          .border-surface\/20 { border-color: rgba(247, 245, 240, 0.2); }
          .border-primary\/30 { border-color: rgba(47, 54, 98, 0.3); }
          
          @media (min-width: 768px) {
            .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
            .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
          }
          @media (min-width: 1024px) {
            .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
            .lg\:col-span-3 { grid-column: span 3 / span 3; }
            .lg\:gap-12 { gap: 3rem; }
          }
        }
