/* Minimal CSS - Only essential styles for speed */
/* Non-critical styles loaded asynchronously */

/* Additional styles for enhanced UX */
.btn:focus,
input:focus,
select:focus,
textarea:focus {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}

/* Loading states */
img {
    opacity: 0;
    -webkit-transition: opacity 0.3s ease;
    -o-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
}

img[src] {
    opacity: 1;
}

/* Performance optimizations */
* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
    * {
        -webkit-animation-duration: 0.01ms !important;
                animation-duration: 0.01ms !important;
        -webkit-animation-iteration-count: 1 !important;
                animation-iteration-count: 1 !important;
        -webkit-transition-duration: 0.01ms !important;
             -o-transition-duration: 0.01ms !important;
                transition-duration: 0.01ms !important;
    }
}

/* Reset and Base Styles */
* {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

body {
    font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", Segoe UI Symbol, "Noto Color Emoji";
    line-height: 1.6;
    color: #333;
    background-color: #fff;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Typography */
.hero h1,
h2,
h3,
h4 {
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 1rem;
}

h2 {
    font-size: 2.25rem;
}

h3 {
    font-size: 1.75rem;
}

h4 {
    font-size: 1.25rem;
}

p {
    margin-bottom: 0;
    color: #1F2532;
}

/* Header */
.header-content.mobile {
    display: none;
}

.header {
    background: white;
    -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    z-index: 1000;
}

.header-content.desktop {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 1rem 0;
}

.logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.logo .trust-pilot {
    margin-left: 20px;
    padding-left: 20px;
    border-left: 1px solid #E6E6E6;
}

.logo .trust-pilot_stars {
    position: relative;
    top: 5px;
}

.logo .trust-pilot_number {
    font-size: 12px;
}

.header-contact a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10px;
    border-radius: 4px;
    border: 2px solid #2A3443;
    padding: 10px 20px;
    color: #2A3443;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    text-decoration: none;
}

.header-contact a:hover {
    background: #2a3444;
    color: white;
}

.header-contact a:hover svg path {
    fill: white;
}

.main-layout {
    width: 60%;
}

/* Hero Section */
.hero {
    background: #EEECED;
    padding: 3.5rem 0 0;
}

.hero h1 {
    color: #2A3443;
    font-weight: 900;
}

.hero_left p {
    margin: 0;
    font-size: 22px;
    /* padding-right: 40px; */
    width: 140%;
}

.hero_left p span {
    font-weight: bold;
}

.hero_content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.hero_right {
    margin-top: -60px;
}

/* .hero_image {
    position: absolute;
    top: 0px;
    left: 80%;
    z-index: 1;
} */

section.hero.extend_background .inner_container {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.hero_desktop_left {
    width: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.hero_desktop_right {
    width: 50%;
}

.hero_image img {
    width: auto;
    height: 350px;
}

/* .hero_image:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 10%;
    height: 100%;
    background: linear-gradient(to right, rgb(238 236 237) 0%,
            rgba(211, 211, 211, 0) 100%
        );
    pointer-events: none;
    z-index: 1;
} */

.page_bullets {
    list-style: none;
    padding: 0;
    margin: 24px 0 0 0;
}

.page_bullets li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 30px;
    font-size: 1.1rem;
    font-weight: 500;
}

.range_split .page_bullets li {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
}

.page_bullets svg {
    margin-right: 0.5rem;
}

/* USP Section */
.usp {
    padding: 0.5rem 0;
    margin: 1rem 0;
}

.usp ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 10px;
}

.usp ul li {
    list-style-type: none;
    padding: 0;
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10px;
    color: #2A3443;
    text-align: center;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
}

/* what is */
.whatSplit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.what_image {
    width: 60%;
}

.what_image img {
    width: 100%;
}

.what_content {
    width: 40%;
}

.what_content button {
    margin-top: 20px;
}

.what_split {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.what_features {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 40px;
    margin: 0;
    padding: 0;
    padding-right: 20px;
    -webkit-box-flex: 60%;
        -ms-flex: 60%;
            flex: 60%;
}

.what_right {
    width: 40%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
}

p.content_block_subcopy {
    margin-bottom: 30px;
}

#home p.content_block_subcopy {
    margin-bottom: 0px;
}

/* beneifts */
.benefit_more-modal {
    display: none;
}

.benefit_callout-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 20px;
    margin-bottom: 30px;
}

.benefit_callout {
    width: 48%;
    border: 1px solid #EEECED;
    border-radius: 15px;
    padding: 15px;
}

.benefit_callout_header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 10px;
}

p.benefit_more {
    color: #D33C3C;
    font-weight: 600;
    margin-top: 10px;
    cursor: pointer;
}

p.benefit_more:hover {
    text-decoration: underline;
}

section#benefits h2, section#what h2, section#how h2, section#why h2, section#home h2 {
    margin-bottom: 30px;
}

.benefit_callout_header_left {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.benefit_callout_header_icon {
    background: hsl(0deg 63% 53% / 10%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 15px;
    border-radius: 10px;
}

.content_block_container .benefit_callout_header_left h3 {
    font-size: 18px;
    margin: 0;
    padding-left: 10px;
}

.benefit_callout_header_left p {
    padding: 10px;
}


.benefit_more-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: none;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    z-index: 1000;
    -webkit-backdrop-filter: blur(2px);
            backdrop-filter: blur(2px);
    /* display: flex; */
}

.benefit_more-modal .benefit_more-modal-content {
    background: white;
    border-radius: 12px;
    max-width: 450px;
    width: 95%;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
    -webkit-box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
    -webkit-animation: modalSlideIn 0.3s 
ease-out;
            animation: modalSlideIn 0.3s 
ease-out;
    padding: 20px;
}

.benefit_more-modal.active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.benefit_more-modal-content-header {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
}

/* images */
.images_image_container {
    width: 320px;
}

.images_split {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
}

.hero_image picture {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

/* Main Layout */
.content {
    -webkit-box-flex: 2;
        -ms-flex: 2;
            flex: 2;
}

.form_desktop_sticky {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    z-index: 1;
}

/* Contact Section & Sticky Form */
section#contact {
    position: sticky;
    top: 10px;
    background: white;
    margin-top: 20px;
    border-radius: 12px;
    padding: 0;
    -webkit-box-shadow: -5px 3px 21px 0px rgba(23, 73, 77, 0.25);
            box-shadow: -5px 3px 21px 0px rgba(23, 73, 77, 0.25);
}

section#contact h3 {
    background: #1F2532;
    padding: 24px;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
    color: white;
    font-size: 22px;
    margin-bottom: 0;
}

.contact-form {
    padding: 24px;
    position: relative;
}

.form-group {
    margin-bottom: 10px;
}

.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #A2A2A2;
    border-radius: 4px;
    font-size: 1rem;
    color: #262626;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: #2563eb;
}

.form-group textarea {
    resize: vertical;
    min-height: 100px;
}

.form-top-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
}

label {
    color: #262626;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
}

label.checkbox-label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

p.checkbox-label-text {
    font-size: 11px;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    font-weight: 600;
}

input#no-third-party-offers,
#modal-no-third-party-offers,
input#demo-no-third-party-offers {
    width: 20px;
    height: 20px;
    border-radius: 4px;
    border: 1px solid #A2A2A2;
    margin-right: 10px;
}

.btn {
    display: inline-block;
    padding: 16px 24px;
    border-radius: 4px;
    text-decoration: none;
    text-align: center;
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
    font-size: 1rem;
    background: #D33C3C;
    ;
    color: white;
    width: 100%;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-transform: capitalize;
}

.btn:hover {
    background: #b82929;
}

/* Footer */
.footer {
    background: #1e293b;
    color: white;
    padding: 2rem 0;
    text-align: center;
}

.footer_links a:hover {
    text-decoration: underline;
}

.footer p {
    color: #cbd5e1;
    margin: 0;
}

/* trust section */
section#trust {
    background: #2A3443;
    color: white;
    padding: 24px 0;
    z-index: 1;
}

.inner_trust_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.trust_right {
    margin-left: 20px;
    padding-left: 20px;
    border-left: 1px solid white;
}

.trust_right p {
    color: #FFF;
    font-size: 20px;
    font-style: normal;
    padding-left: 10px;
}

.trust_container_logo path.st0 {
    fill: white;
}

.trust-pilot_number span, p.trust_count span {
    font-size: 30px;
    font-weight: bold;
}

p.trust_thousands {
    top: -5px;
    position: relative;
}

.trust_container_logo {
    margin-right: 40px;
}

/* Sale Banner */
section#sale {
    color: white;
    padding: 24px 0;
    background: #ED5656;
}

section#sale h4 {
    font-size: 40px;
    font-style: normal;
    font-weight: 900;
    margin-bottom: 5px;
}

section#sale p {
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    color: white;
}

/* my styles */
.outer_container .mainCover {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    gap: 2rem;
}

section.extend_background:before {
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    display: block;
    content: "";
}

.sale_inner_container h3 {
    font-size: 40px;
}

section.extend_background:after {
    position: absolute;
    top: 0;
    right: -300%;
    width: 300%;
    height: 100%;
    display: block;
    content: "";
}

section.extend_background {
    position: relative;
}

section#request {
    background: #f5f3ed;
}

section#reviews {
    background: #EEECED;
}

.outer_container {
    overflow-x: clip;
}

.content_block_container {
    padding: 60px 0;
    position: relative;
}

.content_block_container h3 {
    color: #2A3443;
    font-size: 40px;
    font-style: normal;
    font-weight: 800;
}

p.content_block_subtitle {
    color: #54647D;
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.content_block_container img {
    border-radius: 8px;
}

section#range button.primary_CTA.desktop_focus.btn {
    margin-top: 24px;
}

.why_split {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 24px;
}

/* trusted banner */
section#trusted {
    background: #2A3443;
    color: white;
    padding: 24px 0;
}

.trusted-top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 20px;
}

.trusted_bottom p {
    color: white;
    font-size: 40px;
    font-weight: bold;
}

.inner_trusted_container path.st0 {
    fill: white;
}

.trusted-top span {
    padding: 0 5px;
}

.trusted-top svg {
    padding-left: 10px;
}

/* how */
.how_steps {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    margin-bottom: 30px;
}

.how_final-content {
    margin-bottom: 30px;
}

.step-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 20px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.step-header h3 {
    font-size: 18px!important;
    font-weight: 600;
    padding-left: 10px;
    margin: 0;
}

span.step-number {
    background: #D33C3C;
    color: white;
    border-radius: 100%;
    width: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 30px;
    font-weight: bold;
}

.step-content p {
    font-size: 14px;
}

article.step-item {
    background: #F6F3ED;
    border-radius: 12px;
    padding: 15px;
}

/* home demo */
section#home .content_block_container {
    padding-top: 0;
}

article.bullet-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
}

p.bullet-title {
    font-weight: bold;
}

.bullet-icon {
    padding-top: 5px;
}

section#why article.feature-item {
    margin-bottom: 30px;
}

section#why article.feature-item:last-child {
    margin-bottom: 0;
}

/* video */
.what_right video {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  background: transparent;
  border-radius: 20px;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  -o-border-radius: 20px;
}

/* call us banner */
section#callus {
    background: #2A3443;
    color: white;
    border-radius: 12px;
    margin-bottom: 60px;
    padding: 20px;
}

.callus_inner_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 50px;
}

section#callus p, section#callus a {
    color: white;
    text-decoration: none;
}

.phone_icon {
    background: white;
    border-radius: 100%;
    width: 50px;
    height: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

p.callus_callout {
    font-size: 32px;
    font-weight: bold;
}

section#callus h3 {
    font-size: 18px;
    font-weight: 300;
    margin: 0;
}

/* Sale Banner */
.sale-banner {
    position: absolute;
    top: -0.5px;
    right: -0.5px;
    width: 100px;
    height: 100px;
    background: #ED5656;
    color: #fff;
    font-weight: bold;
    font-size: 14px;
    text-align: center;
    line-height: 1.1;
    padding-top: 18px;
    z-index: 2;
    -webkit-clip-path: polygon(100% 0, 0 0, 100% 100%);
            clip-path: polygon(100% 0, 0 0, 100% 100%);
    -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    letter-spacing: 0.5px;
    text-transform: uppercase;
    border-top-right-radius: 12px;
}

.sale-banner span {
    display: block;
    position: absolute;
    top: 15px;
    left: 70px;
    width: 100%;
    -webkit-transform: translateX(-50%) rotate(45deg);
        -ms-transform: translateX(-50%) rotate(45deg);
            transform: translateX(-50%) rotate(45deg);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.5px;
    text-align: center;
    pointer-events: none;
    line-height: 1.1;
}

.sale-banner strong {
    font-size: 16px;
    font-weight: bold;
}

.why_features {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
    margin: 0;
    padding: 0;
    padding-right: 20px;
    -webkit-box-flex: 50%;
        -ms-flex: 50%;
            flex: 50%
}

.why_right {
    width: 50%;
}

.feature-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 1rem;
}

.feature-icon {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.feature-content h3 {
    margin: 0 0 0.5rem 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: #2A3443;
    line-height: 1.3;
}

.feature-content p.feature-title {
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 10px;
}

.feature-content p {
    margin: 0;
    line-height: 1.4;
    font-size: 1rem;
}

/* range styles */
.range_split {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 20px;
}

.range_split .range {
    max-width: 188px;
}

.range li {
    font-size: 16px;
    line-height: normal;
}

.range_split img {
    border-radius: 8px;
}

.range_split h4 {
    margin-top: 20px;
}

/* Style select dropdowns in the form to match input fields */
.form-group select {
    width: 100%;
    padding: 0.75rem 1rem;
    border-radius: 4px;
    font-size: 1rem;
    background: #fff;
    color: #222;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-transition: border 0.2s;
    -o-transition: border 0.2s;
    transition: border 0.2s;
}

.form-group select:focus {
    border-color: #388e3c;
    outline: none;
}

/* Add a simple dropdown arrow for select */
.form-group select {
    background-image: url('data:image/svg+xml;utf8,<svg fill="%236E757E" height="20" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"><path d="M7.293 7.293a1 1 0 011.414 0L10 8.586l1.293-1.293a1 1 0 111.414 1.414l-2 2a1 1 0 01-1.414 0l-2-2a1 1 0 010-1.414z"/></svg>');
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1.2em;
    padding-right: 2.5rem;
}

/* Address Lookup Styles */
.address-list {
    list-style: none;
    padding: 0;
    margin: 0;
    background: #fff;
    border: 1px solid #bfc5cc;
    border-radius: 6px;
    max-height: 180px;
    overflow-y: auto;
    -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    position: absolute;
    z-index: 10;
    width: 100%;
}

.address-suggestion {
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-size: 1rem;
    -webkit-transition: background 0.2s;
    -o-transition: background 0.2s;
    transition: background 0.2s;
}

.address-suggestion:hover,
.address-suggestion:focus {
    background: #f0f7fa;
    outline: none;
}

.form-group {
    position: relative;
}

.manual-address-link {
    display: inline-block;
    margin-top: 8px;
    color: #262626;
    text-decoration: none;
    font-size: 16px;
    font-weight: 600;
    -webkit-transition: color 0.2s;
    -o-transition: color 0.2s;
    transition: color 0.2s;
    text-decoration: underline;
}

.manual-address-link:hover {
    color: #0b0b0b;
    text-decoration: underline;
}

/* Modal Overlay Styles */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: none;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    z-index: 1000;
    -webkit-backdrop-filter: blur(2px);
            backdrop-filter: blur(2px);
}

.modal-overlay.active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.modal-content {
    background: white;
    border-radius: 12px;
    max-width: 450px;
    width: 95%;
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
    -webkit-box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
    -webkit-animation: modalSlideIn 0.3s ease-out;
            animation: modalSlideIn 0.3s ease-out;
}

@-webkit-keyframes modalSlideIn {
    from {
        opacity: 0;
        -webkit-transform: translateY(-50px) scale(0.9);
                transform: translateY(-50px) scale(0.9);
    }

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

@keyframes modalSlideIn {
    from {
        opacity: 0;
        -webkit-transform: translateY(-50px) scale(0.9);
                transform: translateY(-50px) scale(0.9);
    }

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

.modal-close {
    position: absolute;
    top: 20px;
    right: 20px;
    background: none;
    border: none;
    font-size: 2rem;
    cursor: pointer;
    width: 40px;
    height: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    border-radius: 50%;
    -webkit-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
    z-index: 10;
    background-color: white;
    color: #2A3443;
    cursor: pointer;
    line-height: 0;
}

.modal-close:hover {
    background-color: #f0f0f0;
    color: #000000;
}

.modal-header {
    text-align: center;
}

.modal-header h3 {
    margin: 0;
    background: #1F2532;
    padding: 24px;
    color: white;
    font-size: 1.5rem;
    font-weight: 600;
    text-align: left;
}

/* Ensure modal form has same styling as main form */
.modal-content .contact-form {
    margin: 0;
}

.modal-content .form-group {
    margin-bottom: 1rem;
}

.form-group {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
}

.form-group.title_group {
    max-width: 100px;
}

.modal-content .form-group input,
.modal-content .form-group select {
    font-size: 1rem;
    padding: 0.75rem 1rem;
}

.modal-content .btn {
    width: 100%;
    margin-top: 1rem;
    font-size: 1.1rem;
    padding: 0.9rem 0;
}

button.primary_CTA.mobile_focus.btn {
    display: none;
}

div#rangeSplide {
    display: none;
}

.splide-controls.range-controls {
    display: none;
}

.footer_links a {
    font-size: 12px;
    color: white;
    text-decoration: none;
    text-underline-offset: 2px;
    -webkit-transition: text-underline-offset .2s ease;
    -o-transition: text-underline-offset .2s ease;
    transition: text-underline-offset .2s ease;
}

.footer_top p {
    font-size: 12px;
}

.footer_links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
}

footer.footer .container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.trustpilot-container button.splide-prev {
    margin-right: 10px;
}

.sale_inner_container h3 {
    font-weight: bold;
}

button.primary_CTA.btn, button.demo_CTA.btn {
    max-width: 300px;
}

.request_features p {
    margin-bottom: 1rem;
}

/* Splide */
.trustpilot-container {
    position: relative;
}

#carousel-wrapper {
    aspect-ratio: 16 / 6;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    display: block;
    /* position: relative; */
    contain-intrinsic-size: 320px;
}

/* .splide {
    position: unset;
  } */

.splide__slide {
    padding: 10px;
}

.splide__arrow {
    background: #0baf77;
    border: none;
    color: white;
    padding: 0.5rem 1rem;
    margin: 1rem;
    border-radius: 4px;
    cursor: pointer;
    z-index: 10;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
}

.heading-container h2 {
    margin-left: 16px;
}

.tp-card {
    background: #fff;
    border-radius: 12px;
    padding: 24px 16px;
    max-width: 520px;
    margin: 0 auto;
    height: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    color: #2A3443;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
            box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);

    -webkit-box-orient: vertical;

    -webkit-box-direction: normal;

        -ms-flex-direction: column;

            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.tp-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.tp-stars {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 2px;
}

.tp-review {
    font-size: 1rem;
    margin: 1rem 0;
}

.tp-footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;

}

.splide-controls {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    position: absolute;
    width: 95vw;
    top: 50%;
    z-index: 10;
    left: 2.5vw;
}

.trustpilot-logo {
    width: 81px;
}

div#review-carousel-track {
    max-width: 800px;
}

.splide-controls button {
    border: none;
    background: none;
    cursor: pointer;
}

/* Combined background styles */
.extend_background.hero:before,
.extend_background.hero:after {
    background: #EEECED;
}

.extend_background.trust:before,
.extend_background.trust:after {
    background: #2A3443;
}

.extend_background.sale:before,
.extend_background.sale:after {
    background: #ED5656;
}

.extend_background.reviews:before,
.extend_background.reviews:after {
    background: #EEECED;
}

.extend_background.request:before,
.extend_background.request:after {
    background: #f5f3ed;
}

.hero_mobile {
    display: none;
}

section#range p.feature-title {
    margin-top: 24px;
}

/* Layout */

.faq-inner {
  margin: 0 auto;
  border-top: 1px solid #e5e5e5;
}

/* Reset the native triangle */

.faq-item summary {
  list-style: none;
}

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

/* Each row */

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

.faq-item summary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.5rem;
  padding: 1.25rem 0;
  cursor: pointer;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.faq-question {
  font-size: 1rem;
  font-weight: 600;
  color: #111111;
}

/* Plus / minus icon */

.faq-icon {
  position: relative;
  width: 24px;
  height: 24px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 24px;
          flex: 0 0 24px;
  border-radius: 50%;
  /* border: 2px solid #ff3b3b; */
  margin-top: 0.1rem;
}

/* Horizontal bar */
.faq-icon::before,
.faq-icon::after {
  content: "";
  position: absolute;
  background: #ff3b3b;
  inset: 50% 5px auto 5px;
  height: 2px;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}

/* Vertical bar (to make a plus) */
.faq-icon::after {
  inset: 5px auto 5px 50%;
  width: 2px;
  height: auto;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}

/* When open, hide the vertical bar so it becomes a minus */

.faq-item[open] .faq-icon::after {
  opacity: 0;
}

/* Answer text */

.faq-answer {
  padding: 0 0 1.5rem 30px;
  max-width: 780px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 0.95rem;
  line-height: 1.6;
  color: #333333;
}

.faq-answer p + p {
  margin-top: 0.75rem;
}

/* Hover / focus states */

.faq-item summary:focus-visible {
  outline: 2px solid #ff3b3b;
  outline-offset: 3px;
}

.faq-item summary:hover .faq-question {
  color: #d73030;
}

.hero_image_mobile picture {
    display: none;
}

.images_image_container img {
    border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
}

picture.img_mobile {
    display: none;
}

.trust-pilot_number span {
    margin-right: 5px;
}

.benefit-modal-close {
    cursor: pointer;
}

/* custom pages */

#lightweight-page .hero_left p {
    width: 110%;
}

#lightweight-page .hero_image picture {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

#lightweight-page .hero_mobile_bottom {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    height: auto;
}

#lightweight-page ul.page_bullets.hero_mobile {
    width: 100%;
}

#lightweight-page .hero_image_mobile picture {
    top: 0;
    position: relative;
    margin-top: -30px;
}

#lightweight-page section.hero.extend_background {
    padding-bottom: 0;
}

#lightweight-page .hero_image_mobile {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

#lightweight-page .hero_desktop_right {
    width: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
}

/* ========================================
   RESPONSIVE DESIGN - MEDIA QUERIES
   ======================================== */

/* Desktop styles - hide mobile header on desktop */
@media (min-width: 1025px) {
    .header-content.mobile {
        display: none;
    }

    .header-content.desktop {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
}

/* Sticky Form: Desktop Only */
@media (min-width: 1024px) {
    .form_desktop_sticky {
        position: relative;
    }

    .contact-form {
        position: sticky;
        top: 2rem;
        -ms-flex-item-align: start;
            align-self: flex-start;
        z-index: 2;
    }
}

/* Tablet and smaller desktop */
@media (max-width: 1024px) {

    section.hero.extend_background {
        padding-right: 50px;
    }

    .outer_container .mainCover {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: 0;
    }

    .form_desktop_sticky {
        max-width: 100%;
        min-width: 0;
        margin-top: 2rem;
        display: none;
    }

    .range_split .range {
        max-width: 100%;
    }

    .modal-content .form-group.checkbox-group {
        margin-bottom: 0;
    }

    footer.footer .container {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        gap: 20px;
    }

    .modal-content {
        width: 99%;
        margin: 0.5rem;
        /* max-width: 99vw; */
        max-height: 99vh;
    }

    .modal-content .contact-form {
        padding: 20px;
    }

    .modal-content .btn {
        font-size: 1rem;
        padding: 0.8rem 0;
    }

    .header-content.mobile {
        display: block;
    }

    .header-content.mobile .trust-pilot {
        border-top: 2px solid #eeeced;
        margin-top: 15px;
        padding: 10px 0;
    }

    .header-content.mobile .trust-pilot .trust-pilot_stars {
        position: relative;
        top: 4px;
        padding-left: 10px;
    }

    .usp ul li {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        line-height: normal;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        gap: 5px;
    }

    section.usp {
        padding: 0 20px;
    }

    .hero_content {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }

    .hero_right {
        margin-top: 0;
        width: 100%;
    }

    h1 {
        padding-right: 0px;
        margin-bottom: 24px;
    }

    .hero {
        padding: 40px 0;
    }

    .hero_mobile button.primary_CTA.btn {
        max-width: 100%;
    }

    .hero_left p {
        width: 100%!important;
    }

    /* Mobile-only header styles */
    .header-content.desktop {
        display: none;
    }

    .header-content.mobile {
        padding-top: 15px;
    }

    .header-content.mobile .logo {
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
    }

    .header-content.mobile .trust-pilot {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 10px 0;
    }

    .main-layout {
        width: 100%;
    }

    button.primary_CTA.mobile_focus.btn {
        display: block;
    }

    .hero h1 {
        margin-bottom: 30px;
    }

    button.primary_CTA.mobile_focus.btn {
        margin-top: 30px;
        margin-bottom: 30px;
        max-width: 300px;
    }

    .trust_right p {
        font-size: 14px;
    }

    .trust_right svg {
        width: 70px;
    }

    .content_block_container h3 {
        font-size: 32px;
    }

    p.content_block_subtitle {
        font-size: 16px;
    }

    button.primary_CTA.desktop_focus.btn {
        margin-bottom: 20px;
    }

    .content_block_container {
        padding: 40px 0;
    }

    section#request button.primary_CTA.desktop_focus.btn {
        margin-bottom: 0;
    }
}

/* Tablet styles */
@media (min-width: 768px) {

    .tp-card {
        padding: 32px 24px;
    }

    .tp-footer {
        font-size: 17px;
    }

    .tp-header {
        font-size: 18px;
    }

    .heading-container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
    }

    .splide-controls {
        display: block;
        position: relative;
        width: auto;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        left: 0;
    }
}

/* Mobile styles */
@media (max-width: 768px) {

    .callus_inner_container {
        gap: 10px;
    }

    p.callus_callout {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }

    p.callus_callout {
        font-size: 26px;
    }

    .header-contact a {
        padding: 10px;
        gap: 5px;
        font-size: 14px;
    }

    picture.img_mobile {
        display: block;
    }

    picture.img_desktop {
        display: none;
    }

    section.hero.extend_background {
        padding-right: 0px;
    }

    .why_split {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }

    button.primary_CTA.mobile_focus.btn {
        max-width: 100%;
    }

    .range img {
        width: 100%;
        height: auto;
    }

    .hero_mobile_image img {
        width: 100%;
        height: auto;
    }

    .hero_mobile {
        display: block;
        margin-top: 24px;
    }

    .hero_desktop_right {
        display: none!important;
    }

    .hero_desktop_left {
        width: 100%;
    }

    section.hero.extend_background .inner_container {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }

    .hero_mobile_bottom {
        padding: 0 20px;
        width: 100%;
    }

    .hero_mobile_bottom {
        padding: 0 20px;
        width: 100%;
        position: relative;
        height: 400px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .hero_image_mobile picture {
        display: block;
        position: absolute;
        right: 0;
        top: 50px;
    }

    #lightweight-page .hero_image_mobile picture {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    section.hero .page_bullets {
        position: relative;
        z-index: 1;
        width: 200px;
    }

    ul.page_bullets.hero_desktop {
        display: none;
    }

    .trust_container_logo {
        display: none;
    }

    .trust_right {
        margin-left: 10px;
        padding-left: 10px;
    }

    section#trust .trust-pilot {
        display: block;
    }

    .benefit_callout {
        width: 100%;
    }

    .what_split {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }

    .images_image_container {
        width: 100%;
    }

    .images_split {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }

    .how_steps {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        gap: 30px;
    }

    .faq-item summary {
        gap: 10px;
    }

    section#callus {
        margin: 0px 20px 40px 20px;
    }

    section.hero.extend_background {
        width: 100%;
    }

    .hero_image {
        position: relative;
        left: 0;
    }

    .hero_image:before {
        background: -webkit-gradient(linear, left top, left bottom, from(rgb(238 236 237)),
                to(/* lightgrey at 50% opacity */)
            );
        background: -o-linear-gradient(top, rgb(238 236 237) 0%,
                /* lightgrey at 50% opacity */
                rgba(211, 211, 211, 0) 100%
                /* fully transparent */
            );
        background: linear-gradient(to bottom, rgb(238 236 237) 0%,
                /* lightgrey at 50% opacity */
                rgba(211, 211, 211, 0) 100%
                /* fully transparent */
            );
        width: 100%;
        height: 10%;
    }

    section.hero.extend_background {
        padding-bottom: 20px;
    }

    div#rangeSplide {
        display: block;
    }

    .range_split {
        display: none;
    }

    .splide-controls.range-controls {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        top: 40%;
    }

    .splide__arrow {
        padding: 0.75rem;
    }

    .splide__arrow--prev {
        left: 0.5rem;
    }

    .splide__arrow--next {
        right: 0.5rem;
    }

    .splide-controls button img {
        width: 40px;
        height: 40px;
    }

    .tp-stars {
        max-width: 110px;
    }

    .splide__slide {
        opacity: 0.5;
    }

    .splide__slide.is-active {
        opacity: 1;
    }

    .modal-header h3 {
        font-size: 1.2rem;
    }

    .modal-close {
        top: 15px;
        right: 15px;
    }

    .container {
        padding: 0 0px;
    }

    .mobile_container {
        padding: 0 20px;
    }

    section#trust,
    section#sale {
        padding: 24px 20px;
    }

    .hero h1 {
        font-size: 2rem;
    }

    h2 {
        font-size: 1.5rem;
    }

    h3 {
        font-size: 1.2rem;
    }

    .hero_mobile_image {
        position: relative;
    }

    button.primary_CTA.btn, button.demo_CTA.btn {
        max-width: 100%;
    }

    .page_bullets li {
        margin-bottom: 40px;
    }

    .why_features {
        width: 100%;
        padding: 0;
    }

    .why_right {
        width: 100%;
    }

    .what_features {
        width: 100%;
    }

    .what_right {
        width: 100%;
    }
}

@media (max-width: 350px) {

    main#foldable-page .hero_image_mobile picture, main#travel-page .hero_image_mobile picture  {
        right: -40px;
    }

    .trusted-top {
        font-size: 16px;
    }

    p.callus_callout {
        font-size: 24px;
    }
}