:root{--paper: #F7F2E6; --paper-2: #EFE4CC; --ink: #2B1A10; --ink-soft: #6E5B49; --line: rgba(43, 26, 16, 0.12); --blue: #0E6FB0; --blue-deep: #0A4E7D; --blue-light: #3FA9E0; --blue-tint: #DDEDF8; --brown: #3D2411; --brown-deep: #1A0D04; --gold: #E3A43C; --gold-deep: #B9791F; --gold-light: #FFD37E; --gold-soft: #FBE7C0; --font: 'Plus Jakarta Sans', system-ui, sans-serif; --container: 1180px; --radius-lg: 26px; --radius-md: 18px; --radius-sm: 12px;}
*{box-sizing: border-box;}
html{scroll-behavior: smooth; overflow-x: hidden; width: 100%;}
body{margin: 0px; font-family: var(--font); color: var(--ink); background: var(--paper); overflow-x: hidden; line-height: 1.6;}
img{max-width: 100%; display: block;}
a{color: inherit;}
.container{max-width: var(--container); margin: 0px auto; padding: 0px 24px;}
h1, h2, h3{font-family: var(--font); font-weight: 800; letter-spacing: -0.01em; line-height: 1.15; margin: 0px; color: var(--ink);}
h2{font-size: clamp(28px, 3.8vw, 42px);}
h3{font-size: clamp(18px, 2vw, 21px); font-weight: 700;}
p{margin: 0px;}
.grad-text{color: rgb(168, 80, 31); font-weight: 900;}
.ambient-glow{position: fixed; inset: 0px; z-index: -1; pointer-events: none; background: radial-gradient(600px 420px at 88% 4%, rgba(227, 164, 60, 0.16), transparent 60%), radial-gradient(560px 420px at 4% 22%, rgba(14, 111, 176, 0.11), transparent 60%), radial-gradient(500px 500px at 70% 78%, rgba(61, 36, 17, 0.06), transparent 65%); animation: 22s ease-in-out 0s infinite alternate none running driftGlow;}
@keyframes driftGlow { 
  0% { transform: translate(0px, 0px) scale(1); }
  100% { transform: translate(-1.5%, 1.5%) scale(1.04); }
}
.reveal{opacity: 0; transform: translateY(34px); transition: opacity 800ms cubic-bezier(0.16, 0.8, 0.2, 1), transform 800ms cubic-bezier(0.16, 0.8, 0.2, 1); will-change: transform, opacity;}
.reveal.is-visible{opacity: 1; transform: translateY(0px);}
.reveal-1{transition-delay: 80ms;}



@media (prefers-reduced-motion: reduce) {*{animation: auto ease 0s 1 normal none running none !important; transition: none !important; scroll-behavior: auto !important;}.reveal{opacity: 1; transform: none;}}
.btn{display: inline-flex; align-items: center; gap: 9px; font-weight: 700; font-size: 15px; padding: 15px 28px; border-radius: 999px; text-decoration: none; border: 1.5px solid transparent; cursor: pointer; position: relative; transition: transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 260ms, background 220ms, border-color 220ms; white-space: nowrap;}
.btn-primary{background: linear-gradient(120deg, var(--blue-light) 0%, var(--blue) 50%, var(--blue-deep) 100%); color: rgb(255, 255, 255); box-shadow: rgba(227, 164, 60, 0) 0px 0px 0px 0px, rgba(14, 111, 176, 0.38) 0px 12px 26px, rgba(255, 255, 255, 0.3) 0px 1px 0px inset; animation: 3.2s ease-in-out 0s infinite normal none running btnPulse;}
@keyframes btnPulse { 
  0%, 100% { box-shadow: rgba(227, 164, 60, 0) 0px 0px 0px 0px, rgba(14, 111, 176, 0.38) 0px 12px 26px, rgba(255, 255, 255, 0.3) 0px 1px 0px inset; }
  50% { box-shadow: rgba(227, 164, 60, 0.12) 0px 0px 0px 7px, rgba(14, 111, 176, 0.44) 0px 14px 30px, rgba(255, 255, 255, 0.35) 0px 1px 0px inset; }
}
.btn-primary:hover{transform: translateY(-3px); box-shadow: rgba(227, 164, 60, 0.18) 0px 0px 0px 5px, rgba(14, 111, 176, 0.46) 0px 18px 34px, rgba(255, 255, 255, 0.4) 0px 1px 0px inset;}
.btn-ghost{background: rgba(255, 255, 255, 0.5); border-color: rgba(227, 164, 60, 0.55); color: var(--brown); box-shadow: rgba(227, 164, 60, 0.15) 0px 0px 0px 1px inset;}
.btn-ghost:hover{background: var(--gold-soft); border-color: var(--gold-deep); transform: translateY(-3px); box-shadow: rgba(185, 121, 31, 0.22) 0px 10px 22px;}
.site-header{position: sticky; top: 0px; z-index: 100; background: rgba(247, 242, 230, 0.82); backdrop-filter: blur(12px); border-bottom: 1px solid var(--line);}
.site-header .container{display: flex; align-items: center; justify-content: space-between; height: 78px;}
.brand{display: flex; align-items: center; gap: 11px; text-decoration: none;}
.brand img{height: 57px; width: auto; border-radius: 9px;}
.brand-name{font-weight: 800; font-size: 16.5px; color: var(--ink); line-height: 1.1;}
.brand-sub{display: block; font-weight: 700; font-size: 10px; letter-spacing: 0.1em; color: var(--gold-deep); text-transform: uppercase;}
.main-nav{display: flex; align-items: center; gap: 2px;}
.main-nav a{font-weight: 600; font-size: 14px; text-decoration: none; color: var(--ink-soft); padding: 10px 15px; border-radius: 999px; transition: background 180ms, color 180ms;}
.main-nav a:hover{background: var(--blue-tint); color: var(--blue-deep);}
.main-nav a.active{background: linear-gradient(120deg, var(--blue-light), var(--blue-deep)); color: rgb(255, 255, 255); box-shadow: rgba(14, 111, 176, 0.32) 0px 4px 14px;}
.menu-toggle{display: none; background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; width: 44px; height: 44px; border-radius: 999px; align-items: center; justify-content: center; cursor: pointer; color: var(--ink);}
.menu-toggle:hover{background: var(--blue-tint);}
.menu-toggle svg{width: 22px; height: 22px;}
.mobile-panel{position: fixed; inset: 78px 0px 0px; background: var(--paper); transform: translateY(-14px); opacity: 0; pointer-events: none; transition: opacity 260ms, transform 260ms; z-index: 99; overflow-y: auto;}
.mobile-panel.open{opacity: 1; transform: translateY(0px); pointer-events: auto;}
.mobile-panel .container{padding-top: 28px; padding-bottom: 40px;}
.mobile-panel nav{display: flex; flex-direction: column; gap: 2px;}
.mobile-panel a{font-weight: 700; font-size: 23px; text-decoration: none; color: var(--ink); padding: 14px 4px; border-bottom: 1px solid var(--line);}
.mobile-panel .btn{margin-top: 24px; width: 100%; justify-content: center;}
@media (max-width: 920px) {.main-nav{display: none;}.menu-toggle{display: inline-flex;}.header-actions .btn-primary{display: none;}}
@media (min-width: 921px) {.mobile-panel{display: none;}}
.hero{padding-top: 64px; padding-bottom: 40px; display: grid; gap: 48px; grid-template-columns: 1fr; align-items: center;}
@media (min-width: 900px) {.hero{grid-template-columns: 1.05fr 0.95fr; padding-top: 76px; padding-bottom: 56px;}}
.hero h1{font-size: clamp(34px, 4.8vw, 56px); margin-top: 20px;}
.hero p.lead{font-size: 17.5px; color: var(--ink-soft); margin-top: 20px; max-width: 480px;}









@keyframes spinGlow { 
  100% { transform: rotate(360deg); }
}












.section{padding: 88px 0px;}
.section-alt{background: var(--paper-2);}



















.cta {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-lg);
  padding: 64px 44px;
  text-align: center;
  color: #fff;
  background: linear-gradient(120deg, var(--blue-light), var(--blue), var(--blue-deep), var(--brown));
  background-size: 260% 260%;
  animation: ctaShift 10s ease-in-out infinite;
}
@keyframes ctaShift { 
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
.cta::before{content: ""; position: absolute; inset: 0px; opacity: 0.1; mix-blend-mode: overlay; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.cta::after{content: ""; position: absolute; top: -60%; left: -20%; width: 65%; height: 220%; background: linear-gradient(120deg, rgba(255, 255, 255, 0.22), transparent 60%); transform: rotate(12deg); animation: 5s ease-in-out 0s infinite normal none running shine; pointer-events: none;}
@keyframes shine { 
  0%, 100% { transform: rotate(12deg) translateX(0px); }
  50% { transform: rotate(12deg) translateX(60%); }
}
.cta > *{position: relative; z-index: 1;}
.cta h2{color: rgb(255, 255, 255);}
.cta p{color: rgb(234, 243, 250); font-size: 16.5px; max-width: 520px; margin: 16px auto 0px;}
.cta .btn-ghost{background: rgba(255, 255, 255, 0.12); border-color: rgba(255, 255, 255, 0.5); color: rgb(255, 255, 255);}
.cta .btn-ghost:hover{background: rgba(255, 255, 255, 0.22); border-color: var(--gold-light);}
.site-footer{background: var(--brown-deep); color: rgb(243, 234, 216); padding: 60px 0px 26px;}
.footer-top{display: grid; gap: 36px; grid-template-columns: 1.3fr 1fr 1fr; padding-bottom: 36px; border-bottom: 1px solid rgba(255, 255, 255, 0.12);}
.footer-top .brand-name{color: rgb(255, 255, 255);}
.footer-top .brand-sub{color: var(--gold-light);}
.footer-top p.desc{color: rgb(201, 187, 169); font-size: 14px; max-width: 320px; margin-top: 14px;}
.footer-h{font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gold-light); font-weight: 700; margin-bottom: 14px;}
.footer-links{display: flex; flex-direction: column; gap: 10px;}
.footer-links a{text-decoration: none; color: rgb(243, 234, 216); font-weight: 500; font-size: 14px; transition: color 180ms;}
.footer-links a:hover{color: var(--gold-light);}
.footer-bottom{padding-top: 22px; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; font-size: 12.5px; color: rgb(166, 149, 127);}
@media (max-width: 780px) {.footer-top{grid-template-columns: 1fr;}}











@media (max-width: 780px) {.section{padding: 60px 0px;}}
.wa-float{position: fixed; right: 20px; bottom: 20px; z-index: 200; width: 58px; height: 58px; border-radius: 50%; background: linear-gradient(135deg, rgb(41, 208, 106), rgb(29, 168, 81)); display: flex; align-items: center; justify-content: center; box-shadow: rgba(29, 168, 81, 0.42) 0px 10px 24px, rgba(255, 255, 255, 0.3) 0px 1px 0px inset; color: rgb(255, 255, 255); text-decoration: none; animation: 2.6s ease-in-out 0s infinite normal none running waPulse; transition: transform 200ms cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 200ms;}
.wa-float svg{width: 28px; height: 28px;}
.wa-float:hover{transform: translateY(-3px) scale(1.05); box-shadow: rgba(29, 168, 81, 0.5) 0px 14px 30px, rgba(255, 255, 255, 0.35) 0px 1px 0px inset;}
@keyframes waPulse { 
  0%, 100% { box-shadow: rgba(29, 168, 81, 0.42) 0px 10px 24px, rgba(41, 208, 106, 0.35) 0px 0px 0px 0px, rgba(255, 255, 255, 0.3) 0px 1px 0px inset; }
  50% { box-shadow: rgba(29, 168, 81, 0.42) 0px 10px 24px, rgba(41, 208, 106, 0) 0px 0px 0px 10px, rgba(255, 255, 255, 0.35) 0px 1px 0px inset; }
}
@media (max-width: 560px) {.wa-float{right: 16px; bottom: 16px; width: 52px; height: 52px;}.wa-float svg{width: 25px; height: 25px;}}
@media (prefers-reduced-motion: reduce) {.wa-float{animation: auto ease 0s 1 normal none running none;}}
.product-grid{display: grid; gap: 30px; grid-template-columns: 1fr;}
@media (min-width: 640px) {.product-grid{grid-template-columns: repeat(2, 1fr);}}
@media (min-width: 960px) {.product-grid{grid-template-columns: repeat(3, 1fr); gap: 36px;}}
.product-card{display: flex; flex-direction: column;}
.product-photo{position: relative; width: 100%; aspect-ratio: 3 / 4; border-radius: var(--radius-md); overflow: hidden; border: 1.5px dashed rgba(227, 164, 60, 0.45); background: repeating-linear-gradient(135deg, rgba(43,26,16,0.03) 0 10px, transparent 10px 20px), linear-gradient(160deg, #fff 0%, var(--gold-soft, #FBE7C0) 140%); display: flex; align-items: center; justify-content: center; transition: transform 260ms cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 260ms;}
.product-card:hover .product-photo{transform: translateY(-4px); box-shadow: rgba(43, 26, 16, 0.14) 0px 18px 36px;}
.product-photo img{width: 100%; height: 100%; object-fit: cover; display: block; user-select: none; -webkit-user-drag: none; pointer-events: none;}
.product-photo::after{content: ""; position: absolute; inset: 0px; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22280%22%20height%3D%22160%22%3E%0A%3Ctext%20x%3D%22140%22%20y%3D%2285%22%20font-family%3D%22Arial%2C%20sans-serif%22%20font-size%3D%2215%22%20fill%3D%22rgba%2843%2C26%2C16%2C0.16%29%22%20text-anchor%3D%22middle%22%20transform%3D%22rotate%28-24%20140%2085%29%22%3EFiltros%20Jaboticabal%3C/text%3E%0A%3C/svg%3E"); background-repeat: repeat;}

.product-photo svg{width: 26px; height: 26px; opacity: 0.7; color: var(--teal-deep, var(--brown));}
.product-name{margin-top: 16px; font-family: var(--font-display); font-weight: 700; font-size: 18px; color: var(--ink);}
.product-category{margin-top: 3px; font-size: 12.5px; font-weight: 600; color: var(--ink-soft); text-transform: uppercase; letter-spacing: 0.06em;}
.btn-saiba-mais{margin-top: 14px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; padding: 12px 20px; border-radius: 999px; font-weight: 700; font-size: 14px; font-family: var(--font-body); background: transparent; border: 1.5px solid rgba(43, 26, 16, 0.28); color: var(--ink); cursor: pointer; transition: transform 200ms cubic-bezier(0.2, 0.8, 0.2, 1), background 200ms, border-color 200ms;}
.btn-saiba-mais:hover{background: var(--teal-tint, #DDEDF8); border-color: var(--teal, #0E6FB0); color: var(--teal-deep, #0A4E7D); transform: translateY(-2px);}
.modal-overlay{position: fixed; inset: 0px; z-index: 300; background: rgba(26, 16, 6, 0.58); backdrop-filter: blur(4px); display: flex; align-items: center; justify-content: center; padding: 20px; opacity: 0; pointer-events: none; transition: opacity 240ms;}
.modal-overlay.open{opacity: 1; pointer-events: auto;}
.modal-box{position: relative; background: rgb(255, 255, 255); border-radius: var(--radius-lg); width: 100%; max-width: 860px; max-height: 92vh; overflow-y: auto; scrollbar-width: none; box-shadow: rgba(0, 0, 0, 0.35) 0px 30px 80px; transform: translateY(18px) scale(0.98); opacity: 0; transition: transform 260ms cubic-bezier(0.2, 0.8, 0.2, 1), opacity 240ms; display: grid; grid-template-columns: 1fr;}
.modal-box::-webkit-scrollbar{display: none;}
.modal-overlay.open .modal-box{transform: translateY(0px) scale(1); opacity: 1;}
@media (min-width: 760px) {.modal-box{grid-template-columns: 1fr 1fr; max-height: 88vh;}}
.modal-close{position: absolute; top: 16px; right: 16px; z-index: 2; width: 38px; height: 38px; border-radius: 50%; background: rgba(255, 255, 255, 0.92); border: 1px solid var(--line); display: flex; align-items: center; justify-content: center; cursor: pointer; color: var(--ink); transition: background 180ms, transform 180ms;}
.modal-close:hover{background: rgb(255, 255, 255); transform: rotate(90deg);}
.modal-close svg{width: 18px; height: 18px;}
.modal-gallery{padding: 22px; background: var(--paper-2); display: flex; flex-direction: column; gap: 12px; align-items: center; justify-content: center;}
.modal-gallery-main{position: relative; width: auto; max-width: 100%; height: min(46vh, 420px); aspect-ratio: 3 / 4; border-radius: var(--radius-md); overflow: hidden; background: rgb(255, 255, 255); border: 1px solid var(--line);}
.modal-gallery-main img{width: 100%; height: 100%; object-fit: cover; display: block; user-select: none; -webkit-user-drag: none; pointer-events: none;}
.modal-gallery-main::after{content: ""; position: absolute; inset: 0px; pointer-events: none; z-index: 1; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22280%22%20height%3D%22160%22%3E%0A%3Ctext%20x%3D%22140%22%20y%3D%2285%22%20font-family%3D%22Arial%2C%20sans-serif%22%20font-size%3D%2215%22%20fill%3D%22rgba%2843%2C26%2C16%2C0.16%29%22%20text-anchor%3D%22middle%22%20transform%3D%22rotate%28-24%20140%2085%29%22%3EFiltros%20Jaboticabal%3C/text%3E%0A%3C/svg%3E"); background-repeat: repeat;}
.modal-gallery-nav{position: absolute; top: 50%; transform: translateY(-50%); width: 34px; height: 34px; border-radius: 50%; background: rgba(255, 255, 255, 0.9); border: 1px solid var(--line); display: flex; align-items: center; justify-content: center; cursor: pointer; color: var(--ink); transition: background 180ms;}
.modal-gallery-nav:hover{background: rgb(255, 255, 255);}
.modal-gallery-nav.prev{left: 10px;}
.modal-gallery-nav.next{right: 10px;}
.modal-gallery-nav svg{width: 18px; height: 18px;}
.modal-thumbs{display: flex; gap: 10px; flex-wrap: wrap;}
.modal-thumb{width: 62px; height: 62px; border-radius: 10px; overflow: hidden; border: 2px solid transparent; cursor: pointer; opacity: 0.65; transition: opacity 180ms, border-color 180ms; background: rgb(255, 255, 255);}
.modal-thumb img{width: 100%; height: 100%; object-fit: cover; display: block;}
.modal-thumb.active{opacity: 1; border-color: var(--teal, #0E6FB0);}
.modal-info{padding: 26px; display: flex; flex-direction: column;}
.modal-info .product-category{margin-top: 0px;}
.modal-info h3{font-size: clamp(19px, 2.2vw, 24px); margin-top: 6px;}
.modal-info .modal-desc{margin-top: 12px; color: var(--ink-soft); font-size: 14.5px; line-height: 1.6;}
.modal-info .modal-features{margin: 16px 0px 0px; padding-left: 20px; color: var(--ink-soft); font-size: 14.5px; display: flex; flex-direction: column; gap: 6px;}
.modal-info .modal-capacity{margin-top: 14px; font-weight: 700; font-size: 14.5px; color: var(--ink);}
.modal-info .btn{margin-top: 24px;}
body.modal-locked{overflow: hidden;}
@media (max-width: 759px) {.modal-box{max-height: 96vh;}.modal-gallery{padding: 12px; gap: 6px;}.modal-gallery-main{height: min(22vh, 200px);}.modal-thumbs{gap: 6px; justify-content: center;}.modal-thumb{width: 38px; height: 38px; border-radius: 8px;}.modal-gallery-nav{width: 26px; height: 26px;}.modal-gallery-nav svg{width: 14px; height: 14px;}.modal-info{padding: 12px 16px 16px;}.modal-info h3{font-size: 17px; margin-top: 3px;}.modal-info .modal-desc{margin-top: 6px; font-size: 13px; line-height: 1.45;}.modal-info .modal-features{margin-top: 8px; font-size: 12.5px; gap: 3px;}.modal-info .modal-capacity{margin-top: 6px; font-size: 12.5px;}.modal-info .btn{margin-top: 12px; padding: 11px 20px; font-size: 13.5px;}}
.catalog-filters{display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: space-between; padding: 18px 20px; background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--radius-md); margin-bottom: 8px;}
.filter-search{display: flex; align-items: center; gap: 10px; flex: 1 1 260px; min-width: 220px; padding: 11px 16px; border-radius: 999px; border: 1.5px solid var(--line); background: var(--paper); color: var(--ink-soft);}
.filter-search svg{width: 18px; height: 18px; flex-shrink: 0;}
.filter-search input{border-width: medium; border-style: none; border-color: currentcolor; border-image: none; outline: none; background: transparent; font-family: var(--font-body); font-size: 14.5px; color: var(--ink); width: 100%;}
.filter-search input::placeholder{color: var(--ink-soft);}
.filter-selects{display: flex; flex-wrap: wrap; gap: 10px; align-items: center;}
.filter-selects select{font-family: var(--font-body); font-size: 13.5px; font-weight: 600; color: var(--ink); padding: 10px 34px 10px 16px; border-radius: 999px; border: 1.5px solid var(--line); background: var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236E5B49' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 14px center; appearance: none; cursor: pointer; transition: border-color 180ms, background-color 180ms;}
.filter-selects select:hover{border-color: var(--teal, #0E6FB0);}
.filter-selects select:focus{outline: none; border-color: var(--teal, #0E6FB0);}
.filter-clear{font-family: var(--font-body); font-size: 13.5px; font-weight: 700; color: var(--ink-soft); background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; cursor: pointer; padding: 10px 8px; text-decoration: underline; text-underline-offset: 3px; transition: color 180ms;}
.filter-clear:hover{color: var(--ink);}
.catalog-count{font-size: 13px; color: var(--ink-soft); font-weight: 600; margin: 14px 2px 22px;}
.product-card.is-hidden{display: none;}
.catalog-empty{display: none; text-align: center; padding: 64px 20px; border: 1.5px dashed var(--line); border-radius: var(--radius-lg);}
.catalog-empty p{font-size: 16px; color: var(--ink-soft); font-weight: 600; margin-bottom: 18px;}
@media (max-width: 720px) {.catalog-filters{flex-direction: column; align-items: stretch;}.filter-search{flex: 0 0 auto; width: 100%;}.filter-selects{justify-content: space-between;}.filter-selects select{flex: 1 1 auto; padding-left: 12px; padding-right: 30px; font-size: 13px;}}









.page-intro{grid-template-columns: 1fr; padding-bottom: 12px;}
.page-intro h1{max-width: 870px; margin-top: 0px;}
.page-intro p.lead{max-width: 680px;}


















:focus-visible{outline: 3px solid var(--blue); outline-offset: 4px;}
.mobile-panel:not(.open){visibility: hidden;}

@media (min-width: 921px) and (max-width: 1200px) {.header-actions .btn-primary{display: none;}.main-nav a{padding: 10px;}}





































.grad-text{color: rgb(168, 80, 31);}





.product-photo{padding: 20px; aspect-ratio: 1 / 1.15; cursor: pointer;}
.product-photo img{object-fit: contain;}
.modal-gallery-stage{display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; min-width: 0px;}
.modal-gallery-stage .modal-gallery-main{flex: 0 1 auto; min-width: 0px; max-width: calc(100% - 104px);}
.modal-gallery-stage .modal-gallery-nav{position: static; transform: none; flex: 0 0 40px; width: 40px; height: 40px;}
.modal-gallery-stage .modal-gallery-main img{object-fit: contain;}
@media (max-width: 759px) {.modal-gallery-stage{gap: 8px;}.modal-gallery-stage .modal-gallery-main{max-width: calc(100% - 96px);}}
h2{font-size: clamp(25px, 2.8vw, 34px); line-height: 1.22;}
h3{font-size: clamp(18px, 1.7vw, 20px); line-height: 1.3;}
.hero h1{font-size: clamp(30px, 3.4vw, 43px); line-height: 1.2;}



.page-intro{text-align: center; padding-top: 60px; padding-bottom: 32px;}
.page-intro h1, .page-intro p.lead{max-width: none; width: 100%;}
.page-intro p.lead{margin: 20px auto 0px;}





.reveal{opacity: 1; transform: none; will-change: auto;}
.reveal-ready .reveal:not(.is-visible){opacity: 0; transform: translateY(22px);}
.reveal-ready .reveal{transition: opacity 650ms, transform 650ms cubic-bezier(0.16, 0.8, 0.2, 1);}
@media (max-width: 560px) {.page-intro{padding-top: 40px;}.reveal-ready .reveal{transition-duration: 500ms; transition-delay: 0ms;}}
@media (prefers-reduced-motion: reduce) {.reveal-ready .reveal:not(.is-visible){opacity: 1; transform: none;}}


.section-symbol{display: inline-flex; justify-content: center; align-items: center; color: rgb(168, 80, 31); background: var(--gold-soft); width: 44px; height: 44px; border-radius: 13px; margin-bottom: 16px;}
.section-symbol svg{width: 25px; height: 25px;}
.cta .section-symbol{color: white; background: rgba(255, 255, 255, 0.18);}


.reveal-ready .reveal{transition: none;}




:root{--radius-md: 16px; --radius-lg: 24px;}
body{line-height: 1.65;}
h1, h2, h3{letter-spacing: -0.025em;}
.site-header{background: rgba(247, 242, 230, 0.96);}
.main-nav a{font-size: 13px;}
.btn{padding: 13px 24px; font-size: 14px;}
.btn-primary{animation: auto ease 0s 1 normal none running none; background: linear-gradient(125deg, rgb(22, 131, 188), rgb(10, 83, 127)); box-shadow: rgba(14, 111, 176, 0.18) 0px 6px 16px;}
.btn-primary:hover{box-shadow: rgba(14, 111, 176, 0.24) 0px 9px 22px; transform: translateY(-2px);}
.ambient-glow{animation: auto ease 0s 1 normal none running none; opacity: 0.6;}




.section-alt{background: rgb(240, 231, 211);}


.page-intro{padding-top: 68px; padding-bottom: 38px;}
.page-intro .lead{font-size: 16px;}
.section-symbol{background: rgb(248, 232, 205); border: 1px solid rgba(168, 80, 31, 0.08);}
.cta{box-shadow: none;}




@media (max-width: 600px) {.page-intro{padding-top: 40px;}}
.modal-overlay:not(.open){visibility: hidden;}
.modal-overlay{padding: 24px;}
.modal-box{max-width: 1120px; grid-template-columns: minmax(0px, 1.25fr) minmax(0px, 1fr); max-height: 92dvh; border-radius: 24px; scrollbar-width: thin;}
.modal-box::-webkit-scrollbar{display: block; width: 5px;}
.modal-gallery{padding: 36px 24px 24px; min-width: 0px; gap: 14px; justify-content: flex-start; background: rgb(247, 243, 234);}
.modal-gallery-stage{gap: 12px;}
.modal-gallery-stage .modal-gallery-main{width: 100%; max-width: calc(100% - 104px); height: clamp(300px, 52vh, 520px); aspect-ratio: auto; border: 0px; border-radius: 16px; background: white;}
.modal-gallery-main img{object-fit: contain; padding: 10px;}
.modal-gallery-stage .modal-gallery-nav{background: white; box-shadow: rgba(43, 26, 16, 0.063) 0px 3px 12px;}
.gallery-count{font-size: 12px; color: var(--ink-soft); text-align: center;}
.modal-thumbs{flex-wrap: nowrap; width: 100%; min-width: 0px; overflow-x: auto; justify-content: flex-start; padding: 4px 2px 8px; gap: 10px; scrollbar-width: thin;}
.modal-thumb{flex: 0 0 65px; width: 65px; height: 76px; padding: 3px; border-radius: 10px; opacity: 0.75;}
.modal-thumb img{object-fit: contain; pointer-events: none; user-select: none; -webkit-user-drag: none;}
.modal-gallery{user-select: none;}
.modal-thumb.active{opacity: 1; border-color: rgb(168, 80, 31);}
.modal-info{padding: 64px 32px 32px; justify-content: center; text-align: left;}
.modal-info h3{font-size: 25px; line-height: 1.25;}
.modal-info .modal-desc{font-size: 15px; line-height: 1.75;}
.modal-info .modal-features{font-size: 14px; line-height: 1.6; gap: 10px;}
.modal-close{top: 14px; right: 14px; z-index: 5; width: 40px; height: 40px;}
.brand img{border-radius: 0px;}
@media (max-width: 759px) {.modal-overlay{padding: 12px;}.modal-box{display: block; max-height: 94dvh; border-radius: 20px;}.modal-gallery{padding: 54px 14px 18px; gap: 10px;}.modal-gallery-stage{gap: 8px;}.modal-gallery-stage .modal-gallery-main{max-width: calc(100% - 88px); height: clamp(240px, 40dvh, 380px);}.modal-gallery-stage .modal-gallery-nav{flex-basis: 36px; width: 36px; height: 36px;}.modal-thumb{flex-basis: 54px; width: 54px; height: 64px;}.modal-thumbs{gap: 8px;}.modal-info{padding: 24px;}.modal-info h3{font-size: 22px;}.modal-info .modal-desc{font-size: 14px;}.modal-info .btn{margin-top: 24px;}main .hero{text-align: center;} main .product-card{text-align: left;}}

@media (max-width: 780px) {.site-footer{padding: 40px 0 calc(88px + env(safe-area-inset-bottom)); text-align: center;}.footer-top{grid-template-columns: minmax(0px, 1fr); gap: 30px; padding-bottom: 28px;}.footer-top > div{min-width: 0px;}.footer-top .brand{justify-content: center;}.footer-top .brand > span{text-align: left;}.footer-top p.desc{max-width: 340px; margin: 16px auto 0px; font-size: 14px; line-height: 1.7;}.footer-h{margin-bottom: 12px;}.footer-links{align-items: center; gap: 4px;}.footer-links a{padding: 7px 0px; max-width: 100%; overflow-wrap: anywhere; line-height: 1.5;}.footer-bottom{flex-direction: column; align-items: center; justify-content: center; gap: 8px; font-size: 12px; line-height: 1.7;}.wa-float{width: 46px; height: 46px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); animation: auto ease 0s 1 normal none running none;}.wa-float svg{width: 23px; height: 23px;}}
.cookie-banner[hidden]{display: none;}
.cookie-banner{position: fixed; inset: auto 0px 0px; z-index: 500; background: rgb(255, 253, 247); border-top: 1px solid var(--line); box-shadow: rgba(43, 26, 16, 0.08) 0px -8px 32px; padding: 22px 0 calc(22px + env(safe-area-inset-bottom)); max-height: 80dvh; overflow: auto;}
.cookie-inner{display: flex; gap: 28px; align-items: center;}
.cookie-inner > div:first-child{flex: 1 1 0%;}
.cookie-banner h2{font-size: 20px; margin-bottom: 8px;}
.cookie-banner p{font-size: 13px; color: var(--ink-soft); line-height: 1.6;}
.cookie-banner a{color: var(--blue-deep);}
.cookie-actions{display: flex; gap: 10px; flex-shrink: 0;}
.cookie-choice{background: var(--blue-deep); color: white; border: 1px solid var(--blue-deep); font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 13px; font-weight: 700; padding: 12px 18px;}
.cookie-choice:hover{background: var(--blue);}
body.cookie-visible{padding-bottom: var(--cookie-height,200px);}
body.cookie-visible .wa-float{visibility: hidden;}
.privacy-footer{display: flex; justify-content: center; gap: 16px 28px; flex-wrap: wrap; margin-top: 22px; font-size: 13px;}
.privacy-footer button{background: none; border: 0px; padding: 0px; font: inherit; color: inherit; text-decoration: underline; cursor: pointer;}












@media (max-width: 900px) {.cookie-inner{flex-direction: column; align-items: stretch; gap: 16px;}.cookie-actions{justify-content: center;}}
@media (max-width: 560px) {.cookie-banner{padding-top: 18px;}.cookie-banner h2{font-size: 18px;}.cookie-actions .btn{flex: 1 1 0%; white-space: normal; justify-content: center; text-align: center;}}
@font-face { font-family: "Plus Jakarta Sans"; src: url("../fonts/plus-jakarta-sans.ttf?v=16") format("truetype"); font-weight: 200 800; font-style: normal; font-display: swap; }
.site-icon{display: inline-block; width: 24px; height: 24px; flex-shrink: 0; vertical-align: middle;}

.menu-toggle .site-icon{width: 22px; height: 22px;}
.btn .site-icon{width: 16px; height: 16px;}
.btn-primary .site-icon, .wa-float .site-icon{filter: brightness(0) invert(1);}
.modal-gallery-nav .site-icon{width: 18px; height: 18px;}
.wa-float .site-icon{width: 25px; height: 25px;}
.footer-bottom{flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 8px;}
.privacy-footer{margin-top: 16px; align-items: center;}
.privacy-footer a, .privacy-footer button{font-size: 13px; line-height: 1.6;}
.mobile-panel .btn-primary, .header-actions .btn-primary{color: rgb(255, 255, 255);}
.cta .section-symbol .site-icon{filter: brightness(0) invert(1);}

/* Catalog: align actions regardless of title wrapping. */
.product-grid .product-card{display:flex;flex-direction:column;align-self:stretch}
.product-grid .product-name{margin-bottom:14px}
.product-grid .btn-saiba-mais{margin-top:auto}
.product-grid .product-photo{flex-shrink:0}

.product-grid .product-card.is-hidden{display:none}
