/* Pateiro da Silva — estilos do site
   Base · responsive (≤760px mobile, 761–1180px tablet, via atributos data-m) · componentes gerados */

@import url("https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,400;0,6..12,700;0,6..12,800;1,6..12,400;1,6..12,700&display=swap");

/* ---------- Base ---------- */
body { margin: 0; background: #FFFFFF; color: #6C6C6C; -webkit-font-smoothing: antialiased; }
  a { color: #51876E; text-decoration: none; }
  a:hover { color: #56A483; text-decoration: underline; }
  [data-noscrollbar]::-webkit-scrollbar { display: none; }
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; }
[hidden] { display: none !important; }
[data-noscrollbar] { scrollbar-width: none; }

/* ---------- Componentes ---------- */
.ps-0 { font-family: 'Avenir Book', Avenir, 'Avenir Next', 'Nunito Sans', 'Helvetica Neue', sans-serif; font-weight: 400; font-size: clamp(13px, 1.17vw, 17px); line-height: 1.45; color: #6C6C6C; overflow-x: clip; background: #FFFFFF; max-width: 1920px; margin: 0 auto; }
.ps-1 { position: sticky; top: 0; z-index: 60; background: #FFFFFF; box-shadow: none; transition: box-shadow .3s ease; }
.ps-2 { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: clamp(14px, 1.35vw, 19px) 2.4%; }
.ps-3 { justify-self: start; display: flex; flex-direction: column; justify-content: center; gap: clamp(4px, 0.31vw, 4px); width: 44px; height: 44px; padding: 0; border: 0; background: none; cursor: pointer; }
.ps-4 { display: block; height: 2px; background: #51876E; }
.ps-5 { display: block; justify-self: center; }
.ps-6 { height: clamp(20px, 3.07vw, 44px); width: auto; display: block; }
.ps-7 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 3vw, 43px); padding: clamp(20px, 2.2vw, 32px) 2.4% clamp(28px, 3vw, 43px); border-top: 1px solid rgba(81, 135, 110, 0.25); background: #FFFFFF; }
.ps-8 { display: flex; flex-direction: column; gap: clamp(12px, 1.25vw, 18px); font-size: clamp(12px, 1.04vw, 15px); font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #51876E; }
.ps-9 { color: #51876E; }
.ps-10 { color: rgba(81, 135, 110, 0.42); }
.ps-11 { align-self: start; position: relative; width: 100%; max-width: 340px; aspect-ratio: 3 / 2; overflow: hidden; background: rgba(206, 199, 187, 0.25); }
.ps-12 { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; position: absolute; inset: 0; opacity: 1; transition: opacity .25s ease; pointer-events: auto; }
.ps-13 { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; position: absolute; inset: 0; opacity: 0; transition: opacity .25s ease; pointer-events: none; }
.ps-14 { position: relative; width: 100%; }
.ps-15 { position: relative; width: 100%; height: clamp(420px, 62.5vw, 1200px); }
.ps-16 { width: 100%; height: 100%; object-fit: cover; display: block; }
.ps-17 { position: absolute; left: 7.6%; top: clamp(12px, 1.5vw, 22px); width: clamp(120px, 14.6vw, 210px); pointer-events: none; }
.ps-18 { background: #FFFFFF; padding: clamp(34px, 3.7vw, 53px) 6.51% clamp(40px, 4.3vw, 62px); text-align: center; }
.ps-19 { max-width: 1440px; margin: 0 auto; }
.ps-20 { margin: 0 auto clamp(20px, 2.1vw, 30px); max-width: 60%; font-family: Georgia, 'Times New Roman', serif; font-weight: 700; font-size: clamp(19px, 1.77vw, 25px); line-height: 1.3; color: #51876E; text-wrap: pretty; }
.ps-21 { margin: 0 auto; max-width: 66%; text-wrap: pretty; }
.ps-22 { margin: 0 0 1.6em; }
.ps-23 { margin: 0; }
.ps-24 { margin: clamp(26px, 2.8vw, 40px) auto 0; max-width: 66%; }
.ps-25 { margin: 0; font-style: italic; font-weight: 700; color: #6C6C6C; }
.ps-26 { margin-top: 0.15em; }
.ps-27 { background: #CEC7BB; padding: clamp(24px, 2.6vw, 37px) 0 clamp(34px, 3.7vw, 53px); }
.ps-28 { width: 100%; padding: 0 2.6%; box-sizing: border-box; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 1.5vw, 22px); align-items: start; }
.ps-29 { position: relative; aspect-ratio: 410 / 720; }
.ps-30 { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.ps-31 { position: relative; aspect-ratio: 410 / 720; margin-top: clamp(28px, 3.6vw, 52px); }
.ps-32 { position: relative; background: #FFFFFF; padding: clamp(72px, 7.8vw, 112px) 0 clamp(72px, 7.8vw, 112px); overflow: hidden; }
.ps-33 { position: relative; z-index: 1; max-width: 1440px; margin: 0 auto; padding: 0 2.6%; box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.28fr); gap: clamp(28px, 3.3vw, 48px); align-items: start; }
.ps-34 { margin: 0 0 clamp(26px, 2.8vw, 40px); font-family: 'Avenir Heavy', Avenir, 'Avenir Next', 'Nunito Sans', sans-serif; font-size: 24px; font-weight: 700; color: #51876E; }
.ps-35 { margin: 0 0 clamp(20px, 2.1vw, 30px); font-weight: 800; color: #51876E; text-wrap: pretty; }
.ps-36 { text-wrap: pretty; }
.ps-37 { margin: clamp(26px, 2.8vw, 40px) 0 0; }
.ps-38 { margin: 0 0 clamp(16px, 1.7vw, 24px); font-style: italic; font-weight: 700; color: #6C6C6C; text-wrap: pretty; }
.ps-39 { display: block; margin: clamp(36px, 3.9vw, 56px) 0 0; width: clamp(120px, 12.5vw, 180px); transform: rotate(25deg); pointer-events: none; }
.ps-40 { position: relative; }
.ps-41 { width: 100%; max-width: 720px; aspect-ratio: 940 / 960; object-fit: cover; display: block; margin-left: auto; }
.ps-42 { position: relative; background: #F3F3F3; padding: clamp(44px, 4.8vw, 69px) 0 clamp(34px, 3.7vw, 53px); overflow: hidden; }
.ps-43 { position: absolute; top: clamp(70px, 6.5vw, 94px); right: -1%; width: clamp(120px, 12.5vw, 180px); transform: rotate(25deg); pointer-events: none; z-index: 0; }
.ps-44 { position: relative; z-index: 1; max-width: 1440px; margin: 0 auto; padding: 0 2.6%; box-sizing: border-box; }
.ps-45 { max-width: min(72%, 860px); text-wrap: pretty; }
.ps-46 { position: relative; z-index: 1; max-width: 1440px; margin: clamp(34px, 3.7vw, 53px) auto 0; padding: 0 0 0 2.6%; box-sizing: border-box; display: flex; gap: clamp(14px, 1.5vw, 22px); align-items: stretch; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.ps-47 { flex: 0 0 clamp(190px, 22vw, 317px); width: clamp(190px, 22vw, 317px); min-width: 0; display: flex; flex-direction: column; }
.ps-48 { position: relative; width: 100%; height: 0; padding-top: 153.846%; margin-bottom: clamp(16px, 1.7vw, 24px); }
.ps-49 { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; position: absolute; inset: 0; width: 100%; height: 100%; }
.ps-50 { margin: 0 0 clamp(14px, 1.5vw, 22px); font-size: 1em; font-weight: 800; color: #51876E; }
.ps-51 { margin: 0 0 clamp(20px, 2.1vw, 30px); text-wrap: pretty; }
.ps-52 { margin-top: auto; align-self: start; font-weight: 800; border-bottom: 1px solid #51876E; padding-bottom: 0.15em; }
.ps-53 { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 59.8% 50.0%; position: absolute; inset: 0; width: 100%; height: 100%; }
.ps-54 { position: relative; z-index: 1; display: flex; align-items: center; justify-content: flex-start; gap: clamp(4px, 0.5vw, 7px); max-width: 1440px; margin: clamp(16px, 1.7vw, 24px) auto 0; padding-left: calc(2.6% - 7px); box-sizing: border-box; }
.ps-55 { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; background: none; cursor: pointer; opacity: 0.28; transition: opacity .25s ease; }
.ps-56 { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; background: none; cursor: pointer; opacity: 1; transition: opacity .25s ease; }
.ps-57 { background: #FFFFFF; padding: clamp(44px, 4.8vw, 69px) 2.6% clamp(40px, 4.3vw, 62px); text-align: center; }
.ps-58 { margin: 0 auto clamp(30px, 3.2vw, 46px); max-width: 66%; font-size: clamp(16px, 1.46vw, 21px); line-height: 1.45; color: #56A483; text-wrap: pretty; }
.ps-59 { margin: 0 0 clamp(20px, 2.1vw, 30px); font-weight: 800; color: #6C6C6C; }
.ps-60 { display: inline-block; margin: clamp(26px, 2.8vw, 40px) auto 0; }
.ps-61 { height: clamp(24px, 2.2vw, 32px); width: clamp(24px, 2.2vw, 32px); display: block; object-fit: contain; }
.ps-62 { background: #F3F3F3; padding: clamp(40px, 4.3vw, 62px) 6.51% clamp(22px, 2.4vw, 35px); }
.ps-63 { display: flex; justify-content: center; margin-bottom: clamp(26px, 2.8vw, 40px); }
.ps-64 { display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; justify-items: center; row-gap: clamp(12px, 1.6vw, 23px); font-size: clamp(10px, 0.83vw, 12px); color: #9A9A9A; }
.ps-65 { color: #9A9A9A; }
.ps-66 { margin: clamp(16px, 1.7vw, 24px) 0 0; text-align: center; font-size: clamp(8px, 0.68vw, 10px); color: #B5B5B5; }
.ps-67 { position: absolute; left: 7.6%; top: clamp(12px, 1.5vw, 22px); width: clamp(120px, 14.6vw, 210px); pointer-events: none; z-index: 2; }
.ps-68 { position: relative; background: #FFFFFF; padding: clamp(28px, 3vw, 43px) 2.6% clamp(40px, 4.3vw, 62px); text-align: center; }
.ps-69 { margin: 0 auto clamp(24px, 2.8vw, 40px); max-width: 74%; font-family: Georgia, 'Times New Roman', serif; font-weight: 700; font-size: clamp(19px, 1.77vw, 25px); line-height: 1.3; color: #51876E; text-wrap: pretty; }
.ps-70 { padding: clamp(48px, 6vw, 86px) 2.6%; }
.ps-71 { max-width: 1440px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, minmax(0, 340px)); justify-content: center; gap: clamp(14px, 1.6vw, 23px); align-items: start; }
.ps-72 { position: relative; aspect-ratio: 2 / 3; margin-top: clamp(24px, 3vw, 43px); }
.ps-73 { position: relative; aspect-ratio: 2 / 3; }
.ps-74 { background: #FFFFFF; padding: clamp(48px, 6vw, 86px) 2.6%; }
.ps-75 { max-width: 1440px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 320px) minmax(0, 680px); justify-content: center; column-gap: clamp(28px, 3.6vw, 52px); row-gap: 16px; align-items: start; }
.ps-76 { grid-column: 1; grid-row: 1; }
.ps-77 { width: clamp(120px, 12.5vw, 180px); height: auto; transform: rotate(25deg); display: block; margin-bottom: 16px; object-fit: cover; aspect-ratio: 856 / 862; }
.ps-78 { grid-column: 1; grid-row: 2; }
.ps-79 { margin: 0; text-align: left; text-wrap: pretty; max-width: 320px; }
.ps-80 { grid-column: 2; grid-row: 2; }
.ps-81 { width: 680px; max-width: 100%; }
.ps-82 { position: relative; aspect-ratio: 16 / 10; width: 100%; }
.ps-83 { position: absolute; inset: 0; visibility: visible; z-index: 1; }
.ps-84 { position: absolute; inset: 0; visibility: hidden; z-index: 0; }
.ps-85 { display: flex; align-items: center; justify-content: center; gap: clamp(16px, 1.7vw, 24px); margin-top: clamp(14px, 1.6vw, 23px); }
.ps-86 { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 0; background: none; cursor: pointer; }
.ps-87 { font-size: 0.72em; letter-spacing: 0.06em; color: #6C6C6C; width: 140px; text-align: center; }
.ps-88 { position: relative; background: #F3F3F3; padding: clamp(56px, 7vw, 101px) 2.6%; }
.ps-89 { position: absolute; right: -1%; top: 6%; width: clamp(120px, 12.5vw, 180px); transform: rotate(25deg); pointer-events: none; z-index: 0; }
.ps-90 { position: relative; z-index: 1; width: min(76%, 1100px); margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: clamp(32px, 4.7vw, 68px); align-items: start; }
.ps-91 { margin: 0 0 1.6em; font-family: 'Avenir Heavy', Avenir, 'Avenir Next', 'Nunito Sans', sans-serif; font-size: 24px; font-weight: 700; color: #51876E; }
.ps-92 { margin: 0 0 1em; }
.ps-93 { margin: clamp(28px, 3.6vw, 52px) 0 0; }
.ps-94 { margin-top: 0.5em; color: #6C6C6C; }
.ps-95 { position: relative; aspect-ratio: 4 / 5; }
.ps-96 { padding: clamp(56px, 7vw, 101px) 2.6% clamp(20px, 2.4vw, 35px); }
.ps-97 { display: flex; gap: clamp(20px, 2.1vw, 30px); align-items: stretch; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x mandatory; }
.ps-98 { flex: 0 0 clamp(260px, 27vw, 389px); display: flex; flex-direction: column; scroll-snap-align: start; }
.ps-99 { position: relative; aspect-ratio: 4 / 3; margin-bottom: clamp(16px, 1.7vw, 24px); }
.ps-100 { margin: 0 0 1.2em; font-family: 'Avenir Heavy', Avenir, 'Avenir Next', 'Nunito Sans', sans-serif; font-size: 24px; font-weight: 700; color: #51876E; }
.ps-101 { margin: 0; text-wrap: pretty; }
.ps-102 { margin: 0 0 1em; text-wrap: pretty; }
.ps-103 { display: flex; align-items: center; justify-content: flex-start; gap: clamp(4px, 0.5vw, 7px); margin: clamp(16px, 1.7vw, 24px) 0 0 -7px; }
.ps-104 { padding: clamp(8px, 1vw, 14px) 2.6% clamp(40px, 5vw, 72px); text-align: center; }
.ps-105 { display: inline-block; padding: clamp(14px, 1.25vw, 18px) clamp(28px, 2.9vw, 42px); border: 2px solid #56A483; border-radius: 999px; font-size: 0.85em; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #51876E; }
.ps-106 { margin: clamp(34px, 4.2vw, 60px) auto 0; max-width: 63%; }
.ps-107 { margin: clamp(40px, 5vw, 72px) 0 0; }
.ps-108 { max-width: 1440px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, minmax(0, 420px)); justify-content: center; gap: clamp(14px, 1.6vw, 23px); align-items: start; }
.ps-109 { position: relative; z-index: 1; width: min(72%, 1040px); margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: clamp(32px, 4.7vw, 68px); align-items: start; }
.ps-110 { position: relative; padding: clamp(56px, 7vw, 101px) 2.6%; }
.ps-111 { position: relative; z-index: 1; width: min(68%, 900px); margin: 0 auto; }
.ps-112 { position: relative; aspect-ratio: 3 / 2; }
.ps-113 { margin-top: clamp(20px, 2.4vw, 35px); text-wrap: pretty; }
.ps-114 { position: relative; overflow: hidden; background: #F3F3F3; padding: clamp(56px, 7vw, 101px) 2.6%; }
.ps-115 { position: relative; z-index: 1; max-width: 1200px; margin: 0 auto; }
.ps-116 { margin: 0 0 clamp(24px, 2.8vw, 40px); font-family: 'Avenir Heavy', Avenir, 'Avenir Next', 'Nunito Sans', sans-serif; font-size: 24px; font-weight: 700; color: #51876E; }
.ps-117 { display: flex; flex-wrap: wrap; align-items: center; gap: clamp(28px, 3.6vw, 52px); }
.ps-118 { position: relative; aspect-ratio: 4 / 3; flex: 1 1 560px; min-width: 0; }
.ps-119 { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; position: absolute; inset: 0; }
.ps-120 { flex: 1 1 300px; max-width: 320px; min-width: 0; text-wrap: pretty; }
.ps-121 { position: relative; z-index: 1; max-width: 1440px; margin: clamp(40px, 5vw, 72px) auto 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ps-122 { background: #6FAE93; padding: clamp(24px, 2.9vw, 42px) clamp(24px, 2.9vw, 42px) clamp(24px, 2.9vw, 42px) clamp(30px, 3.6vw, 52px); display: flex; flex-direction: column; gap: clamp(12px, 1.4vw, 20px); }
.ps-123 { font-family: Georgia, 'Times New Roman', serif; font-weight: 700; font-size: 1.9em; color: #FFFFFF; }
.ps-124 { margin: 0; text-wrap: pretty; color: #FFFFFF; }
.ps-125 { background: #56A483; padding: clamp(24px, 2.9vw, 42px) clamp(24px, 2.9vw, 42px) clamp(24px, 2.9vw, 42px) clamp(30px, 3.6vw, 52px); display: flex; flex-direction: column; gap: clamp(12px, 1.4vw, 20px); }
.ps-126 { background: #51876E; padding: clamp(24px, 2.9vw, 42px) clamp(24px, 2.9vw, 42px) clamp(24px, 2.9vw, 42px) clamp(30px, 3.6vw, 52px); display: flex; flex-direction: column; gap: clamp(12px, 1.4vw, 20px); }
.ps-127 { padding: clamp(56px, 7vw, 101px) 2.6% clamp(40px, 5vw, 72px); }
.ps-128 { margin: 0 0 clamp(36px, 4.2vw, 60px); text-align: center; font-family: 'Avenir Heavy', Avenir, 'Avenir Next', 'Nunito Sans', sans-serif; font-size: 24px; font-weight: 700; color: #51876E; }
.ps-129 { display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(32px, 3vw, 43px) clamp(10px, 1.2vw, 17px); text-align: center; align-items: flex-start; }
.ps-130 { flex: 1 1 0; min-width: 104px; max-width: 200px; display: flex; flex-direction: column; align-items: center; gap: clamp(10px, 0.9vw, 13px); }
.ps-131 { font-family: Georgia, 'Times New Roman', serif; font-weight: 700; font-size: clamp(32px, 3vw, 43px); line-height: 1; color: #51876E; }
.ps-132 { font-size: 0.7em; font-weight: 800; line-height: 1.3; color: #6C6C6C; text-wrap: balance; }
.ps-133 { font-size: 0.55em; }
.ps-134 { font-size: 0.6em; }
.ps-135 { position: relative; overflow: hidden; background: #F3F3F3; padding: clamp(56px, 7vw, 101px) 2.6%; text-align: center; }
.ps-136 { position: relative; z-index: 1; width: min(76%, 900px); margin: 0 auto; }
.ps-137 { margin: 0 0 clamp(28px, 3.6vw, 52px); font-family: 'Avenir Heavy', Avenir, 'Avenir Next', 'Nunito Sans', sans-serif; font-size: 24px; font-weight: 700; line-height: 1.4; color: #51876E; text-wrap: pretty; }
.ps-138 { position: relative; z-index: 1; max-width: 1440px; margin: 0 auto clamp(40px, 5vw, 72px); display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(20px, 2vw, 29px) clamp(6px, 0.8vw, 12px); align-items: flex-start; }
.ps-139 { flex: 1 1 0; min-width: 72px; max-width: 86px; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.ps-140 { position: relative; width: 100%; aspect-ratio: 86 / 216; }
.ps-141 { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center; position: absolute; inset: 0; }
.ps-142 { font-size: 0.72em; letter-spacing: 0.04em; line-height: 1.3; text-align: center; color: #6C6C6C; }
.ps-143 { display: block; margin: 0 auto clamp(20px, 2vw, 29px); width: clamp(96px, 7.3vw, 105px); height: auto; }
.ps-144 { margin: 0 0 clamp(32px, 4vw, 58px); font-weight: 800; letter-spacing: 0.02em; color: #6C6C6C; }
.ps-145 { margin: 0 auto; max-width: 74%; font-family: Georgia, 'Times New Roman', serif; font-weight: 700; font-size: clamp(19px, 1.77vw, 25px); line-height: 1.3; color: #51876E; text-wrap: pretty; }
.ps-146 { max-width: 1440px; margin: 0 auto; display: flex; flex-direction: column; gap: clamp(56px, 7vw, 101px); }
.ps-147 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr)); gap: clamp(32px, 4.7vw, 68px); align-items: center; }
.ps-148 { width: clamp(120px, 12.5vw, 180px); transform: rotate(25deg); display: block; margin-bottom: clamp(16px, 1.8vw, 26px); }
.ps-149 { margin: 0 0 1em; font-family: 'Avenir Heavy', Avenir, 'Avenir Next', 'Nunito Sans', sans-serif; font-size: 24px; font-weight: 700; color: #51876E; }
.ps-150 { position: relative; aspect-ratio: 4 / 3; }
.ps-151 { position: relative; z-index: 1; width: min(72%, 1040px); margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: clamp(28px, 3.13vw, 45px); align-items: center; text-align: left; }
.ps-152 { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: 1.25em; line-height: 1.4; color: #56A483; text-wrap: pretty; }
.ps-153 { padding: clamp(56px, 7vw, 101px) 2.6%; }
.ps-154 { max-width: 1440px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: clamp(32px, 4.7vw, 68px); align-items: center; }
.ps-155 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 1.8vw, 26px); }
.ps-156 { position: relative; aspect-ratio: 3 / 4; margin-top: clamp(20px, 2.6vw, 37px); }
.ps-157 { position: relative; aspect-ratio: 3 / 4; }
.ps-158 { position: relative; width: 100%; height: min(clamp(420px, 62.5vw, 1200px), 80vh); }
.ps-159 { background: #FFFFFF; padding: clamp(34px, 3.7vw, 53px) 6.51% clamp(20px, 2.2vw, 32px); text-align: center; }
.ps-160 { margin: 0 auto clamp(16px, 1.7vw, 24px); font-family: Georgia, 'Times New Roman', serif; font-weight: 700; font-size: clamp(19px, 1.77vw, 25px); line-height: 1.3; color: #51876E; }
.ps-161 { position: relative; background: #FFFFFF; padding: clamp(28px, 3vw, 43px) 0 clamp(56px, 7vw, 101px); overflow: hidden; }
.ps-162 { position: relative; z-index: 1; max-width: 1440px; margin: 0 auto; padding: 0 2.6%; box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(32px, 4.7vw, 68px); align-items: start; }
.ps-163 { display: block; width: clamp(140px, 13vw, 187px); height: auto; margin-bottom: clamp(20px, 2.2vw, 32px); }
.ps-164 { margin: 0 0 0.6em; font-family: 'Avenir Heavy', Avenir, 'Avenir Next', 'Nunito Sans', sans-serif; font-size: 24px; font-weight: 700; color: #51876E; }
.ps-165 { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(16px, 1.46vw, 21px); line-height: 1.4; color: #51876E; text-wrap: pretty; }
.ps-166 { margin: 0 0 1.4em; font-weight: 800; }
.ps-167 { margin: 0 0 1.4em; }
.ps-168 { position: relative; background: #F3F3F3; padding: clamp(56px, 7vw, 101px) 0; overflow: hidden; }
.ps-169 { max-width: min(72%, 860px); margin-bottom: clamp(40px, 4.7vw, 68px); }
.ps-170 { font-weight: 800; }
.ps-171 { margin: 0 0 1.4em; font-family: 'Avenir Heavy', Avenir, 'Avenir Next', 'Nunito Sans', sans-serif; font-size: 24px; font-weight: 700; color: #51876E; }
.ps-172 { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: clamp(28px, 3.13vw, 45px) clamp(24px, 2.6vw, 37px); }
.ps-173 { display: flex; flex-direction: column; gap: clamp(10px, 1vw, 14px); padding-top: clamp(14px, 1.4vw, 20px); border-top: 1px solid rgba(81, 135, 110, 0.35); }
.ps-174 { font-family: Georgia, 'Times New Roman', serif; font-weight: 700; font-size: clamp(28px, 2.6vw, 37px); line-height: 1; color: #51876E; }
.ps-175 { background: #FFFFFF; padding: clamp(56px, 7vw, 101px) 2.6% 0; }
.ps-176 { max-width: 1440px; margin: 0 auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(14px, 1.5vw, 22px); }
.ps-177 { position: relative; aspect-ratio: 3 / 2; margin-top: clamp(28px, 3.6vw, 52px); }
.ps-178 { background: #FFFFFF; padding: clamp(56px, 7vw, 101px) 2.6%; }
.ps-179 { max-width: 1440px; margin: 0 auto; font-size: 0.8em; }
.ps-180 { margin: 0 0 1.2em; font-family: 'Avenir Heavy', Avenir, 'Avenir Next', 'Nunito Sans', sans-serif; font-size: 18px; font-weight: 700; color: #51876E; }
.ps-181 { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: clamp(14px, 1.5vw, 22px) clamp(20px, 2.2vw, 32px); }
.ps-182 { padding-top: clamp(8px, 0.8vw, 12px); border-top: 1px solid rgba(81, 135, 110, 0.35); }
.ps-183 { margin: 0 0 0.3em; font-size: 0.78em; letter-spacing: 0.06em; text-transform: uppercase; color: #9A9A9A; }
.ps-184 { margin: 0; font-weight: 400; color: #6C6C6C; text-wrap: pretty; }
.ps-185 { margin: clamp(28px, 3vw, 43px) 0 0; }
.ps-186 { border-bottom: 1px solid #51876E; padding-bottom: 0.1em; }
.ps-187 { background: #F3F3F3; padding: clamp(56px, 7vw, 101px) 2.6%; text-align: center; }
.ps-188 { max-width: 1200px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: clamp(32px, 3.6vw, 52px); }
.ps-189 { width: 100%; }
.ps-190 { margin: 0 0 1.1em; font-family: 'Avenir Heavy', Avenir, 'Avenir Next', 'Nunito Sans', sans-serif; font-size: 20px; font-weight: 700; color: #51876E; }
.ps-191 { display: block; margin: 0 auto; width: 100%; max-width: 640px; height: auto; }
.ps-192 { display: inline-block; padding: clamp(11px, 1vw, 14px) clamp(22px, 2.3vw, 33px); border: 2px solid #56A483; border-radius: 999px; font-size: 0.75em; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #51876E; }
.ps-193 { margin: 0 auto; max-width: 66%; font-weight: 800; text-wrap: pretty; }
.ps-194 { position: relative; background: #FFFFFF; padding: clamp(40px, 4.3vw, 62px) 0 clamp(72px, 7.8vw, 112px); overflow: hidden; }
.ps-195 { position: absolute; right: -1%; top: clamp(40px, 4.3vw, 62px); width: clamp(120px, 12.5vw, 180px); transform: rotate(25deg); pointer-events: none; z-index: 0; }
.ps-196 { position: relative; z-index: 1; max-width: 1440px; margin: 0 auto; padding: 0 2.6%; box-sizing: border-box; display: flex; flex-direction: column; align-items: stretch; gap: clamp(40px, 5.2vw, 75px); }
.ps-197 { order: 2; width: min(76%, 900px); max-width: 900px; margin: 0 auto; box-sizing: border-box; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr)); gap: clamp(26px, 2.8vw, 40px) clamp(24px, 2.6vw, 37px); align-items: start; }
.ps-198 { grid-column: 1 / -1; margin: 0 0 calc(clamp(12px, 1.2vw, 17px) - clamp(26px, 2.8vw, 40px)); font-family: 'Avenir Heavy', Avenir, 'Avenir Next', 'Nunito Sans', sans-serif; font-size: 24px; font-weight: 700; color: #51876E; }
.ps-199 { margin: 0 0 0.4em; font-size: 1em; font-weight: 800; color: #51876E; }
.ps-200 { margin: 0 0 0.6em; font-size: 1em; font-weight: 800; color: #51876E; }
.ps-201 { display: inline-block; }
.ps-202 { grid-column: 1 / -1; margin: 0; text-wrap: pretty; }
.ps-203 { order: 1; width: min(76%, 900px); max-width: 900px; margin: 0 auto; background: #F3F3F3; padding: clamp(28px, 3.3vw, 48px); box-sizing: border-box; }
.ps-204 { display: flex; flex-direction: column; gap: clamp(14px, 1.5vw, 22px); min-height: 320px; justify-content: center; }
.ps-205 { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-weight: 700; font-size: clamp(19px, 1.77vw, 25px); line-height: 1.3; color: #51876E; }
.ps-206 { align-self: start; padding: 0 0 0.15em; border: 0; border-bottom: 1px solid #51876E; background: none; font: inherit; font-weight: 800; color: #51876E; cursor: pointer; }
.ps-207 { display: flex; flex-direction: column; gap: clamp(20px, 2.1vw, 30px); }
.ps-208 { margin: 0; font-family: 'Avenir Heavy', Avenir, 'Avenir Next', 'Nunito Sans', sans-serif; font-size: 24px; font-weight: 700; color: #51876E; }
.ps-209 { display: flex; gap: 0; border: 2px solid #56A483; border-radius: 999px; align-self: start; overflow: hidden; }
.ps-210 { padding: clamp(10px, 0.9vw, 13px) clamp(20px, 2vw, 29px); border: 0; background: #56A483; color: #FFFFFF; font: inherit; font-size: 0.85em; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; cursor: pointer; transition: background .2s ease, color .2s ease; }
.ps-211 { padding: clamp(10px, 0.9vw, 13px) clamp(20px, 2vw, 29px); border: 0; background: transparent; color: #51876E; font: inherit; font-size: 0.85em; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; cursor: pointer; transition: background .2s ease, color .2s ease; }
.ps-212 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: clamp(20px, 2.1vw, 30px) clamp(20px, 2.1vw, 30px); }
.ps-213 { display: flex; flex-direction: column; gap: 6px; }
.ps-214 { font-size: 0.8em; font-weight: 800; color: #51876E; }
.ps-215 { padding: 10px 0; border: 0; border-bottom: 1px solid #9A9A9A; background: transparent; outline: none; }
.ps-216 { padding: 10px 0; border: 0; border-bottom: 1px solid #9A9A9A; background: transparent; outline: none; cursor: pointer; }
.ps-217 { padding: 10px 0; border: 0; border-bottom: 1px solid #9A9A9A; background: transparent; outline: none; resize: vertical; }
.ps-218 { display: flex; align-items: flex-start; gap: 10px; font-size: 0.8em; cursor: pointer; }
.ps-219 { margin: 0.25em 0 0; accent-color: #56A483; width: 16px; height: 16px; flex: none; }
.ps-220 { color: #6C6C6C; }
.ps-221 { color: #51876E; text-decoration: underline; }
.ps-222 { margin: 0; font-size: 0.8em; color: #B0563A; }
.ps-223 { align-self: start; padding: clamp(14px, 1.25vw, 18px) clamp(28px, 2.9vw, 42px); border: 2px solid #56A483; border-radius: 999px; background: transparent; font: inherit; font-size: 0.85em; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #51876E; cursor: pointer; }
.ps-224 { background: #FFFFFF; padding: 0 2.6% clamp(40px, 4.3vw, 62px); text-align: center; }
.ps-225 { margin: 0 auto; max-width: 66%; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(16px, 1.46vw, 21px); line-height: 1.45; color: #56A483; text-wrap: pretty; }

/* ---------- Hover ---------- */
.psh-0:hover { opacity: 0.6 !important; }
.psh-1:hover { color: #51876E !important; }
.psh-2:hover { text-decoration: none !important; }
.psh-3:hover { background: #56A483 !important; color: #FFFFFF !important; text-decoration: none !important; }
.psh-4:hover { color: #56A483 !important; }
.psh-5:hover { background: #56A483 !important; color: #FFFFFF !important; }

/* ---------- Responsive ---------- */
@media (max-width: 760px) {
  [data-m~="root"] { font-size: 16px !important; }
  [data-m~="stack"] { grid-template-columns: minmax(0, 1fr) !important; }
  [data-m~="stack"] > * { grid-column: auto !important; grid-row: auto !important; }
  [data-m~="g2"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  [data-m~="hide"] { display: none !important; }
  [data-m~="foot"] { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 10px 22px; font-size: 12px !important; }
  [data-m~="foot"] > * { order: 1; }
  [data-m~="foot"] > :nth-child(2) { order: 2; flex-basis: 100%; text-align: center; }
  [data-m~="fs12"] { font-size: 11px !important; }
  [data-m~="fs1"] { font-size: 1em !important; }
  [data-m~="fs85"] { font-size: 0.85em !important; }
  [data-m~="full"] { width: 100% !important; max-width: 100% !important; }
}
@media (min-width: 761px) and (max-width: 1180px) {
  [data-m~="root"] { font-size: 15px !important; }
  [data-m~="foot"] { font-size: 11px !important; }
  [data-m~="fs12"] { font-size: 10px !important; }
  [data-m~="fs1"] { font-size: 0.9em !important; }
}

/* ---------- Termos e condições ---------- */
.ps-legal { background: #FFFFFF; padding: clamp(34px, 3.7vw, 53px) 6.51% clamp(56px, 6vw, 86px); }
.ps-legal-inner { max-width: 760px; margin: 0 auto; }
.ps-legal-selo { display: block; width: clamp(120px, 14.6vw, 210px); height: auto; margin: 0 auto clamp(20px, 2.1vw, 30px); }
.ps-legal-title { margin: 0 0 clamp(20px, 2.1vw, 30px); text-align: center; font-family: Georgia, 'Times New Roman', serif; font-weight: 700; font-size: clamp(19px, 1.77vw, 25px); line-height: 1.3; color: #51876E; }
.ps-legal-lead { margin: 0 0 clamp(30px, 3.2vw, 46px); text-align: center; font-weight: 800; text-wrap: pretty; }
.ps-legal-inner h2 { margin: clamp(28px, 2.8vw, 40px) 0 .6em; font-family: 'Avenir Heavy', Avenir, 'Avenir Next', 'Nunito Sans', sans-serif; font-weight: 700; font-size: clamp(16px, 1.25vw, 18px); color: #56A483; }
.ps-legal-inner p { margin: 0 0 1em; text-wrap: pretty; }
.ps-legal-inner a { color: #51876E; }
