/* Visual proposal only. Loaded by previa.html; the current site is preserved. */
:root {
  --font-display: 'Cormorant Garamond', Georgia, serif;
  --color-primary-50: #f6f3ed;
  --color-primary-100: #e9e3d8;
  --color-primary-200: #d9d0c2;
  --color-primary-300: #e3ded4;
  --color-primary-400: #a9a59d;
  --color-primary-500: #817b70;
  --color-primary-600: #686258;
  --color-primary-700: #514c44;
  --color-primary-800: #34332e;
  --color-primary-900: #272823;
  --color-primary-950: #181b18;
  --color-accent-gold: #bda078;
  --color-accent-gold-light: #dac5a5;
  --color-accent-gold-dark: #866842;
}
html { scroll-behavior: smooth; scroll-padding-top: 104px; }
body { background: #f6f3ed; -webkit-font-smoothing: antialiased; }
::selection { background: #dac5a5; color: #181b18; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
a, button { touch-action: manipulation; }
a:focus-visible, button:focus-visible { outline: 2px solid #ad8752; outline-offset: 6px; }
h1, h2, h3, h4 { text-wrap: balance; }
main h1, main h2, #equipe h3, #areas h3, footer h4 {
  font-family: var(--font-display);
  font-weight: 500;
  letter-spacing: -.035em;
}
main h2 { font-size: clamp(2.5rem, 4.2vw, 3.8rem); line-height: 1.08; }
main p { font-weight: 400; }
main > section:not(#inicio) { padding-block: 112px; }
main > section > .max-w-7xl, footer > .max-w-7xl { max-width: 1280px; padding-inline: 64px; }
main > section.bg-white { background: #fcfaf6; }
main section:not(.bg-primary-950):not(#inicio) .text-accent-gold { color: #927044; }
main section .text-xs.uppercase { font-size: 10px; letter-spacing: .21em; }
main section .text-primary-400 { color: #706b62; }
main section.bg-primary-950 .text-primary-400 { color: #bcb8ae; }
main section.bg-primary-950 .text-primary-500 { color: #aba69c; }
header { padding: 22px 48px !important; border-bottom: 1px solid #ffffff18; }
header > div:first-child { max-width: 1280px; }
header.bg-transparent { background: linear-gradient(#151915a6, transparent); }
header.bg-white { background: #fcfaf6f5; backdrop-filter: blur(18px); box-shadow: 0 3px 22px #181b1809; border-color: #e9e3d8; }
header .font-display { font-size: 26px; font-weight: 500; letter-spacing: -.03em; }
header nav.hidden { gap: clamp(15px, 1.75vw, 28px); }
header nav.hidden a { font-size: 9px; letter-spacing: .13em; font-weight: 500; }
header nav.hidden a:last-child { border: 1px solid #bda07880; padding: 12px 17px; color: #bda078; }
header > div:first-child > button { position: relative; z-index: 50; border: 1px solid #bda07866; border-radius: 2px; }
header:has(.fixed.inset-y-0) > div:first-child > button { color: #181b18; }
header .fixed.inset-y-0 { background: #fcfaf6; width: min(100%, 390px); overflow-y: auto; }
header .fixed.inset-y-0 nav a { padding: 10px 0; border-bottom: 1px solid #e9e3d8; font-family: var(--font-display); font-size: 26px; }
#inicio { height: min(900px, 100svh); min-height: 760px; background: #181b18; }
#inicio .hero-background-image { opacity: .67; object-position: center 34%; }
#inicio .hero-background-overlay { background: linear-gradient(90deg, #141814ef 0%, #141814c4 29%, #14181457 60%, #14181418 100%), linear-gradient(0deg, #141814b3, transparent 32%); }
#inicio > .relative { padding-top: 145px; padding-bottom: 145px; }
#inicio > .relative > div { max-width: 650px; padding-bottom: 0; }
#inicio h1 { font-size: clamp(3.3rem, 5.2vw, 5rem); line-height: 1.02; font-weight: 500; margin-top: 26px; }
#inicio h1 span { font-style: italic; color: #d3b78e; }
#inicio h1 + p { max-width: 470px; font-size: 15px; line-height: 1.9; color: #e0ddd4; margin-top: 25px; }
#inicio .rounded-full { padding: 0; border: 0; border-radius: 0; background: none; backdrop-filter: none; }
#inicio .rounded-full > span:last-child { font-size: 9px; line-height: 1.8; letter-spacing: .18em; color: #d3b78e; }
#inicio .rounded-full > span:first-child { width: 26px; height: 1px; border-radius: 0; flex-shrink: 0; }
#inicio h1 + p + div { margin-top: 31px; gap: 12px; }
#inicio a { min-height: 54px; padding-inline: 25px; font-size: 10px; letter-spacing: .13em; border-radius: 2px; box-shadow: none; }
#inicio a.bg-accent-gold { background: #c2a47c; }
#inicio a.bg-accent-gold:hover { background: #dac5a5; transform: translateY(-2px); }
#inicio a.border { background: #171b1733; border-color: #d9d0c259; }
#inicio > .absolute.bottom-0 { padding: 24px 64px; background: #181b1866; backdrop-filter: blur(8px); border-color: #bda07833; }
#inicio > .absolute.bottom-0 > div { max-width: 1152px; }
#inicio > .absolute.bottom-0 p:first-child { font-family: var(--font-display); font-size: 29px; font-weight: 500; }
#inicio > .absolute.bottom-0 p:last-child { color: #c5c0b6; font-size: 9px; font-weight: 400; margin-top: 3px; }
#sobre .max-w-4xl { max-width: 970px; }
#sobre h2 { max-width: 750px; margin-inline: auto; }
#sobre h2 span { font-style: italic; }
#sobre .space-y-8 > p { max-width: 820px; margin-inline: auto; font-size: 16px; line-height: 1.95; }
#sobre .grid { gap: 0; margin-top: 42px; border-block: 1px solid #ded6c8; }
#sobre .grid > div { padding: 32px; background: none; border: 0; border-radius: 0; }
#sobre .grid > div + div { border-left: 1px solid #ded6c8; }
#sobre .grid > div > div { background: transparent; box-shadow: none; justify-content: flex-start; }
#sobre .grid p { font-size: 13px; line-height: 1.85; color: #686258; }
#sobre .grid h3 { font-size: 11px; letter-spacing: .15em; }
#sobre .pt-6 { padding-top: 34px; }
#areas { background: #f0ebe2; }
#areas > div > .text-center:first-child { max-width: 750px; margin-bottom: 54px; }
#areas .grid { gap: 20px; }
#areas .grid > div { position: relative; display: flex; flex-direction: column; padding: 36px 30px; background: #fcfaf6; border: 1px solid #e1d9cb; border-radius: 3px; box-shadow: none; }
#areas .grid > div::before { content: ''; position: absolute; top: -1px; left: 30px; width: 40px; height: 2px; background: #bda078; transition: width .25s; }
#areas .grid > div:hover { border-color: #bda078; box-shadow: 0 14px 32px #4439200a; }
#areas .grid > div:hover::before { width: calc(100% - 60px); }
#areas .grid > div > div:first-child { background: #ede5d6; color: #927044; width: 49px; height: 49px; border-radius: 50%; margin-bottom: 28px; }
#areas .grid svg { stroke-width: 1.4; }
#areas h3 { font-size: 28px; line-height: 1.15; }
#areas .grid p { font-size: 13px; line-height: 1.85; }
#areas .grid a { margin-top: auto; padding-top: 20px; border-top: 1px solid #e9e3d8; font-size: 9px; letter-spacing: .16em; }
#areas .mt-16 { margin-top: 36px; border-radius: 3px; padding: 34px 40px; background: #242820; }
#areas .mt-16 h3 { font-size: 28px; }
#areas .mt-16 p { color: #c6c1b6; }
#areas .mt-16 a { border-radius: 2px; font-size: 10px; box-shadow: none; }
main > section:nth-child(4) { background: #20261f; }
main > section:nth-child(4) h2 { max-width: 550px; }
.brand-ampersand { font-family: Georgia, 'Times New Roman', serif; font-style: normal; font-weight: 400; }
main > section:nth-child(4) .gap-16 { gap: 80px; }
main > section:nth-child(4) .space-y-8 > p { font-size: 15px; line-height: 1.95; }
main > section:nth-child(4) .space-y-6 > div { padding: 18px 0; border-bottom: 1px solid #c2a47c26; border-radius: 0; }
main > section:nth-child(4) .space-y-6 { gap: 0; }
main > section:nth-child(4) h3 { font-weight: 500; font-size: 15px; }
main > section:nth-child(4) .rounded-2xl { border-radius: 3px; box-shadow: none; }
main > section:nth-child(4) img { filter: saturate(.65); }
main > section:nth-child(5) .grid > div { border-radius: 3px; padding: 29px; background: transparent; border-color: #ded6c8; box-shadow: none; }
main > section:nth-child(5) .grid > div:hover { background: #f0ebe2; }
main > section:nth-child(5) h3 { font-family: var(--font-display); font-size: 27px; font-weight: 500; }
main > section:nth-child(5) .grid p { line-height: 1.85; }
main > section:nth-child(5) .fixed > .relative { max-height: calc(100dvh - 32px); overflow-y: auto; border-radius: 5px; background: #fcfaf6; }
main > section:nth-child(5) .fixed .text-lg { font-size: 16px; line-height: 1.85; }
#equipe { background: #f0ebe2; border-top: 1px solid #e3dbce; }
#equipe > div > .text-center { margin-bottom: 56px; }
#equipe .grid { gap: 48px; max-width: 980px; margin-inline: auto; }
#equipe .grid > div { background: #fcfaf6; border: 1px solid #e0d8ca; padding: 12px 12px 28px; }
#equipe .aspect-\[3\/4\] { aspect-ratio: 4 / 4.2; border-radius: 2px; box-shadow: none; margin-bottom: 27px; background: #d8d0c1; }
#equipe img { filter: saturate(.8); transform: none; object-position: center 25%; }
#equipe .group:hover img { transform: scale(1.025); filter: saturate(1); }
#equipe .absolute.inset-0 { opacity: .22; }
#equipe .grid .space-y-4 { padding-inline: 20px; text-align: left; }
#equipe h3 { font-size: 36px; }
#equipe .uppercase { font-size: 9px; letter-spacing: .17em; }
#equipe .font-mono { color: #777065; font-family: var(--font-sans); font-size: 10px; margin-top: 8px; font-weight: 400; }
#equipe .grid .space-y-4 > p { font-size: 14px; line-height: 1.85; }
#avaliacoes { background: #20241f; }
#avaliacoes .grid { gap: 22px; }
#avaliacoes .grid > div { background: #ffffff03; padding: 32px; border: 1px solid #bda07838; border-radius: 3px; backdrop-filter: none; }
#avaliacoes .grid > div > p { font-family: var(--font-display); font-size: 23px; line-height: 1.45; font-weight: 400; }
#avaliacoes .mt-20 { margin-top: 48px; }
#avaliacoes .rounded-full.border { border-radius: 3px; background: none; }
#contato { background: #fcfaf6; }
#contato > div > div { gap: 70px; }
#contato .space-y-8 a { font-size: 18px; font-weight: 500; overflow-wrap: anywhere; }
#contato .space-y-8 .text-primary-400 { font-size: 9px; letter-spacing: .14em; }
#contato .space-y-8 .rounded-xl { border-radius: 50%; border: 1px solid #e3dbce; background: none; }
#contato .p-8.bg-primary-50 { border-radius: 3px; background: #f1ece3; box-shadow: none; }
#contato .rounded-full:has(img) { background: #242820; border: 0; padding: 6px; }
#contato label { color: #686258; font-size: 9px; }
#contato input, #contato select, #contato textarea { border-radius: 2px; border-color: #dcd3c5; background: #fcfaf6; padding: 15px 14px; font-size: 13px; }
#contato select { appearance: auto; }
#contato form button { border-radius: 2px; background: #262c24; box-shadow: none; font-size: 10px; min-height: 54px; }
#contato form button:hover { background: #bda078; color: #181b18; }
#contato form > p { color: #777065; font-size: 10px; }
footer { background: #171c18 !important; padding-top: 80px !important; padding-bottom: 32px !important; border-top: 1px solid #bda07840; }
footer > div > div:first-child { display: grid; grid-template-columns: 1.4fr .7fr 1fr; gap: 70px; margin-bottom: 64px; }
footer .font-display { font-weight: 500; }
footer .font-display.text-xl { font-size: 29px; }
footer h4 { font-size: 24px; margin-bottom: 24px; }
footer .text-primary-400 { color: #bebbb1; line-height: 1.9; }
footer .text-primary-500, footer .text-primary-600 { color: #a8a497; }
footer ul { display: grid; gap: 12px; }
footer ul > li { margin: 0 !important; }
footer .pt-12 { padding-top: 26px; border-color: #bda07826; }
footer .pt-12 p { line-height: 1.8; }
footer .flex.gap-4 > a, footer .flex.gap-4 > span { width: 36px; height: 36px; border: 1px solid #bda07840; display: grid; place-items: center; border-radius: 50%; }
a[aria-label='Fale conosco no WhatsApp'] { background: #356646; border: 1px solid #a5b59966; padding: 15px; box-shadow: 0 6px 24px #0003; animation: none; }
a[aria-label='Fale conosco no WhatsApp']:hover { background: #407b55; }
@media (min-width: 1024px) and (max-width: 1200px) {
  header { padding-inline: 28px !important; }
  header nav.hidden { gap: 13px; }
  header .font-display { font-size: 22px; }
  #inicio > .relative > div { max-width: 560px; }
}
@media (max-width: 1023px) {
  main > section > .max-w-7xl, footer > .max-w-7xl { padding-inline: 32px; }
  main > section:not(#inicio) { padding-block: 88px; }
  #inicio h1 { font-size: 62px; }
  #inicio > .relative > div { max-width: 560px; }
  header { padding-inline: 32px !important; }
  main > section:nth-child(4) .gap-16 { gap: 48px; }
  main > section:nth-child(4) .grid-cols-2 { max-width: 600px; margin-inline: auto; }
  #equipe .grid { gap: 24px; }
  #contato > div > div { gap: 48px; }
  footer > div > div:first-child { gap: 35px; }
}
@media (max-width: 767px) {
  html { scroll-padding-top: 86px; }
  main > section > .max-w-7xl, footer > .max-w-7xl { padding-inline: 24px; }
  main > section:not(#inicio) { padding-block: 72px; }
  main h2 { font-size: 39px; line-height: 1.1; }
  main .text-lg { font-size: 15px; line-height: 1.85; }
  main .mb-20, main .mb-16 { margin-bottom: 36px; }
  header { padding: 17px 24px !important; }
  header > div:first-child > a img { width: 42px; height: 42px; }
  header > div:first-child > a > div { display: block; }
  header .font-display { font-size: 23px; }
  header .text-\[10px\] { font-size: 7px; letter-spacing: .13em; }
  #inicio { min-height: 760px; height: 100svh; max-height: 920px; justify-content: flex-end; }
  #inicio .hero-background-image { opacity: .58; object-position: center 32%; }
  #inicio .hero-background-overlay { background: linear-gradient(180deg, #14181477 0%, #14181435 27%, #141814b0 52%, #141814ed 100%); }
  #inicio > .relative { height: auto; padding: 125px 24px 62px; }
  #inicio > .relative > div { max-width: 550px; }
  #inicio .rounded-full { gap: 9px; align-items: flex-start; max-width: 330px; }
  #inicio .rounded-full > span:first-child { width: 19px; margin-top: 7px; }
  #inicio .rounded-full > span:last-child { font-size: 8px; letter-spacing: .14em; line-height: 1.8; }
  #inicio h1 { font-size: clamp(39px, 10.5vw, 58px); line-height: 1.02; margin-top: 20px; }
  #inicio h1 + p { font-size: 13px; line-height: 1.85; max-width: 370px; margin-top: 20px; }
  #inicio h1 + p + div { margin-top: 24px; flex-direction: column; align-items: stretch; gap: 10px; }
  #inicio a { min-height: 50px; font-size: 9px; }
  #sobre .space-y-8 > p { font-size: 14px; line-height: 1.9; text-align: left; }
  #sobre .grid { margin-top: 32px; padding: 0; }
  #sobre .grid > div { padding: 24px 8px; }
  #sobre .grid > div + div { border-left: 0; border-top: 1px solid #ded6c8; }
  #sobre .grid > div > div { height: 28px; }
  #areas > div > .text-center:first-child { margin-bottom: 36px; }
  #areas .grid { gap: 15px; }
  #areas .grid > div { padding: 28px; }
  #areas .grid > div > div:first-child { margin-bottom: 22px; }
  #areas .mt-16 { padding: 30px 24px; gap: 24px; margin-top: 26px; }
  #areas .mt-16 a { width: 100%; white-space: normal; }
  main > section:nth-child(4) .gap-16 { gap: 40px; }
  main > section:nth-child(4) .space-y-6 > div { padding-block: 14px; }
  main > section:nth-child(4) .grid-cols-2 { gap: 12px; }
  main > section:nth-child(4) .grid-cols-2 .p-6 { padding: 20px 15px; }
  main > section:nth-child(5) .grid > div { padding: 28px; }
  main > section:nth-child(5) .fixed .p-8 { padding: 28px 24px; }
  main > section:nth-child(5) .fixed .space-y-8 { padding-top: 18px; }
  #equipe .grid { gap: 30px; max-width: 460px; }
  #equipe .aspect-\[3\/4\] { aspect-ratio: 4 / 4.4; }
  #equipe .grid .space-y-4 { padding-inline: 12px; }
  #equipe h3 { font-size: 33px; }
  #avaliacoes .grid > div { padding: 28px; }
  #avaliacoes .rounded-full.border { gap: 16px; padding: 18px; }
  #avaliacoes .rounded-full.border > p { font-size: 11px; text-align: left; }
  #avaliacoes .rounded-full.border > div:first-child { flex-shrink: 0; }
  #contato .space-y-8 a { font-size: 15px; }
  #contato .space-y-8 > div { gap: 16px; }
  #contato .p-8.bg-primary-50 { padding: 26px 20px; }
  #contato .space-y-12 > .p-8 { gap: 16px; }
  footer { padding-top: 56px !important; }
  footer > div > div:first-child { grid-template-columns: 1fr 1fr; gap: 36px 24px; margin-bottom: 40px; }
  footer > div > div:first-child > div:first-child { grid-column: 1 / -1; max-width: 100%; }
  footer h4 { font-size: 23px; }
  footer .text-primary-400 { font-size: 12px; }
  footer .pt-12 { align-items: flex-start; padding-bottom: 28px; }
  footer .text-center { text-align: left; }
  a[aria-label='Fale conosco no WhatsApp'] { right: 16px; bottom: 18px; padding: 13px; }
}
@media (max-width: 360px) {
  main > section > .max-w-7xl, footer > .max-w-7xl { padding-inline: 20px; }
  header { padding-inline: 20px !important; }
  header .font-display { font-size: 21px; }
  #inicio > .relative { padding-inline: 20px; }
  #inicio h1 { font-size: 36px; }
  footer > div > div:first-child { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition-duration: .01ms !important; }
}
@media (max-height: 700px) and (max-width: 1023px) {
  header .fixed.inset-y-0 { padding-top: 78px; }
  header .fixed.inset-y-0 nav { gap: 6px; }
  header .fixed.inset-y-0 nav a { font-size: 23px; padding-block: 9px; }
}
