*,
*::after,
*::before {
    margin: 0;
    padding: 0;
    box-sizing: inherit
}

html {
    font-size: 62.5%;
    scroll-behavior: smooth
}

body {
    box-sizing: border-box;
    position: relative;
    scroll-behavior: smooth;
    font-family: var(--font-instrument)
}

main {
    position: relative
}

main:has(.p-content) {
    padding-bottom: clamp(2.9rem, 3.2vw, 3.2rem)
}

main:not(:has(section)) {
    height: 100vh
}

img {
    max-width: 100%;
    height: auto
}

button {
    background-color: rgba(0, 0, 0, 0);
    outline: none;
    border: none;
    cursor: pointer;
    font-family: inherit;
    border-radius: 0
}

input,
textarea,
select {
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0;
    outline: none;
    border: none;
    font-family: inherit
}

a {
    color: inherit;
    text-decoration: none;
    transition: .2s ease-in-out opacity
}

a:hover {
    opacity: .8
}

.wrapper {
    margin: 0 auto;
    width: 90%;
    max-width: 1260px
}

::-webkit-scrollbar {
    width: 4px;
    height: 4px
}

::-webkit-scrollbar-track {
    background: #fff
}

::-webkit-scrollbar-thumb {
    background: #55b36a;
    border-radius: 15px
}

@media screen and (min-width: 1001px) {
    .mobile-only {
        display: none !important
    }
}

@media screen and (max-width: 1000px) {
    .desktop-only {
        display: none !important
    }
}

@media screen and (min-width: 1001px) {
    .mobile-only {
        display: none !important
    }
}

@media screen and (max-width: 1000px) {
    .desktop-only {
        display: none !important
    }
}

@keyframes showFigure {
    from {
        opacity: 0;
        scale: .5
    }

    to {
        opacity: 1;
        scale: 1
    }
}

@keyframes showBenefits {
    from {
        opacity: 0;
        transform: translateY(30rem)
    }

    to {
        opacity: 1;
        transform: translateY(0rem)
    }
}

@keyframes showSteps {
    from {
        opacity: 0;
        transform: translateY(30rem)
    }

    to {
        opacity: 1;
        transform: translateY(0rem)
    }
}

.blog {
    background-color: #fff
}

.blog>section[class*=i-banner]:nth-last-of-type(2) {
    margin: clamp(2.9rem, 3.2vw, 3.2rem) auto
}

.category {
    container-type: inline-size;
    background-color: #fff;
}

.category__form {
    padding: clamp(2.9rem, 3.2vw, 3.2rem) 0;
    background-color: #f2f2f2;
    margin-bottom: 1.6rem
}

.category__form fieldset {
    border: none;
    display: flex;
    gap: .7rem;
    background-color: #fff;
    border-radius: 50rem;
    padding: 1.4rem 1.6rem
}

.category__form fieldset input {
    background-color: #fff;
    outline: none;
    border: none;
    width: 100%
}

.category__top {
    padding-bottom: clamp(2.2rem, 2.4cqw, 2.4rem);
    border-bottom: 1px solid #e0e0e0
}

.category__top h2 {
    font-size: clamp(2.6rem, 4cqw, 4rem);
    line-height: clamp(3rem, 4.8cqw, 4.8rem);
    font-family: var(--font-dmsans);
    margin-bottom: .8rem
}

.category__top span {
    font-size: clamp(1.2rem, 1.5cqw, 1.5rem);
    line-height: clamp(1.5rem, 1.8cqw, 1.8rem);
    font-family: var(--font-instrumentsans)
}

.category__list {
    display: flex;
    flex-flow: column;
    gap: clamp(2.9rem, 3.2cqw, 3.2rem);
    margin: clamp(2.9rem, 3.2vw, 3.2rem) auto
}

.category__list article {
    display: block
}

.category__list button {
    padding: 1.3rem 2.4rem;
    font-size: clamp(1.3rem, 1.3vw, 1.4rem);
    color: #000;
    font-weight: 600;
    border-radius: 10rem;
    text-align: center;
    border: .2rem solid rgba(0, 0, 0, 0);
    background-color: #34d779;
    width: max-content;
    margin: 0 auto;
    transition: .6s
}

.category__list button:hover {
    background-color: #fff;
    border: .2rem solid #34d779;
    color: #34d779
}

.category .search__skeleton {
    display: flex;
    gap: clamp(2rem, 2.4cqi, 2.4rem)
}

.category .search__skeleton div:not(.search__skeleton-text) {
    background-color: #e8e8e8;
    animation: skeleton_animation infinite 1.5s ease-in-out
}

.category .search__skeleton-image {
    max-width: clamp(15rem, 20cqi, 20rem);
    min-width: clamp(15rem, 20cqi, 20rem);
    max-height: clamp(9rem, 13cqi, 13rem);
    min-height: clamp(9rem, 13cqi, 13rem);
    border-radius: .5rem
}

.category .search__skeleton-text {
    flex: 1;
    display: flex;
    flex-flow: column;
    gap: 1rem
}

.category .search__skeleton-text div {
    width: 100%;
    min-height: 2rem
}

@keyframes skeleton_animation {
    0% {
        background-color: #e8e8e8
    }

    50% {
        background-color: rgba(232, 232, 232, .5)
    }

    100% {
        background-color: #e8e8e8
    }
}

.category__wrapper {
    display: flex;
    gap: clamp(3.9rem, 4.4cqw, 4.4rem)
}

.category__left {
    flex: 1;
    max-width: 100%
}

.category__desktop-banner {
    margin: clamp(2.9rem, 3.2cqw, 3.2rem) 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    position: relative;
    color: #fff;
    padding: clamp(2.4rem, 2.7cqw, 2.7rem);
    min-height: 35rem;
    position: sticky;
    top: 10rem;
    max-width: 30%;
    min-width: 100%
}

.category__desktop-banner header {
    display: flex;
    flex-flow: column;
    gap: .8rem;
    align-items: center
}

.category__desktop-banner a {
    display: block;
    margin-top: auto;
    font-size: 1.2rem
}

.category__desktop-banner h3 {
    font-size: clamp(1.9rem, 2.27cqw, 2.27rem);
    font-weight: bold;
    font-family: var(--font-dmsans);
    line-height: clamp(2.1rem, 2.34cqw, 2.34rem);
    text-align: center
}

.category__desktop-banner p {
    font-family: var(--font-instrumentsans);
    font-size: clamp(1.1rem, 1.247cqw, 1.247rem);
    line-height: clamp(1.4rem, 1.56cqw, 1.56rem);
    text-align: center
}

.category__desktop-banner picture {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1
}

.category__desktop-banner picture::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .6)
}

.category__desktop-banner picture img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.category__desktop-banner>img {
    margin-bottom: clamp(2.9rem, 3.2cqw, 3.2rem)
}

.category>section[class*=i-banner]:nth-last-of-type(2) {
    margin: clamp(2.9rem, 3.2vw, 3.2rem) auto
}

@media only screen and (min-width: 1001px) {
    .category__left {
        flex: 0 0 65%;
        max-width: 65%
    }
}

.search {
    container-type: inline-size;
    background-color: #fff;
    padding-bottom: clamp(2.9rem, 3.2vw, 3.2rem)
}

.search__form {
    padding: clamp(2.9rem, 3.2vw, 3.2rem) 0;
    background-color: #f2f2f2;
    margin-bottom: 1.6rem
}

.search__form fieldset {
    border: none;
    display: flex;
    gap: .7rem;
    background-color: #fff;
    border-radius: 50rem;
    padding: 1.4rem 1.6rem
}

.search__form fieldset input {
    background-color: #fff;
    outline: none;
    border: none;
    width: 100%
}

.search__top {
    padding-bottom: clamp(2.2rem, 2.4cqw, 2.4rem);
    border-bottom: 1px solid #e0e0e0
}

.search__top h2 {
    font-size: clamp(2.6rem, 4cqw, 4rem);
    line-height: clamp(3rem, 4.8cqw, 4.8rem);
    font-family: var(--font-dmsans);
    margin-bottom: .8rem
}

.search__top span {
    font-size: clamp(1.2rem, 1.5cqw, 1.5rem);
    line-height: clamp(1.5rem, 1.8cqw, 1.8rem);
    font-family: var(--font-instrumentsans)
}

.search__list {
    display: flex;
    flex-flow: column;
    gap: clamp(2.9rem, 3.2cqw, 3.2rem);
    margin: clamp(2.9rem, 3.2vw, 3.2rem) auto
}

.search__list article {
    display: block
}

.search__list button {
    padding: 1.3rem 2.4rem;
    font-size: clamp(1.3rem, 1.3vw, 1.4rem);
    color: #000;
    font-weight: 600;
    border-radius: 10rem;
    text-align: center;
    border: .2rem solid rgba(0, 0, 0, 0);
    background-color: #34d779;
    width: max-content;
    margin: 0 auto;
    transition: .6s
}

.search__list button:hover {
    background-color: #fff;
    border: .2rem solid #34d779;
    color: #34d779
}

.search .search__skeleton {
    display: flex;
    gap: clamp(2rem, 2.4cqi, 2.4rem)
}

.search .search__skeleton div:not(.search__skeleton-text) {
    background-color: #e8e8e8;
    animation: skeleton_animation infinite 1.5s ease-in-out
}

.search .search__skeleton-image {
    max-width: clamp(15rem, 20cqi, 20rem);
    min-width: clamp(15rem, 20cqi, 20rem);
    max-height: clamp(9rem, 13cqi, 13rem);
    min-height: clamp(9rem, 13cqi, 13rem);
    border-radius: .5rem
}

.search .search__skeleton-text {
    flex: 1;
    display: flex;
    flex-flow: column;
    gap: 1rem
}

.search .search__skeleton-text div {
    width: 100%;
    min-height: 2rem
}

@keyframes skeleton_animation {
    0% {
        background-color: #e8e8e8
    }

    50% {
        background-color: rgba(232, 232, 232, .5)
    }

    100% {
        background-color: #e8e8e8
    }
}

.search__wrapper {
    display: flex;
    gap: clamp(3.9rem, 4.4cqw, 4.4rem)
}

.search__left {
    flex: 1;
    max-width: 100%
}

.search__desktop-banner {
    margin: clamp(2.9rem, 3.2cqw, 3.2rem) 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    color: #fff;
    padding: clamp(2.4rem, 2.7cqw, 2.7rem);
    min-height: 35rem;
    position: sticky;
    top: 12rem
}

.search__desktop-banner header {
    display: flex;
    flex-flow: column;
    gap: .8rem;
    align-items: center
}

.search__desktop-banner a {
    display: block;
    margin-top: auto;
    font-size: 1.2rem
}

.search__desktop-banner h3 {
    font-size: clamp(1.9rem, 2.27cqw, 2.27rem);
    font-weight: bold;
    font-family: var(--font-dmsans);
    line-height: clamp(2.1rem, 2.34cqw, 2.34rem);
    text-align: center
}

.search__desktop-banner p {
    font-family: var(--font-instrumentsans);
    font-size: clamp(1.1rem, 1.247cqw, 1.247rem);
    line-height: clamp(1.4rem, 1.56cqw, 1.56rem);
    text-align: center
}

.search__desktop-banner picture {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1
}

.search__desktop-banner picture::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .6)
}

.search__desktop-banner picture img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.search__desktop-banner>img {
    margin-bottom: clamp(2.9rem, 3.2cqw, 3.2rem)
}

.search>section[class*=categories] {
    margin-bottom: clamp(2.9rem, 3.2cqw, 3.2rem)
}

.search>section[class*=i-banner]:nth-last-of-type(2) {
    margin: clamp(2.9rem, 3.2vw, 3.2rem) auto
}

@media only screen and (min-width: 1001px) {
    .search__left {
        flex: 0 0 65%;
        max-width: 65%
    }
}

.alignright {
    float: right;
    margin-left: 2rem
}

.alignleft {
    float: left;
    margin-right: 2rem
}

@media screen and (min-width: 1001px) {
    .mobile-only {
        display: none !important
    }
}

@media screen and (max-width: 1000px) {
    .desktop-only {
        display: none !important
    }
}

@keyframes showFigure {
    from {
        opacity: 0;
        scale: .5
    }

    to {
        opacity: 1;
        scale: 1
    }
}

@keyframes showBenefits {
    from {
        opacity: 0;
        transform: translateY(30rem)
    }

    to {
        opacity: 1;
        transform: translateY(0rem)
    }
}

@keyframes showSteps {
    from {
        opacity: 0;
        transform: translateY(30rem)
    }

    to {
        opacity: 1;
        transform: translateY(0rem)
    }
}

.header {
    background-color: #00153a;
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    height: clamp(6.8rem, 9.5cqi, 9.5rem);
    z-index: 999
}

.header[data-assessment] {
    border-radius: 4rem;
    box-shadow: 0px 3.5px 5.5px 0px rgba(255, 255, 255, .0784313725);
    position: fixed;
    top: 1.5rem;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 999;
    margin: 0 auto;
    width: 90%;
    max-width: 1260px
}

.header__language {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    position: relative
}

@media(width <=1000px) {
    .header__language {
        width: 85%;
        margin: 0 auto;
        justify-content: flex-start;
        align-self: start;
        margin-top: 2rem;
        position: absolute;
        top: 100%;
        left: .3rem
    }

    .header__language img {
        height: 3rem
    }
}

.header__language button {
    font-size: 0;
    line-height: 0;
    transition: opacity ease .3s
}

.header__language button:hover {
    opacity: .7
}

.header__language img {
    min-width: 2rem;
    width: 100%;
    max-width: 4rem;
    object-fit: cover;
    margin: 0
}

.header__language:hover .header__language-drop {
    opacity: 1;
    transform: translateY(0);
    background-color: #e1e1e1;
    pointer-events: all
}

.header__language-drop {
    pointer-events: none;
    opacity: 0;
    transform: translateY(-2rem);
    border-radius: 8px;
    position: absolute;
    width: 100%;
    top: 100%;
    left: 0;
    background: rgba(0, 0, 0, 0);
    z-index: 1;
    transition: all ease .3s;
    display: flex;
    flex-direction: column;
    align-items: center
}

.header__language-drop img {
    max-width: 3rem
}

@media(width <=1000px) {
    .header__language-drop {
        display: inline-flex;
        width: auto;
        flex-direction: row;
        gap: 1rem;
        height: 3rem;
        opacity: 1;
        pointer-events: all;
        transform: translateY(0);
        position: static;
        display: block
    }

    .header__language-drop button {
        padding: 0;
        display: inline-block;
        width: auto;
        margin: 0
    }

    .header__language-drop img {
        max-width: 4rem
    }
}

.header__assessment {
    display: flex;
    align-items: center;
    gap: 4.8rem
}

@media(width <=1000px) {
    .header__assessment {
        gap: 1.2rem
    }
}

.header__assessment>a:first-of-type {
    font-family: var(--font-instrument);
    color: #fff;
    font-size: 1.6rem;
    font-weight: 400
}

.header__assessment>a:last-of-type {
    padding: 1.3rem 2.4rem;
    background-color: #34d779;
    border-radius: 10rem;
    font-size: 1.6rem;
    font-weight: 500;
    color: #062915;
    border: .1rem solid #34d779;
    transition: .3s ease-in-out
}

.header__assessment>a:last-of-type:hover {
    border-color: #fff;
    color: #fff;
    background-color: rgba(0, 0, 0, 0)
}

@media(width <=1000px) {
    .header__assessment>a:last-of-type {
        padding: .8rem;
        text-align: center
    }
}

.header__m-button {
    display: none
}

.header__wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%
}

.header__wrapper>img {
    width: clamp(7.6rem, 15.2cqi, 15.2rem);
    aspect-ratio: 152/36
}

.header__wrapper nav .link {
    font-family: var(--font-dmsans);
    font-size: clamp(1.3rem, 1.6cqi, 1.6rem);
    font-weight: 400;
    line-height: clamp(1.6rem, 2.4cqi, 2.4rem);
    text-align: left;
    color: #fff
}

.header__wrapper nav .selected {
    position: relative;
    font-weight: 700
}

.header__wrapper nav .selected::after {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: .2rem;
    border-radius: .2rem;
    background-color: #34d779;
    bottom: -1.3rem
}

.header__nav-wrapper {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(2.2rem, 3cqi, 3rem)
}

.header__nav-wrapper .header__modify {
    display: none
}

.header__modify {
    display: flex;
    align-items: center;
    gap: 2.8rem;
    position: relative
}

.header__modify .signup {
    width: clamp(2rem, 5cqi, 5rem);
    height: clamp(2rem, 5cqi, 5rem);
    border-radius: 50%;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center
}

@media screen and (max-width: 1200px) {
    .header__wrapper>[class*=Button_button] {
        display: none
    }

    .header__modify {
        display: none
    }
}

@media screen and (max-width: 1000px) {
    .header__wrapper {
        width: 90%
    }

    .header__wrapper nav {
        position: absolute;
        opacity: 0;
        pointer-events: none;
        left: 0;
        height: 100vh;
        background-color: #fff;
        width: 100%;
        justify-content: flex-start;
        flex-flow: column;
        gap: 0;
        padding: 1.6rem 0;
        top: 100%;
        transform: scale(0.9);
        transition: .2s ease-in-out all;
        overflow-x: hidden;
        overflow-y: auto;
        border-top: 4px solid #34d779
    }

    .header__wrapper nav .link,
    .header__wrapper nav [class*=Button_button] {
        text-transform: uppercase;
        color: #0f0f0f;
        font-family: var(--font-dmsans);
        font-size: clamp(1.6rem, 2cqi, 2rem);
        font-weight: 700;
        line-height: clamp(2rem, 2.4cqi, 2.4rem);
        text-align: left;
        padding: 2rem 0 0;
        position: relative
    }

    .header__wrapper nav :last-child {
        padding-bottom: 0
    }

    .header__wrapper nav[data-active] {
        opacity: 1;
        pointer-events: all;
        transform: scale(1)
    }

    .header__nav-wrapper {
        width: 90%;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        margin: 0 auto
    }

    .header__nav-wrapper .header__modify {
        display: flex;
        top: 0;
        right: 0;
        padding-top: 2rem;
        width: 90%;
        left: auto;
        right: auto;
        align-items: center
    }

    .header__nav-wrapper .header__modify a {
        padding: 0
    }

    .header__nav-wrapper .header__modify .signup {
        padding: 0
    }

    .header__m-button {
        display: flex;
        flex-flow: column;
        width: 2.2rem;
        gap: .35rem;
        position: relative
    }

    .header__m-button span {
        display: block;
        height: .275rem;
        width: 100%;
        border-radius: .5rem;
        background-color: #0062c0
    }
}

.DropdownMenuContent,
.DropdownMenuSubContent {
    min-width: 22rem;
    max-width: 25rem;
    background-color: #fff;
    border-radius: .6rem;
    padding: .5rem;
    box-shadow: 0px 1rem 3.8rem -1rem rgba(22, 23, 24, .35), 0px 1rem 2rem -1.5rem rgba(22, 23, 24, .2);
    animation-duration: 400ms;
    animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform, opacity;
    z-index: 999
}

@media only screen and (max-width: 500px) {

    .DropdownMenuContent,
    .DropdownMenuSubContent {
        min-width: unset;
        max-height: var(--radix-dropdown-menu-content-available-height)
    }
}

@media only screen and (max-width: 1000px) {
    div[data-radix-popper-content-wrapper]:has(.DropdownMenuContent) {
        min-width: 90% !important
    }
}

.DropdownMenuContent[data-side=top],
.DropdownMenuSubContent[data-side=top] {
    animation-name: slideDownAndFade
}

.DropdownMenuContent[data-side=right],
.DropdownMenuSubContent[data-side=right] {
    animation-name: slideLeftAndFade
}

.DropdownMenuContent[data-side=bottom],
.DropdownMenuSubContent[data-side=bottom] {
    animation-name: slideUpAndFade
}

.DropdownMenuContent[data-side=left],
.DropdownMenuSubContent[data-side=left] {
    animation-name: slideRightAndFade
}

.DropdownMenuItem,
.DropdownMenuCheckboxItem,
.DropdownMenuRadioItem,
.DropdownMenuSubTrigger {
    font-family: var(--font-dmsans);
    font-size: clamp(1.3rem, 1.6cqi, 1.6rem);
    font-weight: 500;
    line-height: clamp(1.6rem, 2.4cqi, 2.4rem);
    text-align: left;
    color: #01000f;
    display: flex;
    align-items: center;
    padding: 0 .5rem;
    position: relative;
    padding-left: 2.5rem;
    user-select: none;
    outline: none
}

.DropdownMenuSubTrigger[data-state=open] {
    color: #00216b
}

.DropdownMenuSubTrigger[data-state=open]+.DropdownMenuSeparator {
    background-color: #00216b
}

.DropdownMenuItem[data-disabled],
.DropdownMenuCheckboxItem[data-disabled],
.DropdownMenuRadioItem[data-disabled],
.DropdownMenuSubTrigger[data-disabled] {
    color: #828282;
    pointer-events: none
}

.DropdownMenuItem[data-highlighted],
.DropdownMenuCheckboxItem[data-highlighted],
.DropdownMenuRadioItem[data-highlighted],
.DropdownMenuSubTrigger[data-highlighted] {
    color: #34d779
}

.DropdownMenuItem[data-highlighted]+.DropdownMenuSeparator,
.DropdownMenuCheckboxItem[data-highlighted]+.DropdownMenuSeparator,
.DropdownMenuRadioItem[data-highlighted]+.DropdownMenuSeparator,
.DropdownMenuSubTrigger[data-highlighted]+.DropdownMenuSeparator {
    background-color: #34d779
}

.DropdownMenuSeparator {
    height: .2rem;
    background-color: #e4e4e4;
    margin: .5rem;
    transition: .2s ease
}

.DropdownMenuArrow {
    fill: #fff
}

.IconButton {
    font-family: var(--font-dmsans);
    font-size: clamp(1.3rem, 1.6cqi, 1.6rem);
    font-weight: 400;
    line-height: clamp(1.6rem, 2.4cqi, 2.4rem);
    text-align: left;
    color: #fff;
    display: inline-flex;
    align-items: center;
    gap: .6rem
}

.IconButton img {
    transition: .3s ease;
    width: 1.5rem
}

.IconButton img:hover {
    transform: scale(1.2)
}

@media only screen and (max-width: 1000px) {
    .IconButton img {
        width: 2rem
    }
}

.IconButton[data-state=open] img {
    transform: rotate(-180deg)
}

@keyframes slideUpAndFade {
    from {
        opacity: 0;
        transform: translateY(2px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes slideRightAndFade {
    from {
        opacity: 0;
        transform: translateX(-2px)
    }

    to {
        opacity: 1;
        transform: translateX(0)
    }
}

@keyframes slideDownAndFade {
    from {
        opacity: 0;
        transform: translateY(-2px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes slideLeftAndFade {
    from {
        opacity: 0;
        transform: translateX(2px)
    }

    to {
        opacity: 1;
        transform: translateX(0)
    }
}

.DropdownMenuLabel {
    padding-left: 25px;
    font-size: 12px;
    line-height: 25px;
    color: olive
}

.DropdownMenuItemIndicator {
    position: absolute;
    left: 0;
    width: 25px;
    display: inline-flex;
    align-items: center;
    justify-content: center
}

.consultant {
    position: sticky;
    top: 6.8rem;
    z-index: 10;
    background-color: #fff;
    padding: clamp(1.2rem, 3.5cqw, 3.5rem) 0 clamp(1rem, 1cqw, 1.2rem)
}

.consultant>a,
.consultant button {
    padding: 1.3rem 3rem;
    max-width: 50rem;
    width: 90%;
    display: block;
    background-color: #00216b;
    color: #fff;
    border-radius: .8rem;
    font-size: 1.4rem;
    font-family: var(--font-dmsans);
    text-align: center
}

@media screen and (min-width: 1001px) {
    .mobile-only {
        display: none !important
    }
}

@media screen and (max-width: 1000px) {
    .desktop-only {
        display: none !important
    }
}

@keyframes showFigure {
    from {
        opacity: 0;
        scale: .5
    }

    to {
        opacity: 1;
        scale: 1
    }
}

@keyframes showBenefits {
    from {
        opacity: 0;
        transform: translateY(30rem)
    }

    to {
        opacity: 1;
        transform: translateY(0rem)
    }
}

@keyframes showSteps {
    from {
        opacity: 0;
        transform: translateY(30rem)
    }

    to {
        opacity: 1;
        transform: translateY(0rem)
    }
}

.footer {
    position: relative;
    z-index: 8;
    background-color: #00153a
}

.footer__up-button {
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%)
}

.footer__up-button>button {
    position: relative;
    width: 5.4rem;
    height: 5.4rem;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #00153a;
    transition: .3s ease;
    cursor: pointer
}

.footer__up-button>button:hover {
    background: rgba(0, 0, 0, 0)
}

.footer__up-button>button span {
    width: 2.2rem;
    height: 2.2rem;
    position: relative;
    transform: rotate(45deg);
    margin-bottom: -18%
}

.footer__up-button>button span::before,
.footer__up-button>button span::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    background: linear-gradient(132deg, #34d779 0%, #00216b 100%);
    border-radius: 10px
}

.footer__up-button>button span::before {
    width: 5px;
    height: 100%;
    left: 0
}

.footer__up-button>button span::after {
    width: 100%;
    height: 5px;
    right: 0
}

.footer__up-button>button::before,
.footer__up-button>button::after {
    content: "";
    position: absolute;
    z-index: -1;
    width: calc(100% + 7px);
    height: calc(100% + 7px);
    background: linear-gradient(45deg, #34d779 0%, #00216b 100%);
    border-radius: 50%;
    background-size: 300%;
    animation: AnimateBorder 4s linear alternate infinite
}

.footer__top {
    padding: clamp(3rem, 7.9cqi, 7.9rem) 0
}

.footer__top-wrapper {
    container-type: inline-size;
    display: flex;
    justify-content: space-between;
    gap: 2rem;
    flex-wrap: wrap
}

.footer__left {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 1.1rem 0;
    margin-right: clamp(2rem, 14.6cqi, 14.6rem)
}

.footer__social-area p {
    font-family: var(--font-dmsans);
    font-size: clamp(1.3rem, 1.6cqi, 1.6rem);
    font-weight: 600;
    line-height: clamp(1.6rem, 2.4cqi, 2.4rem);
    text-align: left;
    color: #fff;
    margin-bottom: 2.5rem
}

.footer__socials {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .6rem
}

.footer__socials a {
    vertical-align: bottom
}

.footer__socials a img {
    width: 2.8rem;
    height: 2.8rem;
    vertical-align: bottom
}

.footer__socials a:first-child img {
    width: 1.4rem;
    height: 2.6rem
}

.footer__socials a:nth-child(2) img {
    width: 2.8rem;
    height: 2.8rem
}

.footer__socials a:nth-child(3) img {
    width: 2.8rem;
    height: 1.9rem
}

.footer__socials a:nth-child(4) img {
    width: 2.8rem;
    height: 2.8rem
}

.footer__right {
    flex: 1
}

.footer__right .menus {
    display: grid;
    grid-auto-rows: minmax(14.7rem, auto);
    grid-template-columns: repeat(auto-fit, minmax(19.2rem, 1fr));
    gap: clamp(2rem, 3.6cqi, 3.6rem) clamp(3rem, 9.2cqi, 9.2rem)
}

.footer__right .menus article:first-child {
    grid-row: 1/span 2
}

.footer__right .menus article {
    display: flex;
    flex-direction: column;
    gap: 1.1rem
}

.footer__right .menus article .highlighted {
    color: #34d579
}

.footer__right .menus article p {
    font-family: var(--font-dmsans);
    font-size: clamp(1.3rem, 1.6cqi, 1.6rem);
    font-weight: 500;
    line-height: clamp(1.6rem, 2.4cqi, 2.4rem);
    text-align: left;
    color: #fff
}

.footer__right .menus article a {
    font-family: var(--font-dmsans);
    font-size: clamp(1.3rem, 1.6cqi, 1.6rem);
    font-weight: 400;
    line-height: clamp(1.6rem, 2.4cqi, 2.4rem);
    text-align: left;
    color: #fff
}

.footer__bottom {
    padding: clamp(2.6rem, 5.1cqi, 5.1rem);
    background-color: #00216b
}

.footer__bottom-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem clamp(2rem, 14.6cqi, 14.6rem);
    align-items: center
}

.footer__bottom-wrapper p {
    font-family: var(--font-dmsans);
    font-size: clamp(1rem, 1.2cqi, 1.2rem);
    font-weight: 400;
    line-height: clamp(1.6rem, 2.4cqi, 2.4rem);
    text-align: center;
    color: #fff;
    margin: 0 auto
}

.footer__signature {
    font-size: 1rem;
    opacity: .8;
    display: flex;
    align-items: center;
    gap: .4rem;
    color: #fff
}

@media only screen and (max-width: 880px) {
    .footer__top-wrapper {
        flex-direction: column;
        flex-wrap: nowrap
    }

    .footer__socials {
        max-width: 23.6rem
    }

    .footer__right .menus {
        grid-auto-rows: auto
    }
}

@keyframes AnimateBorder {
    0% {
        background-position: 0
    }

    100% {
        background-position: 100%
    }
}

.button {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    white-space: nowrap
}

.button--default {
    padding: clamp(.6rem, 1.2cqi, 1.2rem) clamp(4.2rem, 5cqi, 5rem);
    border-radius: 10rem;
    font-family: var(--font-dmsans);
    font-size: clamp(1.6rem, 2cqi, 2rem);
    font-weight: 600;
    line-height: clamp(2rem, 2.4cqi, 2.4rem);
    text-align: left;
    border: .2rem solid;
    transition: .5s
}

.button--default--primary {
    background-color: #34d779;
    color: #0f0f0f;
    border-color: #34d779
}

.button--default--primary:hover {
    color: #34d779
}

.button--default--white {
    background-color: #fff;
    color: #00153a;
    border-color: #fff;
    font-family: var(--font-dmsans);
    font-size: clamp(1.3rem, 1.6cqi, 1.6rem);
    font-weight: 500;
    line-height: clamp(1.6rem, 2.4cqi, 2.4rem);
    text-align: left
}

.button--default--white:hover {
    color: #fff
}

.button--default:hover {
    background-color: rgba(0, 0, 0, 0);
    transform: translateY(-1rem);
    opacity: 1
}

.card {
    display: inline-block;
    position: relative
}

.card figure {
    overflow: hidden
}

.card figure img {
    transition: all .2s ease-in-out
}

.card:hover figure img {
    transform: scale(1.3);
    transition: all .2s ease-in-out
}

.card--default {
    border-radius: .8rem;
    overflow: hidden
}

.card--default .card__wrapper {
    display: flex;
    flex-flow: column
}

.card--default .card__category {
    position: absolute;
    top: 1.3rem;
    left: 1.6rem;
    background-color: #fff;
    padding: .8rem 1.6rem;
    border-radius: 1rem;
    font-family: var(--font-instrumentsans);
    font-size: clamp(1.1rem, 1.2cqw, 1.2rem);
    line-height: clamp(1.6rem, 1.8cqw, 1.8rem);
    font-weight: 400;
    z-index: 1
}

.card--default figure {
    position: relative
}

.card--default figure img {
    width: 100%;
    max-height: 16rem;
    min-height: 16rem;
    object-fit: cover
}

.card--default figure[data-skeleton=true] {
    min-height: 23rem;
    background-color: #e8e8e8;
    animation: skeleton_animation infinite 1.5s ease-in-out
}

@keyframes skeleton_animation {
    0% {
        background-color: #e8e8e8
    }

    50% {
        background-color: rgba(232, 232, 232, .5)
    }

    100% {
        background-color: #e8e8e8
    }
}

.card--default section {
    background-color: #f3f3f3;
    padding: 1.6rem;
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    min-height: 15.5rem
}

.card--default section>div:first-of-type h3 {
    font-family: var(--font-instrumentsans);
    font-size: clamp(1.6rem, 1.8cqw, 1.8rem);
    line-height: 2.1rem;
    font-weight: 600;
    margin-bottom: 1.6rem;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical
}

.card--default section>div:last-of-type {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    border-top: .1rem solid #34d779;
    padding-top: 1rem
}

.card--default section>div:last-of-type span {
    font-family: var(--font-instrumentsans);
    font-size: clamp(1.2rem, 1.3cqw, 1.3rem);
    line-height: 1.54rem;
    white-space: nowrap
}

.card--inline .card__wrapper,
.card--inline-medium .card__wrapper {
    display: flex;
    gap: clamp(1.6rem, 1.8cqw, 1.8rem);
    align-items: center
}

.card--inline figure,
.card--inline-medium figure {
    overflow: hidden
}

.card--inline figure img,
.card--inline-medium figure img {
    object-fit: cover;
    height: 100%
}

.card--inline figure[data-skeleton=true],
.card--inline-medium figure[data-skeleton=true] {
    background-color: #e8e8e8;
    animation: skeleton_animation infinite 1.5s ease-in-out
}

@keyframes skeleton_animation {
    0% {
        background-color: #e8e8e8
    }

    50% {
        background-color: rgba(232, 232, 232, .5)
    }

    100% {
        background-color: #e8e8e8
    }
}

.card--inline h3,
.card--inline-medium h3 {
    font-size: clamp(1.4rem, 1.6cqw, 1.6rem);
    line-height: 1.7rem;
    font-weight: 500;
    border-bottom: 1px solid #34d779;
    padding-bottom: .2rem;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical
}

.card--inline figure {
    border-radius: .2rem;
    min-height: 6.9rem;
    min-width: 7.7rem;
    height: 6.9rem;
    width: 7.7rem
}

.card--inline section div {
    margin-top: .6rem
}

.card--inline section div span {
    font-size: clamp(1.1rem, 1.2cqw, 1.2rem);
    line-height: 1.44rem;
}

@container (min-width: 400px) {
    .card--inline section {
        min-height: 5rem
    }
}

.card--inline h3 {
    font-family: var(--font-instrumentsans)
}

.card--inline div {
    left: calc(7.7rem + clamp(1.6rem, 1.8cqw, 1.8rem))
}

.card--inline-medium figure {
    min-height: 11.5rem;
    min-width: 12.1rem;
    height: 11.5rem;
    width: 12.1rem;
    border-radius: .5rem
}

.card--inline-medium figure img {
    height: 100%
}

.card--inline-medium h3 {
    font-family: var(--font-dmsans)
}

.card--inline-medium p {
    font-size: clamp(1.2rem, 1.4cqw, 1.4rem);
    line-height: 1.6rem;
    font-weight: 300;
    font-family: var(--font-dmsans);
    margin-top: 1.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical
}

@container (max-width: 480px) {
    .card--inline-medium p {
        display: none
    }
}

.card--inline-medium div {
    margin-top: .6rem
}

.card--inline-medium div span,
.card--inline-medium div a {
    font-family: var(--font-instrumentsans);
    font-size: clamp(1.1rem, 1.2cqw, 1.2rem);
    line-height: 1.44rem
}

.card__category {
    transition: all .2s ease-in-out
}

.card__category:hover {
    background-color: #34d779;
    color: #fff
}

.card {
    container-type: inline-size;
    display: block
}

.card__wrapper>picture {
    overflow: hidden;
    position: relative;
    display: block;
    background: #f9f9f9;
    border-radius: 1rem;
    overflow: hidden
}

.card__wrapper>picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    vertical-align: bottom;
    transition: ease .3s
}

.card:hover .card__wrapper picture img {
    transform: scale(1.3)
}

.card-vertical {
    height: 100%
}

.card-vertical .card__wrapper {
    display: flex;
    flex-direction: column;
    height: 100%
}

.card-vertical .card__wrapper>article {
    flex: 1;
    display: flex;
    flex-direction: column
}

.card--default .card__wrapper>article>h3 {
    font-family: var(--font-dmsans);
    font-size: clamp(2rem, 2.4cqi, 2.4rem);
    font-weight: 600;
    line-height: clamp(2.4rem, 3cqi, 3rem);
    text-align: left;
    color: #0f0f0f
}

.card--default .card__wrapper .card__category {
    color: #00216b;
    font-family: var(--font-dmsans);
    font-size: clamp(1.3rem, 1.6cqi, 1.6rem);
    font-weight: 400;
    line-height: clamp(1.6rem, 2.4cqi, 2.4rem);
    text-align: left
}

.card--default .card__wrapper .card__button {
    font-family: var(--font-dmsans);
    font-size: clamp(1.8rem, 2.2cqi, 2.2rem);
    font-weight: 600;
    line-height: clamp(2.6rem, 3.2cqi, 3.2rem);
    text-align: left;
    color: #00216b;
    text-decoration: underline
}

.card--default-vertical .card__wrapper {
    gap: clamp(1.6rem, 3cqi, 3rem)
}

.card--default-vertical .card__wrapper picture {
    width: 100%;
    aspect-ratio: 344/222
}

.card--default-vertical .card__wrapper>article {
    padding: clamp(.6rem, 3.4cqi, 3.4rem)
}

.card--default-vertical .card__wrapper>article>h3 {
    margin-bottom: 1rem
}

.card--default-vertical .card__wrapper .card__category {
    margin-bottom: .8rem
}

.card--default-vertical .card__wrapper .card__button {
    margin-top: auto
}

.header {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center
}

.header::after {
    content: "";
    width: 100%;
    left: 0;
    height: .2rem;
    border-radius: .2rem;
    background-color: silver;
    position: absolute;
    bottom: 0;
    transform: translateY(50%)
}

.header__content {
    position: relative;
    display: inline-flex;
    align-self: stretch;
    align-items: center;
    font-family: var(--font-dmsans);
    font-size: clamp(1.6rem, 2cqi, 2rem);
    font-weight: 600;
    line-height: clamp(2rem, 2.4cqi, 2.4rem);
    text-align: left;
    color: #00153a
}

.header__content::after {
    content: "";
    width: calc(100% + 1.2rem);
    height: .4rem;
    left: 0;
    border-radius: .2rem;
    background-color: #34d779;
    position: absolute;
    bottom: 0;
    transform: translateY(50%);
    z-index: 1
}

.breadcrumb {
    display: flex;
    flex-flow: row wrap;
    gap: 8px;
    margin-top: clamp(2.9rem, 3.2vw, 3.2rem)
}

.breadcrumb a,
.breadcrumb p {
    font-size: 1.4rem;
    line-height: 2.1rem;
    font-family: var(--font-dmsans);
    text-wrap: wrap
}

.breadcrumb a:not(:last-child)::after,
.breadcrumb p:not(:last-child)::after {
    content: ">";
    margin-left: 8px;
    font-weight: 400
}

.breadcrumb a {
    color: #667085
}

.breadcrumb p {
    color: #34d779
}

@media screen and (min-width: 1001px) {
    .mobile-only {
        display: none !important
    }
}

@media screen and (max-width: 1000px) {
    .desktop-only {
        display: none !important
    }
}

@keyframes showFigure {
    from {
        opacity: 0;
        scale: .5
    }

    to {
        opacity: 1;
        scale: 1
    }
}

@keyframes showBenefits {
    from {
        opacity: 0;
        transform: translateY(30rem)
    }

    to {
        opacity: 1;
        transform: translateY(0rem)
    }
}

@keyframes showSteps {
    from {
        opacity: 0;
        transform: translateY(30rem)
    }

    to {
        opacity: 1;
        transform: translateY(0rem)
    }
}

.n-banner {
    height: clamp(30rem, 70cqi, 70rem);
    overflow: hidden;
    position: relative;
    container-type: size
}

.n-banner__wave {
    position: absolute;
    bottom: clamp(-2.4rem, 4.8cqi, -4.8rem);
    width: 100%
}

.n-banner__wave>img {
    width: 100%
}

.n-banner__layer {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(15, 15, 15, 0.7) 16.4%, rgba(15, 15, 15, 0) 75.69%);
    background-blend-mode: multiply
}

.n-banner__slide {
    position: relative
}

.n-banner__slide>figure {
    width: 100%;
    height: clamp(30rem, 70cqi, 70rem);
    overflow: hidden
}

.n-banner__slide>figure>img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    object-position: top
}

.n-banner__content {
    position: absolute;
    top: clamp(2rem, 6.9cqw, 6.9rem);
    left: 50%;
    transform: translateX(-50%);
    height: 75cqb
}

.n-banner__content .container {
    max-width: 56.6rem
}

.n-banner__content span {
    font-family: var(--font-dmsans);
    font-size: clamp(1.3rem, 1.6cqi, 1.6rem);
    font-weight: 400;
    line-height: clamp(1.6rem, 2.4cqi, 2.4rem);
    text-align: left;
    color: #34d779;
    margin-bottom: 1.5rem;
    display: block
}

.n-banner__content h2 {
    font-family: var(--font-dmsans);
    font-size: clamp(2.8rem, 4.2cqi, 4.2rem);
    font-weight: 900;
    line-height: clamp(2.8rem, 4.2cqi, 4.2rem);
    text-align: left;
    color: #fff;
    margin-bottom: clamp(1.6rem, 2.2cqi, 2.2rem)
}

.n-banner__content .text {
    font-family: var(--font-dmsans);
    font-size: clamp(1.3rem, 1.6cqi, 1.6rem);
    font-weight: 400;
    line-height: clamp(1.6rem, 2.4cqi, 2.4rem);
    text-align: left;
    color: #fff;
    margin-bottom: clamp(1.6rem, 2.2cqi, 2.2rem);
    max-width: 56.6rem
}

.n-banner__content [class*=Button_button] {
    max-width: 20rem
}

.n-banner .splide__pagination {
    bottom: 5rem;
    display: flex;
    gap: 1rem
}

.n-banner .splide__pagination button {
    background: rgba(0, 0, 0, 0);
    border: .3rem solid #f9f9f9;
    width: 1.4rem;
    height: 1.4rem;
    opacity: 1
}

.n-banner .splide__pagination button.is-active {
    background: #34d579;
    border: .2rem solid rgba(0, 0, 0, 0);
    width: 2rem;
    height: 1rem;
    border-radius: 10rem
}

@media only screen and (max-width: 600px) {
    .n-banner {
        container-type: normal;
        height: auto
    }

    .n-banner__wave {
        display: none
    }

    .n-banner__slide {
        height: 100%
    }

    .n-banner__slide>figure {
        position: absolute;
        inset: 0;
        height: 100%
    }

    .n-banner__content {
        position: relative;
        top: 0;
        left: 0;
        transform: translateX(0);
        padding: 2rem 0rem 6rem;
        height: 100%
    }

    .n-banner__content .container {
        height: 100%;
        display: flex;
        flex-direction: column
    }

    .n-banner__content [class*=Button_button] {
        margin-top: auto
    }

    .n-banner .splide__list {
        height: auto
    }

    .n-banner .splide__pagination {
        bottom: 2rem
    }
}

@media only screen and (min-width: 1360px) {
    .n-banner .splide__pagination {
        bottom: 8rem
    }
}

@media only screen and (min-width: 2000px) {
    .n-banner .splide__pagination {
        bottom: 12rem
    }
}

@media screen and (min-width: 1001px) {
    .mobile-only {
        display: none !important
    }
}

@media screen and (max-width: 1000px) {
    .desktop-only {
        display: none !important
    }
}

@keyframes showFigure {
    from {
        opacity: 0;
        scale: .5
    }

    to {
        opacity: 1;
        scale: 1
    }
}

@keyframes showBenefits {
    from {
        opacity: 0;
        transform: translateY(30rem)
    }

    to {
        opacity: 1;
        transform: translateY(0rem)
    }
}

@keyframes showSteps {
    from {
        opacity: 0;
        transform: translateY(30rem)
    }

    to {
        opacity: 1;
        transform: translateY(0rem)
    }
}

.c-post-list {
    color: #00153a;
    padding: clamp(1.8rem, 6.2cqi, 6.2rem)
}

.c-post-list__header {
    margin-bottom: 6rem;
}

.c-post-list__header>p {
    font-size: 1.6rem;
}

.c-post-list__eyebrow {
    font-family: var(--font-dmsans);
    font-size: clamp(1.3rem, 1.6cqi, 1.6rem);
    font-weight: 600;
    line-height: clamp(1.6rem, 2.4cqi, 2.4rem);
    text-align: center;
    text-transform: uppercase;
    color: #34d779;
    margin-bottom: clamp(.8rem, 1.2cqi, 1.6rem)
}

.c-post-list__title {
    font-family: var(--font-dmsans);
    font-size: clamp(2.4rem, 3.6cqi, 3.6rem);
    font-weight: 600;
    line-height: clamp(2.8rem, 4.2cqi, 4.2rem);
    margin-bottom: 1rem;
}

.c-post-list__title strong {
    color: #34d779;
    display: block;
    width: 100%
}

.c-post-list__subtitle {
    font-family: var(--font-instrumentsans);
    font-size: clamp(1.8rem, 2.2cqi, 2.2rem);
    font-weight: 400;
    line-height: clamp(2.6rem, 3.2cqi, 3.2rem);
    text-align: center;
    max-width: 52.3rem;
}

.c-post-list__showcase button[class*=Button_button] {
    margin: 0 auto;
    margin-top: clamp(4rem, 10.2cqi, 10.2rem)
}

.c-post-list__posts-container {
    display: grid;
    grid-template-columns: repeat(3, minmax(34.4rem, 1fr));
    gap: 2rem;
    justify-content: space-between;
    margin-top: 2.4rem
}

@media only screen and (max-width: 1320px) {
    .c-post-list__posts-container {
        grid-template-columns: repeat(2, minmax(34.4rem, 1fr))
    }
}

@media only screen and (max-width: 920px) {
    .c-post-list__posts-container {
        grid-template-columns: repeat(auto-fit, minmax(34.4rem, 1fr))
    }
}

@media only screen and (max-width: 850px) {
    .c-post-list {
        padding-bottom: 6rem
    }
}

@media only screen and (max-width: 450px) {
    .c-post-list__posts-container {
        grid-template-columns: 1fr
    }
}

.s-grid {
    padding: 0 0 clamp(2.9rem, 3.2vw, 3.2rem);
    background-color: #fff;
    container-type: inline-size
}

.s-grid form {
    padding: clamp(2.9rem, 3.2vw, 3.2rem) 0;
    background-color: #f2f2f2
}

.s-grid form fieldset {
    border: none;
    display: flex;
    gap: .7rem;
    background-color: #fff;
    border-radius: 50rem;
    padding: 1.4rem 1.6rem
}

.s-grid form fieldset input {
    background-color: #fff;
    outline: none;
    border: none;
    width: 100%
}

.s-grid__consultant {
    position: sticky;
    top: 6.8rem;
    z-index: 10;
    background-color: #fff;
    padding: clamp(1.2rem, 3.5cqw, 3.5rem) 0 clamp(1rem, 1cqw, 1.2rem)
}

.s-grid__consultant>a,
.s-grid__consultant button {
    padding: 1.3rem 3rem;
    max-width: 50rem;
    width: 90%;
    display: block;
    background-color: #00216b;
    color: #fff;
    border-radius: .8rem;
    font-size: 1.4rem;
    font-family: var(--font-dmsans);
    text-align: center
}

.s-grid h2,
.s-grid h1 {
    font-family: var(--font-dmsans);
    font-size: clamp(2.3rem, 2.6cqi, 2.6rem);
    line-height: clamp(2.7rem, 3cqi, 3rem);
    text-align: center;
    margin-top: clamp(2.9rem, 3.2vw, 3.2rem)
}

.s-grid__wrapper {
    display: flex;
    justify-content: space-between
}

.s-grid__splide {
    margin: clamp(2.9rem, 3.2cqw, 3.2rem) auto;
    max-width: 100%
}

.s-grid__slide {
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: clamp(2.9rem, 3.2cqw, 3.2rem)
}

.s-grid__slide article {
    display: flex;
    flex-flow: column;
    flex: 1;
    width: 100%;
    max-width: 50rem;
    min-width: clamp(25rem, 40cqw, 40rem)
}

.s-grid__slide article.card--inline {
    display: flex;
    flex-flow: row;
    align-items: center;
    gap: clamp(1.6rem, 1.8cqw, 1.8rem);
    flex: 1;
    width: 100%;
    max-width: 50rem;
    min-width: clamp(25rem, 40cqw, 40rem)
}


.s-grid__slide article.card--inline figure {
    min-height: 11.5rem;
    min-width: 12.1rem;
    height: 11.5rem;
    width: 12.1rem;
    border-radius: 0.5rem;
    flex: unset;
}

.s-grid__slide article.card--inline section {
    flex: 1 1;
}

.s-grid__slide article a[class*=wrapper],
.s-grid__slide article section {}

.s-grid .splide__pagination {
    bottom: -3.25rem;
    width: max-content;
    margin: 0 auto
}

.s-grid .splide__pagination__page {
    height: 1.2rem;
    width: 1.2rem
}

.s-grid .splide__pagination__page:not(.is-active) {
    background-color: rgba(0, 0, 0, 0);
    border: 2px solid #adadad
}

.s-grid .splide__pagination__page.is-active {
    background-color: #34d779;
    width: 3.2rem;
    border-radius: 50rem;
    transition: all .2s ease-in-out;
    transform: none
}

.s-grid .splide__arrows {
    position: absolute;
    bottom: -3.25rem;
    left: 50%;
    transform: translate(-50%, -0.9rem);
    display: flex;
    justify-content: space-between;
    width: 17rem;
    margin: 0 auto
}

.s-grid .splide__arrows button {
    background-color: rgba(0, 0, 0, 0)
}

.s-grid__more {
    padding: 1.35rem clamp(2.4rem, 2.6cqw, 2.6rem);
    background-color: #34d779;
    color: #000;
    border-radius: 50rem;
    max-width: 34.2rem;
    width: 100%;
    margin: 0 auto;
    font-family: var(--font-dmsans);
    font-size: 1.6rem;
    font-weight: 500;
    transition: all .2s ease-in-out
}

.s-grid__more:hover {
    opacity: .8;
    transition: all .2s ease-in-out
}

.s-grid__desktop-banner {
    display: none;
    margin: clamp(2.9rem, 3.2cqw, 3.2rem) 0;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    max-width: 30%;
    position: relative;
    color: #fff;
    padding: clamp(2.4rem, 2.7cqw, 2.7rem);
    z-index: 0
}

.s-grid__desktop-banner header {
    display: flex;
    flex-flow: column;
    gap: .8rem;
    align-items: center
}

.s-grid__desktop-banner a {
    display: block;
    margin-top: auto;
    font-size: 1.2rem
}

.s-grid__desktop-banner h3 {
    font-size: clamp(1.9rem, 2.27cqw, 2.27rem);
    font-weight: bold;
    font-family: var(--font-dmsans);
    line-height: clamp(2.1rem, 2.34cqw, 2.34rem);
    text-align: center
}

.s-grid__desktop-banner p {
    font-family: var(--font-instrumentsans);
    font-size: clamp(1.1rem, 1.247cqw, 1.247rem);
    line-height: clamp(1.4rem, 1.56cqw, 1.56rem);
    text-align: center
}

.s-grid__desktop-banner picture {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1
}

.s-grid__desktop-banner picture::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .6)
}

.s-grid__desktop-banner picture img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.s-grid__desktop-banner>img {
    margin-bottom: clamp(2.9rem, 3.2cqw, 3.2rem)
}

@media only screen and (min-width: 1001px) {

    .s-grid h2,
    .s-grid h1 {
        text-align: left;
        max-width: 1260px;
        padding-bottom: clamp(2.4rem, 2.6cqw, 2.6rem);
        border-bottom: 1px solid #e0e0e0
    }

    .s-grid__splide {
        margin-left: 0;
        margin-right: 0
    }

    .s-grid__slide {
        display: grid;
        grid-template-columns: 1fr 1fr
    }


    .s-grid__slide article.card--inline figure {
        min-height: 7rem;
        min-width: 7rem;
        height: 7rem;
        width: 7rem;
    }

    .s-grid__slide article[class*=default] {
        grid-column: 1;
        grid-row: span 3;
        align-self: stretch;
        max-width: 100%;
        min-width: 40rem
    }

    .s-grid__slide article[class*=default] figure>img {
        min-height: 24rem
    }

    .s-grid__slide article[class*=inline] {
        flex: none;
        grid-column: 2;
        min-width: auto
    }

    .s-grid .splide__arrows {
        top: -8.25rem;
        right: 0;
        bottom: initial;
        left: initial;
        transform: none;
        width: 9rem
    }

    .s-grid .splide__arrows::before {
        content: "Veja mais";
        margin-left: -7rem;
        font-size: 1.6rem;
        font-weight: 500;
        font-family: var(--font-dmsans)
    }
}

@media only screen and (min-width: 1250px) {
    .s-grid__desktop-banner {
        display: flex
    }

    .s-grid__splide {
        max-width: 65%;
        flex: 1
    }

    .s-grid .splide__arrows {
        right: -55%
    }
}

.p-listing {
    padding: clamp(2.9rem, 3.2vw, 3.2rem) 0;
    container-type: inline-size;
    background-color: #fff
}

.p-listing h2 {
    font-size: clamp(2.6rem, 2.7cqw, 2.7rem);
    line-height: 3rem
}

.p-listing__list {
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: clamp(2.9rem, 3.2cqw, 3.2rem);
    margin: clamp(2.9rem, 3.2vw, 3.2rem) auto
}

.p-listing__list article {
    max-width: 50rem;
    width: 100%
}

.p-listing__wrapper {
    display: flex;
    justify-content: space-between;
    gap: clamp(2.9rem, 3.2cqw, 3.2rem)
}

.p-listing__left {
    max-width: 65%
}

.p-listing__left>header h2 {
    margin-bottom: 2.4rem;
    padding-bottom: 2.4rem;
    border-bottom: 1px solid #e0e0e0
}

.p-listing__splide {
    margin-bottom: clamp(2.9rem, 3.2cqw, 3.2rem)
}

.p-listing__slide {
    display: flex;
    flex-flow: column;
    justify-content: stretch
}

.p-listing__slide article {
    width: 100%;
    height: 100%
}

.p-listing__slide a[class*=wrapper] {
    height: 100%
}

.p-listing__slide section {
    flex: 1
}

.p-listing .splide__arrows {
    position: absolute;
    top: -6.35rem;
    right: 0;
    display: flex;
    width: 9rem
}

.p-listing .splide__arrows button {
    background-color: rgba(0, 0, 0, 0);
    border: 2px solid #e0e0e0
}

.p-listing__right {
    max-width: 30%;
    width: 100%
}

.p-listing__right h2 {
    margin-bottom: 2.4rem;
    padding-bottom: 2.4rem;
    border-bottom: 1px solid #e0e0e0
}

.p-listing__card {
    position: relative;
    min-height: 10.75rem;
    display: flex;
    flex-flow: column;
    border-bottom: 1px solid #34d779;
    padding-bottom: .8rem
}

.p-listing__card:not(:last-of-type) {
    margin-bottom: clamp(4rem, 5cqw, 5rem)
}

.p-listing__card .category {
    font-size: clamp(1.1rem, 1.2cqw, 1.2rem);
    line-height: 1.54rem;
    font-weight: 400;
    white-space: nowrap;
    margin-bottom: .8rem
}

.p-listing__card .content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    flex: 1
}

.p-listing__card .content h3 {
    flex: 1;
    font-size: clamp(1.6rem, 1.7cqw, 1.7rem);
    line-height: 1.9rem;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical
}

.p-listing__card .content img {
    border-radius: 50%
}

.p-listing__foot {
    margin-top: .8rem
}

.p-listing__foot span {
    font-size: clamp(1.1rem, 1.2cqw, 1.2rem);
    line-height: 1.54rem;
    font-weight: 400
}

.p-listing__images {
    position: relative !important;
    display: flex
}

.p-listing__images>figure {
    width: clamp(4.6rem, 5cqi, 5rem);
    height: clamp(4.6rem, 5cqi, 5rem);
    flex-shrink: 0
}

.p-listing__images>figure img {
    width: 100%;
    height: 100%
}

.p-listing__desktop-banner {
    margin-bottom: clamp(2.9rem, 3.2cqw, 3.2rem);
    display: flex;
    flex-flow: column;
    gap: 1.6rem;
    min-height: 23.1rem;
    position: relative;
    color: #fff;
    padding: clamp(2.9rem, 3.2cqw, 3.2rem);
    z-index: 0
}

.p-listing__desktop-banner header {
    display: flex;
    flex-flow: column;
    gap: 1rem
}

.p-listing__desktop-banner a,
.p-listing__desktop-banner button {
    width: max-content;
    font-size: 1.2rem;
    margin-top: auto
}

.p-listing__desktop-banner a,
.p-listing__desktop-banner button {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    white-space: nowrap;
    width: max-content;
    margin-top: auto;
    font-size: 1.5rem;
    padding: clamp(.6rem, 1.2cqi, 1.2rem) clamp(4.2rem, 5cqi, 5rem);
    border-radius: 10rem;
    font-family: var(--font-dmsans);
    font-weight: 600;
    line-height: clamp(2rem, 2.4cqi, 2.4rem);
    text-align: left;
    border: .2rem solid;
    background-color: #34d779;
    color: #0f0f0f;
    border-color: #34d779;
    transition: .5s;
}

.p-listing__desktop-banner h3 {
    font-size: clamp(1.61rem, 2cqw, 1.9474rem);
    font-weight: bold;
    font-family: var(--font-dmsans);
    line-height: clamp(2.03rem, 2.247cqw, 2.247rem);
    text-align: left
}

.p-listing__desktop-banner p {
    font-family: var(--font-instrumentsans);
    font-size: clamp(1.1rem, 1.204cqw, 1.204rem);
    line-height: clamp(1.26rem, 1.47cqw, 1.47rem);
    text-align: left
}

.p-listing__desktop-banner picture {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1
}

.p-listing__desktop-banner picture::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .6)
}

.p-listing__desktop-banner picture img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.p-listing__desktop-banner>img {
    position: absolute;
    bottom: 3.2rem;
    right: 3.2rem
}

@media only screen and (min-width: 1001px) {
    .p-listing {
        padding-bottom: clamp(7rem, 7.7vw, 7.7rem)
    }
}

.i-banner {
    position: relative;
    padding: clamp(2.4rem, 2.7vw, 2.7rem) clamp(2.9rem, 3.2vw, 3.2rem);
    min-height: 100%;
    container-type: inline-size;
    display: flex;
    flex-flow: column;
    justify-content: center;
    background: black;
}

.i-banner__wrapper {
    max-width: 75%;
    margin-left: 0;
    color: #fff
}

.i-banner__wrapper h2 {
    font-family: var(--font-dmsans);
    font-size: clamp(2.02rem, 2.4cqw, 2.4rem);
    line-height: clamp(2.34rem, 2.7cqw, 2.7rem);
    font-weight: bold;
    margin-bottom: .8rem;
    color: #fff
}

.i-banner__wrapper p {
    font-family: var(--font-instrumentsans);
    font-size: clamp(1.247rem, 1.4cqw, 1.4rem);
    line-height: clamp(1.56rem, 1.7cqw, 1.7rem);
    font-weight: 400;
    color: #fff
}

.i-banner__button {
    display: flex;
    width: 100%;
    margin-top: 1.5rem;
    color: white;
}

.i-banner__button a {
    margin-top: auto;
    width: 100%;
    max-width: 21.7rem
}

.i-banner__marca {
    position: absolute;
    bottom: clamp(2.9rem, 3.2vw, 3.2rem);
    right: clamp(4.5rem, 4.5vw, 4.5rem);
    object-fit: cover
}

.i-banner>picture {
    display: block;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .6);
    z-index: -1
}

.i-banner>picture div {}

.i-banner>picture img {
    width: 100%;
    min-height: 100%;
    vertical-align: bottom;
    object-fit: cover;
    z-index: -1
}


@media only screen and (min-width: 1000px) {
    .i-banner--post {
        margin: 0 auto;
        width: 90%;
        max-width: 1260px
    }
}

.categories {
    background-color: #f3f3f3;
    padding: clamp(3.2rem, 5vw, 5rem) 0;
    padding-bottom: calc(clamp(3.2rem, 8vw, 8rem) + 3rem);
    container-type: inline-size
}

.categories h2 {
    font-size: clamp(2.6rem, 2.7cqw, 2.7rem);
    line-height: 3rem;
    padding: clamp(.5rem, 2.4cqw, 2.4rem) 0;
    margin-bottom: clamp(2.9rem, 3.2cqw, 3.2rem);
    text-align: center
}

.categories__card article {
    background-color: #fff;
    width: 100%;
    padding: 3.2rem 2.3rem;
    display: flex;
    flex-flow: column;
    max-width: 38rem;
    border-radius: .8rem;
    height: 100%
}

.categories__card h3 {
    font-size: 2rem;
    line-height: 2.4rem;
    font-family: var(--font-dmsans);
    padding-bottom: 1.6rem;
    margin-bottom: 1.6rem;
    border-bottom: 1px solid #e0e0e0
}

.categories__card p {
    font-size: 1.4rem;
    line-height: 1.7rem;
    margin-bottom: clamp(2.9rem, 3.2cqw, 3.2rem);
    word-wrap: break-word
}

.categories__card a {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    white-space: nowrap;
    width: 100%;
    margin-top: auto;
    font-size: 1.5rem;
    padding: clamp(.6rem, 1.2cqi, 1.2rem) clamp(4.2rem, 5cqi, 5rem);
    border-radius: 10rem;
    font-family: var(--font-dmsans);
    font-weight: 600;
    line-height: clamp(2rem, 2.4cqi, 2.4rem);
    text-align: left;
    border: .2rem solid;
    background-color: #34d779;
    color: #0f0f0f;
    border-color: #34d779;
    transition: .5s;
}

.categories__card a:hover {
    background-color: transparent;
    transform: translateY(-1rem);
    opacity: 1;
}

.categories .splide__pagination {
    bottom: -3.75rem;
    width: max-content;
    margin: 0 auto
}

.categories .splide__pagination__page {
    height: 1.2rem;
    width: 1.2rem
}

.categories .splide__pagination__page:not(.is-active) {
    background-color: rgba(0, 0, 0, 0);
    border: 2px solid #adadad
}

.categories .splide__pagination__page.is-active {
    background-color: #34d779;
    width: 3.2rem;
    border-radius: 50rem;
    transition: all .2s ease-in-out;
    transform: none
}

.categories .splide__arrows {
    position: absolute;
    bottom: -3.75rem;
    left: 50%;
    transform: translate(-50%, -0.9rem);
    display: flex;
    justify-content: space-between;
    width: 30rem;
    margin: 0 auto
}

.categories .splide__arrows button {
    background-color: rgba(0, 0, 0, 0)
}

@media only screen and (min-width: 1001px) {
    .categories h2 {
        text-align: left;
        border-bottom: 1px solid #e0e0e0
    }

    .categories .splide__arrows {
        top: -7.75rem;
        right: 0;
        bottom: initial;
        left: initial;
        transform: none;
        width: 9rem
    }

    .categories .splide__arrows button {
        background-color: rgba(0, 0, 0, 0);
        border: 2px solid #e0e0e0
    }
}

@media screen and (min-width: 1001px) {
    .mobile-only {
        display: none !important
    }
}

@media screen and (max-width: 1000px) {
    .desktop-only {
        display: none !important
    }
}

@keyframes showFigure {
    from {
        opacity: 0;
        scale: .5
    }

    to {
        opacity: 1;
        scale: 1
    }
}

@keyframes showBenefits {
    from {
        opacity: 0;
        transform: translateY(30rem)
    }

    to {
        opacity: 1;
        transform: translateY(0rem)
    }
}

@keyframes showSteps {
    from {
        opacity: 0;
        transform: translateY(30rem)
    }

    to {
        opacity: 1;
        transform: translateY(0rem)
    }
}

.h-blog--produtores {
    background-color: #f9f9f9;
    padding-bottom: 10rem;
    position: relative;
    z-index: 100;
    width: 100%
}

.h-blog--produtores>header {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 8rem 0 8rem 0
}

@media only screen and (max-width: 1000px) {
    .h-blog--produtores>header {
        padding: 0
    }
}

.h-blog--produtores>header>h3 {
    font-size: clamp(2.4rem, 2.5vw, 3rem);
    color: #0f0f0f;
    font-family: var(--font-dmsans);
    font-weight: 600;
    max-width: 83rem;
    text-align: center;
    margin-bottom: 4.9rem
}

@media only screen and (max-width: 1000px) {
    .h-blog--produtores>header>h3 {
        margin-bottom: 0;
        padding: 4.9rem 0
    }
}

.h-blog--produtores__list {
    display: flex;
    justify-content: space-between;
    gap: 6.9rem;
    padding-bottom: 6rem
}

@media only screen and (max-width: 1000px) {
    .h-blog--produtores__list {
        overflow-x: scroll
    }
}

.h-blog--produtores__card>figure {
    width: 34.4rem;
    height: 22.2rem;
    overflow: hidden;
    border-radius: 1rem
}

.h-blog--produtores__card>figure>img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.h-blog--produtores__card>div>h4 {
    font-size: clamp(1.8rem, 2vw, 2.4rem);
    line-height: 3rem;
    font-family: var(--font-dmsans);
    color: #0f0f0f;
    max-width: 27.7rem;
    margin: 3.2rem 0;
    font-weight: 600
}

.h-blog--produtores__card>div>a {
    font-size: clamp(1.6rem, 2vw, 2.2rem);
    color: #0f0f0f;
    font-weight: 600;
    line-height: 3.2rem;
    text-decoration: underline;
    font-family: var(--font-dmsans)
}

.h-blog--empresas {
    background-color: #fff;
    padding-bottom: 15rem;
    position: relative;
    z-index: 100;
    width: 100%
}

.h-blog--empresas::before {
    content: "";
    position: absolute;
    left: 0;
    top: -10rem;
    bottom: 0;
    right: 0;
    width: 100%;
    mask: url(../../../../public/wave-blog.svg);
    mask-repeat: no-repeat;
    mask-size: 100% 100%;
    background: linear-gradient(318.94deg, #00153a 0%, #00216b 41.04%, #34d779 124.27%);
    z-index: -5
}

@media only screen and (max-width: 1000px) {
    .h-blog--empresas::before {
        top: -17rem
    }
}

.h-blog--empresas>header {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 14.8rem 0 8rem 0
}

@media only screen and (max-width: 1000px) {
    .h-blog--empresas>header {
        padding: 0
    }
}

.h-blog--empresas>header>h3 {
    font-size: clamp(2.6rem, 3vw, 3.6rem);
    color: #fff;
    font-family: var(--font-dmsans);
    font-weight: 600;
    max-width: 83rem;
    text-align: center;
    margin-bottom: 4.9rem
}

@media only screen and (max-width: 1000px) {
    .h-blog--empresas>header>h3 {
        margin-bottom: 0;
        padding: 4.9rem 0
    }
}

.h-blog--empresas__list {
    display: flex;
    justify-content: space-between;
    gap: 6.9rem;
    padding-bottom: 6rem
}

@media only screen and (max-width: 1000px) {
    .h-blog--empresas__list {
        overflow-x: scroll
    }
}

@media only screen and (max-width: 700px) {
    .h-blog--empresas__card {
        width: 25rem
    }
}

.h-blog--empresas__card>figure {
    width: 34.4rem;
    height: 22.2rem;
    overflow: hidden;
    border-radius: 1rem
}

@media only screen and (max-width: 700px) {
    .h-blog--empresas__card>figure {
        width: 25rem
    }
}

.h-blog--empresas__card>figure>img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.h-blog--empresas__card>div>h4 {
    font-size: clamp(1.8rem, 2vw, 2.4rem);
    line-height: 3rem;
    font-family: var(--font-dmsans);
    color: #fff;
    max-width: 27.7rem;
    margin: 3.2rem 0;
    font-weight: 600
}

.h-blog--empresas__card>div>a {
    font-size: clamp(1.6rem, 2vw, 2.2rem);
    color: #fff;
    font-weight: 600;
    line-height: 3.2rem;
    text-decoration: underline;
    font-family: var(--font-dmsans)
}

.p-head {
    container-type: inline-size;
    background-color: #fff
}

.p-head__search {
    padding: clamp(2.9rem, 3.2vw, 3.2rem) 0;
    background-color: #f2f2f2;
    margin-bottom: 1.6rem
}

.p-head__search fieldset {
    border: none;
    display: flex;
    gap: .7rem;
    background-color: #fff;
    border-radius: 50rem;
    padding: 1.4rem 1.6rem
}

.p-head__search fieldset input {
    background-color: #fff;
    outline: none;
    border: none;
    width: 100%
}

.p-head__consultant {
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 10;
    background-color: #fff;
    padding: clamp(1.2rem, 3.5cqw, 3.5rem) 0 clamp(1rem, 1cqw, 1.2rem)
}

.p-head__consultant>a,
.p-head__consultant button {
    padding: 1.3rem 3rem;
    max-width: 50rem;
    width: 90%;
    display: block;
    background-color: #00216b;
    color: #fff;
    border-radius: .8rem;
    font-size: 1.4rem;
    font-family: var(--font-dmsans);
    text-align: center
}

.p-head__top {
    margin-top: clamp(2.9rem, 3.2cqw, 3.2rem)
}

.p-head__top h1 {
    font-size: clamp(2.2rem, 3.1cqw, 3.1rem);
    line-height: clamp(2.8rem, 3.6cqw, 3.6rem);
    font-family: var(--font-dmsans);
    margin-bottom: .8rem
}

.p-head__top p {
    font-size: clamp(1.3rem, 1.7cqw, 1.7rem);
    line-height: clamp(1.5rem, 2.2cqw, 2.2rem);
    font-family: var(--font-instrumentsans);
    font-weight: 400;
    margin-bottom: clamp(2.2rem, 2.4cqw, 2.4rem)
}

.p-head__top article {
    position: relative;
    display: flex;
    align-items: center;
    gap: 1.6rem;
    padding-top: .8rem;
    border-top: 1px solid #34d779
}

.p-head__top div {
    display: flex;
    gap: .8rem;
    align-items: center
}

.p-head__top picture {
    display: inline-block;
    border-radius: 50%;
    width: clamp(3.4rem, 5cqw, 5rem);
    height: clamp(3.4rem, 5cqw, 5rem);
    min-width: 3.4rem;
    overflow: hidden
}

.p-head__top picture img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.p-head__top h3 {
    font-size: clamp(1.4rem, 1.9cqw, 1.9rem);
    line-height: clamp(1.8rem, 2.4cqw, 2.4rem);
    font-weight: bold
}

.p-head__top span {
    font-size: clamp(1.3rem, 1.5cqw, 1.5rem);
    font-weight: 400;
    line-height: clamp(1.6rem, 2.1cqw, 2.1rem)
}

.p-head__share {
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: 1.6rem;
    margin: clamp(2.9rem, 3.2cqw, 3.2rem) auto
}

.p-head__share h3 {
    font-size: 1.6rem;
    line-height: 2.2rem;
    font-weight: bold;
    font-family: var(--font-dmsans)
}

.p-head__share ul {
    list-style: none;
    display: flex;
    gap: clamp(2.9rem, 3.2cqw, 3.2rem)
}

.p-head__author-area {
    display: flex;
    align-items: center;
    gap: 0 !important
}

.p-head__author-area-pictures picture:not(:first-child) {
    position: absolute
}

.p-head__author-area-pictures picture {
    width: clamp(4.6rem, 5cqi, 5rem);
    height: clamp(4.6rem, 5cqi, 5rem);
    flex-shrink: 0
}

.p-head__author-area-text {
    margin-left: 1.6rem
}

.p-head__author-area-text span {
    font-size: clamp(1.5rem, 2cqi, 2rem);
    font-weight: 700
}

@media only screen and (min-width: 1001px) {
    .p-head__share {
        align-items: flex-start
    }
}

@media only screen and (max-width: 600px) {

    .s-grid__slide article {
        flex: unset;
    }

    .s-grid__slide article.card--inline {
        flex: unset;
    }

    .p-head__top article {
        flex-wrap: wrap
    }
}

.p-content {
    container-type: inline-size;
    background-color: #fff
}

.p-content__image {
    position: relative;
    margin-bottom: clamp(3.4rem, 4cqw, 4rem)
}

.p-content__image[data-skeleton=true] {
    width: 100%;
    min-height: clamp(21.7rem, 42.2cqw, 42.2rem);
    background-color: #e8e8e8;
    animation: skeleton_animation infinite 1.5s ease-in-out
}

@keyframes skeleton_animation {
    0% {
        background-color: #e8e8e8
    }

    50% {
        background-color: rgba(232, 232, 232, .5)
    }

    100% {
        background-color: #e8e8e8
    }
}

.p-content__image img {
    width: 100%;
    max-height: clamp(21.7rem, 42.2cqw, 42.2rem);
    object-fit: cover
}

.p-content__image a {
    position: absolute;
    top: 1.6rem;
    left: 1.6rem;
    background-color: #fff;
    padding: .8rem 1.6rem;
    border-radius: 1rem;
    font-family: var(--font-instrumentsans);
    font-size: clamp(1.1rem, 1.2cqw, 1.2rem);
    line-height: clamp(1.6rem, 1.8cqw, 1.8rem);
    font-weight: 400;
    z-index: 1
}

.p-content__content {
    color: #515151
}

.p-content__content p {
    font-size: clamp(1.4rem, 1.6cqw, 1.6rem);
    line-height: clamp(1.7rem, 2cqw, 2rem);
    letter-spacing: .005em;
    font-family: var(--font-instrumentsans);
    font-weight: 300;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.p-content__content p:not(:last-of-type) {
    margin-bottom: clamp(2rem, 2.4cqi, 2.4rem)
}

.p-content__content p:has(img) {
    margin: clamp(2rem, 2.4cqi, 2.4rem) auto;
    display: flex;
    flex-flow: column
}

.p-content__content p:has(img) img {
    border-radius: .5rem
}

.p-content__content p:empty {
    display: none
}

.p-content__content h1,
.p-content__content h2,
.p-content__content h3,
.p-content__content h4,
.p-content__content h5,
.p-content__content h6 {
    margin-bottom: 2rem;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.p-content__content h1:not(:first-child),
.p-content__content h2:not(:first-child),
.p-content__content h3:not(:first-child),
.p-content__content h4:not(:first-child),
.p-content__content h5:not(:first-child),
.p-content__content h6:not(:first-child) {
    margin-top: 3rem
}

.p-content__content h1 {
    font-size: clamp(2.7rem, 3.2cqw, 3.2rem);
    line-height: clamp(3rem, 3.6cqw, 3.6rem)
}

.p-content__content h2 {
    font-size: clamp(2.3rem, 2.8cqw, 2.8rem);
    line-height: clamp(2.7rem, 3.5cqw, 3.5rem)
}

.p-content__content h3 {
    font-size: clamp(2rem, 2.6cqw, 2.6rem);
    line-height: clamp(2.4rem, 3.2cqw, 3.2rem)
}

.p-content__content h4 {
    font-size: clamp(1.8rem, 2.3cqw, 2.3rem);
    line-height: clamp(2.3rem, 3cqw, 3rem)
}

.p-content__content h5 {
    font-size: clamp(1.6rem, 2.1cqw, 2.1rem);
    line-height: clamp(2.6rem, 3.1cqw, 3.1rem)
}

.p-content__content h6 {
    font-size: clamp(1.5rem, 1.9cqw, 1.9rem);
    line-height: clamp(2.5rem, 2.9cqw, 2.9rem)
}

.p-content__content em {
    font-weight: 400
}

.p-content__content blockquote {
    border-radius: .5rem;
    quotes: "“" "”" "‘" "’";
    padding: 1rem;
    margin-bottom: 2.9rem
}

.p-content__content blockquote p::before,
.p-content__content blockquote ::after,
.p-content__content blockquote p {
    font-size: clamp(1.6rem, 2cqi, 2rem);
    font-style: italic;
    font-weight: 600;
    line-height: clamp(2rem, 2.4cqi, 2.4rem);
    letter-spacing: .005em;
    text-align: left
}

.p-content__content blockquote p::before {
    content: "“";
    padding-right: 1rem
}

.p-content__content blockquote ::after {
    content: "”";
    padding-left: 1rem
}

.p-content__content ul {
    list-style: inside
}

.p-content__content ol {
    padding-left: 2rem
}

.p-content__content li {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: clamp(1.4rem, 1.6cqw, 1.6rem);
    line-height: 2rem;
    letter-spacing: .005em;
    font-family: var(--font-instrumentsans);
    font-weight: 300;
    margin-bottom: 1.6rem
}

.p-content__content ul li::marker {
    color: #000
}

.p-content__content hr {
    display: none
}

.p-content__content a {
    text-decoration: underline;
    text-decoration-color: #200e2f;
    text-underline-offset: 4px;
    color: #34d779;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.p-content__content figure {
    max-width: 100%
}

.p-content__content figure img {
    max-width: 79.99rem;
    width: 100% !important
}

@media only screen and (max-width: 1000px) {
    .p-content__content figure img {
        max-width: 100%
    }
}

.p-content__content figcaption {
    font-size: clamp(1.1rem, 1.2cqi, 1.2rem);
    font-weight: 400;
    line-height: clamp(1.2rem, 1.32cqi, 1.32rem);
    text-align: left;
    letter-spacing: .008em;
    color: #fff;
    margin: -1rem 0 1.5rem;
    background-color: #34d779;
    z-index: 1;
    position: relative;
    padding: clamp(1.2rem, 1.4cqi, 1.4rem) clamp(1.4rem, 1.6cqi, 1.6rem);
    border-radius: .5rem
}

.p-content__content img {
    border-radius: 1rem;
    max-width: 81.9rem;
    width: 100%
}

.p-content__content div {
    max-width: 100%
}

.p-content__wrapper {
    display: flex;
    gap: clamp(3.9rem, 4.4cqw, 4.4rem)
}

.p-content__left {
    flex: 1;
    max-width: 100%
}

.p-content__right {
    margin-bottom: clamp(4.8rem, 5.6cqw, 5.6rem)
}

.p-content__scroll {
    position: sticky;
    top: 12rem
}

.p-content__author {
    padding: 1.6rem 0;
    border-bottom: 1px solid #000;
    margin: clamp(4.8rem, 5.6cqw, 5.6rem) 0;
}

.p-content__author article {
    display: flex;
    align-items: center;
    gap: 1.6rem
}

.p-content__author p {
    font-size: 1.4rem;
    line-height: 1.7rem;
    font-family: var(--font-instrumentsans);
    font-weight: 400;
    margin-top: 1.6rem
}

.p-content__author picture {
    display: inline-block;
    border-radius: 50%;
    width: clamp(3.4rem, 5.6cqw, 5.6rem);
    height: clamp(3.4rem, 5.6cqw, 5.6rem);
    overflow: hidden
}

.p-content__author h3 {
    font-size: 1.6rem;
    line-height: 2rem;
    font-weight: bold
}

.p-content__author-area {
    display: flex;
    align-items: center
}

.p-content__author-area-pictures picture:not(:first-child) {
    position: absolute
}

.p-content__author-area-pictures picture {
    width: clamp(4.8rem, 5.6cqi, 5.6rem);
    height: clamp(4.8rem, 5.6cqi, 5.6rem)
}

.p-content__author-area-pictures picture>img {
    width: 100%;
    height: 100%
}

.p-content__author-area-text {
    margin-left: 1.5rem
}

.p-content__author-area-text span {
    font-size: clamp(1.5rem, 2cqi, 2rem);
    font-weight: 700
}

.p-content__share {
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: 1.6rem;
    margin: clamp(2.9rem, 3.2cqw, 3.2rem) auto
}

.p-content__share h3 {
    font-size: 1.8rem;
    line-height: 3rem;
    font-weight: bold;
    font-family: var(--font-dmsans)
}

.p-content__share ul {
    list-style: none;
    display: flex;
    gap: clamp(2.9rem, 3.2cqw, 3.2rem)
}

.p-content__desktop-banner {
    background: black;
    margin-bottom: clamp(2.9rem, 3.2cqw, 3.2rem);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    position: relative;
    color: #fff;
    padding: clamp(2.4rem, 2.7cqw, 2.7rem);
    min-height: 35rem
}

.p-content__desktop-banner header {
    display: flex;
    flex-flow: column;
    gap: .8rem;
    align-items: center
}

.p-content__desktop-banner a {
    display: block;
    margin-top: auto;
    font-size: 1.2rem
}

.p-content__desktop-banner h3 {
    font-size: clamp(1.9rem, 2.27cqw, 2.27rem);
    font-weight: bold;
    font-family: var(--font-dmsans);
    line-height: clamp(2.1rem, 2.34cqw, 2.34rem);
    text-align: center
}

.p-content__desktop-banner p {
    font-family: var(--font-instrumentsans);
    font-size: clamp(1.1rem, 1.247cqw, 1.247rem);
    line-height: clamp(1.4rem, 1.56cqw, 1.56rem);
    text-align: center
}

.p-content__desktop-banner picture {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1
}

.p-content__desktop-banner picture::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .6)
}

.p-content__desktop-banner picture img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.p-content__desktop-banner>img {
    margin-bottom: clamp(2.9rem, 3.2cqw, 3.2rem)
}

@media only screen and (min-width: 1001px) {
    .p-content__left {
        flex: 0 0 65%;
        max-width: 65%
    }
}

.post-cta {
    margin: 3.2rem 0;
    padding: 2.4rem;
    border-radius: 1.2rem;
    background: #00153a;
    color: #fff
}

.post-cta__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.2rem;
    text-align: center
}

.post-cta h2 {
    font-size: 2.2rem;
    line-height: 100%;
    margin-top: 1.2rem;
    font-weight: 700;
    margin: 0
}

.post-cta p {
    max-width: 52rem;
    font-size: 1.5rem;
    line-height: 2.2rem;
    opacity: .9
}

.post-cta a {
    margin-top: .8rem;
    padding: 1rem 2rem;
    font-size: 1.4rem;
    line-height: 1.4rem;
    min-height: auto;
    text-decoration: none !important;
    color: #00153a !important
}

.post-cta a:hover {
    color: #fff !important
}

.r-posts {
    background-color: #f3f3f3;
    padding: 4rem 0;
    padding-bottom: 5.5rem;
    container-type: inline-size;
    margin-bottom: clamp(2.9rem, 3.2cqw, 3.2rem)
}

.r-posts h2 {
    font-size: 2.6rem;
    line-height: 3rem;
    font-family: var(--font-dmsans);
    padding-bottom: 2.4rem;
    border-bottom: 1px solid #e0e0e0;
    margin-bottom: clamp(2.9rem, 3.2cqw, 3.2rem)
}

.r-posts__slide {
    display: flex;
    flex-flow: column;
    justify-content: stretch
}

.r-posts__slide article {
    width: 100%;
    height: 100%
}

.r-posts__slide a[class*=wrapper] {
    height: 100%
}

.r-posts__slide section {
    flex: 1
}

.r-posts .splide__arrows {
    position: absolute;
    bottom: -3.25rem;
    left: 50%;
    transform: translate(-50%, -0.9rem);
    display: flex;
    justify-content: space-between;
    width: 30rem;
    margin: 0 auto
}

.r-posts .splide__arrows button {
    background-color: rgba(0, 0, 0, 0)
}

.r-posts .splide__pagination {
    bottom: -3.25rem;
    width: max-content;
    margin: 0 auto
}

.r-posts .splide__pagination__page {
    height: 1.2rem;
    width: 1.2rem
}

.r-posts .splide__pagination__page:not(.is-active) {
    background-color: rgba(0, 0, 0, 0);
    border: 2px solid #adadad
}

.r-posts .splide__pagination__page.is-active {
    background-color: #34d779;
    width: 3.2rem;
    border-radius: 50rem;
    transition: all .2s ease-in-out;
    transform: none
}

@media only screen and (min-width: 1001px) {
    .r-posts .splide__arrows {
        top: -7.15rem;
        right: 0;
        bottom: initial;
        left: initial;
        transform: none;
        width: 9rem
    }

    .r-posts .splide__arrows button {
        background-color: rgba(0, 0, 0, 0);
        border: 2px solid #e0e0e0
    }
}

.newsletter {
    background-color: #ffbb3c;
    padding: 6.4rem 0;
    container-type: inline-size
}

.newsletter__wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-flow: column;
    gap: 2.4rem;
    background-color: #ffbb3c;
    padding: 0 2.5rem
}

.newsletter h3 {
    font-size: clamp(2.4rem, 2.6cqw, 2.6rem);
    line-height: 3rem
}

.newsletter p {
    font-size: 1.6rem;
    line-height: 2rem;
    font-family: var(--font-instrumentsans)
}

.newsletter form {
    display: flex;
    flex-flow: column;
    width: 100%;
    gap: 1.4rem;
    max-width: 46rem
}

.newsletter input {
    padding: 1.7rem 1.2rem;
    border-radius: .6rem;
    border: none;
    outline: none
}

.newsletter input::placeholder {
    text-transform: uppercase;
    letter-spacing: .1rem;
    font-size: 1.6rem;
    font-family: var(--font-instrumentsans)
}

.newsletter button {
    padding: 1.1rem 2.2rem;
    font-size: clamp(1.8rem, 2vw, 2rem);
    color: #fff;
    background-color: #000;
    font-weight: 500;
    border-radius: 10rem;
    text-align: center;
    border: .1rem solid rgba(0, 0, 0, 0);
    transition: .6s
}

@media only screen and (min-width: 1001px) {
    .newsletter {
        background-color: #fff
    }

    .newsletter__wrapper {
        padding: 4.7rem 2.4rem;
        flex-flow: row;
        justify-content: space-between
    }

    .newsletter form {
        flex-flow: row;
        gap: .8rem;
        justify-content: flex-end
    }
}

.splide__container {
    box-sizing: border-box;
    position: relative
}

.splide__list {
    backface-visibility: hidden;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important
}

.splide.is-initialized:not(.is-active) .splide__list {
    display: block
}

.splide__pagination {
    -ms-flex-align: center;
    align-items: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0;
    pointer-events: none
}

.splide__pagination li {
    display: inline-block;
    line-height: 1;
    list-style-type: none;
    margin: 0;
    pointer-events: auto
}

.splide:not(.is-overflow) .splide__pagination {
    display: none
}

.splide__progress__bar {
    width: 0
}

.splide {
    position: relative;
    visibility: hidden
}

.splide.is-initialized,
.splide.is-rendered {
    visibility: visible
}

.splide__slide {
    backface-visibility: hidden;
    box-sizing: border-box;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    list-style-type: none !important;
    margin: 0;
    position: relative
}

.splide__slide img {
    vertical-align: bottom
}

.splide__spinner {
    animation: splide-loading 1s linear infinite;
    border: 2px solid #999;
    border-left-color: transparent;
    border-radius: 50%;
    bottom: 0;
    contain: strict;
    display: inline-block;
    height: 20px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 20px
}

.splide__sr {
    clip: rect(0 0 0 0);
    border: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px
}

.splide__toggle.is-active .splide__toggle__play,
.splide__toggle__pause {
    display: none
}

.splide__toggle.is-active .splide__toggle__pause {
    display: inline
}

.splide__track {
    overflow: hidden;
    position: relative;
    z-index: 0
}

@keyframes splide-loading {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(1turn)
    }
}

.splide__track--draggable {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.splide__track--fade>.splide__list>.splide__slide {
    margin: 0 !important;
    opacity: 0;
    z-index: 0
}

.splide__track--fade>.splide__list>.splide__slide.is-active {
    opacity: 1;
    z-index: 1
}

.splide--rtl {
    direction: rtl
}

.splide__track--ttb>.splide__list {
    display: block
}

.splide__arrow {
    -ms-flex-align: center;
    align-items: center;
    background: #ccc;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    display: -ms-flexbox;
    display: flex;
    height: 2em;
    -ms-flex-pack: center;
    justify-content: center;
    opacity: .7;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 2em;
    z-index: 1
}

.splide__arrow svg {
    fill: #000;
    height: 1.2em;
    width: 1.2em
}

.splide__arrow:hover:not(:disabled) {
    opacity: .9
}

.splide__arrow:disabled {
    opacity: .3
}

.splide__arrow:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide__arrow--prev {
    left: 1em
}

.splide__arrow--prev svg {
    transform: scaleX(-1)
}

.splide__arrow--next {
    right: 1em
}

.splide.is-focus-in .splide__arrow:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide__pagination {
    bottom: .5em;
    left: 0;
    padding: 0 1em;
    position: absolute;
    right: 0;
    z-index: 1
}

.splide__pagination__page {
    background: #ccc;
    border: 0;
    border-radius: 50%;
    display: inline-block;
    height: 8px;
    margin: 3px;
    opacity: .7;
    padding: 0;
    position: relative;
    transition: transform .2s linear;
    width: 8px
}

.splide__pagination__page.is-active {
    background: #fff;
    transform: scale(1.4);
    z-index: 1
}

.splide__pagination__page:hover {
    cursor: pointer;
    opacity: .9
}

.splide__pagination__page:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide.is-focus-in .splide__pagination__page:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide__progress__bar {
    background: #ccc;
    height: 3px
}

.splide__slide {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.splide__slide:focus {
    outline: 0
}

@supports(outline-offset:-3px) {
    .splide__slide:focus-visible {
        outline: 3px solid #0bf;
        outline-offset: -3px
    }
}

@media screen and (-ms-high-contrast:none) {
    .splide__slide:focus-visible {
        border: 3px solid #0bf
    }
}

@supports(outline-offset:-3px) {
    .splide.is-focus-in .splide__slide:focus {
        outline: 3px solid #0bf;
        outline-offset: -3px
    }
}

@media screen and (-ms-high-contrast:none) {
    .splide.is-focus-in .splide__slide:focus {
        border: 3px solid #0bf
    }

    .splide.is-focus-in .splide__track>.splide__list>.splide__slide:focus {
        border-color: #0bf
    }
}

.splide__toggle {
    cursor: pointer
}

.splide__toggle:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide.is-focus-in .splide__toggle:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide__track--nav>.splide__list>.splide__slide {
    border: 3px solid transparent;
    cursor: pointer
}

.splide__track--nav>.splide__list>.splide__slide.is-active {
    border: 3px solid #000
}

.splide__arrows--rtl .splide__arrow--prev {
    left: auto;
    right: 1em
}

.splide__arrows--rtl .splide__arrow--prev svg {
    transform: scaleX(1)
}

.splide__arrows--rtl .splide__arrow--next {
    left: 1em;
    right: auto
}

.splide__arrows--rtl .splide__arrow--next svg {
    transform: scaleX(-1)
}

.splide__arrows--ttb .splide__arrow {
    left: 50%;
    transform: translate(-50%)
}

.splide__arrows--ttb .splide__arrow--prev {
    top: 1em
}

.splide__arrows--ttb .splide__arrow--prev svg {
    transform: rotate(-90deg)
}

.splide__arrows--ttb .splide__arrow--next {
    bottom: 1em;
    top: auto
}

.splide__arrows--ttb .splide__arrow--next svg {
    transform: rotate(90deg)
}

.splide__pagination--ttb {
    bottom: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    left: auto;
    padding: 1em 0;
    right: .5em;
    top: 0
}

/* WordPress font bindings only. Visual rules remain from the original Next SCSS. */
@font-face {
    font-family: "Instrument Sans";
    src: url("../fonts/InstrumentSans-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: "Instrument Sans";
    src: url("../fonts/InstrumentSans-SemiBold.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: "Instrument Sans";
    src: url("../fonts/InstrumentSans-Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: "DM Sans";
    src: url("../fonts/DMSans-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: "DM Sans";
    src: url("../fonts/DMSans-Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap
}

:root {
    --font-instrument: "Instrument Sans", Arial, sans-serif;
    --font-instrumentsans: "Instrument Sans", Arial, sans-serif;
    --font-dmsans: "DM Sans", "Instrument Sans", Arial, sans-serif
}

/* WordPress bridge: reproduz o posicionamento portalizado do Radix sem alterar o visual original. */
.header__wrapper>a {
    display: block;
    flex: 0 0 auto;
    line-height: 0
}

.header__wrapper>a img {
    display: block;
    width: 140px;
    height: 40px
}

.header__nav-wrapper>.IconButton {
    position: relative;
    padding: 0
}

.header__nav-wrapper>.IconButton>.DropdownMenuContent {
    position: absolute;
    top: calc(100% + 1.4rem);
    left: 0;
    width: max-content;
    min-width: 22rem;
    z-index: 1000
}

.header__nav-wrapper>.IconButton[data-state="open"]>.DropdownMenuContent {
    display: flex;
    flex-direction: column
}

.header__nav-wrapper>.IconButton>.DropdownMenuContent .DropdownMenuItem {
    display: block;
    padding: 1rem 1.2rem;
    color: #353535;
    text-transform: none;
    white-space: normal
}

.header__submenu-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0
}

@media screen and (max-width:1000px) {
    .header__wrapper>a img {
        width: 169px;
        height: 40px
    }

    .header__nav-wrapper>.IconButton {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        align-items: center
    }

    .header__nav-wrapper>.IconButton>a {
        flex: 1
    }

    .header__nav-wrapper>.IconButton>.DropdownMenuContent {
        position: static;
        display: none;
        width: 100%;
        min-width: 0;
        max-width: none;
        box-shadow: none;
        margin-top: .8rem
    }

    .header__nav-wrapper>.IconButton[data-state="open"]>.DropdownMenuContent {
        display: flex
    }

    .header__nav-wrapper>.IconButton>.DropdownMenuContent .DropdownMenuItem {
        padding: 1rem 1.6rem;
        font-size: 1.6rem;
        line-height: 2rem
    }
}

.header__nav-wrapper>.header__modify {
    display: none;
}

.header__wrapper>.header__modify {
    display: flex;
}

@media (max-width: 1000px) {
    .header__nav-wrapper>.header__modify {
        display: flex;
    }

    .header__wrapper>.header__modify {
        display: none;
    }
}

.header .IconButton {
    position: relative;
}

/* Submenu fechado por padrão */
.header .DropdownMenuContent {
    position: absolute;
    top: calc(100% + 10px);
    left: 50%;
    z-index: 9999;

    display: flex;
    flex-direction: column;
    min-width: 220px;
    padding: 8px;

    background: #fff;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgb(0 0 0 / 18%);

    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate(-50%, -8px);

    transition:
        opacity 0.2s ease,
        transform 0.2s ease,
        visibility 0.2s ease;
}

/* Ponte invisível para não fechar ao mover o mouse */
.header .DropdownMenuContent::before {
    position: absolute;
    right: 0;
    bottom: 100%;
    left: 0;
    height: 14px;
    content: "";
}

/* Desktop: abre no hover e no foco de teclado */
@media (min-width: 1001px) {

    .header .IconButton:hover>.DropdownMenuContent,
    .header .IconButton:focus-within>.DropdownMenuContent {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translate(-50%, 0);
    }

    .header .IconButton:hover>.header__submenu-button img,
    .header .IconButton:focus-within>.header__submenu-button img {
        transform: rotate(-180deg);
    }
}

/* Links internos */
.header .DropdownMenuItem {
    display: block;
    padding: 10px 14px;
    white-space: nowrap;
    color: #16352f;
    text-decoration: none;
}

.header .DropdownMenuItem:hover,
.header .DropdownMenuItem:focus {
    background: #f2f7f4;
}

/* Animação da seta */
.header .header__submenu-button img {
    transition: transform 0.25s ease;
}

@media (max-width: 1000px) {
    .header .IconButton {
        display: grid;
        grid-template-columns: 1fr auto;
        width: 100%;
    }

    .header .DropdownMenuContent {
        position: static;
        grid-column: 1 / -1;

        display: none;
        width: 100%;
        min-width: 0;
        padding: 8px 0 8px 16px;

        background: transparent;
        border-radius: 0;
        box-shadow: none;

        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
    }

    .header .IconButton[data-state="open"]>.DropdownMenuContent {
        display: flex;
    }

    .header .IconButton[data-state="open"]>.header__submenu-button img {
        transform: rotate(-180deg);
    }
}

.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2.4rem;
    width: 100%;
    margin-top: 4.8rem;
}

.pagination__numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
}

.pagination__numbers a,
.pagination__numbers span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 4rem;
    height: 4rem;
    padding: 0 1.2rem;

    border: 1px solid transparent;
    border-radius: 999px;

    color: #174c3c;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.pagination__numbers a:hover,
.pagination__numbers a:focus-visible {
    background-color: #eef7f1;
    border-color: #b9ddc4;
    color: #0f6b42;
    transform: translateY(-1px);
}

.pagination__numbers .active {
    background-color: #1c8c54;
    border-color: #1c8c54;
    color: #fff;
    cursor: default;
}

.pagination__arrow {
    display: flex;
    align-items: center;
    min-width: 9.6rem;
}

.pagination__arrow--right {
    justify-content: flex-end;
}

.pagination__arrow a {
    display: inline-flex;
    align-items: center;
    gap: 1rem;

    color: #174c3c;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;

    transition:
        color 0.2s ease,
        transform 0.2s ease;
}

.pagination__arrow a:hover,
.pagination__arrow a:focus-visible {
    color: #1c8c54;
}

.pagination__arrow:not(.pagination__arrow--right) a:hover {
    transform: translateX(-2px);
}

.pagination__arrow--right a:hover {
    transform: translateX(2px);
}

.pagination__arrow svg {
    display: block;
    flex: 0 0 auto;
    fill: currentColor;
}

.pagination__arrow a:focus-visible,
.pagination__numbers a:focus-visible {
    outline: 2px solid #1c8c54;
    outline-offset: 3px;
}

@media (max-width: 768px) {
    .pagination {
        gap: 1.2rem;
        margin-top: 3.2rem;
    }

    .pagination__numbers {
        gap: 0.4rem;
    }

    .pagination__numbers a,
    .pagination__numbers span {
        min-width: 3.6rem;
        height: 3.6rem;
        padding: 0 0.8rem;
        font-size: 1.4rem;
    }

    .pagination__arrow {
        min-width: auto;
    }

    .pagination__arrow a {
        font-size: 0;
        gap: 0;
    }

    .pagination__arrow svg {
        width: 0.9rem;
        height: 1.5rem;
    }
}

.Index_block {
    width: 100%;
    font-family: inherit;
    color: #171717;
}

.Index_block.mobile-only {
    border-top: 1px solid #e0e0e0;
    position: fixed;
    z-index: 10;
    bottom: 6rem;
    width: 100%;
    padding: 2rem 0;
    background-color: #fff;
}

.Index_block.mobile-only ul {
    margin: 0 auto;
    max-height: 50vh;
    overflow: scroll;
    padding-top: 3rem;
}

.Index_block header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.Index_block header h3 {
    font-size: clamp(2rem, 2.6cqw, 2.6rem);
    line-height: clamp(2.3rem, 3cqw, 3rem);
    font-family: var(--font-dmsans);
}

.Index_block header button {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.Index_block header button img {
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    transition: transform 0.25s ease;
}

.Index_block header button[aria-expanded="true"] img {
    transform: rotate(180deg);
}

.Index_block ul {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin: 0;
    padding: 0 0 0 0.65rem;
    list-style: none;
}

.Index_block ul[data-show="false"] {
    display: none;
}

.Index_block li {
    margin: 0;
    padding: 0;
}

.Index_block li a {
    display: block;
    color: #1a1a1a;
    font-size: 1.6rem;
    line-height: 2rem;
    font-weight: 400;
    font-weight: 400;
    line-height: 1.25;
    text-decoration: none;
    transition:
        color 0.2s ease,
        transform 0.2s ease;
}

.Index_block li a:hover,
.Index_block li a:focus-visible,
.Index_block li a[data-active="true"] {
    color: #6b45ff;
}

.Index_block li a:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}

.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
    margin: 2.4rem auto;
    font-size: 1.6rem;
    line-height: 1.5;
}

.breadcrumb a,
.breadcrumb p {
    margin: 0;
}

.breadcrumb a {
    color: #49557a;
    text-decoration: none;
    transition: color .2s ease;
}

.breadcrumb a:hover {
    color: #22c55e;
}

.breadcrumb p {
    color: #22c55e;
    font-weight: 400;
    word-break: break-word;
}

.breadcrumb>*:not(:last-child)::after {
    content: "›";
    display: inline-block;
    margin-left: .6rem;
    color: #7b859c;
    font-weight: 400;
}

.BreadCrumb_breadcrumb___Gh1Z {
    display: flex;
    flex-flow: row wrap;
    gap: 8px;
    margin-top: clamp(2.9rem, 3.2vw, 3.2rem);
}

.BreadCrumb_breadcrumb___Gh1Z a:not(:last-child):after,
.BreadCrumb_breadcrumb___Gh1Z p:not(:last-child):after {
    content: ">";
    margin-left: 8px;
    font-weight: 400;
}

.BreadCrumb_breadcrumb___Gh1Z a {
    color: #667085;
}

.BreadCrumb_breadcrumb___Gh1Z p {
    color: #34d779;
}

.BreadCrumb_breadcrumb___Gh1Z a,
.BreadCrumb_breadcrumb___Gh1Z p {
    font-size: 1.4rem;
    line-height: 2.1rem;
    text-wrap: wrap;
}

.Comments_comment__B6Zee {
    width: 100%;
    max-width: 65%;
    margin-bottom: clamp(2.9rem, 3.2cqw, 3.2rem);
}

.Comments_comment__B6Zee h3 {
    font-size: 2.6rem;
    line-height: 3rem;
    margin-bottom: clamp(2.9rem, 3.2cqw, 3.2rem);
}

.Comments_comment__B6Zee form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
}

.Comments_comment__B6Zee textarea,
.Comments_comment__B6Zee input {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #dedede;
    border-radius: 0.65rem;
    background: #fff;
    color: #171717;
    font: inherit;
    font-size: 1.25rem;
    font-weight: 400;
    outline: none;
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.Comments_comment__B6Zee textarea {
    grid-column: 1 / -1;
    min-height: 13.25rem;
    padding: 2rem 1.5rem;
    resize: vertical;
}

.Comments_comment__B6Zee input {
    height: 5.5rem;
    padding: 0 1.5rem;
}

.Comments_comment__B6Zee textarea::placeholder,
.Comments_comment__B6Zee input::placeholder {
    color: #777;
    opacity: 1;
}

.Comments_comment__B6Zee textarea:focus,
.Comments_comment__B6Zee input:focus {
    border-color: #28d875;
    box-shadow: 0 0 0 3px rgb(40 216 117 / 12%);
}

.Comments_comment__button__u9rm_[type="submit"] {
    grid-column: 1 / -1;
    justify-self: start;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    white-space: nowrap;
    width: max-content;
    margin-top: auto;
    font-size: 1.5rem;
    padding: clamp(.6rem, 1.2cqi, 1.2rem) clamp(4.2rem, 5cqi, 5rem);
    border-radius: 10rem;
    font-family: var(--font-dmsans);
    font-weight: 600;
    line-height: clamp(2rem, 2.4cqi, 2.4rem);
    text-align: left;
    border: .2rem solid;
    background-color: #34d779;
    color: #0f0f0f;
    border-color: #34d779;
    transition: .5s;
}

.Comments_comment__button__u9rm_:hover {
    background-color: transparent;
    transform: translateY(-1rem);
    opacity: 1;
}

.Comments_comment__button__u9rm_:active {
    transform: translateY(1px);
}

.Comments_comment__button__u9rm_:focus-visible {
    outline: 3px solid rgb(40 216 117 / 30%);
    outline-offset: 3px;
}

@media (max-width: 768px) {
    .Comments_comment__B6Zee {
        width: 100%;
        max-width: 100%;
    }

    .Comments_comment__B6Zee h3 {
        margin-bottom: 2rem;
        font-size: 1.75rem;
    }

    .Comments_comment__B6Zee form {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .Comments_comment__B6Zee textarea {
        grid-column: auto;
        min-height: 11rem;
        padding: 1.5rem 1.25rem;
    }

    .Comments_comment__B6Zee input {
        height: 4.75rem;
        padding: 0 1.25rem;
    }

    .Comments_comment__B6Zee textarea,
    .Comments_comment__B6Zee input {
        font-size: 1rem;
    }

    .Comments_comment__button__u9rm_ {
        grid-column: auto;
        width: 100%;
        min-height: 3.5rem;
    }
}