:root {
      --rose: #F6E8EC;
      --rose2: #F2CDD3;
      --pink: #FADCD9;
      --wine: #932639;
      --brown: #BB9172;
      --gold-met: #E2C99A;
      --gold: #F7E6B7;
      --white: #FFFFFF;
      --cream: #FCF6F0;
      --bordo: #672532;
      --shadow: 0 3px 24px rgba(147,38,57,0.09);
      --radius: 18px;
      --radius-btn: 27px;
      --bevel: 1.2px solid var(--gold-met);
      --transition: .19s cubic-bezier(.4, .12, .41, .99);
      --headline-font: 'Playfair Display', serif;
      --body-font: 'Roboto', Arial, sans-serif;
    }
    html { scroll-behavior:smooth;}
    body {
      background: var(--rose);
      color: var(--wine);
      margin:0; padding:0;
      font-family: var(--body-font);
      min-height:100vh;
      font-size: 1.09rem;
    }
    /* MENU */
    header {
      position:sticky;
      z-index: 999;
      top:0; left:0; right:0;
      background: rgba(246,232,236,0.97);
      box-shadow:0 1.5px 10px #bd9d8221;
      transition: background .33s;
    }
    .navbar {
      max-width: 1200px;
      margin: 0 auto;
      height: 76px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 36px;
      position: relative;
    }
    .nav-logo {
      font-family: var(--headline-font);
      font-weight:700;
      font-size: 2.1rem;
      color: var(--wine);
      text-decoration:none;
      letter-spacing: 1px;
      display:flex; align-items:center; gap:13px;
    }
    .nav-logo img {
      width: 42px; height:42px;
      border-radius:50%;
      box-shadow: 0 2px 14px #E2C99A55;
      background:var(--gold);
    }
    .nav-links {
      display: flex;
      gap: 40px;
      list-style: none;
      align-items:center;
      margin:0; padding: 0;
      transition: none;
    }
    .nav-links a {
      font-family: 'Quicksand',sans-serif;
      font-weight:700;
      color: var(--bordo);
      text-decoration: none;
      font-size: 1.13em;
      border-bottom: 2.3px solid transparent;
      padding-bottom: 2px;
      transition: color .17s, border .16s;
      position: relative;
    }
    .nav-links a.active,
    .nav-links a:hover,
    .nav-links a:focus {
      color: var(--wine);
      border-bottom: 2.3px solid var(--gold-met);
      outline:0;
    }
    .hamburger {
      display: none;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      width: 48px;
      height: 48px;
      background: none;
      border: none;
      cursor: pointer;
      padding: 0;
      margin-left: 12px;
      z-index: 1101;
      transition: background .17s;
    }
    .hamburger:focus-visible { outline: 2.5px dashed var(--wine); outline-offset: 3px;}
    .burger-bar {
      height: 5px; width: 32px;
      border-radius: 4px;
      background: var(--wine);
      margin: 4.5px 0;
      transition: .28s;
      display: block;
    }
    .hamburger.open .bar1 {
      transform: rotate(42deg) translate(6px, 8.5px);
      background: var(--bordo);
    }
    .hamburger.open .bar2 { opacity:0;}
    .hamburger.open .bar3 {
      transform: rotate(-42deg) translate(7px, -10px);
      background: var(--bordo);
    }
    /* Responsive Nav */
    @media (max-width: 980px) {
      .navbar { padding: 0 4vw;}
      .nav-links { gap: 20px;}
    }
    @media (max-width: 820px) {
      .navbar { padding: 0 1vw;}
      .nav-links { gap: 12px;}
      .nav-logo { font-size: 1.3em;}
      .nav-cta {margin-left:7px;}
    }
    @media (max-width: 690px) {
      .navbar {
        height: 58px;
        padding: 0 1vw;
      }
      .hamburger { display: flex;}
      .nav-links {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        background: linear-gradient(180deg, var(--rose2) 80%, var(--gold) 100%);
        box-shadow: 0 12px 44px #bd9d8230;
        position: fixed;
        top: 58px; right: 0;
        left: 0;
        padding: 30px 0 24px 0;
        width: 100vw;
        gap: 0;
        border-radius: 0 0 16px 16px;
        transform: translateY(-130%);
        opacity: 0;
        pointer-events: none;
        transition: transform .34s, opacity .18s;
        z-index: 1100;
      }
      .nav-links.show {
        transform: translateY(0);
        opacity: 1;
        pointer-events: auto;
      }
      .nav-links li {
        width: 100%;
        text-align: left;
        margin:0;
        border-bottom: 1px solid #e4c3bb36;
      }
      .nav-links a {
        display: block;
        width: 100%;
        padding: 17px 26px;
        font-size: 1.11em;
        border:none;
      }
    }
    body.menu-open {
      overflow: hidden;
    }
    /* ===== HERO, sections, etc mantêm igual ===== */
    .hero {
      min-height:375px;
      background: radial-gradient(ellipse at 60% 42%, var(--rose2) 0%, var(--rose) 80%);
      text-align:center;
      padding: 130px 8vw 65px 8vw;
      position:relative;
      border-bottom: var(--bevel);
      margin-top:0;
    }
    .hero-title {
      font-family: var(--headline-font);
      color: var(--wine);
      font-size: 2.5rem;
      font-weight:700;
      margin-bottom:13px;
      line-height: 1.19;
      letter-spacing:.15rem;
      text-shadow:0 3px 22px #F2CDD320;
    }
    .hero-desc {
      font-family:'Quicksand',sans-serif;
      font-size: 1.18rem;
      color: var(--bordo);
      margin:0 auto 30px auto;
      max-width: 560px;
    }
    .hero-banner {
      margin: 16px auto 0 auto;
      width: 200px; max-width:90vw; border-radius:10px;
      display: block;
      box-shadow: 0 7px 30px #bb917215;
      border: 3.6px solid var(--white);
    }
    .cta-btn {
      background: linear-gradient(90deg, var(--gold-met) 48%, var(--gold) 100%);
      color: var(--wine);
      font-family: 'Quicksand', sans-serif;
      font-size: 1.13em;
      font-weight: bold;
      letter-spacing: .04em;
      padding: 16px 49px;
      border:none;
      border-radius: var(--radius-btn);
      cursor: pointer;
      box-shadow: 0 8px 28px #93263912;
      text-decoration:none;
      transition: background .19s, color .12s, box-shadow .17s, transform .18s;
      display: inline-block;
      margin-top:12px;
      margin-bottom:10px;
    }
    .cta-btn:hover, .cta-btn:focus {
      background:linear-gradient(90deg, var(--wine) 60%, var(--bordo) 100%);
      color: var(--gold);
      transform:scale(1.03);
      outline:0;
    }

 /* Seções */
    .container {
      max-width: 1220px;
      margin: 0 auto;
      padding: 0 25px;
    }
    .section {
      background: var(--white);
      margin: 62px 0 0 0;
      padding: 46px 30px 41px 30px;
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      border: 1.6px solid #f2cdd352;
      animation: fadeInSection .8s;
    }
    @keyframes fadeInSection { 
      from { opacity:0; transform:translateY(38px);}
      to { opacity:1; transform:none;}
    }
    .section-title {
      font-family:var(--headline-font);
      color: var(--bordo);
      font-size:1.56rem;
      letter-spacing:.10rem;
      margin-bottom:17px;
      text-align:center;
    }
    .section p, ul {
      font-family:'Quicksand',sans-serif;
      font-size:1.09em;
      color: var(--wine);
      line-height:1.66;
      margin-top:14px;
    }
    ul.equip-list {
      column-count:2;
      padding-left:20px;
      margin-bottom:0;
      gap: 0 32px;
    }
    ul.equip-list li { 
      margin-bottom:6px; 
      font-size:1em; color: var(--brown);
    }
    /* Destaque */
    .destaque {
      background: linear-gradient(90deg, var(--gold) 55%, var(--rose) 100%);
      color: var(--wine);
      font-family:'Quicksand',sans-serif;
      padding:12px 14px;
      border-radius: 11px;
      margin: 18px 0 18px 0;
      box-shadow:0 2px 20px #e2c99a10;
      font-size:1.09em;
      text-align:center;
      font-weight:600;
      letter-spacing:.04em;
      border:1.1px solid #F7E6B7;
      display: block;
    }
    /* Casos de sucesso */
    .cases-grid {
      display: flex;
      gap: 38px;
      justify-content:center;
      flex-wrap:wrap;
      margin: 28px 0 0 0;
    }
    .case-card {
      background: var(--pink);
      border-radius: 13px;
      box-shadow:0 4px 22px #ed7a8410;
      border: 1.1px solid var(--rose2);
      padding:26px 22px 20px 22px;
      max-width: 390px; min-width:230px;
      margin-bottom:21px;
      transition: box-shadow .15s, transform .15s;
    }
    .case-card:hover,
    .case-card:focus-within {
      box-shadow:0 10px 50px #93263924;
      transform:scale(1.025);
    }
    .case-card h4 {
      font-size: 1.11rem;
      color: var(--wine);
      margin-bottom:7px;
      text-align: left;
      font-family: 'Quicksand', sans-serif;
    }
    .case-card p { font-size:1em; color: var(--bordo); margin:0;}
    /* ====== FOOTER ====== */
    footer {
      background: linear-gradient(90deg, var(--rose2) 75%, var(--gold) 100%);
      color: var(--wine);
      padding: 47px 0 11px 0;
      border-radius: 29px 29px 0 0;
      box-shadow:0 -2px 12px #ed7a8417;
      margin-top:62px;
      font-size: 1.07rem;
      font-family: var(--body-font);
      letter-spacing:.02em;
    }
    .footer-container {
      display: flex;
      max-width: 1220px;
      margin: 0 auto 0 auto;
      flex-wrap: wrap;
      gap: 38px 8vw;
      justify-content: space-between;
      align-items: flex-start;
      padding: 0 30px;
    }
    .footer-col {
      min-width:180px;
      flex: 1;
      margin-bottom: 18px;
      font-family:'Quicksand',sans-serif;
    }
    .branding {
      flex: 1.7;
      min-width:230px;
      max-width:350px;
    }
    .footer-logo {
      color: var(--wine);
      font-size:1.33em;
      display:flex; align-items: center; gap:11px;
      font-weight: 700;
      margin-bottom:11px;
      font-family: var(--headline-font);
    }
    .footer-desc {
      color:#843b4ab6;
      margin:0 0 9px 0;
      font-size:.97em; 
      line-height:1.3;
      font-family: 'Roboto',sans-serif;
    }
    .footer-col h4 {
      color: var(--wine);
      margin-bottom:9px;
      letter-spacing:.05em;
      font-size:1.09em;
      font-family: var(--headline-font);
    }
    .footer-col ul {
      list-style:none;
      padding-left:0;
      margin:0;
    }
    .footer-col li {
      margin-bottom:9px;
    }
    .footer-col a {
      color:var(--wine);
      text-decoration:none;
      transition:color .18s;
      font-size:1em;
    }
    .footer-col a:hover, .footer-col a:focus {
      color:var(--pink-dark);
      text-decoration:underline;
    }
    .footer-social {
      margin-top:10px;
    }
    .footer-social a {
      display:inline-block;
      margin-right:10px;
      vertical-align:middle;
      opacity: .76;
      transition:opacity .16s;
    }
    .footer-social a:hover {opacity:1;}
    .footer-social svg { width:26px; height:26px;}
    .footer-bottom {
      border-top:1.3px solid #ed7a8427;
      text-align:center;
      font-size:.99em;
      padding-top:13px;
      margin-top:28px;
      display:flex;
      flex-direction:column;
      gap:5px;
      color: var(--wine);
      font-family: 'Quicksand', sans-serif;
    }
    .footer-bottom a {
      color:var(--wine);
      text-decoration:underline dotted;
    }
    @media (max-width: 900px) {
      .footer-container {
        flex-direction:column;
        gap:18px 0;
        padding:0 5vw;
        align-items: flex-start;
      }
      .footer-col, .branding { max-width:100%; }
      .navbar { flex-direction: row; padding: 0 8vw;}
    }
    @media (max-width:600px) {
      .navbar { padding: 0 6vw;}
      .section { padding: 28px 2vw 25px 2vw;}
      .container { padding: 0 2vw;}
      .footer-container {padding:0 5vw;}
      .hero {padding:63px 3vw 22px 3vw;}
      .hero-title { font-size: 1.39rem;}
    }
    a:focus-visible, button:focus-visible {
      outline:2.5px dashed var(--pink-dark);
      outline-offset:3px;
    }
    ::selection { background: var(--rose2); color: var(--wine);}
    ::-webkit-scrollbar {width:11px; background: #fff2ec;}
    ::-webkit-scrollbar-thumb {background: var(--rose2);}
    ::-webkit-scrollbar-thumb:hover {background: var(--rose);}
    ::-webkit-scrollbar-track {background: #fff2ec;}

  #cookie-banner {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  width:100vw;
  z-index: 9999;
  background: rgba(250, 220, 217, .97);
  box-shadow: 0 -2px 28px #843b4a22;
  padding: 22px 8vw 17px 8vw;
  font-family: 'Quicksand',sans-serif;
  opacity: 1;
  animation: cookieUp .7s;
}
@keyframes cookieUp { from{transform:translateY(40px); opacity:0} to{transform:none; opacity:1}}
.cookie-banner-content {
  max-width: 680px;
  margin: 0 auto;
  text-align: left;
  color: #843B4A;
  font-size: 1.04rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
#cookie-banner a {
  color: #ED7A84;
  text-decoration: underline;
  transition:.2s;
}
#cookie-banner a:hover { color: #932639;}
#cookie-accept {
  background: linear-gradient(90deg,#ed7a84 60%, #f7e6b7 100%);
  color: #fff;
  border: none;
  border-radius: 17px;
  font-weight: bold;
  font-size: 1rem;
  font-family: 'Quicksand',sans-serif;
  padding: 10px 33px;
  box-shadow: 0 1px 12px #ed7a8412;
  cursor:pointer;
  transition: background .18s, color .19s;
  margin-left: 7px;
}
#cookie-accept:hover, #cookie-accept:focus {
  background: #932639;
  color: #fff;
  outline:0;
}
@media (max-width:600px){
  #cookie-banner {padding:13px 2vw 11px 2vw;}
  .cookie-banner-content { font-size: .98em;}
  #cookie-accept {width:100%; margin-left:0; margin-top:10px;}
  .cookie-banner-content { flex-direction: column;}
}