/*
Theme Name: Renovetica
Author: AWEBI
Author URI: awebi.com
Description: Custom WordPress theme starter for Renovetica.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 8.0
Text Domain: renovetica
*/

:root {
    --font-primary: "Poppins", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    --bg: #F8FFFE;
    --text: #30353b;
    --muted: #525a60;
    --teal: #006255;
    --teal-dark: #004037;
    --results-bg: #004037;
    --results-card-bg: #627678;
    --results-line: rgba(255, 255, 255, 0.16);
    --section-line-light: rgba(0, 64, 55, 0.16);
    --results-title: #f2f5f5;
    --results-text: rgba(255, 255, 255, 0.92);
    --footer-bg: #004037;
    --footer-text: rgba(255, 255, 255, 0.96);
    --footer-muted: rgba(255, 255, 255, 0.84);
    --yellow: #f2d80f;
    --container-hero: 1203px;
    --container: 1140px;
    --radius-pill: 999px;
}

*,
*::before,
*::after {
    box-sizing: border-box;
    font-family: inherit;
}

html {
    scroll-behavior: smooth;
    font-family: var(--font-primary);
}

body {
    margin: 0;
    color: var(--text);
    background: var(--bg);
    line-height: 1.45;
}

a {
    color: inherit;
    text-decoration: none;
}

.container {
    width: min(100% - 4rem, var(--container));
    margin-inline: auto;
}

.container-hero {
    width: min(100% - 4rem, var(--container-hero));
    margin-inline: auto;
}

.site-header {
    padding: 1.4rem 0 0.8rem;
}

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

.site-branding {
    display: flex;
    align-items: center;
}

.custom-logo-link,
.brand-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.custom-logo,
.brand-logo {
    width: auto;
    max-width: 135px;
    height: 81px;
    object-fit: contain;
    display: block;
}

.header-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0.72rem 1.35rem;
    border-radius: var(--radius-pill);
    color: #FFF;
    /* Button */
    font-family: Poppins;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%;
    /* 19.2px */
    letter-spacing: -0.32px;
    text-transform: uppercase;
    background: var(--teal);
    transition: background-color 0.2s ease;
}

.btn-cta {
	display: flex;
	gap: 20px;
}

.header-cta:hover,
.header-cta:focus {
    background: var(--teal-dark);
}

.site-main {
    padding: 0;
}

.hero {
    padding: 120px 0;
    min-height: 628px;
    display: flex;
    align-items: center;
}

.hero-inner {
    display: grid;
    grid-template-columns: 670px 1fr;
    align-items: center;
    justify-content: space-between;
    gap: 66px;
}

.hero-content {
    max-width: 670px;
}

.hero-title-wrap {
    border-left: 4px solid var(--yellow);
    padding-left: 40px;
    margin-bottom: 40px;
}

.hero-title {
    margin: 0;
    color: #323232;
    font-family: Poppins;
    font-size: 64px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%;
    /* 76.8px */
}

.hero-description {
    margin: 0;
    padding-left: 40px;
    color: #323232;
    font-family: Poppins;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    max-width: 580px;
    /* 25.6px */
}

.hero-actions {
    margin-top: 40px;
    padding-left: 40px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 16px 24px 14px 24px;
    border-radius: var(--radius-pill);
    font-family: Poppins;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%;
    /* 19.2px */
    letter-spacing: -0.32px;
    text-transform: uppercase;
    transition: background-color 0.2s ease;
}

.btn-primary {
    background: var(--teal);
    color: #fff;
}

.btn-primary:hover,
.btn-primary:focus {
    background: var(--teal-dark);
}

.btn-secondary {
    background: var(--yellow);
    color: #1b1f23;
}

.btn-secondary:hover,
.btn-secondary:focus {
    background: #dfc705;
}

.hero-badges {
    margin-top: 40px;
    padding-left: 40px;
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.hero-badges img {
    display: block;
    border-radius: 12px;
    object-fit: cover;
}

.hero-visual {
    justify-self: end;
    width: min(100%, 560px);
}

.hero-visual img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 16px;
}

.cae-audience-section {
    position: relative;
    overflow: hidden;
    padding: 120px 0;
}

.cae-audience-inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(280px, 460px) minmax(0, 1fr);
    align-items: start;
    gap: 60px;
}

.cae-audience-inner::before,
.process-inner::before,
.about-inner::before,
.contact-cta-inner::before {
    content: "";
    position: absolute;
    top: -120px;
    left: 0;
    width: 1px;
    height: calc(100% + 240px);
    background: var(--section-line-light);
}

.cae-audience-question {
    border-left: 4px solid var(--yellow);
    padding-left: 40px;
}

.cae-audience-title {
    margin: 0;
    color: #323232;
    font-family: Poppins;
    font-size: 34px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%;
    /* 47.6px */
}

.cae-audience-content {
    max-width: 720px;
}

.cae-audience-description {
    margin: 0;
    color: #323232;
    font-family: Poppins;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    /* 25.6px */
}

.cae-audience-description+.cae-audience-description {
    margin-top: 24px;
}

.cae-benefits-grid {
    margin-top: 34px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.cae-benefit-card {
    min-height: 130px;
    border-radius: 8px;
    background: #DFECEA;
    padding: 22px 18px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.cae-benefit-icon {
    color: #006f63;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.cae-benefit-icon svg {
    display: block;
}

.cae-benefit-title {
    margin: 14px 0 0;
    color: #006255;
    text-align: center;
    font-family: Poppins;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 140%;
    /* 22.4px */
}

.cae-audience-actions {
    margin-top: 34px;
    display: flex;
    align-items: center;
    gap: 48px;
    flex-wrap: wrap;
    justify-content: space-between;
}

.cae-audience-btn {
    background: #006f63;
    color: #FFF;

    /* Button */
    font-family: Poppins;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%;
    /* 19.2px */
    letter-spacing: -0.32px;
    text-transform: uppercase;
}

.cae-audience-btn:hover,
.cae-audience-btn:focus {
    background: #00564d;
}

.cae-audience-note {
    color: #004037;
    font-family: Poppins;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 160%;
    /* 22.4px */
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
}

.cae-audience-note:hover,
.cae-audience-note:focus {
    opacity: 0.85;
}

.insulation-advantages-section {
    position: relative;
    background: #004037;
    padding: 120px 0;
    overflow: hidden;
}

.insulation-advantages-inner {
    position: relative;
}

.insulation-advantages-inner::before {
    content: "";
    position: absolute;
    top: -120px;
    left: 0;
    width: 1px;
    height: calc(100% + 240px);
    background: rgba(255, 255, 255, 0.12);
}

.insulation-advantages-title {
    margin: 0 0 60px;
    display: flex;
    align-items: center;
    gap: 40px;
    color: #FFF;
    font-family: Poppins;
    font-size: 34px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%;
    /* 47.6px */
    max-width: 763px;
}

.insulation-advantages-title::before {
    content: "";
    width: 4px;
    height: 96px;
    border-radius: 999px;
    background: #627678;
    flex: 0 0 auto;
}

.insulation-advantages-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    padding-left: 40px;
}

.insulation-advantage-card {
    border-radius: 6px;
    background: #6f8387;
    min-height: 150px;
    padding: 24px;
}

.insulation-advantage-title {
    margin: 0;
    color: #FFE300;
    font-family: Poppins;
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: 140%;
    /* 28px */
}

.insulation-advantage-description {
    margin: 8px 0 0;
    color: #FFF;
    font-family: Poppins;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    /* 25.6px */
}

.anchor-target {
    height: 0;
    overflow: hidden;
}

.results-section {
    position: relative;
    background: var(--results-bg);
    padding: 120px 0;
    overflow: hidden;
}

.results-inner::before {
    content: "";
    position: absolute;
    top: -120px;
    left: 0;
    width: 1px;
    background: var(--results-line);
    height: calc(100% + 240px);
}

.results-inner {
    position: relative;
}

.results-title {
    margin: 0 0 60px;
    display: flex;
    align-items: center;
    gap: 40px;
    color: #FFF;
    font-family: Poppins;
    font-size: 40px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%;
    /* 48px */
}

.results-title::before {
    content: "";
    width: 4px;
    height: 40px;
    border-radius: 999px;
    background: #627678;
    flex: 0 0 auto;
}

.results-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 25px;
    padding-left: 40px;
}

.result-card {
    background: var(--results-card-bg);
    border-radius: 8px;
    padding: 40px;
    min-height: 230px;
}

.result-number {
    margin: 0;
    color: #FFF;

    /* Heading 3 */
    font-family: Poppins;
    font-size: 40px;
    font-style: normal;
    font-weight: 400;
    line-height: 135%;
    /* 54px */
    letter-spacing: -2px;
}

.result-label {
    margin: 0;
    color: #FFE300;

    /* Body 2 */
    font-family: Poppins;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    /* 25.6px */
    letter-spacing: -0.8px;
}

.result-description {
    margin: 40px 0 0;
    color: #FFF;
    font-family: Poppins;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    /* 22.4px */
}

.process-section {
    position: relative;
    overflow: hidden;
    padding: 120px 0;
    background: #F6F6F6;
}

.process-inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(280px, 506px) minmax(340px, 1fr);
    align-items: start;
    gap: 60px;
}

.process-content {
    max-width: 510px;
}

.process-title-wrap {
    border-left: 4px solid var(--yellow);
    padding-left: 40px;
}

.process-title {
    margin: 0;
    color: #323232;
    font-family: Poppins;
    font-size: 34px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%;
    /* 40.8px */
}

.process-description {
    margin: 34px 0 0;
    padding-left: 40px;
    color: #323232;
    font-family: Poppins;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
}

.process-image {
    margin-top: 30px;
    padding-left: 40px;
}

.process-image img {
    display: block;
    width: 100%;
    max-height: 220px;
    border-radius: 8px;
    object-fit: cover;
}

.process-steps {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.process-step {
    margin: 0;
    border-radius: 8px;
    background: #DFECEA;
    overflow: hidden;
}

.process-step summary {
    list-style: none;
    cursor: pointer;
    margin: 0;
    padding: 24px 34px;
    color: #006255;
    font-family: Poppins;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%;
    /* 28px */
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
}

.process-step summary::marker,
.process-step summary::-webkit-details-marker {
    display: none;
}

.process-step summary::after {
    content: "";
    width: 24px;
    height: 24px;
    background: center / contain no-repeat url("assets/icon/arrow_circle_down.svg");
    position: absolute;
    top: 50%;
    right: 24px;
    transform: translateY(-50%);
    transition: transform 0.2s ease;
}

.process-step[open] summary::after {
    transform: translateY(-50%) rotate(180deg);
}

.process-step-number {
    flex: 0 0 auto;
}

.process-step-title {
    flex: 1 1 auto;
}

.process-step p {
    margin: 0;
    padding: 0 34px 24px;
    color: #323232;
    font-family: Poppins;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    /* 22.4px */
}

.process-note {
    margin: 24px 0 0;
    color: #323232;
    font-family: Poppins;
    font-size: 16px;
    font-style: italic;
    font-weight: 300;
    line-height: 160%;
    /* 25.6px */
}

.about-section {
    position: relative;
    overflow: hidden;
    padding: 120px 0;
    background: #F6F6F6;
}

.about-inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 390px);
    align-items: start;
    gap: 70px;
}

.about-content {
    max-width: 660px;
}

.about-title-wrap {
    border-left: 4px solid var(--yellow);
    padding-left: 40px;
}

.about-title {
    margin: 0;
    color: #323232;
    font-family: Poppins;
    font-size: 40px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%;
    /* 48px */
}

.about-subtitle {
    margin: 20px 0 0;
    padding-left: 40px;
    color: #004037;
    font-family: Poppins;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%;
    /* 19.2px */
    text-transform: uppercase;
    /* 48px */
}

.about-description {
    margin: 20px 0 0;
    padding-left: 40px;
    color: #323232;
    font-family: Poppins;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    /* 25.6px */
}

.about-faq {
    margin-top: 20px;
    margin-left: 40px;
    border-radius: 8px;
    overflow: hidden;
    background: #DFECEA;
}

.about-faq-item {
    border-bottom: 1px solid #004037;
}

.about-faq-item:last-child {
    border-radius: 8px;
}

.about-faq-item:first-child {
    border-top: 0;
}

.about-faq-item summary {
    list-style: none;
    cursor: pointer;
    margin: 0;
    padding: 20px 30px;
    color: #004037;
    font-family: Poppins;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: 120%;
    /* 21.6px */
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.about-faq-item summary::-webkit-details-marker {
    display: none;
}

.about-faq-item summary::after {
    content: "";
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    display: block;
    background: center / contain no-repeat url("assets/icon/arrow_circle_down.svg");
    transition: transform 0.2s ease;
}

.about-faq-item[open] summary {
    padding-bottom: 20px;
}

.about-faq-item[open] summary::after {
    transform: rotate(180deg);
}

.about-faq-item p {
    margin: 0;
    padding: 0 30px 20px;
    color: #323232;
    font-family: Poppins;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    /* 24px */
}

.about-visual {
    width: min(100%, 390px);
    justify-self: end;
}

.about-visual img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 10px;
    object-fit: cover;
}

.testimonials-section {
    position: relative;
    background: #004037;
    padding: 100px 0;
    overflow: hidden;
    border-bottom: 1px solid rgba(255, 255, 255, 0.50);
}

.testimonials-inner {
    position: relative;
    padding: 0;
}

.testimonials-inner::before {
    content: "";
    position: absolute;
    top: -100px;
    left: 0;
    width: 1px;
    height: calc(100% + 200px);
    background: rgba(255, 255, 255, 0.16);
}

.testimonials-title {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 40px;
    color: #FFF;
    font-feature-settings: 'liga' off, 'clig' off;
    font-family: Poppins;
    font-size: 40px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%;
    /* 48px */
}

.testimonials-title::before {
    content: "";
    width: 4px;
    height: 41px;
    border-radius: 999px;
    background: #627678;
    flex: 0 0 auto;
}

.testimonials-slider {
    --testimonials-gap: 24px;
    padding-left: 40px;
}

.testimonials-viewport {
    margin-top: 60px;
}

.testimonials-grid {
    margin-top: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--testimonials-gap);
}

.testimonial-card {
    background: #cad8d7;
    border-radius: 40px;
    padding: 32px;
    display: flex;
    flex-direction: column;
}

.testimonial-stars {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.testimonial-stars img {
    width: 24px;
    height: 24px;
    display: block;
}

.testimonial-text {
    margin: 16px 0 0;
    color: #323232;
    font-family: Poppins;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    /* 25.6px */
}

.testimonial-name {
    margin: auto 0 0;
    padding-top: 32px;
    color: #004037;
    font-feature-settings: 'liga' off, 'clig' off;
    font-family: Poppins;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 24px;
    /* 133.333% */
}

.testimonial-city {
    margin: 0;
    color: #323232;
    font-feature-settings: 'liga' off, 'clig' off;
    font-family: Poppins;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    /* 133.333% */
}

.testimonials-nav {
    margin-top: 60px;
    display: none;
    justify-content: center;
    align-items: center;
    gap: 98px;
}

.testimonials-arrow {
    border: 0;
    padding: 0;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.2s ease, opacity 0.2s ease;
}

.testimonials-arrow:disabled {
    opacity: 0.45;
    cursor: default;
}

.testimonials-arrow svg {
    display: block;
    width: 15px;
    height: 25px;
}

.testimonials-dots {
    display: inline-flex;
    align-items: center;
    gap: 14px;
}

.testimonials-dot {
    border: 0;
    padding: 0;
    display: inline-block;
    cursor: pointer;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #cad8d7;
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.testimonials-dot.is-active {
    background: #ffe300;
}

.testimonials-dot:hover,
.testimonials-dot:focus {
    transform: scale(1.12);
}

.testimonials-slider.is-ready .testimonials-nav {
    display: flex;
}

.testimonials-slider.is-ready .testimonials-viewport {
    overflow: hidden;
}

.testimonials-slider.is-ready .testimonials-grid {
    display: flex;
    transition: transform 0.45s ease;
    will-change: transform;
}

.testimonials-slider.is-ready .testimonial-card {
    flex: 0 0 calc((100% - (var(--testimonials-gap) * 2)) / 3);
    min-width: 0;
}

.testimonials-slider.is-ready .testimonials-nav[hidden] {
    display: none;
}

.testimonials-slider.is-reduced-motion .testimonials-grid {
    transition: none;
}

.testimonials-empty {
    margin: 60px auto 0;
    color: rgba(255, 255, 255, 0.9);
    text-align: center;
    font-size: 18px;
    line-height: 1.5;
}

.contact-cta-section {
    position: relative;
    overflow: hidden;
    padding: 120px 0 90px;
}

.contact-cta-inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 457px);
    align-items: start;
    gap: 56px;
}

.contact-cta-content {
    max-width: 680px;
    padding-top: 4px;
}

.contact-cta-title-wrap {
    border-left: 4px solid #FFE300;
    padding-left: 40px;
}

.contact-cta-title {
    margin: 0;
    color: #323232;
    font-family: Poppins;
    font-size: 34px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%;
    /* 40.8px */
    max-width: 522px;
    /* 48px */
}

.contact-cta-description {
    margin: 20px 0 0 40px;
    color: #323232;
    font-family: Poppins;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    /* 32px */
    max-width: 500px;
}

.contact-cta-benefits {
    margin: 24px 0 0 40px;
    padding-left: 28px;
    color: #004037;
    font-family: Poppins;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    /* 32px */
}

.contact-cta-benefits li {
    margin: 0;
}

.contact-cta-form-card {
    border-radius: 16px;
    background: #F6F6F6;
    padding: 34px 24px;
}

.contact-cta-form-card .wpcf7 {
    margin: 0;
}

.contact-cta-form-card .wpcf7 form {
    margin: 0;
}

.contact-cta-form-card .wpcf7-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.contact-cta-form-card .wpcf7-form p {
    margin: 0;
}

.contact-cta-form-card label,
.contact-cta-form-card .contact-form-label {
    display: block;
    color: #323232;
    font-family: Poppins;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.contact-cta-form-card .contact-form-name-row,
.contact-cta-form-card .form-two-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 10px;
}

.contact-cta-form-card .contact-form-name-row br,
.contact-cta-form-card .form-two-columns br {
    display: none;
}

.contact-cta-form-card label>br {
    display: none;
}

.contact-cta-form-card .contact-form-name-row>.wpcf7-form-control-wrap,
.contact-cta-form-card .form-two-columns>.wpcf7-form-control-wrap {
    min-width: 0;
}

.contact-cta-form-card label>.wpcf7-form-control-wrap[data-name="first-name"],
.contact-cta-form-card label>.wpcf7-form-control-wrap[data-name="last-name"] {
    display: inline-block;
    width: calc(50% - 5px);
    vertical-align: top;
}

.contact-cta-form-card label>.wpcf7-form-control-wrap[data-name="first-name"] {
    margin-right: 10px;
}

.contact-cta-form-card .wpcf7-form-control-wrap {
    display: block;
    color: #323232;
    font-family: Poppins;
    font-size: 11px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    padding-top: 10px;
}

.contact-cta-form-card input[type="text"],
.contact-cta-form-card input[type="email"],
.contact-cta-form-card input[type="tel"],
.contact-cta-form-card select,
.contact-cta-form-card textarea {
    width: 100%;
    height: 40px;
    border-radius: 5px;
    border: 1px solid #CDCDCD;
    background: #FFF;
    color: #323232;
    font-family: Poppins;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    padding: 12px 12px;
}

.contact-cta-form-card input::placeholder,
.contact-cta-form-card textarea::placeholder {
    color: #7a8485;
    opacity: 1;
}

.contact-cta-form-card select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding: 0 12px;
    border-color: #CDCDCD;
    background-color: #FFF;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M7 10L12 15L17 10H7Z' fill='%23004037'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 24px 24px;
    cursor: pointer;
    color: #717171;
}

.contact-cta-form-card select:invalid,
.contact-cta-form-card select:required:invalid {
    color: #9A9A9A;
}

.contact-cta-form-card select option {
    color: #323232;
}

.contact-cta-form-card select option[value=""],
.contact-cta-form-card select option[disabled][selected] {
    color: #9A9A9A;
}

.contact-cta-form-card select::-ms-expand {
    display: none;
}

.contact-cta-form-card input[type="text"]:focus,
.contact-cta-form-card input[type="email"]:focus,
.contact-cta-form-card input[type="tel"]:focus,
.contact-cta-form-card select:focus,
.contact-cta-form-card textarea:focus {
    border-color: #8fb0ab;
    outline: none;
    box-shadow: 0 0 0 2px rgba(0, 98, 85, 0.1);
}

.contact-cta-form-card textarea {
    height: 112px;
    min-height: 112px;
    resize: vertical;
}

.contact-cta-form-card .wpcf7-acceptance {
    display: block;
    margin-top: 2px;
}

.contact-cta-form-card .wpcf7-checkbox {
    display: block;
    margin-top: 2px;
}

.contact-cta-form-card .wpcf7-list-item,
.contact-cta-form-card .wpcf7-list-item > label {
    display: grid;
    grid-template-columns: 16px minmax(0, 1fr);
    align-items: start;
    column-gap: 8px;
    width: 100%;
    margin: 0;
    color: #2d3439;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

.wpcf7-list-item {
    margin: 0;
}

.contact-cta-form-card .wpcf7-list-item br {
    display: none;
}

.contact-cta-form-card .wpcf7-list-item > input[type="checkbox"],
.contact-cta-form-card .wpcf7-list-item > label > input[type="checkbox"] {
    grid-column: 1;
    grid-row: 1;
}

.contact-cta-form-card .wpcf7-list-item > .wpcf7-list-item-label,
.contact-cta-form-card .wpcf7-list-item > label > .wpcf7-list-item-label {
    grid-column: 2;
    grid-row: 1;
    display: block;
    margin: 0;
}

.contact-cta-form-card .wpcf7-list-item input[type="checkbox"] {
    appearance: none;
    width: 16px;
    height: 16px;
    margin: 1px 0 0;
    flex: 0 0 auto;
    border: 1px solid #91a2a4;
    border-radius: 3px;
    background: #fff;
    position: relative;
    cursor: pointer;
}

.contact-cta-form-card .wpcf7-list-item input[type="checkbox"]:checked {
    border-color: #006f63;
    background: #006f63;
}

.contact-cta-form-card .wpcf7-list-item input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 5px;
    width: 4px;
    height: 8px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.contact-cta-form-card .wpcf7-submit {
    margin-top: 10px;
    border: 0;
    border-radius: var(--radius-pill);
    background: #006f63;
    color: #fff;
    font-family: Poppins;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%;
    letter-spacing: -0.16px;
    text-transform: uppercase;
    padding: 11px 26px;
    min-height: 44px;
    width: auto;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.contact-cta-form-card .wpcf7-submit:hover,
.contact-cta-form-card .wpcf7-submit:focus {
    background: #00564d;
}

.contact-cta-form-note {
    margin: 0;
    color: #2d3439;
    font-size: 16px;
    line-height: 150%;
}

.contact-cta-form-card .wpcf7-response-output {
    margin: 12px 0 0;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.45;
}

.contact-cta-form-card .wpcf7-not-valid-tip {
    margin-top: 6px;
    color: #8d1f2d;
    font-size: 13px;
    line-height: 1.4;
}

.site-footer {
    background: var(--footer-bg);
    color: var(--footer-text);
}

.footer-main {
    padding: 100px 0 0;
    display: grid;
    grid-template-columns: minmax(180px, 270px) minmax(250px, 320px) minmax(180px, 220px) minmax(180px, 220px);
    justify-content: space-between;
    align-items: start;
    gap: 2.2rem;
}

.footer-logo-link {
    display: inline-block;
}

.footer-logo {
    display: block;
    width: 207px;
    height: auto;
    filter: brightness(0) invert(1);
}

.footer-contact {
    display: flex;
    flex-direction: column;
    gap: 11px;
}

.footer-contact-item {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--White, #FFF);
    font-family: Poppins;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    /* 25.6px */
}

.footer-contact-item:hover,
.footer-contact-item:focus {
    opacity: 0.88;
}

.footer-social {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 19px;
}

.social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #fff;
}

.social-link img {
    display: block;
}

.social-link:hover,
.social-link:focus {
    background: rgba(255, 255, 255, 0.84);
}

.footer-title {
    margin: 0 0 20px;
    color: var(--White, #FFF);

    /* Heading 6 */
    font-family: Poppins;
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: 135%;
    /* 32.4px */
    letter-spacing: -1.2px;
}

.footer-links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.footer-links a {
    color: var(--Gray, #E0E4E4);

    /* Body 3 */
    font-family: Poppins;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    /* 22.4px */
    letter-spacing: -0.7px;
}

.footer-links a:hover,
.footer-links a:focus {
    color: #fff;
}

.footer-inner {
    padding: 1.4rem 0;
    color: var(--muted);
    font-size: 0.9rem;
}

.footer-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 0.9rem;
}

.footer-bottom {
    padding: 30px 0 40px;
}

.footer-bottom p {
    margin: 0;
    text-align: center;
    color: var(--Gray, #E0E4E4);
    font-family: Poppins;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 100%;
    /* 14px */
}

input,
textarea,
button {
    font: inherit;
}

input[type="text"],
input[type="email"],
input[type="url"],
textarea {
    width: 100%;
    border: 1px solid #b9c5c2;
    border-radius: 10px;
    padding: 0.6rem 0.75rem;
    background: #fff;
}

button,
input[type="submit"] {
    border: 0;
    background: var(--teal);
    color: #fff;
    border-radius: var(--radius-pill);
    padding: 0.65rem 1rem;
    font-weight: 600;
    cursor: pointer;
}

button:hover,
button:focus,
input[type="submit"]:hover,
input[type="submit"]:focus {
    background: var(--teal-dark);
}

.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    clip: auto !important;
    clip-path: none;
    display: block;
    font-size: 0.875rem;
    height: auto;
    left: 0.5rem;
    line-height: normal;
    padding: 0.95rem 1.2rem;
    text-decoration: none;
    top: 0.5rem;
    width: auto;
    z-index: 100000;
    background: #fff;
    color: var(--text);
}

@media (max-width: 1024px) {
    .hero-inner {
        grid-template-columns: 1fr;
        gap: 40px;
        padding: 0 20px;
    }

    .hero-title-wrap {
        padding-left: 20px;
        margin-bottom: 24px;
    }

    .hero-visual {
        width: min(100%, 640px);
        justify-self: start;
    }

    .cae-audience-section {
        padding: 10px 0 90px;
    }

    .cae-audience-inner {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .cae-audience-title {
        max-width: 720px;
        font-size: 42px;
    }

    .cae-audience-content {
        max-width: 100%;
    }

    .cae-audience-actions {
        gap: 24px;
    }

    .results-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .result-card:last-child {
        grid-column: span 2;
    }

    .insulation-advantages-section {
        padding: 90px 0;
    }

    .insulation-advantages-title {
        font-size: 38px;
    }

    .insulation-advantages-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .insulation-advantage-card:last-child {
        grid-column: span 2;
    }

    .process-section {
        padding: 90px 0;
    }

    .process-inner {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .process-content {
        max-width: 100%;
    }

    .process-image {
        max-width: 620px;
    }

    .process-step summary {
        min-height: 74px;
    }

    .about-inner {
        grid-template-columns: 1fr minmax(260px, 340px);
        gap: 2rem;
        padding: 0;
    }

    .about-faq-item summary {
        font-size: 1.2rem;
    }

    .about-faq-item p {
        font-size: 1rem;
    }

    .testimonials-inner {
        padding: 0;
    }

    .testimonials-title {
        font-size: 2.15rem;
    }

    .testimonials-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .testimonials-slider.is-ready .testimonial-card {
        flex-basis: calc((100% - var(--testimonials-gap)) / 2);
    }

    .testimonial-card {
        min-height: 290px;
    }

    .testimonial-text {
        font-size: 1rem;
    }

    .testimonial-name,
    .testimonial-city {
        font-size: 1rem;
    }

    .testimonials-arrow {
        width: 50px;
        height: 50px;
    }

    .contact-cta-section {
        padding: 90px 0;
    }

    .contact-cta-inner {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .contact-cta-content {
        max-width: 100%;
        padding-top: 60px;
    }

    .contact-cta-title {
        font-size: 42px;
    }

    .contact-cta-form-card {
        max-width: 560px;
    }

    .footer-main {
        grid-template-columns: repeat(2, minmax(220px, 1fr));
        gap: 1.8rem 2rem;
    }
}

@media (max-width: 768px) {

    .container,
    .container-hero {
        width: 100%;
    }
	
	.btn-cta > .btn {
		display: none;
	}

    .header-inner,
    .footer-inner {
        flex-wrap: wrap;
        padding: 0 20px;
    }

    .header-cta {
        font-size: 13px;
        padding: 14px;
        font-style: normal;
        font-weight: 500;
        line-height: 120%;
    }

    .brand-logo {
        max-width: 106px;
    }

    .site-main {
        padding-top: 0.5rem;
    }

    .hero {
        min-height: auto;
        padding: 55px 0 40px;
        display: block;
    }

    .hero-title {
        font-size: clamp(2rem, 11vw, 3rem);
    }

    .hero-actions {
        padding-left: 20px;
    }

    .hero-description {
        font-size: 16px;
        padding-left: 20px;
    }

    .hero-badges img {
        width: 310px;
        height: 94px;
    }

    .process-steps {
        gap: 24px;
    }

    .hero-badges {
        padding-left: 20px;
    }

    .cae-audience-section {
        padding: 60px 20px;
    }

    .cae-audience-inner {
        gap: 28px;
    }

    .cae-audience-question {
        padding-left: 20px;
    }

    .cae-audience-title {
        font-size: 30px;
    }

    .cae-benefits-grid {
        grid-template-columns: 1fr;
    }

    .cae-benefit-card {
        min-height: 112px;
    }

    .cae-audience-actions {
        margin-top: 20px;
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .cae-audience-btn {
        width: 100%;
        justify-content: center;
    }

    .cae-audience-note {
        font-size: 14px;
    }

    .results-section {
        padding: 60px 20px;
    }

    .results-title {
        margin-bottom: 60px;
        padding-left: 0;
        gap: 20px;
        font-size: 32px;
    }

    .results-title::before {
        height: 123px;
    }

    .results-inner::before {
        top: 0;
        height: 100%;
    }

    .results-grid {
        grid-template-columns: 1fr;
        gap: 25px;
        padding-left: 20px;
    }

    .result-card,
    .result-card:last-child {
        grid-column: auto;
        min-height: auto;
        padding: 30px 20px;
    }

    .result-number {
        font-size: 40px;
    }

    .result-description {
        margin-top: 20px;
        font-size: 14px;
    }

    .insulation-advantages-section {
        padding: 35px 20px;
    }

    .insulation-advantages-inner::before {
        top: 0;
        height: 100%;
    }

    .cae-audience-inner::before,
    .process-inner::before,
    .about-inner::before,
    .contact-cta-inner::before {
        top: 0;
        height: 100%;
    }

    .about-inner::before, .cae-audience-inner::before {
        display: none;
    }

    .insulation-advantages-title {
        margin-bottom: 32px;
        gap: 20px;
        font-size: clamp(2rem, 8.5vw, 2.5rem);
    }

    .insulation-advantages-title::before {
        height: 268px;
    }

    .insulation-advantages-grid {
        grid-template-columns: 1fr;
        padding-left: 20px;
    }

    .insulation-advantage-card,
    .insulation-advantage-card:last-child {
        grid-column: auto;
        min-height: auto;
    }

    .insulation-advantage-title {
        font-size: 16px;
    }

    .insulation-advantage-description {
        font-size: 14px;
    }

    .process-section {
        padding: 70px 20px;
    }

    .process-title-wrap {
        padding-left: 20px;
    }

    .process-title {
        font-size: 34px;
    }

    .process-description {
        margin-top: 34px;
        font-size: 18px;
        line-height: 160%;
        padding-left: 20px;
    }

    .process-image {
        margin-top: 30px;
        padding-left: 20px;
    }

    .process-inner {
        gap: 60px;
    }

    .process-step summary {
        padding: 24px 16px;
        min-height: auto;
        font-size: 20px;
        line-height: 140%;
    }

    .process-step summary::after {
        width: 32px;
        height: 32px;
        right: 18px;
    }

    .process-step p {
        padding: 0 16px 24px;
        font-size: 14px;
    }

    .process-note {
        margin-top: 24px;
        font-size: 16px;
    }

    .about-section {
        padding: 70px 20px;
    }

    .about-title {
        font-size: 34px;
    }

    .about-inner {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .about-title-wrap {
        padding-left: 20px;
    }

    .about-subtitle {
        margin-top: 20px;
        font-size: 16px;
        padding-left: 0;
    }

    .about-description {
        margin-top: 20px;
        font-size: 16px;
        padding-left: 0;
    }

    .about-faq {
        margin-left: 0;
    }

    .about-faq-item summary {
        padding: 0.95rem 1rem;
        font-size: 1rem;
        line-height: 1.4;
    }

    .about-faq-item summary::after {
        width: 20px;
        height: 20px;
    }

    .about-faq-item p {
        padding: 0 1rem 1rem;
        font-size: 0.92rem;
        line-height: 1.55;
    }

    .about-visual {
        justify-self: start;
    }

    .testimonials-section {
        padding: 50px 20px;
    }

    .testimonials-inner::before {
        top: 0;
        height: 100%;
    }

    .testimonials-title {
        font-size: 32px;
        margin-bottom: 60px;
        gap: 20px;
    }

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

    .testimonials-viewport {
        margin-top: 1.5rem;
    }

    .testimonials-slider.is-ready .testimonial-card {
        flex-basis: 100%;
    }

    .testimonials-slider {
        padding-left: 20px;
    }

    .testimonials-title::before {
        height: 78px;
    }

    .testimonial-card {
        min-height: auto;
        border-radius: 24px;
        padding: 32px;
    }

    .testimonial-stars img {
        width: 24px;
        height: 24px;
    }

    .testimonial-text {
        margin-top: 16px;
        font-size: 16px;
    }

    .testimonial-name,
    .testimonial-city {
        font-size: 18px;
    }

    .testimonials-nav {
        margin-top: 60px;
        gap: unset;
        justify-content: space-between;
    }

    .testimonials-arrow {
        width: 40px;
        height: 40px;
    }

    .testimonials-arrow svg {
        width: 13px;
        height: 21px;
    }

    .testimonials-dots {
        gap: 20px;
    }

    .testimonials-dot {
        width: 15px;
        height: 15px;
    }

    .contact-cta-section {
        padding: 70px 20px;
    }

    .contact-cta-inner {
        gap: 40px;
    }

    .contact-cta-title-wrap {
        padding-left: 40px;
    }

    .contact-cta-title {
        font-size: 34px;
        letter-spacing: -0.03em;
    }

    .contact-cta-description {
        margin: 20px 0 0 40px;
        font-size: 20px;
    }

    .contact-cta-benefits {
        margin: 24px 0 0 20px;
        padding-left: 40px;
        font-size: 18px;
    }

    .contact-cta-form-card {
        border-radius: 16px;
        padding: 34px 24px;
    }

    .contact-cta-form-card .contact-form-name-row,
    .contact-cta-form-card .form-two-columns {
        grid-template-columns: 1fr;
    }

    .contact-cta-form-card label>.wpcf7-form-control-wrap[data-name="first-name"],
    .contact-cta-form-card label>.wpcf7-form-control-wrap[data-name="last-name"] {
        display: block;
        width: 100%;
    }

    .contact-cta-form-card label>.wpcf7-form-control-wrap[data-name="first-name"] {
        margin-right: 0;
        margin-bottom: 10px;
    }

    .contact-cta-form-card label,
    .contact-cta-form-card .contact-form-label {
        font-size: 0.95rem;
    }

    .contact-cta-form-card input[type="text"],
    .contact-cta-form-card input[type="email"],
    .contact-cta-form-card input[type="tel"],
    .contact-cta-form-card select,
    .contact-cta-form-card textarea {
        font-size: 14px;
        padding: 12px;
    }

    .contact-cta-form-card .wpcf7-list-item label {
        font-size: 0.8rem;
    }

    .contact-cta-form-card .wpcf7-submit {
        min-height: 46px;
        font-size: 0.95rem;
        padding: 0.75rem 1.2rem;
    }

    .footer-main {
        grid-template-columns: 1fr;
        gap: 60px;
        padding: 60px 20px 0;
    }


    .footer-contact,
    .footer-links-col,
    .footer-brand {
        padding: 0 20px;
    }

    .footer-logo {
        width: 124px;
    }

    .footer-title {
        margin-bottom: 20px;
    }

    .footer-bottom {
        padding: 30px 20px 60px;
    }

    .footer-bottom p {
        font-size: 13px;
    }
}


/* Legal Notices Page Styles */

.legal-notices-container {
    max-width: 946px;
    margin: 0 auto;
    padding-top: 49px;
    padding-bottom: 90px;
}

.legal-notices-content {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.legal-section {
    width: 100%;
}

.section-title {
    font-family: 'Poppins', sans-serif;
    font-size: 34px;
    font-weight: 500;
    line-height: 1.2;
    color: #323232;
    margin-bottom: 32px;
	margin-top: 0;
    text-align: left;
}

.section-text {
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    color: #323232;
}

.section-text p {
	margin-top:0;
    margin-bottom: 16px;
}

.section-text p:last-of-type {
	margin-bottom: 0;
}

.section-text a {
color: #323232;
font-family: Poppins;
font-size: 16px;
font-style: normal;
font-weight: 400;
line-height: 160%;
text-decoration-line: underline;
text-decoration-style: solid;
text-decoration-skip-ink: auto;
text-decoration-thickness: auto;
text-underline-offset: auto;
text-underline-position: from-font;
    transition: opacity 0.3s ease;
}

.section-text a:hover {
    opacity: 0.8;
    color: #0071ff;
}

.section-text strong {
color: #323232;
font-family: Poppins;
font-size: 16px;
font-style: normal;
font-weight: 500;
line-height: 160%;
text-decoration-line: underline;
text-decoration-style: solid;
text-decoration-skip-ink: auto;
text-decoration-thickness: auto;
text-underline-offset: auto;
text-underline-position: from-font;
}

.subsection-title {
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.6;
    color: #004037;
    margin-top: 24px;
    margin-bottom: 0;
}

.legal-list {
    list-style: disc;
    margin-left: 24px;
    margin-bottom: 16px;
}

.legal-list li {
    margin-bottom: 0;
    line-height: 1.6;
    color: #323232;
}

/* Responsive Design */
@media (max-width: 992px) {
    .legal-notices-container {
        padding-left: 15px;
        padding-right: 15px;
    }

    .section-title {
        font-size: 28px;
    }

    .section-text {
        font-size: 15px;
    }
}

@media (max-width: 768px) {
    .legal-notices-container {
        padding-top: 31px;
        padding-bottom: 60px;
    }

    .section-title {
        font-size: 24px;
        margin-bottom: 20px;
    }

    .section-text {
        font-size: 14px;
        line-height: 1.5;
    }

    .section-text p {
        margin-bottom: 12px;
        text-align: left;
    }
}
