:root {
  --wine-950: #35050d;
  --wine-900: #4a0712;
  --wine-800: #5a0917;
  --wine-700: #650d1c;
  --wine-600: #7b1225;
  --wine-500: #8b2635;
  --gold-600: #a86f16;
  --gold-500: #be8523;
  --gold-400: #d5a52e;
  --gold-300: #e0b13e;
  --cream-50: #fff9ef;
  --cream-100: #f8f0e3;
  --cream-200: #f2e6d5;
  --cream-300: #e5d3bc;
  --olive: #645713;
  --ink: #342019;
  --muted: #6f5a50;
  --white: #fff;
  --serif: Georgia, "Times New Roman", serif;
  --sans: Arial, Helvetica, sans-serif;
  --shell-width: 1200px;
  --shadow: 0 5px 22px rgba(55, 20, 10, 0.2);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background: #eee8de;
}

body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 15% 10%, rgba(255, 255, 255, 0.9), transparent 32%),
    #eee8de;
  font-family: var(--sans);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

body.menu-open {
  overflow: hidden;
}

img {
  display: block;
  max-width: 100%;
}

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

button,
a {
  -webkit-tap-highlight-color: transparent;
}

button,
input,
textarea,
select {
  font: inherit;
}

h1,
h2,
h3,
p,
figure {
  margin-top: 0;
}

h1,
h2,
h3 {
  font-family: var(--serif);
  line-height: 1.08;
}

h2 {
  color: var(--wine-900);
  font-size: clamp(1.75rem, 3vw, 2.3rem);
  margin-bottom: 0;
}

p {
  margin-bottom: 0;
}

svg {
  display: block;
  width: 100%;
  height: 100%;
}

.site-shell {
  width: min(calc(100% - 24px), var(--shell-width));
  margin: 12px auto;
  overflow: clip;
  background: var(--cream-50);
  border-radius: 14px;
  box-shadow: var(--shadow);
}

.skip-link {
  position: fixed;
  z-index: 999;
  top: 8px;
  left: 8px;
  padding: 10px 15px;
  color: var(--white);
  background: var(--wine-900);
  transform: translateY(-150%);
}

.skip-link:focus {
  transform: translateY(0);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.site-header {
  position: relative;
  z-index: 20;
  color: var(--white);
  background:
    radial-gradient(circle at 75% 0%, rgba(137, 28, 48, 0.45), transparent 35%),
    var(--wine-900);
}

.header-inner {
  display: flex;
  align-items: center;
  gap: 24px;
  min-height: 76px;
  padding: 14px 34px;
}

.brand {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
  color: var(--white);
}

.brand-mark {
  display: inline-grid;
  width: 32px;
  place-items: center;
  color: var(--white);
  font-family: var(--serif);
  font-size: 3rem;
  font-style: italic;
  line-height: 0.75;
  transform: rotate(3deg);
}

.brand-copy {
  display: flex;
  flex-direction: column;
  line-height: 1;
}

.brand-copy strong {
  font-family: var(--serif);
  font-size: 1.28rem;
  letter-spacing: 0.04em;
}

.brand-copy small {
  margin-top: 4px;
  font-family: var(--serif);
  font-size: 0.58rem;
  font-style: italic;
}

.main-nav {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.nav-links,
.header-actions {
  display: flex;
  align-items: center;
}

.nav-links {
  gap: clamp(14px, 1.6vw, 25px);
  margin-left: auto;
}

.nav-links a {
  position: relative;
  font-size: 0.79rem;
  white-space: nowrap;
}

.nav-links a::after {
  position: absolute;
  right: 0;
  bottom: -6px;
  left: 0;
  height: 1px;
  background: var(--gold-300);
  content: "";
  transform: scaleX(0);
  transition: transform 180ms ease;
}

.nav-links a:hover::after,
.nav-links a:focus-visible::after {
  transform: scaleX(1);
}

.header-actions {
  gap: 8px;
}

.menu-toggle {
  display: none;
}

.button {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 10px 22px;
  border: 1px solid transparent;
  border-radius: 5px;
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease;
}

.button:hover {
  transform: translateY(-2px);
}

.button:active {
  transform: translateY(0);
}

.button:focus-visible,
.menu-toggle:focus-visible,
.accordion-trigger:focus-visible,
a:focus-visible {
  outline: 3px solid rgba(224, 177, 62, 0.7);
  outline-offset: 3px;
}

.button--header-primary,
.button--primary {
  color: var(--white);
  background: var(--wine-600);
  border-color: var(--wine-600);
  box-shadow: 0 2px 5px rgba(60, 5, 15, 0.2);
}

.button--header-primary {
  padding-inline: 15px;
  border-color: var(--gold-500);
  font-size: 0.77rem;
}

.button--header-secondary {
  min-height: 38px;
  padding-inline: 14px;
  color: #fff8e7;
  background: rgba(100, 87, 19, 0.72);
  border-color: var(--gold-500);
  font-size: 0.77rem;
}

.button--whatsapp-light {
  color: #4b351a;
  background: transparent;
  border-color: #a8792d;
}

.button--outline {
  min-width: 250px;
  color: var(--wine-900);
  background: transparent;
  border-color: var(--wine-500);
}

.button--gold {
  color: var(--wine-900);
  background: linear-gradient(180deg, var(--gold-300), var(--gold-500));
  border-color: var(--gold-300);
  box-shadow: 0 2px 6px rgba(30, 10, 5, 0.22);
}

.button--small {
  min-height: 38px;
  padding: 8px 16px;
  font-size: 0.78rem;
}

.eyebrow {
  margin-bottom: 8px;
  color: var(--gold-600);
  font-size: 0.69rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.eyebrow--gold {
  color: #e6bc4b;
}

.hero {
  display: grid;
  grid-template-columns: minmax(330px, 37%) 1fr;
  min-height: 505px;
  background: var(--cream-50);
  border-bottom: 1px solid var(--cream-300);
}

.hero-copy {
  z-index: 1;
  align-self: center;
  padding: 58px 16px 58px 52px;
}

.hero h1 {
  max-width: 430px;
  margin-bottom: 18px;
  color: var(--wine-900);
  font-size: clamp(2.55rem, 4.25vw, 4.15rem);
  letter-spacing: -0.035em;
}

.hero-intro {
  max-width: 390px;
  color: #4d3c35;
  font-size: 1rem;
}

.hero-actions {
  display: flex;
  max-width: 250px;
  flex-direction: column;
  gap: 10px;
  margin-top: 27px;
}

.hero-media {
  position: relative;
  min-width: 0;
  margin: 0;
  overflow: hidden;
}

.hero-media::before {
  position: absolute;
  z-index: 1;
  inset: 0 auto 0 0;
  width: 17%;
  background: linear-gradient(90deg, var(--cream-50), rgba(255, 249, 239, 0));
  content: "";
  pointer-events: none;
}

.hero-media img {
  width: 100%;
  height: 100%;
  min-height: 505px;
  object-fit: cover;
  object-position: center right;
}

.benefits {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  padding: 28px 46px;
  background: var(--cream-50);
  border-bottom: 1px solid var(--cream-300);
}

.benefit {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 17px;
  padding: 2px 28px;
}

.benefit + .benefit {
  border-left: 1px solid #d9b987;
}

.feature-icon {
  width: 47px;
  height: 47px;
  flex: 0 0 47px;
  color: var(--gold-600);
}

.benefit p {
  max-width: 230px;
  font-size: 0.85rem;
  line-height: 1.35;
}

.section {
  padding: 38px 36px 42px;
  background: var(--cream-50);
}

.section-slim {
  padding: 10px 36px 24px;
  background: var(--cream-50);
}

.section-heading {
  margin-bottom: 28px;
  text-align: center;
}

.section-heading--wide {
  max-width: 780px;
  margin-right: auto;
  margin-left: auto;
}

.product-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
}

.product-card {
  overflow: hidden;
  min-width: 0;
  background: linear-gradient(180deg, #fffaf2, #fbf2e5);
  border: 1px solid var(--cream-300);
  border-radius: 11px;
  transition:
    transform 200ms ease,
    box-shadow 200ms ease;
}

.product-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 24px rgba(75, 33, 19, 0.11);
}

.product-media {
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: #ddc8ad;
}

.product-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 450ms ease;
}

.product-card:hover img {
  transform: scale(1.035);
}

.product-content {
  padding: 14px 15px 18px;
}

.product-content h3 {
  margin-bottom: 5px;
  color: var(--ink);
  font-size: 1.25rem;
}

.product-content p {
  min-height: 44px;
  color: #514039;
  font-size: 0.77rem;
  line-height: 1.35;
}

.price {
  display: block;
  margin-top: 9px;
  color: var(--wine-700);
  font-size: 1.05rem;
}

.section-action {
  margin-top: 25px;
  text-align: center;
}

.franchise-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 28px;
  padding: 25px 39px;
  color: var(--white);
  background:
    radial-gradient(circle at 80% 30%, rgba(157, 37, 57, 0.36), transparent 32%),
    var(--wine-800);
  border: 1px solid #732033;
  border-radius: 13px;
}

.franchise-icon,
.round-icon {
  display: grid;
  place-items: center;
  color: var(--gold-300);
  border: 1px solid var(--gold-300);
  border-radius: 50%;
}

.franchise-icon {
  width: 80px;
  height: 80px;
  padding: 17px;
}

.franchise-copy h2 {
  margin-bottom: 8px;
  color: var(--white);
  font-size: 1.65rem;
}

.franchise-copy p:last-child {
  max-width: 610px;
  color: #f5e9e0;
  font-size: 0.86rem;
}

.story {
  display: grid;
  grid-template-columns: 1.05fr 1.45fr 0.9fr;
  align-items: center;
  gap: 35px;
  padding: 42px 48px 34px;
  color: var(--white);
  background:
    radial-gradient(circle at 85% 30%, rgba(139, 34, 52, 0.58), transparent 30%),
    linear-gradient(120deg, #3e0610, #650d1c 64%, #4a0712);
}

.story h2 {
  margin-bottom: 14px;
  color: var(--white);
}

.story-intro > p:not(.eyebrow) {
  max-width: 360px;
  margin-bottom: 20px;
  color: #f4e6df;
  font-size: 0.88rem;
}

.story-values {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  text-align: center;
}

.story-value {
  min-width: 0;
}

.round-icon {
  width: 53px;
  height: 53px;
  margin: 0 auto 12px;
  padding: 12px;
}

.story-value h3 {
  margin-bottom: 7px;
  color: #e4ba4c;
  font-size: 1rem;
}

.story-value p {
  color: #f3e2da;
  font-size: 0.7rem;
  line-height: 1.42;
}

.story-media {
  align-self: end;
  margin: 0 -10px -34px 0;
}

.story-media img {
  width: 100%;
  max-height: 300px;
  object-fit: contain;
  object-position: center bottom;
}

.differentials {
  border-bottom: 1px solid var(--cream-300);
}

.differential-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
}

.differential {
  text-align: center;
}

.differential-icon {
  display: block;
  width: 56px;
  height: 56px;
  margin: 0 auto 13px;
  color: var(--gold-600);
}

.differential h3 {
  margin-bottom: 7px;
  color: var(--ink);
  font-size: 1.05rem;
}

.differential p {
  max-width: 180px;
  margin: auto;
  color: #5e4c43;
  font-size: 0.76rem;
  line-height: 1.4;
}

.service-area {
  display: grid;
  grid-template-columns: 36% 64%;
  align-items: stretch;
  min-height: 245px;
  background: var(--cream-100);
  border-bottom: 1px solid var(--cream-300);
}

.area-copy {
  align-self: center;
  padding: 39px 22px 39px 56px;
}

.area-copy h2 {
  margin-bottom: 22px;
}

.location-line {
  display: flex;
  align-items: center;
  gap: 15px;
}

.location-icon {
  width: 48px;
  height: 48px;
  flex: 0 0 auto;
  color: var(--gold-600);
}

.location-line p {
  font-size: 0.92rem;
}

.map-art {
  position: relative;
  min-height: 245px;
  overflow: hidden;
  background:
    linear-gradient(35deg, transparent 48%, rgba(207, 190, 166, 0.35) 49%, rgba(207, 190, 166, 0.35) 51%, transparent 52%) 0 0 / 95px 95px,
    linear-gradient(-28deg, transparent 48%, rgba(217, 199, 175, 0.36) 49%, rgba(217, 199, 175, 0.36) 51%, transparent 52%) 0 0 / 115px 115px,
    radial-gradient(circle at center, #fffdf8, #f5ecde);
}

.map-roads {
  position: absolute;
  width: 70%;
  height: 2px;
  left: 15%;
  background: rgba(179, 147, 106, 0.4);
  transform-origin: center;
}

.road-one {
  top: 28%;
  transform: rotate(11deg);
}

.road-two {
  top: 52%;
  transform: rotate(-14deg);
}

.road-three {
  top: 70%;
  transform: rotate(6deg);
}

.road-four {
  top: 43%;
  transform: rotate(24deg);
}

.map-marker {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 54%;
  width: 68px;
  height: 68px;
  padding: 10px;
  color: var(--wine-600);
  transform: translate(-50%, -64%);
}

.map-ring {
  position: absolute;
  top: 58%;
  left: 54%;
  border: 2px solid rgba(168, 111, 22, 0.55);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.map-ring--one {
  width: 90px;
  height: 34px;
}

.map-ring--two {
  width: 145px;
  height: 60px;
  opacity: 0.65;
}

.craft {
  border-bottom: 1px solid var(--cream-300);
}

.craft-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.craft-card {
  overflow: hidden;
  background: #fbf2e6;
  border-radius: 9px;
  text-align: center;
  transition: transform 200ms ease;
}

.craft-card:hover {
  transform: translateY(-4px);
}

.craft-card img {
  width: 100%;
  aspect-ratio: 4 / 2.55;
  object-fit: cover;
}

.craft-card div {
  padding: 14px 17px 18px;
}

.craft-card h3 {
  margin-bottom: 7px;
  color: var(--wine-900);
  font-size: 1.12rem;
}

.craft-card p {
  color: #5f4b42;
  font-size: 0.77rem;
}

.faq {
  padding-top: 28px;
  padding-bottom: 38px;
}

.faq-heading {
  display: flex;
  width: min(100%, 710px);
  align-items: center;
  gap: 12px;
  margin: 0 auto 16px;
}

.faq-heading > span {
  width: 35px;
  height: 35px;
  color: var(--wine-700);
}

.faq-heading h2 {
  font-size: 1.75rem;
}

.accordion {
  width: min(100%, 710px);
  margin: auto;
}

.accordion-item {
  margin-top: 7px;
  overflow: hidden;
  background: #fffaf3;
  border: 1px solid var(--cream-300);
  border-radius: 6px;
}

.accordion-item h3 {
  margin: 0;
}

.accordion-trigger {
  display: flex;
  width: 100%;
  min-height: 43px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 10px 15px;
  color: var(--ink);
  background: transparent;
  border: 0;
  font-family: var(--sans);
  font-size: 0.78rem;
  text-align: left;
  cursor: pointer;
}

.chevron {
  width: 9px;
  height: 9px;
  flex: 0 0 auto;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform 180ms ease;
}

.accordion-trigger[aria-expanded="true"] .chevron {
  transform: rotate(225deg) translate(-2px, -2px);
}

.accordion-panel {
  padding: 0 15px 14px;
  color: #68554c;
  font-size: 0.77rem;
}

.final-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 23px 48px;
  color: var(--white);
  background: linear-gradient(90deg, #4a0712, #720f21 52%, #4a0712);
}

.final-cta-title {
  display: flex;
  align-items: center;
  gap: 18px;
}

.trust-icon {
  width: 55px;
  height: 55px;
  flex: 0 0 auto;
  color: var(--gold-300);
}

.final-cta-title p {
  margin-bottom: 2px;
  color: #dcb45a;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.final-cta h2 {
  color: var(--white);
  font-size: 1.65rem;
}

.final-cta-actions {
  display: flex;
  gap: 12px;
}

.button--cta-wine {
  min-width: 200px;
  color: var(--white);
  background: var(--wine-600);
  border-color: var(--gold-400);
}

.button--whatsapp-dark {
  min-width: 205px;
  color: #fff8e7;
  background: var(--olive);
  border-color: var(--gold-500);
}

.site-footer {
  color: #f8ece6;
  background:
    radial-gradient(circle at 15% 15%, rgba(110, 21, 37, 0.35), transparent 30%),
    var(--wine-950);
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 0.85fr 0.8fr 1.3fr;
  gap: 50px;
  padding: 35px 50px 28px;
}

.brand--footer {
  margin-bottom: 18px;
}

.footer-brand p,
.footer-column a,
.footer-column p {
  color: #eadad3;
  font-size: 0.76rem;
}

.footer-column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}

.footer-column h2 {
  margin-bottom: 4px;
  color: #dbb14c;
  font-family: var(--sans);
  font-size: 0.78rem;
}

.footer-column a {
  transition: color 160ms ease;
}

.footer-column a:hover {
  color: var(--gold-300);
}

.footer-contact {
  font-style: normal;
}

.footer-contact a,
.footer-contact p {
  display: flex;
  align-items: center;
  gap: 9px;
}

.footer-contact a > span:first-child,
.footer-contact p > span:first-child {
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  color: #dfc9bc;
}

.copyright {
  padding: 13px 30px;
  color: #c9aaa2;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 0.66rem;
  text-align: center;
}

.reveal {
  opacity: 0;
  transform: translateY(16px);
  transition:
    opacity 550ms ease,
    transform 550ms ease;
}

.reveal.is-visible {
  opacity: 1;
  transform: none;
}

@media (max-width: 1050px) {
  .header-inner {
    padding-inline: 24px;
  }

  .nav-links {
    gap: 12px;
  }

  .nav-links a {
    font-size: 0.69rem;
  }

  .header-actions .button {
    padding-inline: 10px;
    font-size: 0.67rem;
  }

  .benefit {
    padding-inline: 18px;
  }

  .product-grid {
    gap: 16px;
  }

  .story {
    grid-template-columns: 0.9fr 1.5fr;
  }

  .story-media {
    grid-column: 1 / -1;
    width: 330px;
    margin: -25px 0 -34px auto;
  }

  .footer-grid {
    gap: 25px;
  }
}

@media (max-width: 768px) {
  body {
    background: var(--cream-100);
  }

  body.menu-open {
    overflow: auto;
  }

  .site-shell {
    width: 100%;
    margin: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .header-inner {
    min-height: 62px;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 12px 18px;
  }

  .brand-mark {
    width: 27px;
    font-size: 2.55rem;
  }

  .brand-copy strong {
    font-size: 1.05rem;
  }

  .brand-copy small {
    font-size: 0.5rem;
  }

  .menu-toggle {
    display: grid;
    width: 42px;
    height: 38px;
    place-content: center;
    gap: 5px;
    padding: 8px;
    color: var(--white);
    background: transparent;
    border: 0;
    cursor: pointer;
  }

  .menu-toggle span:not(.sr-only) {
    display: block;
    width: 22px;
    height: 1.5px;
    background: currentColor;
    transition: transform 180ms ease, opacity 180ms ease;
  }

  .menu-toggle[aria-expanded="true"] span:nth-of-type(2) {
    transform: translateY(6.5px) rotate(45deg);
  }

  .menu-toggle[aria-expanded="true"] span:nth-of-type(3) {
    opacity: 0;
  }

  .menu-toggle[aria-expanded="true"] span:nth-of-type(4) {
    transform: translateY(-6.5px) rotate(-45deg);
  }

  .main-nav {
    display: none;
    width: calc(100% + 36px);
    flex: 0 0 calc(100% + 36px);
    flex-direction: column;
    align-items: stretch;
    gap: 15px;
    margin: 0 -18px -12px;
    padding: 16px 18px 19px;
    background: var(--wine-950);
    border-top: 1px solid rgba(255, 255, 255, 0.12);
  }

  .main-nav.is-open {
    display: flex;
  }

  .nav-links,
  .header-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    margin: 0;
  }

  .nav-links a {
    padding: 10px 4px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 0.84rem;
  }

  .nav-links a::after {
    display: none;
  }

  .header-actions {
    gap: 8px;
  }

  .header-actions .button {
    font-size: 0.78rem;
  }

  .hero {
    display: flex;
    min-height: 0;
    flex-direction: column;
  }

  .hero-copy {
    padding: 24px 18px 22px;
  }

  .hero h1 {
    max-width: 420px;
    margin-bottom: 13px;
    font-size: clamp(2rem, 9.6vw, 2.65rem);
    line-height: 1.01;
  }

  .hero-intro {
    font-size: 0.88rem;
  }

  .hero-actions {
    max-width: none;
    margin-top: 20px;
  }

  .hero-actions .button {
    width: 100%;
  }

  .hero-media {
    width: 100%;
    aspect-ratio: 4 / 3;
  }

  .hero-media::before {
    display: none;
  }

  .hero-media img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-position: center;
  }

  .benefits {
    grid-template-columns: repeat(3, 1fr);
    padding: 18px 8px;
  }

  .benefit {
    flex-direction: column;
    gap: 8px;
    padding: 2px 8px;
    text-align: center;
  }

  .feature-icon {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
  }

  .benefit p {
    font-size: 0.62rem;
    line-height: 1.25;
  }

  .section {
    padding: 28px 12px;
  }

  .section-slim {
    padding: 10px 12px 20px;
  }

  .section-heading {
    margin-bottom: 20px;
  }

  h2 {
    font-size: 1.75rem;
  }

  .product-grid {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .product-card {
    display: grid;
    grid-template-columns: 34% 66%;
    border-radius: 7px;
  }

  .product-media {
    height: 100%;
    min-height: 112px;
    aspect-ratio: auto;
  }

  .product-content {
    align-self: center;
    padding: 11px 13px;
  }

  .product-content h3 {
    margin-bottom: 3px;
    font-size: 1rem;
  }

  .product-content p {
    min-height: 0;
    font-size: 0.67rem;
  }

  .price {
    margin-top: 5px;
    font-size: 0.92rem;
  }

  .section-action {
    margin-top: 15px;
  }

  .button--outline {
    min-width: 0;
    width: min(100%, 220px);
  }

  .franchise-card {
    grid-template-columns: 60px 1fr;
    gap: 12px;
    padding: 18px;
  }

  .franchise-icon {
    width: 58px;
    height: 58px;
    padding: 12px;
  }

  .franchise-copy h2 {
    font-size: 1.25rem;
  }

  .franchise-copy p:last-child {
    font-size: 0.7rem;
  }

  .franchise-card .button {
    grid-column: 1 / -1;
    width: 100%;
  }

  .story {
    display: flex;
    padding: 28px 18px 0;
    flex-direction: column;
    align-items: stretch;
    gap: 26px;
  }

  .story-intro > p:not(.eyebrow) {
    max-width: none;
    font-size: 0.78rem;
  }

  .story-values {
    gap: 9px;
  }

  .round-icon {
    width: 38px;
    height: 38px;
    padding: 8px;
  }

  .story-value h3 {
    font-size: 0.78rem;
  }

  .story-value p {
    display: none;
  }

  .story-media {
    order: 3;
    width: 100%;
    margin: -10px 0 0;
  }

  .story-media img {
    max-height: 260px;
  }

  .differential-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
  }

  .differential-icon {
    width: 38px;
    height: 38px;
    margin-bottom: 9px;
  }

  .differential h3 {
    font-size: 0.72rem;
  }

  .differential p {
    display: none;
  }

  .service-area {
    grid-template-columns: 43% 57%;
    min-height: 165px;
  }

  .area-copy {
    padding: 22px 8px 22px 18px;
  }

  .area-copy .eyebrow {
    display: none;
  }

  .area-copy h2 {
    margin-bottom: 13px;
    font-size: 1.45rem;
  }

  .location-line {
    gap: 7px;
  }

  .location-icon {
    width: 31px;
    height: 31px;
  }

  .location-line p {
    font-size: 0.67rem;
  }

  .map-art {
    min-height: 165px;
  }

  .map-marker {
    width: 43px;
    height: 43px;
  }

  .map-ring--one {
    width: 57px;
    height: 23px;
  }

  .map-ring--two {
    width: 92px;
    height: 39px;
  }

  .craft-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
  }

  .craft-card {
    border-radius: 6px;
  }

  .craft-card img {
    aspect-ratio: 1 / 0.82;
  }

  .craft-card div {
    padding: 9px 5px 11px;
  }

  .craft-card h3 {
    font-size: 0.73rem;
  }

  .craft-card p {
    display: none;
  }

  .faq {
    padding-inline: 14px;
  }

  .faq-heading h2 {
    font-size: 1.4rem;
  }

  .faq-heading > span {
    width: 29px;
    height: 29px;
  }

  .accordion-trigger,
  .accordion-panel {
    font-size: 0.7rem;
  }

  .final-cta {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    padding: 20px 18px;
  }

  .trust-icon {
    width: 43px;
    height: 43px;
  }

  .final-cta h2 {
    font-size: 1.42rem;
  }

  .final-cta-actions {
    flex-direction: column;
    gap: 8px;
  }

  .button--cta-wine,
  .button--whatsapp-dark {
    width: 100%;
    min-width: 0;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 28px 20px;
    padding: 28px 20px 24px;
  }

  .footer-brand,
  .footer-contact {
    grid-column: 1 / -1;
  }

  .footer-contact {
    gap: 10px;
  }
}

@media (max-width: 355px) {
  .benefits {
    grid-template-columns: 1fr;
    gap: 13px;
    padding: 18px;
  }

  .benefit {
    flex-direction: row;
    justify-content: flex-start;
    text-align: left;
  }

  .benefit + .benefit {
    padding-top: 13px;
    border-top: 1px solid var(--cream-300);
    border-left: 0;
  }

  .benefit p {
    font-size: 0.72rem;
  }

  .differential-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 22px 12px;
  }

  .service-area {
    grid-template-columns: 1fr;
  }

  .map-art {
    min-height: 145px;
  }

  .craft-grid {
    grid-template-columns: 1fr;
  }

  .craft-card {
    display: grid;
    grid-template-columns: 42% 58%;
    align-items: center;
    text-align: left;
  }

  .craft-card img {
    height: 100%;
  }

  .craft-card div {
    padding: 12px;
  }

  .craft-card p {
    display: block;
    font-size: 0.66rem;
  }

  .footer-grid {
    grid-template-columns: 1fr;
  }

  .footer-brand,
  .footer-contact {
    grid-column: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .reveal {
    opacity: 1;
    transform: none;
  }
}

/* SITE FACIL ICON LIBRARY — desenho determinístico */
.sf-lib-icon{display:inline-block;width:1em;height:1em;min-width:1em;min-height:1em;overflow:visible;color:inherit;vertical-align:-.125em;flex:0 0 auto}.sf-lib-icon path{fill:currentColor!important;stroke:none!important}.sf-lib-icon[aria-hidden="true"]{pointer-events:none}
/* SF_PREMIUM_POLISH_V5_11_15_START */
:root{--sf-brand-primary:#6F3AFF;--sf-brand-glow-fallback:rgba(111,58,255,.24)}
html{scroll-behavior:smooth}
/* IMPORTANTE: nunca sobrescrever background/color/border dos botões. A prévia é a fonte visual. */
.sf-premium-button{position:relative;isolation:isolate;transition:transform .22s cubic-bezier(.2,.75,.2,1),box-shadow .22s ease,filter .22s ease,border-color .22s ease!important;will-change:transform;transform:translateZ(0)}
.sf-premium-button:hover{transform:translateY(-2px);filter:brightness(1.045);box-shadow:0 11px 28px rgba(0,0,0,.20),0 0 20px var(--sf-btn-glow,var(--sf-brand-glow-fallback))}
.sf-premium-button:active{transform:translateY(0) scale(.985)}
.sf-premium-button:focus-visible{outline:3px solid var(--sf-btn-outline,var(--sf-brand-primary));outline-offset:3px}
.sf-premium-button svg,.sf-premium-button .icon,.sf-premium-button [class*="icon"]{transition:transform .22s ease,opacity .22s ease!important}
.sf-premium-button:hover svg,.sf-premium-button:hover .icon,.sf-premium-button:hover [class*="icon"]{transform:translateX(2px)}
.sf-premium-card{transition:transform .30s cubic-bezier(.2,.75,.2,1),box-shadow .30s ease,border-color .30s ease,filter .30s ease;will-change:transform}
.sf-premium-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(0,0,0,.14);filter:brightness(1.012)}
.sf-premium-icon{transition:transform .28s cubic-bezier(.2,.75,.2,1),filter .28s ease,opacity .28s ease!important;transform-origin:center;will-change:transform}
.sf-premium-card:hover .sf-premium-icon{transform:translateY(-2px) scale(1.045)}
.sf-premium-card img{transition:transform .55s cubic-bezier(.2,.75,.2,1),filter .4s ease!important}
.sf-premium-card:hover img{transform:scale(1.018);filter:saturate(1.03) contrast(1.01)}
.sf-reveal:nth-of-type(2n){--sf-reveal-delay:.055s}.sf-reveal:nth-of-type(3n){--sf-reveal-delay:.105s}.sf-reveal:nth-of-type(4n){--sf-reveal-delay:.155s}
.sf-reveal.sf-animate-in{animation-delay:var(--sf-reveal-delay,0s)}
.sf-motion-active .sf-reveal:not(.sf-animate-in){opacity:0;transform:translateY(18px)}
.sf-motion-active .sf-reveal-left:not(.sf-animate-in){transform:translateX(-22px)}
.sf-motion-active .sf-reveal-right:not(.sf-animate-in){transform:translateX(22px)}
.sf-reveal.sf-animate-in{animation:sfRevealUp .68s cubic-bezier(.2,.75,.2,1) both}
.sf-reveal-left.sf-animate-in{animation-name:sfRevealLeft}
.sf-reveal-right.sf-animate-in{animation-name:sfRevealRight}
@keyframes sfRevealUp{from{opacity:.04;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes sfRevealLeft{from{opacity:.04;transform:translateX(-24px)}to{opacity:1;transform:none}}
@keyframes sfRevealRight{from{opacity:.04;transform:translateX(24px)}to{opacity:1;transform:none}}
@media(max-width:768px){.sf-reveal-left.sf-animate-in,.sf-reveal-right.sf-animate-in{animation-name:sfRevealUp}.sf-premium-card:hover{transform:translateY(-2px)}}
body.sf-motion-profile-energy .sf-premium-button:hover{filter:brightness(1.06)}
body.sf-motion-profile-dynamic .sf-premium-button:hover{transform:translateY(-3px) scale(1.01)}
body.sf-motion-profile-fluid .sf-premium-card:hover{transform:translateY(-3px)}
body.sf-motion-profile-soft .sf-premium-button,body.sf-motion-profile-soft .sf-premium-card,body.sf-motion-profile-soft .sf-premium-icon{transition-duration:.34s!important}
/* MOBILE REAL = edge-to-edge. A moldura arredondada pertence somente à imagem/mockup da prévia. */
@media(max-width:768px){
  html,body{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;overflow-x:hidden!important;border-radius:0!important}
  body{min-width:0!important}
  .sf-mobile-header-whatsapp{display:none!important}
  .sf-mobile-page-shell{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
  .sf-mobile-page-shell>header:first-child,.sf-mobile-page-shell>main:first-child,.sf-mobile-page-shell>main,.sf-mobile-page-shell>footer:last-child{max-width:none!important;margin-left:0!important;margin-right:0!important;border-left:0!important;border-right:0!important}
  body>header,body>main,body>footer{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;border-radius:0!important}
  body>.site-wrapper,body>.page-wrapper,body>.site-shell,body>.page-shell,body>.site-frame,body>.page-frame,body>.mockup,body>.preview,body>#app,body>#root{width:100%!important;max-width:none!important;margin:0!important;padding-left:0!important;padding-right:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
  header .sf-mobile-header-whatsapp{display:none!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sf-premium-button,.sf-premium-card,.sf-premium-icon,.sf-reveal{transition:none!important;animation:none!important;transform:none!important}.sf-reveal{opacity:1!important}}
/* SF_PREMIUM_POLISH_V5_11_15_END */


/* Site Fácil IA V5.7.7 — WhatsApp e ícones fiéis */
.sf-whatsapp-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:44px!important;
  padding:11px 18px!important;
  border-radius:8px!important;
  background:#25D366!important;
  color:#fff!important;
  border:0!important;
  text-decoration:none!important;
  font-weight:800!important;
  line-height:1.1!important;
  box-shadow:none!important;
}
.sf-whatsapp-button:hover{filter:brightness(.96)}
.sf-whatsapp-floating{
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  padding:0!important;
  border-radius:999px!important;
}
.sf-faithful-icon,.sf-wa-icon{
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 auto!important;
  width:20px!important;
  height:20px!important;
}
.sf-whatsapp-floating .sf-wa-icon{width:22px!important;height:22px!important}
.sf-faithful-icon svg,.sf-wa-icon svg,.sf-faithful-icon-host svg{
  width:100%!important;
  height:100%!important;
  display:block!important;
}
.sf-faithful-icon-host{
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  border-radius:999px!important;
  background:#0057c8!important;
  color:#fff!important;
}
.sf-faithful-icon-host svg{
  width:20px!important;
  height:20px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.sf-wa-icon svg{color:#fff!important}
@media(max-width:768px){
  .sf-whatsapp-button{min-height:42px!important;padding:10px 14px!important;font-size:13px!important}
  .sf-whatsapp-floating{width:44px!important;height:44px!important;padding:0!important}
}

/* Site Fácil IA: proteção de integridade visual */
html,body{max-width:100%;overflow-x:clip}main>section{position:relative;isolation:isolate;clear:both}img{max-width:100%;height:auto}img[src*="assets/"]{object-fit:contain}



/* Site Fácil IA V5.7.8 — transições suaves entre seções */
html{scroll-behavior:smooth}
.sf-motion-ready main>section,
.sf-motion-ready body>section,
.sf-motion-ready .sf-animate-section{
    opacity:0;
    transform:translate3d(0,28px,0);
    transition:opacity .72s cubic-bezier(.22,.61,.36,1),transform .72s cubic-bezier(.22,.61,.36,1);
    will-change:opacity,transform;
}
.sf-motion-ready main>section.sf-in-view,
.sf-motion-ready body>section.sf-in-view,
.sf-motion-ready .sf-animate-section.sf-in-view{
    opacity:1;
    transform:translate3d(0,0,0);
}
img{max-width:100%;height:auto}
@media(prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    .sf-motion-ready main>section,
    .sf-motion-ready body>section,
    .sf-motion-ready .sf-animate-section{
        opacity:1!important;
        transform:none!important;
        transition:none!important;
    }
}

/* TALISMA_CLIENTE_UPDATE_2026_08_20_START */
/* Ícones um pouco maiores, mantendo proporção e responsividade */
.feature-icon{width:54px;height:54px;flex-basis:54px}
.franchise-icon{width:88px;height:88px;padding:18px}
.round-icon{width:60px;height:60px;padding:13px}
.differential-icon{width:64px;height:64px}
.location-icon{width:56px;height:56px}
.trust-icon{width:58px;height:58px}
.footer-contact a > span:first-child,.footer-contact p > span:first-child{font-size:1.18em}

/* Movimento premium e discreto */
@media (prefers-reduced-motion:no-preference){
  .hero-media img{animation:talismaHeroFloat 6s ease-in-out infinite;will-change:transform}
  .franchise-icon,.round-icon,.differential-icon,.feature-icon,.location-icon,.trust-icon{transition:transform .32s cubic-bezier(.2,.75,.2,1),filter .32s ease}
  .benefit:hover .feature-icon,.franchise-card:hover .franchise-icon,.story-value:hover .round-icon,.differential:hover .differential-icon,.location-line:hover .location-icon{transform:translateY(-4px) scale(1.06);filter:drop-shadow(0 8px 12px rgba(101,13,28,.16))}
  .product-card,.craft-card,.differential,.story-value,.benefit{transition:transform .32s cubic-bezier(.2,.75,.2,1),box-shadow .32s ease,filter .32s ease}
  .differential:hover,.story-value:hover,.benefit:hover{transform:translateY(-3px)}
  .product-card:hover,.craft-card:hover{transform:translateY(-7px);box-shadow:0 18px 34px rgba(75,33,19,.14)}
  .section-heading::after{content:"";display:block;width:46px;height:2px;margin:12px auto 0;background:linear-gradient(90deg,transparent,var(--gold-600),transparent);transform-origin:center;animation:talismaAccent 3.8s ease-in-out infinite}
  @keyframes talismaHeroFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-7px) scale(1.008)}}
  @keyframes talismaAccent{0%,100%{transform:scaleX(.78);opacity:.55}50%{transform:scaleX(1.18);opacity:1}}
}

@media(max-width:768px){
  .feature-icon{width:50px;height:50px;flex-basis:50px}
  .franchise-icon{width:76px;height:76px;padding:16px}
  .round-icon{width:56px;height:56px}
  .differential-icon{width:58px;height:58px}
  .location-icon{width:52px;height:52px}
  .trust-icon{width:54px;height:54px}
}
/* TALISMA_CLIENTE_UPDATE_2026_08_20_END */


/* TALISMA_MOBILE_FIX_2026_08_21_START */
/* Botões com destino para WhatsApp preservam o visual original, exceto quando o botão é explicitamente de WhatsApp */
.sf-wa-destination{cursor:pointer}

/* Ícones centralizados e visualmente proporcionais */
.feature-icon,.differential-icon,.location-icon,.trust-icon,.round-icon,.franchise-icon{display:grid!important;place-items:center!important}
.feature-icon .sf-lib-icon,.location-icon .sf-lib-icon,.trust-icon .sf-lib-icon{width:72%!important;height:72%!important;min-width:72%!important;min-height:72%!important}
.differential-icon .sf-lib-icon{width:74%!important;height:74%!important;min-width:74%!important;min-height:74%!important}
.round-icon .sf-lib-icon{width:62%!important;height:62%!important;min-width:62%!important;min-height:62%!important}
.franchise-icon .sf-lib-icon{width:56%!important;height:56%!important;min-width:56%!important;min-height:56%!important}
.location-line .location-icon{flex:0 0 auto}

@media(max-width:768px){
  .feature-icon{width:60px!important;height:60px!important;flex-basis:60px!important}
  .differential-icon{width:60px!important;height:60px!important;margin-bottom:10px!important}
  .location-icon{width:58px!important;height:58px!important}
  .trust-icon{width:60px!important;height:60px!important}
  .round-icon{width:66px!important;height:66px!important;padding:14px!important}
  .franchise-icon{width:96px!important;height:96px!important;padding:18px!important}
  .benefit{gap:10px!important}
  .benefit p{font-size:.72rem!important;line-height:1.3!important}
  .differential h3{font-size:.82rem!important;line-height:1.12!important}
}
/* TALISMA_MOBILE_FIX_2026_08_21_END */
