/* Tailwind CSS Preflight (Reset) */
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}::before,::after{--tw-content:''}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}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}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}

/* Custom Project Styles */
:root {
  --brand-yellow: #FDE047;
  --brand-purple-light: #F3E8FF;
  --brand-purple-medium: #C084FC;
  --brand-purple-dark: #581C87;
  --brand-pink: #EC4899;
  --brand-pink-dark: #BE185D;
}
html {
  scroll-behavior: smooth;
}
body {
  font-family: 'Montserrat', sans-serif;
  background-color: var(--brand-yellow);
  color: var(--brand-purple-dark);
}
.container{width:100%;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}
@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}}
/* Positioning Utilities Added */
.fixed{position:fixed}
.absolute{position:absolute}
.relative{position:relative}
.inset-0{top:0;right:0;bottom:0;left:0}
.z-0{z-index:0}
.z-10{z-index:10}
.z-50{z-index:50}
/* Background Utilities Added */
.bg-cover{background-size:cover}
.bg-center{background-position:center}
.bg-no-repeat{background-repeat:no-repeat}

.mx-auto{margin-left:auto;margin-right:auto}
.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}
.ml-auto{margin-left:auto}
.mr-4{margin-right:1rem}
.mt-1{margin-top:0.25rem}
.mt-2{margin-top:0.5rem}
.mt-6{margin-top:1.5rem}
.my-2{margin-top:0.5rem;margin-bottom:0.5rem}
.my-4{margin-top:1rem;margin-bottom:1rem}
.mt-auto{margin-top:auto}
.block{display:block}
.inline-block{display:inline-block}
.flex{display:flex}
.inline-flex{display:inline-flex}
.grid{display:grid}
.h-8{height:2rem}
.h-10{height:2.5rem}
.h-12{height:3rem}
.h-24{height:6rem}
.h-full{height:100%}
.min-h-screen{min-height:100vh}
.w-8{width:2rem}
.w-10{width:2.5rem}
.w-12{width:3rem}
.w-24{width:6rem}
.w-full{width:100%}
.max-w-sm{max-width:24rem}
.max-w-md{max-width:28rem}
.max-w-3xl{max-width:48rem}
.max-w-4xl{max-width:56rem}
.max-w-5xl{max-width:65rem}
.max-w-6xl{max-width:72rem}
.flex-shrink-0{flex-shrink:0}
.flex-col{flex-direction:column}
.flex-grow{flex-grow:1}
.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))}
.items-center{align-items:center}
.items-start{align-items:flex-start}
.items-stretch{align-items:stretch}
.justify-center{justify-content:center}
.gap-6{gap:1.5rem}
.gap-8{gap:2rem}
.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}
.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}
.space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem * var(--tw-space-y-reverse))}
.overflow-hidden{overflow:hidden}
.rounded-2xl{border-radius:.75rem}
.rounded-3xl{border-radius:1rem}
.rounded-4xl{border-radius:2rem}
.rounded-5xl{border-radius:3rem}
.rounded-full{border-radius:9999px}
.rounded-b-5xl{border-bottom-right-radius:3rem;border-bottom-left-radius:3rem}
.rounded-t-5xl{border-top-left-radius:3rem;border-top-right-radius:3rem}
.border{border-width:1px}
.border-4{border-width:4px}
.border-brand-purple-light{border-color:var(--brand-purple-light)}
.border-brand-pink{border-color:var(--brand-pink)}
.border-white{border-color:#fff}
.bg-brand-yellow{background-color:var(--brand-yellow)}
.bg-white{background-color:#fff}
.bg-white\/70{background-color:rgba(255,255,255,.7)}
.bg-brand-purple-light{background-color:var(--brand-purple-light)}
.bg-purple-700{background-color:#7e22ce}
.bg-green-400{background-color:#4ade80}
.bg-green-500{background-color:#22c55e}
.bg-pink-100{background-color:#fce7f3}
.bg-brand-pink{background-color:var(--brand-pink)}
.hover\:bg-green-600:hover{background-color:#16a34a}
.hover\:bg-brand-pink-dark:hover{background-color:var(--brand-pink-dark)}
.p-2{padding:.5rem}
.p-4{padding:1rem}
.p-5{padding:1.25rem}
.p-6{padding:1.5rem}
.p-8{padding:2rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.px-10{padding-left:2.5rem;padding-right:2.5rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-12{padding-top:3rem;padding-bottom:3rem}
.py-16{padding-top:4rem;padding-bottom:4rem}
.pt-8{padding-top:2rem}
.pb-12{padding-bottom:3rem}
.pt-20{padding-top:5rem}
.pb-20{padding-bottom:5rem}
.text-center{text-align:center}
.text-left{text-align:left}
.font-sans{font-family:'Montserrat',sans-serif}
.text-sm{font-size:.875rem;line-height:1.25rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.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-6xl{font-size:3.75rem;line-height:1}
.font-medium{font-weight:500}
.font-bold{font-weight:700}
.font-extrabold{font-weight:800}
.leading-tight{line-height:1.25}
.text-gray-600{color:#4b5563}
.text-gray-700{color:#374151}
.text-white{color:#fff}
.text-brand-purple-medium{color:var(--brand-purple-medium)}
.text-brand-purple-dark{color:var(--brand-purple-dark)}
.text-brand-pink{color:var(--brand-pink)}
.text-brand-pink-dark{color:var(--brand-pink-dark)}
.text-green-600{color:#16a34a}
.underline{text-decoration-line:underline}
.group:hover .group-hover\:underline{text-decoration-line:underline}
.shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}
.shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}
.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}
.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}
.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}
.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.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))}
@media (min-width:768px){
.md\:-ml-24{margin-left:-6rem}
.md\:col-span-2{grid-column:span 2 / span 2}
.md\:col-span-3{grid-column:span 3 / span 3}
.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.md\:space-y-24>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(6rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(6rem * var(--tw-space-y-reverse))}
.md\:rounded-b-\[100px\]{border-bottom-right-radius:100px;border-bottom-left-radius:100px}
.md\:rounded-t-\[100px\]{border-top-left-radius:100px;border-top-right-radius:100px}
.md\:p-12{padding:3rem}
.md\:pb-20{padding-bottom:5rem}
.md\:pb-24{padding-bottom:6rem}
.md\:pt-32{padding-top:8rem}
.md\:py-24{padding-top:6rem;padding-bottom:6rem}
.md\:text-xl{font-size:1.25rem;line-height:1.75rem}
.md\:text-2xl{font-size:1.5rem;line-height:2rem}
.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}
.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}
.md\:text-5xl{font-size:3rem;line-height:1}
.md\:text-6xl{font-size:3.75rem;line-height:1}
}
@media (min-width:1024px){
.lg\:gap-12{gap:3rem}
.lg\:rounded-b-\[150px\]{border-bottom-right-radius:150px;border-bottom-left-radius:150px}
.lg\:rounded-t-\[150px\]{border-top-left-radius:150px;border-top-right-radius:150px}
}
@media (min-width:640px){
.sm\:w-auto{width:auto}
.sm\:flex-row{flex-direction:row}
}
.object-cover { object-fit: cover; }

/* --- ANIMAÇÕES PERSONALIZADAS --- */

/* Pulse Pink - Para o botão principal */
@keyframes pulse-pink {
  0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(236, 72, 153, 0.7); }
  70% { transform: scale(1.05); box-shadow: 0 0 0 15px rgba(236, 72, 153, 0); }
  100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(236, 72, 153, 0); }
}

/* Pulse Green - Para o botão do WhatsApp */
@keyframes pulse-green {
  0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(74, 222, 128, 0.7); }
  70% { transform: scale(1.05); box-shadow: 0 0 0 15px rgba(74, 222, 128, 0); }
  100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(74, 222, 128, 0); }
}

/* Shake - Para o efeito de hover */
@keyframes shake {
  0%, 100% { transform: rotate(0deg); }
  25% { transform: rotate(-5deg); }
  75% { transform: rotate(5deg); }
}

/* Classes utilitárias para aplicar as animações */
.animate-pulse-pink {
  animation: pulse-pink 2s infinite;
}

.animate-pulse-green {
  animation: pulse-green 2s infinite;
}

/* O hover substitui a animação de pulso enquanto o mouse estiver em cima */
.hover-shake:hover {
  animation: shake 0.5s ease-in-out;
}

.group:hover .group-hover-shake {
  animation: shake 0.5s ease-in-out;
}
