/******00) REGRAS GERAIS ******/

body {background-color: #fff; font-family: 'DINPro', sans-serif; font-weight: 400;}
* {margin: 0; font-size: 16px; padding: 0; box-sizing: border-box; position: relative; text-decoration: none; scroll-behavior: smooth; scroll-margin-top: 83px; -ms-overflow-style: none; letter-spacing: -0.025em;}
div {display: block;}
::-webkit-scrollbar {display: none;}
::selection {background-color: #76b83e; color:#023c36;}
ul, li, figure {list-style:none; margin: 0; padding: 0;}
img {max-width: 100%;;}
a, span {display: block;}
p {color: #023c36; text-decoration:none; margin:0; padding:0; font-size: 16px; line-height: 1.5; font-weight: 400;}
p strong {font-weight: 600;}
a, span, li {display: block; line-height: 1; font-weight: 500; list-style: none; text-decoration: none;}
a {transition: .3s all ease;}
p > a {display: initial;}
a, path {transition: all 0.2s linear;}
h1, h2 , h3 , h4 , h5 , h6 {font-weight: 600 ; letter-spacing: -0.05em; line-height: 1.1;}
select::-ms-expand {display: none;}

.container {width: 100%; max-width: 1920px; margin: 0 auto; padding: 0 120px; position: relative;}

.d-flex {display: flex; align-items: center;}
.d-table {display: table;}
.ovflow {overflow-x: scroll; overflow-y: hidden; flex-wrap: nowrap;}
.ovflow::-webkit-scrollbar {display: none;}
.vh {height: 100vh; padding: 0; min-height: 520px;}
.vw {width: 100vw; padding: 0;}
.ph {height: 100%;}
.pw {width: 100%;}
.ov-hid {overflow: hidden;}
.txt-c {text-align: center;}
.txt-r {text-align: right;}
.p-fix {position: fixed;}
.p-abs {position: absolute;}
.j-sb {justify-content: space-between;}

.c-holder {position: absolute; top: 50%; transform: translateY(-50%); left: 0; right: 0; margin: 0 auto;}
.v-holder {position: absolute; top: 50%; transform: translateY(-50%);}
.m-holder {margin: 0 auto; left: 0; right: 0;}
.cov-holder {position: relative;}
.cov-holder img {position: absolute; left: 0; top:0; width: 100%; height: 100%; min-width: 100%; min-height: 100%; object-fit: cover; object-position: 50% 50%;}
.if-holder {overflow: hidden; position: relative; width:100%;}
.if-holder::after {padding-top: 56.25%; display: block; content: '';}
.if-holder iframe {position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none;}
.p-r0 {right: 0;}
.p-l0 {left: 0;}
.p-b0 {bottom: 0;}
.p-t0 {top: 0;}
.fig-cover img {left: 0; top: 0; height: 100%; width: 100%; min-height: 100%; min-width: 100%; object-fit: cover; position: absolute;}

.bg00 {background-color: #fff;}
.bg01 {background-color: #005859;}
.bg02 {background-color: #76b83e;}
.bg03 {background-color: #f1f1f1;}
.bg04 {background-color: #023c36;}
.c00, .c00 * {color: #FFFDF5;}
.c01, .c01 * {color: #005859;}
.c02, .c02 * {color: #76b83e;}
.c03, .c03 * {color: #f1f1f1;}
.c04, .c04 * {color: #023c36;}

.fix-btn {background-color: #76b83e; color: #fff; padding: 12px 24px 11px; font-weight: 600; box-shadow: 8px 12px 20px rgba(0, 0, 0, 0.25); width: fit-content; text-align: center; border-radius: 16px 0 16px; text-transform: uppercase; font-size: 18px; letter-spacing: 1px; position: fixed; right: 100px; bottom: 5%; z-index: 99;}
.fix-btn:hover {background-color: #005859; color: #76b83e;}

/******01) FONT EMBEDS ******/

@font-face {
    font-family: 'DINPro';
    src: url('assets/fonts/dinpro-regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DINPro';
    src: url('assets/fonts/dinpro-bold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DINPro';
    src: url('assets/fonts/dinpro-italic.woff2') format('woff2');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

/*HEADER*/
header {padding: 16px 0; position: fixed; z-index: 99; width: 100%;}
header .logo img {filter: brightness(0) saturate(0) invert(1); height: 50px;}
header ul {gap: 24px;}
header li a {text-transform: uppercase; font-size: 15px;}
header li a:hover {color: #76b83e;}
header .cta a {background-color: #023c36; color: #76b83e; font-weight: 600; padding: 6px 12px;}
header .cta a:hover {background-color: #76b83e; color: #023c36;}

main {padding-top: 83px;}

/* MENU TOGGLE */
.menu-toggle {display: none; position: relative; width: 52px; height: 42px; padding: 0; border: 0; background: transparent; cursor: pointer; z-index: 1001;}
.menu-toggle span {position: absolute; left: 0; width: 52px; height: 3px; background: #76b83e; transform-origin: center; transition: transform 0.25s ease, opacity 0.2s ease, top 0.25s ease;}
.menu-toggle span:nth-child(1) {top: 8px;}
.menu-toggle span:nth-child(2) {top: 20px;}
.menu-toggle span:nth-child(3) {top: 32px;}
.menu-toggle.active span:nth-child(1) {top: 20px; transform: rotate(45deg);}
.menu-toggle.active span:nth-child(2) {opacity: 0;}
.menu-toggle.active span:nth-child(3) {top: 20px; transform: rotate(-45deg);}

/* MOBILE MENU */
.mobile-menu {display: none; position: fixed; top: 83px; left: 0; width: 100%; background: #005859; z-index: 998; border-top: 1px solid #76b83e; transform: translateY(-12px); opacity: 0; pointer-events: none; transition: opacity 0.25s ease, transform 0.25s ease;}
.mobile-menu.open {opacity: 1; transform: translateY(0); pointer-events: auto;}
.mobile-menu ul {width: 100%; display: flex; flex-direction: column; gap: 0; margin: 0; padding: 0; list-style: none;}
.mobile-menu li {width: 100%; border-bottom: 1px solid #76b83e;}
.mobile-menu li:last-child {background: #003f3d; border-bottom: 0;}
.mobile-menu a {display: block; width: 100%; padding: 38px 7.5vw 34px; color: #fff; text-decoration: none; text-transform: uppercase; font-size: clamp(44px, 8vw, 72px); line-height: 1; font-weight: 300; letter-spacing: -0.03em;}
.mobile-menu li:last-child a {color: #76b83e; font-weight: 900;}
.mobile-menu a:hover {color: #76b83e;}

/* HERO */
.raizen-hero {width: 100%; overflow: hidden;}

/* desktop */
.raizen-hero-desktop {position: relative; width: 100%; min-height: clamp(620px, 44vw, 780px); background: #bfbfbf; display: flex; align-items: center; overflow: hidden;}
.raizen-hero-desktop .container {position: relative; z-index: 2; width: 100%;}
.raizen-hero-bg {position: absolute; inset: 0; z-index: 1;}
.raizen-hero-bg img {width: 100%; height: 100%; object-fit: cover; display: block;}
.raizen-hero-desktop .container {position: relative; z-index: 2;}
.raizen-hero-inner {position: relative; z-index: 2; width: 100%; height: clamp(500px, 34vw, 640px); margin: 0 auto; padding: 0;}
.raizen-hero-frame {position: absolute; top: 0; right: 0; width: 71%; height: 100%; border: 4px solid #fff; border-radius: 0 34px 34px 0; z-index: 4; pointer-events: none;}
.raizen-hero-people-secondary {position: absolute; right: -8%; bottom: -40%; width: clamp(360px, 32vw, 620px); max-height: 118%; object-fit: contain; z-index: 3;}
.raizen-hero-seal {position: absolute; right: -3%; bottom: -6%; width: clamp(100px, 7vw, 120px); z-index: 6;}
.raizen-hero-people-main {position: absolute; left: 41%; bottom: -22%; width: clamp(360px, 30vw, 570px); max-height: 128%; object-fit: contain; z-index: 5;}
.raizen-hero-content {position: relative; z-index: 7; width: 41%; height: 100%; min-height: initial; background: #fff; padding: clamp(58px, 4.5vw, 86px) clamp(48px, 3.8vw, 72px) clamp(52px, 3.8vw, 70px) clamp(58px, 4.5vw, 86px); display: flex; flex-direction: column; justify-content: center;}
.raizen-hero-logo {display: inline-flex; align-items: center; align-self: flex-start; gap: 6px; color: #005859; border: 2px solid #005859; border-radius: 18px 0 18px 0; padding: 16px 36px 14px; margin-bottom: clamp(38px, 3.2vw, 60px); font-size: clamp(18px, 1.35vw, 26px); line-height: 1; letter-spacing: 0.01em;}
.raizen-hero-logo strong {font-weight: 400; font-size: inherit;}
.raizen-hero-content h2 {position: relative; margin: 0 0 clamp(42px, 3.2vw, 64px); padding-left: 32px; color: #005859; font-size: clamp(34px, 3vw, 54px); line-height: 1.06; font-weight: 300; text-transform: uppercase; letter-spacing: -0.03em;}
.raizen-hero-content h2::before {content: ""; position: absolute; left: 0; top: 4px; width: 5px; height: 100%; background: #76b83e;}
.raizen-hero-content h2 span {display: block;}
.raizen-hero-content h2 strong {color: #76b83e; font-weight: 600; font-size: inherit;}
.raizen-hero-button {display: inline-flex; align-items: center; justify-content: center; align-self: flex-start; min-width: clamp(240px, 16vw, 300px); min-height: 60px; padding: 12px 28px 11px; background: #005859; color: #fff; border-radius: 18px 0 18px 0; text-decoration: none; text-transform: uppercase; font-size: clamp(17px, 1.2vw, 24px); font-weight: 600; letter-spacing: 0.03em;}
.raizen-hero-button:hover {color: #76b83e;}

/* mobile */
.raizen-hero-mobile {display: none; background: #005859; color: #fff; overflow: hidden; padding-bottom: 80px; padding-top: 20px;}
.raizen-mobile-logo {display: inline-flex; align-items: center; gap: 6px; background: #fff; color: #005859; border-radius: 32px 0 32px 0; padding: 16px 28px 15px; margin-bottom: 56px; font-size: clamp(20px, 5vw, 36px); line-height: 1; font-weight: 800; letter-spacing: 0.01em;}
.raizen-mobile-logo strong {font-weight: 400; font-size: inherit;}
.raizen-hero-mobile h2 {position: relative; margin: 0 0 34px; padding-left: 30px; color: #fff; font-size: clamp(38px, 10vw, 82px); line-height: 1.02; font-weight: 300; text-transform: uppercase; letter-spacing: -0.04em;}
.raizen-hero-mobile h2::before {content: ""; position: absolute; left: 0; top: 5px; width: 8px; height: 100%; background: #76b83e;}
.raizen-hero-mobile h2 strong {color: #76b83e; font-weight: 600; font-size: inherit;}
.raizen-mobile-image-wrap {position: relative; width: 100%; margin-bottom: 8vh;}
.raizen-mobile-image {width: 100%; display: block;}
.raizen-mobile-seal {position: absolute; right: 5%; bottom: -9%; width: clamp(70px, 20vw, 120px); z-index: 2;}
.raizen-mobile-button {display: flex; align-items: center; justify-content: center; width: fit-content; margin: 0 auto; padding: 16px 24px 15px; border: 3px solid #76b83e; border-radius: 26px 0 26px 0; color: #fff; text-decoration: none; text-transform: uppercase; font-size: clamp(18px, 5vw, 32px); font-weight: 600; letter-spacing: 0.03em;}

/* S02 :: REQUISITOS */
.requisitos {width: 100%; padding: 78px 0 70px; background: #fff; color: #005859; overflow: hidden;}
.requisitos .container {display: flex; flex-direction: column; align-items: center;}
.requisitos h2 {width: 100%; margin: 0 0 62px; color: #005859; text-align: center; font-size: clamp(34px, 3.1vw, 58px); line-height: 1.08; font-weight: 300; letter-spacing: -0.04em;}
.requisitos h2 strong {font-weight: 700; font-size: inherit;}
.requisitos-grid {width: 100%; display: grid; grid-template-columns: repeat(3, 1fr); gap: 42px;}
.requisitos-card {min-height: 300px; background: #f0f0f0; border-radius: 0 28px 28px 0; padding: 40px 42px 34px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;}
.requisitos-icon {width: 84px; height: 84px; margin: 0 0 22px; border-radius: 50%; background: #76b83e; display: flex; align-items: center; justify-content: center; flex: 0 0 auto;}
.requisitos-icon img {height: 100%; max-height: 56px; max-width: 48px; object-fit: contain; display: block;}
.requisitos-text h3 {margin: 0 0 14px; color: #003f3d; font-size: clamp(21px, 1.4vw, 28px); line-height: 1.1; font-weight: 600; text-transform: uppercase; letter-spacing: 0.02em;}
.requisitos-text p {margin: 0; color: #003f3d; font-size: clamp(19px, 1.25vw, 26px); line-height: 1.2; font-weight: 300;}
.requisitos-button {display: inline-flex; align-items: center; justify-content: center; align-self: flex-start; min-width: clamp(240px, 16vw, 300px); min-height: 60px; padding: 12px 42px 11px; background: #005859; color: #fff; border-radius: 18px 0 18px 0; text-decoration: none; text-transform: uppercase; font-size: clamp(17px, 1.2vw, 24px); font-weight: 600; letter-spacing: 0.03em; margin: 56px auto 0;}
.requisitos-button:hover {color: #76b83e;}

/* S03 :: BENEFÍCIOS */
.beneficios {width: 100%; padding: 96px; background: #005859; color: #fff; overflow: hidden;}
.beneficios .container {display: flex; flex-direction: column; align-items: center;}
.beneficios h2 {width: 100%; margin: 0 0 58px; color: #fff; text-align: center; font-size: clamp(38px, 3.1vw, 62px); line-height: 1.08; font-weight: 300; letter-spacing: -0.04em;}
.beneficios h2 strong {font-weight: 800; font-size: inherit;}
.beneficios-wrap {width: 100%; display: grid; grid-template-columns: 45% 55%; align-items: flex-start; gap: 54px;}
.beneficios-image {width: 100%; position: relative;}
.beneficios-image img {width: 100%; display: block; border-radius: 0 70px 70px 0;}
.beneficios-content {position: relative; width: 100%;}
.beneficios-slider {width: 100%; overflow: visible;}
.beneficios-list {width: 100%; display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px 28px; margin-top: 10%;}
.beneficios-item {min-height: 80px; border: 2px solid #76b83e; border-radius: 0 44px 44px 0; display: grid; grid-template-columns: 80px 1fr; align-items: center; overflow: hidden;}
.beneficios-icon {width: 84px; height: 100%; min-height: 80px; background: #76b83e; display: flex; align-items: center; justify-content: center;}
.beneficios-icon img {width: 40px; height: 40px; object-fit: contain; display: block;}
.beneficios-item p {margin: 0; padding: 12px 22px; color: #fff; font-size: clamp(18px, 1.25vw, 25px); line-height: 1.1;}
.beneficios-note {min-height: 80px; margin: 0; color: #fff; font-size: clamp(18px, 1.2vw, 24px); line-height: 1.2; font-weight: 300; display: flex; align-items: center; padding: 12px 0;}
.beneficios-button {display: inline-flex; align-items: center; justify-content: center; min-width: clamp(240px, 16vw, 300px); min-height: 60px; padding: 12px 42px 11px; margin: 84px auto 0; background: #76b83e; color: #fff; border-radius: 18px 0 18px 0; text-decoration: none; text-transform: uppercase; font-size: clamp(22px, 1.45vw, 30px); line-height: 1; font-weight: 600; letter-spacing: 0.05em;}
.beneficios-button:hover {background: #fff; color: #005859;}
.beneficios-arrow {display: none;}
.beneficios-dots {display: none;}
.beneficios-image .beneficios-button {margin-top: 56px;}

/* S04 :: ETAPAS */
.etapas {width: 100%; padding: 72px 0; background: #fff; color: #005859; overflow: hidden;}
.etapas .container {display: flex; flex-direction: column;}
.etapas h2 {width: 100%; margin: 0 0 56px; color: #005859; font-size: clamp(38px, 3vw, 58px); line-height: 1.08; font-weight: 300; letter-spacing: -0.04em;}
.etapas h2 strong {font-weight: 800; font-size: inherit;}
.etapas-wrap {width: 100%; display: grid; grid-template-columns: 63% 32%; gap: 5%; align-items: start;}
.etapas-list {width: 100%; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px;}
.etapas-item {min-height: 330px; background: #f0f0f0; padding: 42px 26px 34px; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; text-align: center;}
.etapas-item span {display: block; margin: 0 0 34px; color: #005859; font-size: clamp(48px, 3.8vw, 76px); line-height: 0.8; font-weight: 800; letter-spacing: -0.04em;}
.etapas-item h3 {margin: 0 0 18px; color: #003f3d; font-size: clamp(18px, 1.25vw, 25px); line-height: 1.1; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em;}
.etapas-item p {margin: 0; color: #003f3d; font-size: clamp(17px, 1.15vw, 23px); line-height: 1.2; font-weight: 300;}
.etapas-side {width: 100%; display: flex; flex-direction: column; align-items: center;}
.etapas-side img {width: 100%; display: block; border-radius: 0 70px 70px 0; margin: -13.5% 0 110px;}
.etapas-button {display: inline-flex; align-items: center; justify-content: center; min-width: clamp(240px, 16vw, 300px); min-height: 60px; padding: 12px 42px 11px; background: #005859; color: #fff; border-radius: 18px 0 18px 0; text-decoration: none; text-transform: uppercase; font-size: clamp(22px, 1.45vw, 30px); line-height: 1; font-weight: 600; letter-spacing: 0.05em;}
.etapas-button:hover {color: #76b83e;}
.etapas-button-mobile {display: none;}

/* S05 :: SOMOS RAÍZEN */
.somos {width: 100%; padding: 92px 0 76px; background: #005859; color: #fff; overflow: hidden;}
.somos .container {display: flex; flex-direction: column;}
.somos-wrap {width: 100%; display: grid; grid-template-columns: 45% 45%; gap: 10%; align-items: flex-start;}
.somos h2 {margin: 0 0 48px; color: #fff; font-size: clamp(38px, 3vw, 58px); line-height: 1.08; font-weight: 300; letter-spacing: -0.04em;}
.somos h2 strong {font-weight: 800; font-size: inherit;}
.somos-video-col {width: 100%;}
.somos-video {position: relative; width: 100%; aspect-ratio: 16 / 9; background: #003f3d; box-shadow: 8px 8px 0 #76b83e; overflow: hidden;}
.somos-video iframe {position: absolute; inset: 0; width: 100%; height: 100%; display: block;}
.somos-video-col p {max-width: 480px; margin: 60px auto 0; color: #fff; text-align: center; font-size: clamp(20px, 1.35vw, 27px); line-height: 1.3; font-weight: 300; letter-spacing: 0.02em;}
.somos-depoimentos-col {width: 100%;}
.depoimentos-desktop {width: 100%;}
.depoimentos-card {position: relative; width: 100%; min-height: 330px; background: #003f3d; display: grid; grid-template-columns: 35% 1fr; align-items: stretch;}
.depoimentos-card-person {width: 100%; display: grid; grid-template-rows: 1fr auto;}
.depoimentos-card-image {width: 100%; height: 100%; min-height: 180px; object-fit: cover; object-position: top center; display: block;}
.depoimentos-card-text {padding: 40px; display: flex; align-items: center;}
.depoimentos-card-text blockquote {margin: 0; color: #fff; font-size: clamp(20px, 1.35vw, 27px); line-height: 1.35; font-style: italic; font-weight: 300;}
.depoimentos-card-info {position: relative; left: auto; bottom: auto; width: 100%; min-height: 85px; padding: 18px 16px 20px; color: #76b83e; background: #003f3d;}
.depoimentos-card-info strong {display: block; color: #76b83e; font-size: clamp(17px, 1.1vw, 22px); line-height: 1.1; font-weight: 600;}
.depoimentos-card-info span {display: block; margin-top: 4px; color: #76b83e; font-size: clamp(16px, 1vw, 21px); line-height: 1.1; font-weight: 300;}
.depoimentos-card::after {content: ""; position: absolute; left: var(--depoimento-arrow-left, 52px); transform: translateX(-50%); bottom: -32px; width: 0; height: 0; border-left: 18px solid transparent; border-right: 18px solid transparent; border-top: 32px solid #003f3d;}
.depoimentos-thumbs {width: 100%; margin-top: 70px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;}
.depoimentos-thumb {position: relative; width: 100%; aspect-ratio: 1.2 / 1; padding: 0; border: 0; background: transparent; cursor: pointer; opacity: 0.5; transition: opacity 0.25s ease;}
.depoimentos-thumb:hover {opacity: 1;}
.depoimentos-thumb.active {opacity: 1;}
.depoimentos-thumb img {width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; box-shadow: 5px 5px 0 #76b83e;}
.depoimentos-mobile {display: none;}

/* S06 :: CTA FINAL */
.cta-final {position: relative; width: 100%; min-height: 520px; background: #d5dee4; overflow: hidden;}
.cta-final-bg {position: absolute; inset: 0; z-index: 1;}
.cta-final-bg img {width: 100%; height: 100%; object-fit: cover; display: block;}
.cta-final .container {position: relative; z-index: 2;}
.cta-final-wrap {width: 100%; min-height: 520px; display: grid; grid-template-columns: 45% 45%; gap: 10%; align-items: center;}
.cta-final-image {position: relative; width: 100%; align-self: end;}
.cta-final-image-desktop {width: 112%; max-width: none; margin-bottom: -2%;}
.cta-final-image-mobile {display: none;}
.cta-final-content {position: relative; z-index: 3; padding: 0 60px;}
.cta-final-content h2 {margin: 0 0 54px; color: #023c36; font-size: clamp(36px, 3vw, 48px); line-height: 1.08; font-weight: 300; letter-spacing: -0.04em;}
.cta-final-content h2 strong {font-weight: 800; font-size: inherit;}
.cta-final-button {display: inline-flex; align-items: center; justify-content: center; min-width: clamp(340px, 24vw, 520px); min-height: 72px; padding: 18px 44px 15px; background: #005859; color: #fff; border-radius: 18px 0 18px 0; text-decoration: none; text-transform: uppercase; font-size: clamp(22px, 1.45vw, 30px); line-height: 1; font-weight: 600; letter-spacing: 0.05em;}
.cta-final-button:hover {color: #76b83e;}

/* S07 :: PROGRAMAS */
.programas {width: 100%; padding: 72px 0 76px; background: #005859; color: #fff; overflow: hidden;}
.programas .container {display: flex; flex-direction: column;}
.programas-grid {width: 100%; display: grid; grid-template-columns: repeat(2, 1fr); gap: 140px;}
.programas-card {position: relative; min-height: 410px; border: 3px solid #fff; border-radius: 0 34px 34px 0; display: flex; align-items: center;}
.programas-selo {position: absolute; left: 0; top: 50%; width: clamp(90px, 7vw, 120px); transform: translate(-50%, -50%); z-index: 2;}
.programas-content {width: 100%; padding: 54px 76px 54px 110px;}
.programas-content h2 {margin: 0 0 20px; color: #fff; font-size: clamp(30px, 2.3vw, 46px); line-height: 1.2; font-weight: 600; letter-spacing: -0.02em;}
.programas-content p {max-width: 500px; margin: 0 0 34px; color: #fff; font-size: clamp(20px, 1.5vw, 28px); line-height: 1.45; font-weight: 300;}
.programas-button {display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 16px 28px 15px; border-radius: 18px 0 18px 0; text-decoration: none; text-transform: uppercase; font-size: clamp(18px, 1.15vw, 24px); line-height: 1; font-weight: 600; letter-spacing: 0.05em;}
.programas-button-green {background: #76b83e; color: #fff;}
.programas-button-green:hover {background: #fff; color: #005859;}
.programas-button-white {background: #fff; color: #003f3d;}

/* FOOTER */
footer {padding: 24px 0;}
footer a {text-align: center;}
footer img {width: 140px;}

/***************************************** MOBILE *****************************************/


@media (min-width: 1321px) {
.dn1321 {display: none;}
}

@media (max-width: 1320px) {
.dn1320 {display: none;}
.raizen-hero-desktop {min-height: 620px;}
.raizen-hero-inner {height: 520px;}
.raizen-hero-content {width: 43%; padding: 64px 50px 58px 64px;}
.raizen-hero-people-main {left: 36%; width: clamp(330px, 36vw, 500px);}
.raizen-hero-people-secondary {right: -20%; width: clamp(360px, 40vw, 560px);}
.raizen-hero-seal {right: -2%; width: 110px;}

.beneficios-wrap {grid-template-columns: 1fr; gap: 32px;}

.etapas-item {min-height: initial; padding: 28px 16px;}
}

@media screen and (max-width: 1080px) {
.dn1080 {display: none;}
.container {padding: 0 80px;}
header .container {justify-content: space-between;}
.menu-toggle {display: block;}
.mobile-menu {display: block;}

.raizen-hero-desktop {display: none;}
.raizen-hero-mobile {display: block;}

.requisitos {padding: 58px 0 62px;}
.requisitos .container {align-items: flex-start;}
.requisitos h2 {max-width: 760px; margin: 0 0 60px; text-align: left; font-size: clamp(36px, 5.5vw, 56px); line-height: 1.04; letter-spacing: -0.05em;}
.requisitos h2 strong {display: block;}
.requisitos-grid {display: flex; flex-direction: column; gap: 54px;}
.requisitos-card {width: 100%; min-height: initial; background: transparent; border-radius: 0; padding: 0; flex-direction: row; align-items: center; justify-content: flex-start; text-align: left;}
.requisitos-icon {width: 100px; height: 100px; margin: 0 clamp(38px, 7vw, 64px) 0 0;}
.requisitos-icon img {width: 52%; height: 52%;}
.requisitos-text {flex: 1;}
.requisitos-text h3 {margin: 0 0 22px; font-size: 32px;}
.requisitos-text p {font-size: 22px; line-height: 1.23;}
.requisitos-button {font-size: clamp(18px, 5vw, 32px); margin-top: 72px;}

.beneficios h2 {font-size: clamp(36px, 5.5vw, 56px);}
.beneficios-item {grid-template-columns: 76px 1fr; min-height: 80px;}
.beneficios-icon {width: 76px; min-height: 80px;}
.beneficios-icon img {width: 38px; height: 38px;}
.beneficios-item p {font-size: 18px; padding: 10px 18px;}
.beneficios-button {font-size: clamp(18px, 5vw, 32px);}

.etapas-wrap {grid-template-columns: 1fr; gap: 5%;}
.etapas-list {gap: 10px;}
.etapas-item {min-height: 220px; padding: 34px 20px 28px;}
.etapas-side img {margin-bottom: 80px;}   
.etapas-button-mobile {display: inline-flex; width: fit-content; margin: 56px auto 0; font-size: clamp(18px, 5vw, 32px); min-height: 60px; font-size: clamp(18px, 5vw, 32px);}

.somos-wrap {grid-template-columns: 1fr; gap: 8%;}
.depoimentos-thumbs {gap: 48px;}

.cta-final {min-height: 480px;}
.cta-final-wrap {min-height: 480px; grid-template-columns: 54% 46%;}
.cta-final-image-desktop {width: 118%; margin-left: -12%;}
.cta-final-content {padding-left: 30px;}
.cta-final-button {width: fit-content; min-width: initial; margin: 0 auto; padding: 26px 34px 22px; border-radius: 24px 0 24px 0; font-size: clamp(18px, 5vw, 32px);}

.programas-grid {gap: 90px; grid-template-columns: 1fr;}
.programas-card {min-height: 360px;}
.programas-content {padding: 46px 36px 46px 72px;}
}

@media screen and (min-width: 769px) {
.dn769 {display: none;}
}

@media screen and (max-width: 768px) {
.dn768 {display: none;}
.container {padding: 0 40px;}
header .logo img {width: 120px;}
.menu-toggle {width: 42px; }
.menu-toggle span {width: 42px; height: 2px;}
.menu-toggle span:nth-child(1) {top: 7px;}
.menu-toggle span:nth-child(2) {top: 17px;}
.menu-toggle span:nth-child(3) {top: 27px;}
.menu-toggle.active span:nth-child(1) {top: 17px;}
.menu-toggle.active span:nth-child(3) {top: 17px;}
.mobile-menu a {padding: 30px 7.5vw 27px; font-size: 24px;}

.raizen-mobile-logo {border-radius: 16px 0 16px 0;}

.beneficios {padding: 68px 0 58px;}
.beneficios .container {align-items: center;}
.beneficios h2 {max-width: 650px; margin: 0 auto 42px; text-align: left; font-size: clamp(36px, 5.5vw, 56px); line-height: 1.08;}
.beneficios h2 strong {display: inline;}
.beneficios-wrap {display: flex; flex-direction: column; gap: 48px;}
.beneficios-content {width: 100%; padding: 0 64px;}
.beneficios-slider {width: 100%; overflow: hidden;}
.beneficios-list {display: flex; width: 100%; gap: 0; transition: transform 0.35s ease;}
.beneficios-slide {width: 100%; min-width: 100%; display: flex; flex-direction: column; gap: 24px;}
.beneficios-item {width: 100%; min-height: 92px; border: 2px solid #76b83e; border-radius: 0 32px 32px 0; display: grid; grid-template-columns: 104px 1fr;}
.beneficios-icon {width: 104px; min-height: 92px;}
.beneficios-icon img {width: 52px; height: 52px;}
.beneficios-item p {font-size: 20px;}
.beneficios-arrow {display: block; position: absolute; top: 204px; width: 0; height: 0; padding: 0; border: 0; background: transparent; cursor: pointer; z-index: 5;}
.beneficios-prev {left: 0; border-top: 20px solid transparent; border-bottom: 20px solid transparent; border-right: 28px solid #76b83e;}
.beneficios-next {right: 0; border-top: 20px solid transparent; border-bottom: 20px solid transparent; border-left: 28px solid #76b83e;}
.beneficios-dots {display: flex; justify-content: center; align-items: center; gap: 18px; margin: 24px 0 0;}
.beneficios-dot {width: 18px; height: 18px; border: 2px solid #76b83e; border-radius: 50%; background: transparent; padding: 0; cursor: pointer;}
.beneficios-dot.active {background: #76b83e;}
.beneficios-note {margin-top: 42px; min-height: initial;}
.beneficios-note p {margin: 0 auto; text-align: center; font-size: 24px; color: #fff;}
.beneficios-button {width: fit-content; min-width: initial; border-radius: 20px 0 20px 0;}

.etapas {padding: 70px 0 62px;}
.etapas h2 {max-width: 600px; margin: 0 0 42px; font-size: clamp(36px, 5.5vw, 56px); line-height: 1.06;}
.etapas h2 strong {display: inline;}
.etapas-wrap {display: block;}
.etapas-side {display: none;}
.etapas-list {width: calc(100% + 48px); margin-left: -24px; display: flex; flex-direction: column; gap: 10px;}
.etapas-item {width: 100%; min-height: initial; background: #f0f0f0; padding: 34px 60px 34px 60px; display: grid; grid-template-columns: 70px 1fr; gap: 20px; align-items: flex-start; text-align: left;}
.etapas-item span {margin: 0; font-size: clamp(58px, 12vw, 92px); line-height: 0.9;}
.etapas-item h3 {margin: 0 0 16px; font-size: 32px; line-height: 1.08; letter-spacing: 0.04em;}
.etapas-item p {font-size: 22px; line-height: 1.25;}
.etapas-button-desktop {display: none;}
.etapas-button-mobile {align-self: center; width: min(100%, 380px); min-width: initial; border-radius: 20px 0 20px 0;}

.somos {padding: 72px 0 68px;}
.somos-wrap {display: flex; flex-direction: column; gap: 78px;}
.somos h2 {margin: 0 0 42px; font-size: clamp(36px, 5.5vw, 56px); line-height: 1.06;}
.somos-video {box-shadow: 6px 6px 0 #76b83e;}
.somos-video-col p {max-width: none; margin: 54px 0 0; text-align: left; font-size: 24px; line-height: 1.3; letter-spacing: 0;}
.somos-depoimentos-col h2 {margin-bottom: 42px;}
.depoimentos-desktop {display: none;}
.depoimentos-mobile {position: relative; display: block; width: 100%; padding: 0 52px;}
.depoimentos-slider {width: 100%; overflow: hidden;}
.depoimentos-list {display: flex; width: 100%; transition: transform 0.35s ease;}
.depoimentos-slide {width: 100%; min-width: 100%; display: grid; grid-template-columns: 32% 68%; background: #003f3d;}
.depoimentos-slide img {width: 100%; height: 100%; object-fit: cover; display: block;}
.depoimentos-slide-text {padding: 46px 44px 42px; display: flex; flex-direction: column; justify-content: center;}
.depoimentos-slide-text blockquote {margin: 0 0 34px; color: #fff; font-size: 20px; line-height: 1.35; font-style: italic; font-weight: 300;}
.depoimentos-slide-text strong {display: block; color: #76b83e; font-size: 17px; line-height: 1.1; font-weight: 600;}
.depoimentos-slide-text span {display: block; margin-top: 4px; color: #76b83e; font-size: 16px; line-height: 1.1; font-weight: 300;}
.depoimentos-arrow {display: block; position: absolute; top: 50%; transform: translateY(-50%); width: 0; height: 0; padding: 0; border: 0; background: transparent; cursor: pointer; z-index: 5;}
.depoimentos-prev {left: 0; border-top: 20px solid transparent; border-bottom: 20px solid transparent; border-right: 28px solid #76b83e;}
.depoimentos-next {right: 0; border-top: 20px solid transparent; border-bottom: 20px solid transparent; border-left: 28px solid #76b83e;}
.depoimentos-dots {display: flex; justify-content: center; align-items: center; gap: 18px; margin: 24px 0 0;}
.depoimentos-dot {width: 18px; height: 18px; border: 2px solid #76b83e; border-radius: 50%; background: transparent; padding: 0; cursor: pointer;}
.depoimentos-dot.active {background: #76b83e;}

.cta-final {min-height: initial; background: transparent; padding: 84px 0 0; z-index: 2;}
.cta-final-bg {display: none;}
.cta-final-wrap {min-height: initial; display: flex; flex-direction: column;}
.cta-final-content {order: 1; width: 100%; padding: 0; text-align: center;}
.cta-final-content h2 {max-width: 720px; margin: 0 auto 62px; font-size: clamp(42px, 6vw, 64px); line-height: 1.08; letter-spacing: -0.05em;}
.cta-final-content h2 strong {display: inline; font-weight: 600;}
.cta-final-image {order: 2; margin: 90px -24px 0;}
.cta-final-image-desktop {display: none;}
.cta-final-image-mobile {display: block; width: 100%;}

.programas {padding: 140px 0 58px; z-index: 1; margin-top: -100px;}
.programas-grid {display: flex; flex-direction: column; gap: 52px;}
.programas-card {width: calc(100% - 58px); min-height: initial; margin-left: 58px; border: 3px solid #fff; border-radius: 0 30px 30px 0;}
.programas-selo {left: 0; top: 50%; width: clamp(118px, 21vw, 160px); transform: translate(-50%, -50%);}
.programas-content {padding: 48px 42px 48px 96px;}
.programas-content h2 {margin-bottom: 24px; font-size: clamp(32px, 5vw, 48px); line-height: 1.12;}
.programas-content p {max-width: none; margin-bottom: 34px; font-size: 20px; line-height: 1.35;}
.programas-button {padding: 16px 24px 15px; border-radius: 14px 0 14px 0; font-size: clamp(18px, 3.6vw, 28px);}

footer.bg00 {background-color: #005859;}
footer img {width: 120px; filter: brightness(0) saturate(0) invert(1);}
}

@media screen and (max-width: 480px) {
.dn480 {display: none;}
.container {padding: 0 20px;}
header .logo img {width: 100px;}

.raizen-mobile-seal {right: 2%; bottom: -12%;}
.raizen-mobile-logo {margin-bottom: 44px; padding: 15px 26px 13px;}
.raizen-hero-mobile h2 { margin-bottom: 26px;}
.raizen-mobile-seal {right: 5%; bottom: -8%;}
.raizen-mobile-button {border: 2px solid #76b83e;}

.requisitos-card {align-items: flex-start;}
.requisitos-icon {width: 80px; height: 80px; margin-right: 24px;}
.requisitos-text h3 {font-size: 24px; margin-bottom: 12px;}
.requisitos-text p {font-size: 18px;}
.requisitos-button {width: 100%; font-size: 18px;}

.beneficios {padding: 54px 0 48px;}
.beneficios h2 {margin-bottom: 34px;}
.beneficios-wrap {gap: 38px;}
.beneficios-content {padding: 0 46px;}
.beneficios-item {grid-template-columns: 82px 1fr; min-height: 76px;}
.beneficios-icon {width: 82px; min-height: 76px;}
.beneficios-icon img {width: 42px; height: 42px;}
.beneficios-item p {font-size: 15px; padding: 12px 20px 12px 12px;}
.beneficios-slide {gap: 18px;}
.beneficios-arrow {top: 160px;}
.beneficios-prev {border-top-width: 14px; border-bottom-width: 14px; border-right-width: 20px;}
.beneficios-next {border-top-width: 14px; border-bottom-width: 14px; border-left-width: 20px;}
.beneficios-dot {width: 16px; height: 16px;}
.beneficios-note p {font-size: 16px;}
.beneficios-button {width: calc(100% - 32px); margin-top: 36px; font-size: 18px;}

.etapas {padding: 54px 0 48px;}
.etapas h2 {margin-bottom: 34px;}
.etapas-list {width: calc(100% + 40px); margin-left: -20px;}
.etapas-item {padding: 30px; grid-template-columns: 58px 1fr; gap: 0;}
.etapas-item span {font-size: 58px;}
.etapas-item h3 {font-size: 24px; margin-bottom: 12px;}
.etapas-item p {font-size: 18px;}
.etapas-button-mobile {width: min(100%, 300px); font-size: 18px; margin-top: 36px;}

.somos {padding: 56px 0 54px;}
.somos-wrap {gap: 58px;}
.somos h2 {margin-bottom: 30px;}
.somos-video-col p {margin-top: 42px; font-size: 20px;}
.depoimentos-mobile {padding: 0 38px;}
.depoimentos-slide {grid-template-columns: 1fr;}
.depoimentos-slide-text {padding: 20px;}
.depoimentos-slide-text blockquote {margin-bottom: 24px; font-size: 18px;}
.depoimentos-slide-text strong {font-size: 16px;}
.depoimentos-slide-text span {font-size: 15px;}
.depoimentos-slide img {height: 200px; object-position: top center;}
.depoimentos-prev {border-top-width: 14px; border-bottom-width: 14px; border-right-width: 20px;}
.depoimentos-next {border-top-width: 14px; border-bottom-width: 14px; border-left-width: 20px;}
.depoimentos-dot {width: 16px; height: 16px;}

.cta-final {padding-top: 64px;}
.cta-final-content h2 {margin-bottom: 46px; font-size: 36px; max-width: 380px;}
.cta-final-button {width: calc(100% - 40px); font-size: 18px;}
.cta-final-image {width: calc(100% + 40px); margin: 64px -20px 0;}

.programas-grid {gap: 40px;}
.programas-card {width: calc(100% - 34px); margin-left: 34px; border-width: 2px; border-radius: 0 24px 24px 0;}
.programas-selo {width: 72px;}
.programas-content {padding: 24px 20px 32px 56px;}
.programas-content h2 {font-size: 24px; margin-bottom: 18px;}
.programas-content p {font-size: 17px; margin-bottom: 28px;}
.programas-button {padding: 10px 18px; font-size: 17px;}

footer img {width: 100px;}
}