/* ================================
   RESET
================================ */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    color: #1a1a1a;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

/* =========================================
   HEADER
========================================= */

.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;

    width: 100%;

    background: #09286b;

    border-bottom: 1px solid rgba(24, 18, 18, 0.08);

    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}


/* =========================================
   HEADER CONTAINER
========================================= */

.header-container {
    width: 100%;
    max-width: 1440px;

    min-height: 86px;

    margin: 0 auto;
    padding: 0 42px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;
}


/* =========================================
   LOGO
========================================= */

.logo {
    display: flex;
    align-items: center;

    flex-shrink: 0;

    text-decoration: none;
}

.logo img {
    width: 180px;
    height: 70px;

    object-fit: contain;

    display: block;
}


/* =========================================
   MAIN NAVIGATION
========================================= */

.main-nav {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 28px;

    margin-left: auto;
}


.main-nav > a,
.dropdown-trigger {
    position: relative;

    display: flex;
    align-items: center;

    color: #f3f4f6;

    text-decoration: none;

    font-size: 15px;
    font-weight: 700;

    white-space: nowrap;

    transition:
        color 0.25s ease,
        transform 0.25s ease;
}


.main-nav > a:hover,
.dropdown-trigger:hover {
    color: #ff4b47;
}


/* =========================================
   DROPDOWN
========================================= */

.nav-dropdown {
    position: relative;
}


.dropdown-trigger {
    gap: 6px;
}


.dropdown-trigger span {
    font-size: 12px;

    transition: transform 0.25s ease;
}


.nav-dropdown:hover .dropdown-trigger span {
    transform: rotate(180deg);
}


/* =========================================
   DROPDOWN MENU
========================================= */

.dropdown-menu {
    position: absolute;

    top: calc(100% + 20px);
    left: 50%;

    transform: translateX(-50%) translateY(10px);

    width: 270px;

    padding: 10px;

    background: #1f2937;

    border: 1px solid rgba(255, 255, 255, 0.08);

    border-radius: 10px;

    box-shadow:
        0 15px 40px rgba(0, 0, 0, 0.30);

    opacity: 0;
    visibility: hidden;

    transition:
        opacity 0.2s ease,
        visibility 0.2s ease,
        transform 0.2s ease;
}


.nav-dropdown:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;

    transform: translateX(-50%) translateY(0);
}


.dropdown-menu a {
    display: block;

    padding: 12px 14px;

    border-radius: 6px;

    color: #e5e7eb;

    text-decoration: none;

    font-size: 14px;
    font-weight: 600;

    line-height: 1.4;

    transition:
        background 0.2s ease,
        color 0.2s ease;
}


.dropdown-menu a:hover {
    background: rgba(255, 255, 255, 0.08);

    color: #ff4b47;
}


/* =========================================
   HEADER CTA
========================================= */

.header-cta {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 48px;

    padding: 0 22px;

    background: #e53935;

    color: #ffffff;

    text-decoration: none;

    border-radius: 7px;

    font-size: 13px;
    font-weight: 800;

    text-transform: uppercase;

    letter-spacing: 0.3px;

    white-space: nowrap;

    box-shadow:
        0 5px 15px rgba(229, 57, 53, 0.25);

    transition:
        background 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}


.header-cta:hover {
    background: #c62828;

    transform: translateY(-2px);

    box-shadow:
        0 8px 20px rgba(229, 57, 53, 0.35);
}


/* =========================================
   MOBILE BUTTON
========================================= */

.mobile-menu-btn {
    display: none;

    border: none;

    background: transparent;

    color: #ffffff;

    font-size: 28px;

    cursor: pointer;
}


/* =========================================
   RESPONSIVE HEADER
========================================= */

@media (max-width: 1100px) {

    .main-nav {
        gap: 18px;
    }

    .main-nav > a,
    .dropdown-trigger {
        font-size: 14px;
    }

    .header-container {
        padding: 0 25px;
    }

    .logo img {
        width: 155px;
    }

    .header-cta {
        padding: 0 17px;
        font-size: 12px;
    }
}


@media (max-width: 900px) {

    .main-nav,
    .header-cta {
        display: none;
    }

    .mobile-menu-btn {
        display: block;
    }

    .header-container {
        min-height: 76px;
    }

    .logo img {
        width: 160px;
        height: 60px;
    }
}



/* =========================================================
   GROWMYRENTALS
   HERO SECTION — CLEAN DESKTOP + MOBILE VERSION
   =========================================================

   DESIGN RULES
   ---------------------------------------------------------
   • One Hero = one screen
   • Background image/video fills Hero
   • Left content stays clear
   • Platform logos remain visible
   • Performance cards stay on right
   • Insights Bar stays at bottom
   • No horizontal overflow
   • Mobile gets its own controlled layout
========================================================= */


/* =========================================================
   HERO MAIN CONTAINER
   ---------------------------------------------------------
   Main one-screen Hero.
========================================================= */

.video-hero {

    position: relative;

    width: 100%;

    /*
       Header height = approximately 86px.
       Hero uses the remaining viewport.
    */
    height: calc(100vh - 86px);

    min-height: 620px;

    overflow: hidden;

    display: flex;

    color: #ffffff;

    box-sizing: border-box;
}


/* =========================================================
   HERO BACKGROUND
   ---------------------------------------------------------
   Holds the background image/video.
========================================================= */

.video-hero-background {

    position: absolute;

    inset: 0;

    width: 100%;

    height: 100%;

    z-index: 0;

    overflow: hidden;
}


/* =========================================================
   HERO BACKGROUND IMAGE
========================================================= */

.hero-background-image {

    width: 100%;

    height: 100%;

    display: block;

    object-fit: cover;

    object-position: center;
}


/* =========================================================
   BACKGROUND VIDEO
   ---------------------------------------------------------
   Kept for future use if you switch back to video.
========================================================= */

.hero-background-video {

    width: 100%;

    height: 100%;

    display: block;

    object-fit: cover;

    object-position: center;
}


/* =========================================================
   HERO DARK OVERLAY
   ---------------------------------------------------------
   Creates strong readability on top of the image.
========================================================= */

.video-hero-overlay {

    position: absolute;

    inset: 0;

    z-index: 1;

    background:

        linear-gradient(
            90deg,
            rgba(3, 18, 45, 0.91) 0%,
            rgba(3, 18, 45, 0.76) 38%,
            rgba(3, 18, 45, 0.42) 68%,
            rgba(3, 18, 45, 0.48) 100%
        ),

        linear-gradient(
            180deg,
            rgba(4, 24, 55, 0.15),
            rgba(4, 24, 55, 0.45)
        );
}


/* =========================================================
   HERO CONTENT CONTAINER
   ---------------------------------------------------------
   This is the most important correction.

   box-sizing:border-box prevents the padding from
   increasing the Hero beyond the viewport.
========================================================= */

.video-hero-container {

    position: relative;

    z-index: 2;

    width: 100%;

    max-width: 1440px;

    height: 100%;

    margin: 0 auto;

    /*
       Bottom padding reserves space for the
       Insights Bar.
    */
    padding:
        32px
        6%
        125px;

    box-sizing: border-box;

    display: grid;

    grid-template-columns:
        minmax(0, 1.15fr)
        minmax(360px, 0.85fr);

    align-items: center;

    gap: 45px;
}


/* =========================================================
   LEFT HERO CONTENT
========================================================= */

.video-hero-content {

    width: 100%;

    max-width: 680px;

    min-width: 0;
}


/* =========================================================
   HERO SMALL LABEL
========================================================= */

.video-hero-label {

    display: inline-flex;

    align-items: center;

    width: fit-content;

    margin-bottom: 14px;

    padding:
        6px
        12px;

    border-left:
        3px solid #ff3b3b;

    color: #ffffff;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 1.3px;
}


/* =========================================================
   HERO MAIN HEADING
========================================================= */

.video-hero-title {

    margin: 0;

    color: #ffffff;

    font-size: clamp(
        44px,
        4.7vw,
        66px
    );

    line-height: 1.02;

    font-weight: 800;

    letter-spacing: -2px;
}


/* =========================================================
   HERO RED HIGHLIGHT
========================================================= */

.video-hero-title span {

    color: #ff343d;
}


/* =========================================================
   HERO DESCRIPTION
========================================================= */

.video-hero-description {

    max-width: 600px;

    margin:
        17px
        0
        0;

    color:
        rgba(255, 255, 255, 0.88);

    font-size: 15px;

    line-height: 1.5;
}


/* =========================================================
   HERO CTA CONTAINER
========================================================= */

.video-hero-buttons {

    display: flex;

    align-items: center;

    gap: 12px;

    margin-top: 21px;

    flex-wrap: wrap;
}


/* =========================================================
   HERO CTA BASE
========================================================= */

.video-hero-btn {

    min-height: 48px;

    padding:
        0
        20px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    border-radius: 7px;

    text-decoration: none;

    font-size: 13px;

    font-weight: 800;

    box-sizing: border-box;

    transition:
        transform 0.25s ease,
        background 0.25s ease,
        box-shadow 0.25s ease;
}


/* =========================================================
   PRIMARY CTA
   ---------------------------------------------------------
   GLOBAL CTA COLOR = RED
========================================================= */

.video-hero-btn-primary {

    background: #f5323f;

    color: #ffffff;

    box-shadow:
        0 8px 22px
        rgba(245, 50, 63, 0.30);
}


/* =========================================================
   PRIMARY CTA HOVER
========================================================= */

.video-hero-btn-primary:hover {

    background: #d92534;

    transform: translateY(-2px);

    box-shadow:
        0 12px 27px
        rgba(245, 50, 63, 0.38);
}


/* =========================================================
   SECONDARY CTA
========================================================= */

.video-hero-btn-secondary {

    background:
        rgba(255, 255, 255, 0.08);

    color: #ffffff;

    border:
        1px solid
        rgba(255, 255, 255, 0.75);

    backdrop-filter: blur(8px);
}


/* =========================================================
   SECONDARY CTA HOVER
========================================================= */

.video-hero-btn-secondary:hover {

    background:
        rgba(255, 255, 255, 0.17);

    transform: translateY(-2px);
}


/* =========================================================
   PLAY ICON
========================================================= */

.play-icon {

    width: 23px;

    height: 23px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: #ffffff;

    color: #09286b;

    font-size: 9px;
}


/* =========================================================
   PLATFORM AREA
   ---------------------------------------------------------
   This is deliberately kept ABOVE the Insights Bar.
========================================================= */

.hero-platforms {

    margin-top: 18px;
}


/* =========================================================
   PLATFORM TITLE
========================================================= */

.hero-platform-title {

    margin-bottom: 8px;

    color:
        rgba(255, 255, 255, 0.82);

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 1.2px;
}


/* =========================================================
   PLATFORM LIST
========================================================= */

.hero-platform-list {

    display: flex;

    align-items: center;

    gap: 8px;

    flex-wrap: nowrap;
}


/* =========================================================
   PLATFORM CARD
   ---------------------------------------------------------
   White background behind every logo.
========================================================= */

.hero-platform-card {

    width: 112px;

    height: 43px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    padding:
        6px
        10px;

    background:
        rgba(255, 255, 255, 0.97);

    border-radius: 7px;

    box-shadow:
        0 7px 18px
        rgba(0, 0, 0, 0.18);

    box-sizing: border-box;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}


/* =========================================================
   PLATFORM CARD HOVER
========================================================= */

.hero-platform-card:hover {

    transform: translateY(-3px);

    box-shadow:
        0 11px 23px
        rgba(0, 0, 0, 0.24);
}


/* =========================================================
   PLATFORM LOGO
========================================================= */

.hero-platform-card img {

    display: block;

    max-width: 100%;

    max-height: 27px;

    width: auto;

    height: auto;

    object-fit: contain;
}


/* =========================================================
   RIGHT PERFORMANCE AREA
========================================================= */


.hero-performance {

    position: relative;

    width: 100%;

    height: 100%;

    display: flex;

    flex-direction: column;

    align-items: flex-end;

    justify-content: center;

    gap: 13px;

    pointer-events: none;
}
/* =========================================================
   PERFORMANCE CARD
   ---------------------------------------------------------
   Smaller than previous version so all three fit
   comfortably in the Hero.
========================================================= */

.performance-card {

    width: 255px;

    min-height: 88px;

    padding:
        14px
        16px;

    display: flex;

    align-items: center;

    gap: 12px;

    background:
        rgba(255, 255, 255, 0.96);

    border-radius: 16px;

    color: #172044;

    box-shadow:
        0 13px 32px
        rgba(0, 0, 0, 0.24);

    backdrop-filter: blur(10px);

    box-sizing: border-box;
}


/* =========================================================
   PERFORMANCE CARD TWO
   ---------------------------------------------------------
   Slight horizontal offset.
========================================================= */

.performance-card-two {

    transform:
        translateX(22px);
}


/* =========================================================
   PERFORMANCE ICON
========================================================= */

.performance-icon {

    width: 45px;

    height: 45px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    font-size: 20px;

    font-weight: 800;
}


/* =========================================================
   PERFORMANCE PURPLE
========================================================= */

.performance-purple {

    background: #eee9ff;

    color: #713bd0;
}


/* =========================================================
   PERFORMANCE GREEN
========================================================= */

.performance-green {

    background: #e4f8ea;

    color: #16a34a;
}


/* =========================================================
   PERFORMANCE GOLD
========================================================= */

.performance-gold {

    background: #fff0cf;

    color: #e59d00;
}


/* =========================================================
   PERFORMANCE NUMBER
========================================================= */

.performance-content strong {

    display: block;

    color: #172044;

    font-size: 22px;

    line-height: 1;
}


/* =========================================================
   PERFORMANCE LABEL
========================================================= */

.performance-content span {

    display: block;

    margin-top: 4px;

    color: #25304e;

    font-size: 12px;

    font-weight: 700;
}


/* =========================================================
   PERFORMANCE SUBTEXT
========================================================= */

.performance-content small {

    display: block;

    margin-top: 3px;

    color: #737b92;

    font-size: 9px;
}


/* =========================================================
   VIDEO CONTROLS
   ---------------------------------------------------------
   IMPORTANT:
   Positioned BELOW the main content but ABOVE Insights.
========================================================= */

.hero-video-controls {

    position: absolute;

    z-index: 4;

    left: 6%;

    right: 6%;

    bottom: 104px;

    display: flex;

    align-items: center;

    gap: 12px;

    pointer-events: none;
}


/* =========================================================
   VIDEO PLAY BUTTON
========================================================= */

.hero-video-play {

    width: 30px;

    height: 30px;

    flex-shrink: 0;

    border: none;

    border-radius: 50%;

    background:
        rgba(255, 255, 255, 0.10);

    color: #ffffff;

    font-size: 12px;

    cursor: pointer;

    pointer-events: auto;
}


/* =========================================================
   VIDEO MESSAGE
========================================================= */

.hero-video-message {

    min-width: 190px;

    color:
        rgba(255, 255, 255, 0.80);

    font-size: 10px;
}


.hero-video-message strong {

    color: #ffffff;
}


/* =========================================================
   VIDEO PROGRESS
========================================================= */

.hero-video-progress {

    flex: 1;

    height: 2px;

    background:
        rgba(255, 255, 255, 0.30);

    overflow: hidden;
}


/* =========================================================
   VIDEO PROGRESS FILL
========================================================= */

.hero-video-progress-fill {

    width: 35%;

    height: 100%;

    background: #ff343d;
}


/* =========================================================
   SCROLL INDICATOR
========================================================= */

.hero-scroll {

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 2px;

    min-width: 85px;
}


/* =========================================================
   SCROLL ICON
========================================================= */

.hero-scroll-icon {

    width: 24px;

    height: 24px;

    display: flex;

    align-items: center;

    justify-content: center;

    border:
        1px solid
        rgba(255, 255, 255, 0.65);

    border-radius: 50%;

    font-size: 12px;
}


/* =========================================================
   SCROLL TEXT
========================================================= */

.hero-scroll span {

    color:
        rgba(255, 255, 255, 0.75);

    font-size: 7px;

    letter-spacing: 0.7px;
}


/* =========================================================
   RENTAL INSIGHTS BAR
   ---------------------------------------------------------
   IMPORTANT:

   It is now deliberately narrower than the Hero
   and has its own reserved space.
========================================================= */

/* =========================================================
   FLOATING RENTAL INSIGHTS BAR
   ---------------------------------------------------------
   The bar overlaps the bottom of the Hero and extends
   slightly into the What We Do section.

   HERO CONTENT IS NOT MOVED.
========================================================= */

.video-insights {

    position: absolute;

    z-index: 20;

    /*
       Keeps the bar narrower than the Hero.
    */
    left: 8%;

    right: 8%;

    /*
       Move the bar DOWN so it floats across the
       Hero / What We Do boundary.
    */
    bottom: -42px;

    min-height: 88px;

    padding: 12px 24px;

    display: grid;

    grid-template-columns:
        1.15fr
        repeat(4, 1fr);

    align-items: center;

    gap: 6px;

    box-sizing: border-box;

    background:
        radial-gradient(
            circle at 5% 50%,
            rgba(50, 100, 255, 0.30),
            transparent 30%
        ),

        radial-gradient(
            circle at 95% 50%,
            rgba(255, 190, 55, 0.22),
            transparent 30%
        ),

        linear-gradient(
            110deg,
            #071735 0%,
            #0d2450 45%,
            #081a3b 100%
        );

    border: 2px solid #d9a62e;

    border-radius: 18px;

    /*
       Strong shadow creates the floating effect.
    */
    box-shadow:
        0 18px 45px rgba(3, 15, 40, 0.32),
        0 5px 18px rgba(217, 166, 46, 0.15);
}


/* =========================================================
   INSIGHTS INTRO
========================================================= */

.video-insights-intro {

    padding-right: 16px;
}


/* =========================================================
   INSIGHTS LABEL
========================================================= */

.video-insights-intro > span {

    display: block;

    margin-bottom: 3px;

    color: #f0bd3d;

    font-size: 8px;

    font-weight: 800;

    letter-spacing: 1.2px;
}


/* =========================================================
   INSIGHTS INTRO TEXT
========================================================= */

.video-insights-intro > strong {

    display: block;

    color: #ffffff;

    font-size: 18px;

    line-height: 1.05;
}


/* =========================================================
   INSIGHTS GOLD TEXT
========================================================= */

.video-insights-intro b {

    color: #f0bd3d;
}


/* =========================================================
   INDIVIDUAL INSIGHT
========================================================= */

.video-insight-item {

    min-height: 46px;

    display: flex;

    align-items: center;

    gap: 9px;

    padding:
        4px
        12px;

    border-left:
        1px solid
        rgba(255, 255, 255, 0.20);
}


/* =========================================================
   INSIGHT ICON
========================================================= */

.video-insight-icon {

    width: 38px;

    height: 38px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    font-size: 16px;

    font-weight: 800;

    border:
        1px solid
        rgba(217, 166, 46, 0.65);
}


/* =========================================================
   INSIGHT COLORS
========================================================= */

.insight-purple {

    background:
        rgba(91, 63, 180, 0.22);

    color: #c7b6ff;
}


.insight-red {

    background:
        rgba(229, 57, 53, 0.18);

    color: #ff8a87;
}


.insight-green {

    background:
        rgba(22, 163, 74, 0.18);

    color: #63e68c;
}


.insight-gold {

    background:
        rgba(217, 166, 46, 0.18);

    color: #f5c653;
}


/* =========================================================
   INSIGHT NUMBER
========================================================= */

.video-insight-item strong {

    display: block;

    color: #ffffff;

    font-size: 18px;

    line-height: 1;
}


/* =========================================================
   INSIGHT LABEL
========================================================= */

.video-insight-item span {

    display: block;

    margin-top: 3px;

    color:
        rgba(255, 255, 255, 0.72);

    font-size: 9px;

    font-weight: 600;

    white-space: nowrap;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .video-hero {

        height: auto;

        min-height: calc(100vh - 76px);

        overflow: hidden;
    }


    .video-hero-container {

        height: auto;

        min-height: 100%;

        grid-template-columns: 1fr;

        padding:
            45px
            5%
            185px;

        text-align: center;
    }


    .video-hero-content {

        max-width: 760px;

        margin: 0 auto;
    }


    .video-hero-buttons {

        justify-content: center;
    }


    .hero-platforms {

        display: flex;

        flex-direction: column;

        align-items: center;
    }


    .hero-platform-list {

        justify-content: center;

        flex-wrap: wrap;
    }


    .hero-performance {

        height: auto;

        flex-direction: row;

        justify-content: center;

        align-items: center;

        flex-wrap: wrap;

        gap: 10px;
    }


    .performance-card {

        width: 220px;

        min-height: 78px;
    }


    .performance-card-two {

        transform: none;
    }


    .hero-video-controls {

        bottom: 110px;
    }


    .video-insights {

        left: 4%;

        right: 4%;

        grid-template-columns:
            repeat(2, 1fr);

        min-height: auto;

        padding: 15px;
    }


    .video-insights-intro {

        grid-column: 1 / -1;

        text-align: center;

        padding-bottom: 8px;
    }


    .video-insight-item {

        border-left: none;

        border-top:
            1px solid
            rgba(255, 255, 255, 0.18);
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .video-hero {

        height: auto;

        min-height: 100vh;

        overflow: hidden;
    }


    .video-hero-container {

        display: flex;

        flex-direction: column;

        align-items: center;

        gap: 20px;

        padding:
            38px
            18px
            225px;

        text-align: center;
    }


    /* -----------------------------------------------------
       MOBILE TITLE
    ----------------------------------------------------- */

    .video-hero-title {

        font-size:
            clamp(
                36px,
                10vw,
                44px
            );

        line-height: 1.04;

        letter-spacing: -1px;
    }


    /* -----------------------------------------------------
       MOBILE DESCRIPTION
    ----------------------------------------------------- */

    .video-hero-description {

        margin-top: 14px;

        font-size: 14px;

        line-height: 1.5;
    }


    /* -----------------------------------------------------
       MOBILE BUTTONS
    ----------------------------------------------------- */

    .video-hero-buttons {

        width: 100%;

        flex-direction: column;

        gap: 8px;

        margin-top: 18px;
    }


    .video-hero-btn {

        width: 100%;

        min-height: 46px;

        font-size: 13px;
    }


    /* -----------------------------------------------------
       MOBILE PLATFORM LOGOS
    ----------------------------------------------------- */

    .hero-platforms {

        width: 100%;

        margin-top: 14px;
    }


    .hero-platform-list {

        width: 100%;

        display: grid;

        grid-template-columns:
            repeat(2, 1fr);

        gap: 7px;
    }


    .hero-platform-card {

        width: 100%;

        height: 42px;
    }


    .hero-platform-card img {

        max-height: 26px;
    }


    /* -----------------------------------------------------
       MOBILE PERFORMANCE
    ----------------------------------------------------- */

    .hero-performance {

        width: 100%;

        display: grid;

        grid-template-columns: 1fr;

        gap: 7px;

        height: auto;
    }


    .performance-card {

        width: 100%;

        min-height: 65px;

        padding: 10px;

        border-radius: 12px;
    }


    .performance-card-two {

        transform: none;
    }


    .performance-icon {

        width: 38px;

        height: 38px;

        font-size: 17px;
    }


    .performance-content strong {

        font-size: 18px;
    }


    .performance-content span {

        font-size: 10px;
    }


    .performance-content small {

        font-size: 8px;
    }


    /* -----------------------------------------------------
       MOBILE CONTROLS
    ----------------------------------------------------- */

    .hero-video-controls {

        left: 18px;

        right: 18px;

        bottom: 195px;

        gap: 8px;
    }


    .hero-video-message {

        display: none;
    }


    .hero-video-progress {

        display: none;
    }


    .hero-scroll {

        margin:
            0
            auto;
    }


    /* -----------------------------------------------------
       MOBILE INSIGHTS
    ----------------------------------------------------- */

    .video-insights {

        left: 10px;

        right: 10px;

        bottom: 0;

        padding: 10px;

        grid-template-columns:
            repeat(2, 1fr);

        border-radius:
            14px
            14px
            0
            0;
    }


    .video-insights-intro {

        padding:
            2px
            4px
            9px;
    }


    .video-insights-intro > strong {

        font-size: 15px;
    }


    .video-insight-item {

        min-height: 44px;

        padding:
            7px
            5px;

        gap: 6px;
    }


    .video-insight-icon {

        width: 29px;

        height: 29px;

        font-size: 12px;
    }


    .video-insight-item strong {

        font-size: 14px;
    }


    .video-insight-item span {

        font-size: 8px;

        white-space: normal;

        line-height: 1.2;
    }

}
/* =========================================
   WHAT WE DO / SERVICES SECTION
========================================= */

/* =========================================================
   FINAL HERO + FLOATING INSIGHTS FIX
   ---------------------------------------------------------
   PURPOSE:
   - Allow Insights Bar to overlap What We Do
   - Keep Hero background safely contained
   - Keep Hero content in exactly the same position
   - Prevent the Insights Bar from being clipped
========================================================= */


/* =========================================================
   HERO
   ---------------------------------------------------------
   IMPORTANT:
   The Hero itself must allow the Insights Bar to extend
   outside its bottom edge.
========================================================= */

.video-hero {

    /*
       DO NOT use overflow:hidden here.

       The background has its own overflow control,
       so the floating Insights Bar can safely extend
       into the next section.
    */
    overflow: visible;

    /*
       Makes the entire Hero sit above the
       What We Do section.
    */
    position: relative;

    z-index: 2;
}


/* =========================================================
   HERO BACKGROUND
   ---------------------------------------------------------
   Keep the image/video clipped inside the Hero.
========================================================= */

.video-hero-background {

    position: absolute;

    inset: 0;

    overflow: hidden;

    z-index: 0;
}


/* =========================================================
   HERO OVERLAY
========================================================= */

.video-hero-overlay {

    z-index: 1;
}


/* =========================================================
   HERO CONTENT
   ---------------------------------------------------------
   Keeps all existing Hero content above the background
   but below the floating Insights Bar.
========================================================= */

.video-hero-container {

    position: relative;

    z-index: 2;
}


/* =========================================================
   FLOATING RENTAL INSIGHTS BAR
   ---------------------------------------------------------
   The bar now physically overlaps the next section.
========================================================= */

.video-insights {

    position: absolute;

    z-index: 50;

    /*
       Narrower than the Hero.
    */
    left: 8%;

    right: 8%;

    /*
       42px extends into What We Do.
    */
    bottom: -42px;

    min-height: 88px;

    box-sizing: border-box;

    /*
       Strong floating elevation.
    */
    box-shadow:
        0 20px 45px rgba(3, 15, 40, 0.35),
        0 8px 20px rgba(0, 0, 0, 0.15);
}


/* =========================================================
   WHAT WE DO
   ---------------------------------------------------------
   The section stays underneath the floating bar.
========================================================= */

.what-we-do {

    position: relative;

    z-index: 1;

    /*
       Space at the top keeps the heading comfortably
       below the floating Insights Bar.
    */
    padding:
        85px
        6%
        80px;

    box-sizing: border-box;
}


/* =========================================================
   WHAT WE DO CONTAINER
========================================================= */

.what-we-do-container {

    position: relative;

    z-index: 1;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .what-we-do {

        padding:
            80px
            5%
            70px;
    }


    .video-insights {

        left: 4%;

        right: 4%;

        bottom: -35px;
    }

}


/* =========================================================
   MOBILE
   ---------------------------------------------------------
   Smaller overlap so the bar doesn't cover the heading.
========================================================= */

@media (max-width: 700px) {

    .video-hero {

        overflow: visible;
    }


    .video-insights {

        left: 10px;

        right: 10px;

        bottom: -25px;

        border-radius:
            14px
            14px
            0
            0;
    }


    .what-we-do {

        padding:
            65px
            20px
            60px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 420px) {

    .what-we-do {

        padding:
            65px
            15px
            60px;
    }

}

.what-we-do {
    width: 100%;
    padding: 55px 6% 80px;
    background: #bfeee0;
    box-sizing: border-box;
}

.what-we-do-container {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
}

/* =========================================================
   WHAT WE DO SECTION
   ---------------------------------------------------------
   Creates breathing room for the floating Insights Bar.
========================================================= */

.what-we-do {

    position: relative;

    z-index: 1;

    /*
       Space reserved for the Insights Bar that overlaps
       from the Hero above.
    */
    padding-top: 85px;
}

/* =========================================
   SECTION HEADER
========================================= */

.what-we-do-header {
    max-width: 900px;
    margin: 0 auto 55px;
    text-align: center;
}

.section-label {
    display: inline-block;
    margin-bottom: 14px;
    color: #e84646;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: 2px;
    line-height: 1.2;
}

.what-we-do-header h2 {
    margin: 0;
    color: #171b3a;
    font-size: clamp(42px, 4.5vw, 64px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -1.5px;
}

.what-we-do-header h2 span {
    display: block;
    color: #5b5a8f;
}

.what-we-do-header p {
    max-width: 760px;
    margin: 26px auto 0;
    color: #0d0d0e;
    font-size: 17px;
    line-height: 1.7;
}


/* =========================================
   SERVICE ROW
========================================= */

.service-row {
    display: grid;
    grid-template-columns: 44% 56%;
    align-items: stretch;
    width: 100%;
    min-height: 340px;
    margin-bottom: 28px;
    overflow: hidden;

    background: #ffffff;
    border: 1px solid #e8eaf0;
    border-radius: 24px;

    box-shadow: 0 10px 30px rgba(15, 30, 70, 0.06);

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease,
        border-color 0.35s ease;
}


/* Alternating layout */

.service-row-reverse {
    grid-template-columns: 56% 44%;
}

.service-row-reverse .service-image-wrap {
    order: 2;
}

.service-row-reverse .service-content {
    order: 1;
}


/* =========================================
   HOVER
========================================= */

.service-row:hover {
    transform: translateY(-4px);
    border-color: #d9dce5;
    box-shadow: 0 18px 42px rgba(15, 30, 70, 0.11);
}


/* =========================================
   IMAGE
========================================= */

.service-image-wrap {
    position: relative;
    min-width: 0;
    min-height: 340px;
    overflow: hidden;
    background: #e9edf4;
}

.service-image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 340px;

    object-fit: cover;
    object-position: center;

    transition: transform 0.55s ease;
}

.service-row:hover .service-image {
    transform: scale(1.035);
}


/* =========================================
   NUMBER BADGE
========================================= */

.service-number {
    position: absolute;
    top: 22px;
    left: 22px;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 54px;
    height: 54px;

    background: #ffffff;
    color: #171b3a;

    border-radius: 50%;

    font-size: 15px;
    font-weight: 800;

    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.12);
}

.service-row-reverse .service-number {
    left: auto;
    right: 22px;
}


/* =========================================
   SERVICE CONTENT
========================================= */

.service-content {
    display: flex;
    flex-direction: column;
    justify-content: center;

    min-width: 0;
    padding: 42px 52px;
}

.service-category {
    display: block;
    margin-bottom: 10px;

    color: #e84646;

    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.5px;
    line-height: 1.4;
}

.service-content h3 {
    margin: 0 0 16px;

    color: #171b3a;

    font-size: clamp(28px, 2.4vw, 38px);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.6px;
}

.service-content p {
    max-width: 620px;
    margin: 0;

    color: #666b76;

    font-size: 16px;
    line-height: 1.7;
}


/* =========================================
   SERVICE POINTS
========================================= */

.service-points {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 24px;

    margin: 22px 0 0;
    padding: 0;

    list-style: none;
}

.service-points li {
    position: relative;

    padding-left: 20px;

    color: #34384a;

    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
}

.service-points li::before {
    content: "✓";

    position: absolute;
    left: 0;
    top: 0;

    color: #e84646;

    font-size: 14px;
    font-weight: 900;
}


/* =========================================
   SERVICE LINK
========================================= */

.service-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    width: fit-content;

    margin-top: 25px;

    color: #e84646;

    font-size: 15px;
    font-weight: 800;
    text-decoration: none;

    transition:
        color 0.25s ease,
        gap 0.25s ease;
}

.service-link span {
    font-size: 18px;
    line-height: 1;
}

.service-link:hover {
    color: #c93434;
    gap: 11px;
}


/* =========================================
   MAX PRO TITLE
========================================= */

.max-pro-title {
    display: block;
}

.max-pro-badge {
    position: relative;
    top: -0.35em;

    display: inline-block;

    margin-left: 7px;

    color: #e84646;

    font-size: 0.42em;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1;

    white-space: nowrap;

    animation: maxProBlink 1.6s ease-in-out infinite;
}


/* =========================================
   MAX PRO BLINKING EFFECT
========================================= */

@keyframes maxProBlink {

    0%,
    45%,
    100% {
        opacity: 1;
    }

    55%,
    72% {
        opacity: 0.25;
    }
}


/* =========================================
   REDUCE MOTION
========================================= */

@media (prefers-reduced-motion: reduce) {

    .max-pro-badge {
        animation: none;
        opacity: 1;
    }

    .service-row,
    .service-image,
    .service-link {
        transition: none;
    }
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1000px) {

    .what-we-do {
        padding: 50px 5% 70px;
    }

    .what-we-do-header {
        margin-bottom: 40px;
    }

    .what-we-do-header h2 {
        font-size: 46px;
    }

    .service-row,
    .service-row-reverse {
        grid-template-columns: 48% 52%;
        min-height: 300px;
    }

    .service-image-wrap {
        min-height: 300px;
    }

    .service-image {
        min-height: 300px;
    }

    .service-content {
        padding: 34px 36px;
    }

    .service-content h3 {
        font-size: 30px;
    }

    .service-content p {
        font-size: 15px;
        line-height: 1.6;
    }

    .service-points {
        gap: 8px 18px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 700px) {

    .what-we-do {
        padding: 45px 20px 60px;
    }

    .what-we-do-header {
        margin-bottom: 32px;
    }

    .section-label {
        font-size: 12px;
        letter-spacing: 1.7px;
    }

    .what-we-do-header h2 {
        font-size: 38px;
        letter-spacing: -0.8px;
    }

    .what-we-do-header p {
        margin-top: 20px;
        font-size: 15px;
        line-height: 1.65;
    }


    /* Stack image and content */

    .service-row,
    .service-row-reverse {
        display: flex;
        flex-direction: column;

        min-height: 0;
        margin-bottom: 22px;

        border-radius: 20px;
    }


    .service-row-reverse .service-image-wrap,
    .service-row-reverse .service-content {
        order: initial;
    }


    .service-image-wrap {
        width: 100%;
        height: 230px;
        min-height: 230px;
    }

    .service-image {
        width: 100%;
        height: 230px;
        min-height: 230px;
    }


    .service-number,
    .service-row-reverse .service-number {
        top: 16px;
        left: 16px;
        right: auto;

        width: 48px;
        height: 48px;

        font-size: 14px;
    }


    .service-content {
        padding: 30px 25px 32px;
    }

    .service-category {
        font-size: 11px;
        letter-spacing: 1.2px;
    }

    .service-content h3 {
        margin-bottom: 13px;
        font-size: 28px;
    }

    .service-content p {
        font-size: 15px;
        line-height: 1.65;
    }

    .service-points {
        display: block;
        margin-top: 18px;
    }

    .service-points li {
        margin-bottom: 8px;
        font-size: 14px;
    }

    .service-link {
        margin-top: 20px;
    }

}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 420px) {

    .what-we-do {
        padding-left: 15px;
        padding-right: 15px;
    }

    .what-we-do-header h2 {
        font-size: 33px;
    }

    .service-content {
        padding: 27px 21px 30px;
    }

    .service-content h3 {
        font-size: 25px;
    }

    .max-pro-badge {
        font-size: 0.38em;
        margin-left: 4px;
    }

}

/* =========================================
   GROWMYRENTAL TRANSFORMATION
========================================= */

.transformation-section {
    width: 100%;
    padding: 55px 20px;

    background:
        radial-gradient(
            circle at 10% 15%,
            rgba(91, 76, 255, 0.32),
            transparent 32%
        ),
        radial-gradient(
            circle at 90% 20%,
            rgba(0, 110, 255, 0.28),
            transparent 35%
        ),
        radial-gradient(
            circle at 50% 100%,
            rgba(120, 40, 255, 0.20),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #08226e 0%,
            #5772bb 45%,
            #070c74 100%
        );

    color: #ffffff;
    overflow: hidden;
}


.transformation-container {
    width: min(1400px, 100%);
    margin: 0 auto;
}


/* =========================================
   HEADER
========================================= */

.transformation-header {
    max-width: 950px;
    margin: 0 auto 30px;
    text-align: center;
}

.transformation-eyebrow {
    display: inline-block;

    margin-bottom: 18px;

    font-size: 20px;
    font-weight: 800;
    letter-spacing: 3px;
    text-transform: uppercase;

    color: #f50c23;
}

.transformation-header h2 {
    margin: 0;

    font-size: clamp(32px, 3.5vw, 46px);
    line-height: 1.08;
    font-weight: 800;

    color: #ffffff;
}

.transformation-header h2 span {
    color: #ff3045;
}

.transformation-header p {
    max-width: 800px;

    margin: 16px auto 0;

    font-size: 16px;
    line-height: 1.45;

    color: rgba(255, 255, 255, 0.78);
}


/* =========================================
   BEFORE / AFTER COMPARISON
========================================= */

.transformation-comparison {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        280px
        minmax(0, 1fr);

    align-items: center;

    gap: 20px;

    margin-bottom: 30px;
}


/* PROPERTY CARD */

.transformation-property {
    padding: 14px;

    border: 1px solid rgba(255, 255, 255, 0.22);

    border-radius: 22px;

    background: rgba(255, 255, 255, 0.07);

    backdrop-filter: blur(12px);

    box-shadow:
        0 20px 50px rgba(0, 0, 0, 0.25);
}


.before-property {
    border-color: rgba(80, 150, 255, 0.45);
}


.after-property {
    border-color: rgba(255, 48, 69, 0.70);

    box-shadow:
        0 20px 60px rgba(255, 48, 69, 0.12);
}


/* PROPERTY TOP */

.property-top {
    display: flex;
    align-items: center;

    gap: 18px;

    margin-bottom: 18px;
}

.property-top h3 {
    margin: 0;

    font-size: 20px;
    font-weight: 700;

    color: #ffffff;
}


.property-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 125px;
    height: 44px;

    padding: 0 20px;

    border-radius: 10px;

    font-size: 16px;
    font-weight: 800;
}


.before-label {
    background: #263247;
    color: #ffffff;
}


.after-label {
    background: #ef233c;
    color: #ffffff;
}


/* PROPERTY CONTENT */

.property-content {
    display: grid;

    grid-template-columns: 1.15fr 0.85fr;

    gap: 22px;

    align-items: center;
}


/* IMAGE */

.property-image {
    width: 100%;
    height: 190px;

    overflow: hidden;

    border-radius: 14px;
}

.property-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform 0.4s ease;
}

.transformation-property:hover .property-image img {
    transform: scale(1.04);
}


/* PROPERTY POINTS */

.property-points {
    display: flex;
    flex-direction: column;

    gap: 12px;
}

.property-point {
    display: flex;
    align-items: center;

    gap: 12px;

    font-size: 15px;
    line-height: 1.4;

    color: rgba(255, 255, 255, 0.88);
}


.point-icon {
    flex-shrink: 0;

    width: 32px;
    height: 32px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    font-size: 19px;
    font-weight: 800;
}


.negative {
    background: #ed1c3b;
    color: #ffffff;
}


.positive {
    background: #36c936;
    color: #ffffff;
}


/* =========================================
   CENTER TRANSFORMATION
========================================= */

.transformation-center {
    display: flex;
    flex-direction: column;

    align-items: center;

    text-align: center;
}


.transformation-logo {
    margin-bottom: 20px;
}

.transformation-logo img {
    width: 120px;
    height: auto;

    object-fit: contain;
}


/* TRANSFORMATION ARROW */

.transformation-arrow {
    position: relative;

    width: 100%;
    min-height: 75px;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    padding: 12px 25px;

    background: linear-gradient(
        90deg,
        #df1738,
        #ff3045
    );

    clip-path: polygon(
        0 0,
        84% 0,
        84% 22%,
        100% 50%,
        84% 78%,
        84% 100%,
        0 100%
    );

    box-shadow:
        0 15px 35px rgba(255, 30, 60, 0.28);
}


.transformation-arrow strong {
    font-size: 16px;
    letter-spacing: 0.5px;
}


.transformation-arrow span {
    margin-top: 8px;

    font-size: 10px;
    line-height: 1.4;

    color: rgba(255, 255, 255, 0.9);
}


.transformation-tagline {
    margin-top: 12px;

    font-size: 19px;
    line-height: 1.15;

    font-style: italic;

    color: #ffffff;
}


.transformation-tagline span {
    color: #ff3045;
}


/* =========================================
   CHANGE HEADING
========================================= */

.change-heading {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 18px;

    margin-bottom: 18px;
}


.change-heading span {
    width: 100px;
    height: 1px;

    background: #ff3045;
}


.change-heading h3 {
    margin: 0;

    font-size: 14px;
    font-weight: 800;
    letter-spacing: 3px;

    color: #ffffff;
}


/* =========================================
   FOUR PILLARS
========================================= */

.transformation-pillars {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 18px;
}


.transformation-card {
    position: relative;

    min-height: 220px;

    padding: 20px 22px;

    border-radius: 20px;

    border: 1px solid rgba(255, 255, 255, 0.22);

    overflow: hidden;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}


.transformation-card:hover {
    transform: translateY(-7px);

    box-shadow:
        0 20px 40px rgba(0, 0, 0, 0.25);
}


/* CARD COLORS */

.position-card {
    background: linear-gradient(
        145deg,
        #e91668,
        #b71968
    );
}


.convert-card {
    background: linear-gradient(
        145deg,
        #0878ed,
        #1551c5
    );
}


.attract-card {
    background: linear-gradient(
        145deg,
        #ff9d16,
        #f45a18
    );
}


.grow-card {
    background: linear-gradient(
        145deg,
        #20b94a,
        #078b5b
    );
}


/* NUMBER */

.card-number {
    position: absolute;

    top: 22px;
    left: 24px;

    font-size: 24px;
    font-weight: 800;

    color: rgba(255, 255, 255, 0.95);
}


/* ICON */

.pillar-icon {
    width: 55px;
    height: 55px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0 auto 18px;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.18);

    border: 1px solid rgba(255, 255, 255, 0.35);

    font-size: 27px;
}


.transformation-card h3 {
    margin: 0;

    text-align: center;

    font-size: 22px;
    line-height: 1.1;
    font-weight: 800;

    text-transform: uppercase;
}


.transformation-card h4 {
    margin: 6px 0 8px;

    text-align: center;

    font-size: 14px;
    line-height: 1.35;
    font-weight: 700;
}


.transformation-card p {
    margin: 0;

    font-size: 13px;
    line-height: 1.4;

    color: rgba(255, 255, 255, 0.90);
}


.pillar-link {
    display: inline-flex;
    align-items: center;

    gap: 8px;

    margin-top: 10px;

    color: #ffffff;

    font-size: 13px;
    font-weight: 700;

    text-decoration: none;
}


.pillar-link span {
    font-size: 18px;

    transition: transform 0.2s ease;
}


.pillar-link:hover span {
    transform: translateX(4px);
}


/* =========================================
   BOTTOM MESSAGE
========================================= */

.transformation-bottom {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 24px;

    margin-top: 25px;
}


.bottom-item {
    display: flex;
    align-items: center;

    gap: 10px;

    font-size: 13px;
    letter-spacing: 1px;

    color: #ffffff;
}


.bottom-icon {
    color: #ff3045;

    font-size: 21px;
}


.bottom-arrow {
    color: rgba(255, 255, 255, 0.65);

    font-size: 20px;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1100px) {

    .transformation-comparison {
        grid-template-columns: 1fr;

        gap: 25px;
    }

    .transformation-center {
        order: 2;
    }

    .before-property {
        order: 1;
    }

    .after-property {
        order: 3;
    }

    .transformation-arrow {
        max-width: 500px;
    }

    .transformation-pillars {
        grid-template-columns: repeat(2, 1fr);
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 650px) {

    .transformation-section {
        padding: 70px 16px;
    }

    .transformation-header {
        margin-bottom: 40px;
    }

    .transformation-header h2 {
        font-size: 36px;
    }

    .transformation-header p {
        font-size: 16px;
    }


    .transformation-property {
        padding: 14px;

        border-radius: 17px;
    }


    .property-top {
        align-items: flex-start;
        flex-direction: column;

        gap: 12px;
    }

    .property-top h3 {
        font-size: 18px;
    }


    .property-content {
        grid-template-columns: 1fr;
    }


    .property-image {
        height: 220px;
    }


    .property-points {
        gap: 15px;
    }


    .property-point {
        font-size: 14px;
    }


    .transformation-logo img {
        width: 135px;
    }


    .transformation-arrow {
        min-height: 90px;

        padding: 18px 28px;
    }


    .transformation-tagline {
        font-size: 21px;
    }


    .change-heading {
        gap: 10px;
    }

    .change-heading span {
        width: 35px;
    }

    .change-heading h3 {
        font-size: 11px;
        letter-spacing: 2px;
    }


    .transformation-pillars {
        grid-template-columns: 1fr;
    }


    .transformation-card {
        min-height: auto;

        padding: 28px 24px;
    }


    .transformation-bottom {
        flex-direction: column;

        gap: 12px;

        margin-top: 35px;
    }


    .bottom-arrow {
        transform: rotate(90deg);
    }

}

/* =========================================================
   GROWMYRENTAL
   WHY PROPERTY OWNERS CHOOSE US
   NEW LOCKED DESIGN
   ONE SECTION = ONE SCREEN
   ========================================================= */


/* =========================================================
   SECTION
   ========================================================= */

.gmr-why-new {
    width: 100%;
    height: 100dvh;

    box-sizing: border-box;

    padding: 14px 20px 12px;

    background:
        radial-gradient(
            circle at 5% 10%,
            rgba(40,140,255,0.06),
            transparent 28%
        ),
        radial-gradient(
            circle at 95% 85%,
            rgba(40,140,255,0.05),
            transparent 28%
        ),
        #f7faff;

    overflow: hidden;

    font-family:
        Arial,
        Helvetica,
        sans-serif;
}


/* =========================================================
   MAIN WRAPPER
   ========================================================= */

.gmr-why-wrap {
    width: 100%;
    max-width: 1500px;

    height: 100%;

    margin: 0 auto;

    display: grid;

    grid-template-rows:
        17%
        minmax(0, 1fr)
        12%;

    gap: 9px;
}


/* =========================================================
   HEADER
   ========================================================= */

.gmr-why-head {
    min-height: 0;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;
}


/* =========================================================
   EYEBROW
   ========================================================= */

.gmr-why-eyebrow {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 11px;

    margin-bottom: 5px;

    color: #09286b;

    font-size: 10px;

    font-weight: 900;

    letter-spacing: 2.7px;

    line-height: 1;
}


.gmr-why-eyebrow span {
    width: 57px;
    height: 2px;

    background: #ef233c;

    border-radius: 10px;
}


/* =========================================================
   HEADING
   ========================================================= */

.gmr-why-head h2 {
    margin: 0;

    color: #09286b;

    font-size:
        clamp(32px, 3.1vw, 47px);

    line-height: 1;

    font-weight: 900;

    letter-spacing: -1.8px;
}


.gmr-why-head h2 strong {
    color: #ef233c;

    font-weight: 900;
}


/* =========================================================
   SUBTITLE
   ========================================================= */

.gmr-why-head p {
    max-width: 920px;

    margin:
        6px auto 0;

    color: #50627f;

    font-size: 11.5px;

    line-height: 1.3;
}


/* =========================================================
   CARD GRID
   ========================================================= */

.gmr-why-grid {
    min-height: 0;

    display: grid;

    grid-template-columns:
        repeat(6, minmax(0, 1fr));

    grid-template-rows:
        minmax(0, 1fr)
        minmax(0, 0.82fr);

    gap: 10px;
}


/* =========================================================
   CARD
   ========================================================= */

.gmr-feature {
    min-width: 0;
    min-height: 0;

    box-sizing: border-box;

    padding: 10px 11px 9px;

    border-radius: 14px;

    color: #ffffff;

    display: flex;

    flex-direction: column;

    overflow: hidden;

    position: relative;

    border:
        1px solid
        rgba(255,255,255,0.35);

    box-shadow:
        0 9px 24px
        rgba(25,60,110,0.15);
}


/* Top cards */

.gmr-feature:nth-child(1),
.gmr-feature:nth-child(2),
.gmr-feature:nth-child(3) {
    grid-column: span 2;
}


/* Bottom cards */

.gmr-feature:nth-child(4),
.gmr-feature:nth-child(5) {
    grid-column: span 3;
}


/* =========================================================
   COLORFUL BACKGROUNDS
   ========================================================= */

.gmr-feature-blue {
    background:
        linear-gradient(
            135deg,
            #087bea 0%,
            #0064cf 50%,
            #063e91 100%
        );
}


.gmr-feature-green {
    background:
        linear-gradient(
            135deg,
            #00c982 0%,
            #00a967 48%,
            #00714e 100%
        );
}


.gmr-feature-purple {
    background:
        linear-gradient(
            135deg,
            #752cff 0%,
            #5c20d6 48%,
            #3b1591 100%
        );
}


.gmr-feature-orange {
    background:
        linear-gradient(
            135deg,
            #ff9b13 0%,
            #f47600 48%,
            #c54c00 100%
        );
}


.gmr-feature-red {
    background:
        linear-gradient(
            135deg,
            #f51f43 0%,
            #dc1035 48%,
            #ae0626 100%
        );
}


/* =========================================================
   CARD TOP CONTENT
   ========================================================= */

.gmr-feature-top {
    min-height: 0;

    flex: 1;

    display: grid;

    grid-template-columns:
        34px
        minmax(0, 1.15fr)
        minmax(110px, 0.9fr);

    gap: 7px;

    align-items: center;
}


/* Bottom cards get more image room */

.gmr-wide-feature .gmr-feature-top {
    grid-template-columns:
        38px
        minmax(0, 1fr)
        minmax(180px, 0.95fr);
}


/* =========================================================
   NUMBER
   ========================================================= */

.gmr-feature-number {
    align-self: start;

    width: 32px;
    height: 32px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background:
        rgba(255,255,255,0.18);

    border:
        1px solid
        rgba(255,255,255,0.45);

    color: #ffffff;

    font-size: 11px;

    font-weight: 900;

    box-shadow:
        inset 0 1px 2px
        rgba(255,255,255,0.25);
}


/* =========================================================
   CARD COPY
   ========================================================= */

.gmr-feature-copy {
    min-width: 0;
}


.gmr-feature-copy h3 {
    margin:
        0 0 5px;

    color: #ffffff;

    font-size:
        clamp(20px, 1.32vw, 20px);

    line-height: 1.04;

    font-weight: 900;

    letter-spacing: -0.35px;
}


.gmr-feature-copy p {
    margin:
        0 0 7px;

    color:
        rgba(255,255,255,0.93);

    font-size: 12px;

    line-height: 1.32;
}


/* =========================================================
   CHECKLIST
   ========================================================= */

.gmr-feature-copy ul {
    list-style: none;

    margin: 0;
    padding: 0;

    display: flex;

    flex-direction: column;

    gap: 3px;
}


.gmr-feature-copy li {
    display: flex;

    align-items: center;

    gap: 6px;

    color: #ffffff;

    font-size: 10.5px;

    line-height: 1.1;
}


.gmr-feature-copy li::before {
    content: "✓";

    width: 17px;
    height: 17px;

    flex-shrink: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background:
        rgba(255,255,255,0.22);

    font-size: 9px;

    font-weight: 900;
}


/* =========================================================
   CARD IMAGE
   ========================================================= */

.gmr-feature-image {
    min-width: 0;

    height: 100%;

    min-height: 105px;

    display: flex;

    align-items: center;
    justify-content: center;

    overflow: hidden;
}


.gmr-feature-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: contain;

    object-position: center;

    filter:
        drop-shadow(
            0 8px 10px
            rgba(0,0,0,0.18)
        );
}


/* =========================================================
   TRANSFORMATION BAR
   ========================================================= */

.gmr-transform {
    flex-shrink: 0;

    min-height: 43px;

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        34px
        minmax(0, 1.2fr);

    align-items: stretch;

    gap: 4px;

    padding: 4px;

    box-sizing: border-box;

    border-radius: 9px;

    background:
        rgba(0,0,0,0.18);

    border:
        1px solid
        rgba(255,255,255,0.22);
}


/* FROM */

.gmr-transform-from {
    min-width: 0;

    display: flex;

    flex-direction: column;

    justify-content: center;

    padding:
        4px 7px;

    border-radius: 6px;

    background:
        rgba(0,0,0,0.24);
}


.gmr-transform-from small,
.gmr-transform-to small {
    color:
        rgba(255,255,255,0.65);

    font-size: 8px;

    line-height: 1;
}


.gmr-transform-from b,
.gmr-transform-to b {
    margin-top: 2px;

    color: #ffffff;

    font-size: 9px;

    line-height: 1.05;

    overflow-wrap: break-word;
}


/* =========================================================
   ARROW
   ========================================================= */

.gmr-transform-arrow {
    display: flex;

    align-items: center;
    justify-content: center;

    color: #ffffff;

    font-size: 20px;

    font-weight: 400;
}


/* =========================================================
   TO
   ========================================================= */

.gmr-transform-to {
    min-width: 0;

    display: flex;

    flex-direction: column;

    justify-content: center;

    padding:
        4px 7px;

    border-radius: 6px;
}


/* Bright matching colors */

.gmr-feature-blue .gmr-transform-to {
    background: #1595ff;
}


.gmr-feature-green .gmr-transform-to {
    background: #10df78;
}


.gmr-feature-purple .gmr-transform-to {
    background: #9138ff;
}


.gmr-feature-orange .gmr-transform-to {
    background: #ff9414;
}


.gmr-feature-red .gmr-transform-to {
    background: #ff2542;
}


/* Matching arrow */

.gmr-feature-blue .gmr-transform-arrow {
    color: #50b0ff;
}


.gmr-feature-green .gmr-transform-arrow {
    color: #35ed8a;
}


.gmr-feature-purple .gmr-transform-arrow {
    color: #b06aff;
}


.gmr-feature-orange .gmr-transform-arrow {
    color: #ffc04f;
}


.gmr-feature-red .gmr-transform-arrow {
    color: #ff6c7c;
}


/* =========================================================
   BOTTOM CTA
   ========================================================= */

.gmr-final-cta {
    position: relative;

    min-height: 0;

    height: 100%;

    border-radius: 13px;

    overflow: hidden;

    box-shadow:
        0 9px 22px
        rgba(9,40,107,0.18);
}


/* =========================================================
   CTA PHOTO
   ========================================================= */

.gmr-final-cta-photo {
    position: absolute;

    inset: 0;

    background-image:
        url("images/why-owners/06-cta-property-clean.jpg");

    background-size: cover;

    background-position:
        center 40%;

    background-repeat: no-repeat;
}


/* =========================================================
   CTA OVERLAY
   ========================================================= */

.gmr-final-cta-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(4,27,63,1) 0%,
            rgba(4,27,63,0.99) 22%,
            rgba(4,29,67,0.94) 40%,
            rgba(4,29,67,0.68) 59%,
            rgba(4,29,67,0.20) 100%
        );
}


/* =========================================================
   CTA CONTENT
   ========================================================= */

.gmr-final-cta-content {
    position: relative;

    z-index: 2;

    width: 100%;
    height: 100%;

    box-sizing: border-box;

    padding:
        7px 15px;

    display: grid;

    grid-template-columns:
        0.75fr
        1.35fr
        1.7fr
        1.05fr;

    align-items: center;

    gap: 13px;
}


/* =========================================================
   CTA BRAND
   ========================================================= */

.gmr-cta-brand {
    display: flex;

    align-items: center;

    gap: 7px;

    min-width: 0;
}


.gmr-cta-house {
    width: 42px;
    height: 42px;

    flex-shrink: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    color: #ffffff;

    font-size: 41px;

    line-height: 1;
}


.gmr-cta-brand-text {
    display: flex;

    flex-direction: column;
}


.gmr-cta-brand-text strong {
    color: #ffffff;

    font-size: 9px;

    line-height: 1.1;
}


.gmr-cta-brand-text span {
    margin-top: 2px;

    color: #ff3048;

    font-size: 9px;

    font-weight: 900;

    line-height: 1.1;
}


/* =========================================================
   CTA MESSAGE
   ========================================================= */

.gmr-cta-message {
    min-width: 0;
}


.gmr-cta-message h3 {
    margin: 0;

    color: #ffffff;

    font-size: 16px;

    line-height: 1.02;

    font-weight: 900;

    letter-spacing: -0.25px;
}


.gmr-cta-message p {
    margin:
        3px 0 0;

    color: #ef233c;

    font-size: 16px;

    line-height: 1;

    font-weight: 900;
}


/* =========================================================
   CTA BENEFITS
   ========================================================= */

.gmr-cta-points {
    min-width: 0;

    display: flex;

    align-items: center;

    gap: 8px;
}


.gmr-cta-point {
    min-width: 0;

    display: flex;

    align-items: center;

    gap: 5px;
}


.gmr-point-icon {
    width: 29px;
    height: 29px;

    flex-shrink: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    color: #ffffff;

    font-size: 11px;
}


.gmr-point-red {
    background: #ef233c;
}


.gmr-point-blue {
    background: #1595ff;
}


.gmr-point-green {
    background: #13ca62;
}


.gmr-cta-point > div:last-child {
    display: flex;

    flex-direction: column;

    min-width: 0;
}


.gmr-cta-point strong {
    color: #ffffff;

    font-size: 7px;

    line-height: 1.1;

    white-space: nowrap;
}


.gmr-cta-point span {
    margin-top: 2px;

    color:
        rgba(255,255,255,0.68);

    font-size: 6px;

    line-height: 1.1;

    white-space: nowrap;
}


/* =========================================================
   REAL CTA BUTTON
   ========================================================= */

.gmr-final-button {
    min-width: 0;

    min-height: 42px;

    display: flex;

    align-items: center;
    justify-content: center;

    gap: 9px;

    padding:
        0 13px;

    box-sizing: border-box;

    border-radius: 10px;

    background: #ef233c;

    color: #ffffff;

    text-decoration: none;

    font-size: 10px;

    font-weight: 900;

    box-shadow:
        0 7px 18px
        rgba(239,35,60,0.35);

    transition:
        transform .2s ease,
        background .2s ease;
}


.gmr-final-button b {
    font-size: 18px;

    font-weight: 500;

    line-height: 1;
}


.gmr-final-button:hover {
    background: #d91830;

    transform:
        translateY(-2px);
}


/* =========================================================
   DESKTOP — 1366px / 1440px
   ========================================================= */

@media (max-width: 1400px) and (min-width: 901px) {

    .gmr-why-new {
        padding:
            10px 24px 9px;
    }


    .gmr-why-wrap {
        grid-template-rows:
            17%
            minmax(0, 1fr)
            12%;

        gap: 7px;
    }


    .gmr-why-eyebrow {
        font-size: 18px;

        gap: 9px;

        letter-spacing: 2.4px;
    }


    .gmr-why-eyebrow span {
        width: 50px;
        height: 1px;
    }


    .gmr-why-head h2 {
        font-size: 34px;

        letter-spacing: -1.2px;
    }


    .gmr-why-head p {
        font-size: 12px;

        margin-top: 5px;
    }


    .gmr-why-grid {
        gap: 9px;
    }


    .gmr-feature {
        padding:
            8px 9px 8px;

        border-radius: 11px;
    }


    .gmr-feature-top {
        grid-template-columns:
            29px
            minmax(0, 1.15fr)
            minmax(95px, 0.9fr);

        gap: 5px;
    }


    .gmr-wide-feature .gmr-feature-top {
        grid-template-columns:
            31px
            minmax(0, 1fr)
            minmax(145px, 0.95fr);
    }


    .gmr-feature-number {
        width: 27px;
        height: 27px;

        font-size: 8.5px;
    }


    .gmr-feature-copy h3 {
        font-size: 18px;

        margin-bottom: 4px;
    }


    .gmr-feature-copy p {
        font-size: 12px;

        line-height: 1.25;

        margin-bottom: 5px;
    }


    .gmr-feature-copy ul {
        gap: 2px;
    }


    .gmr-feature-copy li {
        font-size: 9px;

        gap: 4px;
    }


    .gmr-feature-copy li::before {
        width: 14px;
        height: 14px;

        font-size: 7px;
    }


    .gmr-feature-image {
        min-height: 80px;
    }


    .gmr-transform {
        min-height: 37px;

        grid-template-columns:
            minmax(0, 1fr)
            27px
            minmax(0, 1.2fr);

        padding: 3px;

        gap: 3px;
    }


    .gmr-transform-from,
    .gmr-transform-to {
        padding:
            3px 5px;
    }


    .gmr-transform-from small,
    .gmr-transform-to small {
        font-size: 5.2px;
    }


    .gmr-transform-from b,
    .gmr-transform-to b {
        font-size: 8px;
    }


    .gmr-transform-arrow {
        font-size: 15px;
    }


    .gmr-final-cta-content {
        padding:
            5px 12px;

        gap: 8px;
    }


    .gmr-cta-house {
        width: 33px;
        height: 33px;

        font-size: 33px;
    }


    .gmr-cta-brand-text strong,
    .gmr-cta-brand-text span {
        font-size: 7px;
    }


    .gmr-cta-message h3,
    .gmr-cta-message p {
        font-size: 12px;
    }


    .gmr-cta-points {
        gap: 5px;
    }


    .gmr-point-icon {
        width: 22px;
        height: 22px;

        font-size: 8px;
    }


    .gmr-cta-point strong {
        font-size: 5.7px;
    }


    .gmr-cta-point span {
        font-size: 4.8px;
    }


    .gmr-final-button {
        min-height: 34px;

        padding:
            0 9px;

        font-size: 8px;
    }


    .gmr-final-button b {
        font-size: 14px;
    }

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    .gmr-why-new {
        height: auto;

        min-height: 100vh;

        overflow: visible;

        padding:
            40px 18px;
    }


    .gmr-why-wrap {
        height: auto;

        display: flex;

        flex-direction: column;

        gap: 14px;
    }


    .gmr-why-head {
        min-height: 150px;
    }


    .gmr-why-head h2 {
        font-size: 34px;
    }


    .gmr-why-head p {
        font-size: 12px;
    }


    .gmr-why-grid {
        height: auto;

        display: grid;

        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        grid-template-rows: auto;

        gap: 12px;
    }


    .gmr-feature:nth-child(1),
    .gmr-feature:nth-child(2),
    .gmr-feature:nth-child(3),
    .gmr-feature:nth-child(4),
    .gmr-feature:nth-child(5) {
        grid-column: span 1;
    }


    .gmr-feature {
        min-height: 300px;
    }


    .gmr-feature-top,
    .gmr-wide-feature .gmr-feature-top {
        grid-template-columns:
            32px
            minmax(0, 1fr)
            130px;
    }


    .gmr-feature-image {
        min-height: 130px;
    }


    .gmr-final-cta {
        min-height: 110px;
    }


    .gmr-final-cta-content {
        grid-template-columns:
            1fr 1.4fr 1fr;

        gap: 10px;
    }


    .gmr-cta-points {
        display: none;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .gmr-why-new {
        padding:
            35px 14px;
    }


    .gmr-why-eyebrow {
        font-size: 7px;

        letter-spacing: 1.6px;
    }


    .gmr-why-eyebrow span {
        width: 28px;
    }


    .gmr-why-head {
        min-height: 160px;
    }


    .gmr-why-head h2 {
        font-size: 28px;

        letter-spacing: -0.8px;
    }


    .gmr-why-head p {
        width: 95%;

        font-size: 11px;
    }


    .gmr-why-grid {
        grid-template-columns: 1fr;
    }


    .gmr-feature {
        min-height: 340px;
    }


    .gmr-feature-top,
    .gmr-wide-feature .gmr-feature-top {
        grid-template-columns:
            32px
            minmax(0, 1fr);

        grid-template-rows:
            auto
            140px;
    }


    .gmr-feature-image {
        grid-column: 2;

        min-height: 140px;
    }


    .gmr-feature-copy h3 {
        font-size: 19px;
    }


    .gmr-feature-copy p {
        font-size: 10px;
    }


    .gmr-feature-copy li {
        font-size: 9px;
    }


    .gmr-final-cta {
        min-height: 250px;
    }


    .gmr-final-cta-content {
        height: 100%;

        grid-template-columns: 1fr;

        gap: 12px;

        padding:
            20px;
    }


    .gmr-cta-brand {
        justify-content: center;
    }


    .gmr-cta-message {
        text-align: center;
    }


    .gmr-cta-message h3,
    .gmr-cta-message p {
        font-size: 20px;
    }


    .gmr-final-button {
        min-height: 50px;

        font-size: 13px;
    }

}


/* =========================================================
   MARKETING THAT REALLY WORKS
   ========================================================= */

.proof-section {
    width: 100%;
    height: calc(100vh - 80px);
    min-height: 680px;

    padding: 28px 5% 24px;

    background: var(--site-bg);

    box-sizing: border-box;
    overflow: hidden;

    scroll-margin-top: 80px;
}


.proof-container {
    width: 100%;
    max-width: 1350px;
    height: 100%;

    margin: 0 auto;

    display: flex;
    flex-direction: column;
    justify-content: center;
}


/* =========================================================
   HEADING
   ========================================================= */

.proof-heading {
    text-align: center;

    max-width: 850px;

    margin: 0 auto 20px;
}


.proof-eyebrow {
    display: inline-block;

    margin-bottom: 7px;

    padding: 5px 13px;

    border-radius: 30px;

    background: rgba(255, 255, 255, 0.55);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 1.6px;

    color: #102a56;
}


.proof-heading h2 {
    margin: 0 0 7px;

    font-size: clamp(34px, 4vw, 52px);

    line-height: 1;

    font-weight: 850;

    color: #09286b;
}


.proof-heading h2 span {
    color: #e83232;
}


.proof-heading p {
    margin: 0 auto;

    max-width: 700px;

    font-size: 14px;

    line-height: 1.45;

    color: #334155;
}


/* =========================================================
   THREE RESULT CARDS
   ========================================================= */

.proof-results {
    width: 100%;

    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 16px;

    margin-bottom: 17px;
}


.proof-card {
    min-width: 0;

    border-radius: 18px;

    overflow: hidden;

    border: 1px solid rgba(255, 255, 255, 0.75);

    background: rgba(255, 255, 255, 0.45);

    box-shadow:
        0 8px 30px rgba(32, 60, 110, 0.08);

    backdrop-filter: blur(12px);
}


/* =========================================================
   CARD HEADINGS
   ========================================================= */

.proof-card-heading {
    display: flex;

    align-items: center;

    gap: 10px;

    padding: 12px 14px 9px;
}


.proof-card-heading h3 {
    margin: 0 0 2px;

    font-size: 17px;

    line-height: 1.1;

    color: #09286b;
}


.proof-card-heading p {
    margin: 0;

    font-size: 10px;

    line-height: 1.25;

    color: #526174;
}


.proof-icon {
    flex: 0 0 36px;

    width: 36px;
    height: 36px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 10px;

    font-size: 22px;

    font-weight: 800;
}


.social-icon {
    background: #ffe1ed;
    color: #e52d62;
}


.listing-icon {
    background: #dceeff;
    color: #2477d9;
}


.calendar-icon {
    background: #dff7e7;
    color: #159447;
}


/* =========================================================
   VISUAL IMAGES
   ========================================================= */

.proof-visual {
    width: 100%;

    padding: 0 10px 10px;

    box-sizing: border-box;
}


.proof-visual img {
    display: block;

    width: 100%;
    height: 205px;

    object-fit: cover;

    object-position: center;

    border-radius: 12px;

    background: #ffffff;
}


/* =========================================================
   REVIEWS AREA
   ========================================================= */

.reviews-area {
    width: 100%;

    padding: 13px 20px 12px;

    box-sizing: border-box;

    border-radius: 18px;

    background:
        linear-gradient(
            120deg,
            #09286b 0%,
            #103b76 50%,
            #071e4f 100%
        );

    color: #ffffff;

    box-shadow:
        0 12px 35px rgba(9, 40, 107, 0.18);
}


.reviews-heading {
    text-align: center;

    margin-bottom: 8px;
}


.reviews-heading span {
    display: block;

    margin-bottom: 2px;

    font-size: 9px;

    letter-spacing: 1.8px;

    font-weight: 700;

    opacity: 0.7;
}


.reviews-heading h3 {
    margin: 0 0 2px;

    font-size: 23px;

    line-height: 1.1;
}


.reviews-heading p {
    margin: 0;

    font-size: 10px;

    opacity: 0.72;
}


/* =========================================================
   REVIEW SLIDER
   ========================================================= */

.reviews-slider-wrapper {
    position: relative;

    display: flex;

    align-items: center;

    gap: 9px;
}


.reviews-slider {
    width: 100%;

    min-width: 0;

    display: flex;

    overflow: hidden;

    position: relative;
}


.review-card {
    display: none;

    width: 100%;

    min-width: 100%;

    box-sizing: border-box;

    align-items: center;

    gap: 16px;

    padding: 10px 18px;

    border-radius: 13px;

    background: rgba(255, 255, 255, 0.09);

    border: 1px solid rgba(255, 255, 255, 0.1);
}


.review-card.active {
    display: flex;

    animation: reviewFade 0.45s ease;
}


@keyframes reviewFade {

    from {
        opacity: 0;
        transform: translateX(15px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }

}


.reviewer-image {
    width: 65px;
    height: 65px;

    flex: 0 0 65px;

    border-radius: 50%;

    object-fit: cover;

    border: 3px solid rgba(255, 255, 255, 0.8);
}


.review-content {
    min-width: 0;
}


.review-stars {
    margin-bottom: 3px;

    color: #ffd33d;

    font-size: 13px;

    letter-spacing: 2px;
}


.review-content p {
    margin: 0 0 5px;

    font-size: 12px;

    line-height: 1.35;

    font-style: italic;

    color: rgba(255, 255, 255, 0.92);
}


.review-content strong {
    display: block;

    font-size: 11px;

    line-height: 1.2;
}


.review-content span {
    display: block;

    margin-top: 2px;

    font-size: 9px;

    opacity: 0.65;
}


/* =========================================================
   REVIEW ARROWS
   ========================================================= */

.review-arrow {
    flex: 0 0 34px;

    width: 34px;
    height: 34px;

    border: none;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.13);

    color: #ffffff;

    font-size: 18px;

    cursor: pointer;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}


.review-arrow:hover {
    background: rgba(255, 255, 255, 0.23);

    transform: scale(1.05);
}


/* =========================================================
   REVIEW DOTS
   ========================================================= */

.review-dots {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 7px;

    margin: 7px 0 6px;
}


.review-dot {
    width: 7px;
    height: 7px;

    padding: 0;

    border: none;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.4);

    cursor: pointer;
}


.review-dot.active {
    width: 9px;
    height: 9px;

    background: #ff3b30;
}


/* =========================================================
   WRITE A REVIEW
   ========================================================= */

.write-review-button {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 8px;

    margin: 0 auto;

    padding: 7px 18px;

    border: 1px solid rgba(255, 255, 255, 0.7);

    border-radius: 30px;

    background: transparent;

    color: #ffffff;

    font-size: 11px;

    font-weight: 700;

    cursor: pointer;

    transition:
        background 0.2s ease,
        transform 0.2s ease;
}


.write-review-button:hover {
    background: rgba(255, 255, 255, 0.12);

    transform: translateY(-1px);
}


.write-review-button span {
    font-size: 14px;
}


/* =========================================================
   BOTTOM CTA
   ========================================================= */

.proof-cta {
    display: flex;

    align-items: center;
    justify-content: center;

    flex-direction: column;

    gap: 4px;

    margin-top: 12px;
}


.proof-cta-button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 10px;

    padding: 11px 25px;

    border-radius: 9px;

    background: #ff3b30;

    color: #ffffff;

    text-decoration: none;

    font-size: 13px;

    font-weight: 800;

    box-shadow:
        0 7px 18px rgba(255, 59, 48, 0.22);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}


.proof-cta-button:hover {
    transform: translateY(-2px);

    box-shadow:
        0 10px 23px rgba(255, 59, 48, 0.3);
}


.proof-cta-button span {
    font-size: 17px;
}


.proof-cta p {
    margin: 0;

    font-size: 9px;

    color: #4b5d73;
}


/* =========================================================
   REVIEW MODAL
   ========================================================= */

.review-modal {
    position: fixed;

    inset: 0;

    z-index: 9999;

    display: none;

    align-items: center;
    justify-content: center;

    padding: 20px;

    box-sizing: border-box;
}


.review-modal.show {
    display: flex;
}


.review-modal-overlay {
    position: absolute;

    inset: 0;

    background: rgba(5, 18, 45, 0.7);

    backdrop-filter: blur(5px);
}


.review-modal-box {
    position: relative;

    z-index: 2;

    width: 100%;

    max-width: 480px;

    max-height: 90vh;

    overflow-y: auto;

    padding: 30px;

    box-sizing: border-box;

    border-radius: 20px;

    background: #ffffff;

    color: #10203b;

    box-shadow:
        0 25px 70px rgba(0, 0, 0, 0.25);
}


.review-modal-close {
    position: absolute;

    top: 12px;
    right: 15px;

    width: 34px;
    height: 34px;

    border: none;

    border-radius: 50%;

    background: #f1f5f9;

    color: #1e293b;

    font-size: 22px;

    cursor: pointer;
}


.modal-eyebrow {
    display: block;

    margin-bottom: 6px;

    font-size: 9px;

    letter-spacing: 1.5px;

    font-weight: 800;

    color: #e83232;
}


.review-modal-box h3 {
    margin: 0 0 5px;

    font-size: 27px;

    color: #09286b;
}


.review-modal-box > p {
    margin: 0 0 20px;

    font-size: 13px;

    line-height: 1.5;

    color: #64748b;
}


.review-form-group {
    margin-bottom: 16px;
}


.review-form-group label {
    display: block;

    margin-bottom: 6px;

    font-size: 12px;

    font-weight: 700;

    color: #1e293b;
}


.review-form-group input[type="text"],
.review-form-group textarea {
    width: 100%;

    padding: 11px 12px;

    box-sizing: border-box;

    border: 1px solid #dbe2ea;

    border-radius: 9px;

    outline: none;

    font-family: inherit;

    font-size: 14px;

    color: #1e293b;

    background: #f8fafc;
}


.review-form-group input[type="text"]:focus,
.review-form-group textarea:focus {
    border-color: #09286b;

    background: #ffffff;
}


.review-form-group textarea {
    resize: vertical;
}


/* =========================================================
   STAR SELECTOR
   ========================================================= */

.rating-select {
    display: flex;

    flex-direction: row-reverse;

    justify-content: flex-end;

    gap: 3px;
}


.rating-select input {
    position: absolute;

    opacity: 0;

    pointer-events: none;
}


.rating-select label {
    margin: 0;

    font-size: 27px;

    color: #cbd5e1;

    cursor: pointer;

    transition: color 0.15s ease;
}


.rating-select label:hover,
.rating-select label:hover ~ label,
.rating-select input:checked ~ label {
    color: #f5b400;
}


/* =========================================================
   SUBMIT REVIEW
   ========================================================= */

.submit-review-button {
    width: 100%;

    padding: 12px;

    border: none;

    border-radius: 9px;

    background: #ff3b30;

    color: #ffffff;

    font-size: 13px;

    font-weight: 800;

    cursor: pointer;
}


.review-success {
    display: none;

    margin: 12px 0 0;

    padding: 10px;

    border-radius: 8px;

    background: #e9f8ef;

    color: #147a3d;

    font-size: 12px;

    text-align: center;
}


.review-success.show {
    display: block;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1000px) {

    .proof-section {
        height: auto;

        min-height: 100vh;

        overflow: visible;

        padding: 55px 5%;
    }


    .proof-container {
        height: auto;
    }


    .proof-results {
        grid-template-columns: 1fr;

        max-width: 650px;

        margin-left: auto;
        margin-right: auto;
    }


    .proof-visual img {
        height: auto;

        max-height: 330px;

        object-fit: contain;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .proof-section {
        padding: 50px 18px;
    }


    .proof-heading {
        margin-bottom: 20px;
    }


    .proof-heading h2 {
        font-size: 34px;
    }


    .proof-heading p {
        font-size: 13px;
    }


    .proof-card-heading {
        padding: 12px;
    }


    .proof-visual {
        padding: 0 8px 8px;
    }


    .proof-visual img {
        height: auto;

        max-height: none;

        object-fit: contain;
    }


    .reviews-area {
        padding: 14px 10px 12px;
    }


    .reviews-heading h3 {
        font-size: 21px;
    }


    .reviews-slider-wrapper {
        gap: 5px;
    }


    .review-arrow {
        flex: 0 0 30px;

        width: 30px;
        height: 30px;

        font-size: 16px;
    }


    .review-card {
        gap: 10px;

        padding: 9px;
    }


    .reviewer-image {
        width: 55px;
        height: 55px;

        flex-basis: 55px;
    }


    .review-content p {
        font-size: 10px;
    }


    .review-content span {
        font-size: 8px;
    }


    .review-modal-box {
        padding: 25px 20px;
    }

}

/* =========================================================
   PROOF SECTION — FINAL ONE-SCREEN FIX
   ========================================================= */

@media (min-width: 1001px) {

    .proof-section {
        height: calc(100vh - 80px);
        min-height: 0;
        padding: 22px 5% 18px;
        overflow: hidden;
        box-sizing: border-box;
    }

    .proof-container {
        height: 100%;
        justify-content: center;
    }


    /* Heading */
    .proof-heading {
        margin-bottom: 14px;
    }

    .proof-eyebrow {
        margin-bottom: 5px;
        padding: 4px 12px;
        font-size: 9px;
    }

    .proof-heading h2 {
        font-size: clamp(32px, 3.5vw, 46px);
        margin-bottom: 5px;
    }

    .proof-heading p {
        font-size: 12px;
        line-height: 1.35;
    }


    /* Result cards */
    .proof-results {
        gap: 14px;
        margin-bottom: 13px;
    }

    .proof-card-heading {
        padding: 9px 12px 7px;
    }

    .proof-card-heading h3 {
        font-size: 15px;
    }

    .proof-card-heading p {
        font-size: 9px;
    }

    .proof-icon {
        width: 32px;
        height: 32px;
        flex-basis: 32px;
        font-size: 19px;
    }

    .proof-visual {
        padding: 0 8px 8px;
    }

    .proof-visual img {
        height: 165px;
        border-radius: 10px;
    }


    /* Reviews */
    .reviews-area {
        padding: 10px 18px 9px;
        border-radius: 16px;
    }

    .reviews-heading {
        margin-bottom: 5px;
    }

    .reviews-heading span {
        font-size: 8px;
    }

    .reviews-heading h3 {
        font-size: 20px;
    }

    .reviews-heading p {
        font-size: 9px;
    }

    .review-card {
        padding: 8px 14px;
        gap: 12px;
    }

    .reviewer-image {
        width: 55px;
        height: 55px;
        flex-basis: 55px;
    }

    .review-stars {
        font-size: 11px;
    }

    .review-content p {
        font-size: 10px;
        line-height: 1.25;
        margin-bottom: 3px;
    }

    .review-content strong {
        font-size: 10px;
    }

    .review-content span {
        font-size: 8px;
    }

    .review-dots {
        margin: 5px 0 4px;
    }

    .write-review-button {
        padding: 5px 16px;
        font-size: 10px;
    }


    /* Main CTA */
    .proof-cta {
        margin-top: 8px;
        gap: 2px;
    }

    .proof-cta-button {
        padding: 10px 23px;
        font-size: 12px;
    }

    .proof-cta p {
        font-size: 8px;
    }

}
/* =========================================================
   NEWSLETTER SECTION
========================================================= */

.newsletter-section {
    width: 100%;

    padding: 55px 5%;

    background: #fffaf4;

    box-sizing: border-box;
}


/* =========================================================
   MAIN CONTAINER
========================================================= */

.newsletter-container {
    width: 100%;
    max-width: 1400px;

    min-height: 330px;

    margin: 0 auto;

    display: grid;
    grid-template-columns: 1.15fr 0.85fr;

    overflow: hidden;

    border-radius: 26px;

    background: #09286b;

    box-shadow:
        0 20px 50px rgba(9, 40, 107, 0.16);
}


/* =========================================================
   LEFT CONTENT
========================================================= */

.newsletter-content {
    position: relative;

    z-index: 2;

    padding: 42px 48px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    background:
        radial-gradient(
            circle at 0% 100%,
            rgba(57, 101, 190, 0.35),
            transparent 35%
        ),
        #09286b;

    box-sizing: border-box;
}


/* =========================================================
   EYEBROW
========================================================= */

.newsletter-eyebrow {
    display: flex;
    align-items: center;

    gap: 16px;

    margin-bottom: 14px;

    color: #ffffff;

    font-size: 14px;
    font-weight: 800;

    letter-spacing: 1.2px;
}

.newsletter-eyebrow span {
    display: block;

    width: 52px;
    height: 2px;

    background: #ffffff;
}


/* =========================================================
   HEADING
========================================================= */

.newsletter-content h2 {
    margin: 0;

    color: #ffffff;

    font-size: clamp(38px, 4vw, 58px);

    line-height: 1.02;

    letter-spacing: -1.8px;

    font-weight: 800;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.newsletter-content > p {
    max-width: 720px;

    margin: 14px 0 22px;

    color: rgba(255, 255, 255, 0.78);

    font-size: 16px;

    line-height: 1.5;

    font-weight: 500;
}


/* =========================================================
   FORM
========================================================= */

.newsletter-form {
    width: 100%;

    max-width: 760px;

    display: flex;
    align-items: stretch;

    gap: 12px;
}


/* =========================================================
   EMAIL INPUT
========================================================= */

.newsletter-input-wrap {
    position: relative;

    flex: 1;

    min-width: 0;
}

.newsletter-input-wrap input {
    width: 100%;
    height: 58px;

    padding: 0 20px 0 56px;

    border: none;
    outline: none;

    border-radius: 14px;

    background: #ffffff;

    color: #09286b;

    font-family: inherit;

    font-size: 16px;

    box-sizing: border-box;

    transition:
        box-shadow 0.2s ease,
        transform 0.2s ease;
}

.newsletter-input-wrap input::placeholder {
    color: #7a879e;
}

.newsletter-input-wrap input:focus {
    box-shadow:
        0 0 0 3px rgba(255, 255, 255, 0.25);
}


/* =========================================================
   MAIL ICON
========================================================= */

.newsletter-mail-icon {
    position: absolute;

    z-index: 2;

    top: 50%;
    left: 19px;

    width: 22px;
    height: 22px;

    transform: translateY(-50%);

    fill: none;

    stroke: #65748e;

    stroke-width: 1.7;

    stroke-linecap: round;
    stroke-linejoin: round;

    pointer-events: none;
}


/* =========================================================
   SUBSCRIBE BUTTON
========================================================= */

.newsletter-button {
    height: 58px;

    padding: 0 27px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 18px;

    border: none;

    border-radius: 14px;

    background: #ed1c2e;

    color: #ffffff;

    font-family: inherit;

    font-size: 16px;

    font-weight: 800;

    letter-spacing: 0.4px;

    cursor: pointer;

    white-space: nowrap;

    box-shadow:
        0 10px 22px rgba(237, 28, 46, 0.22);

    transition:
        transform 0.25s ease,
        background 0.25s ease,
        box-shadow 0.25s ease;
}

.newsletter-button span {
    font-size: 24px;

    line-height: 1;
}

.newsletter-button:hover {
    background: #d91425;

    transform: translateY(-2px);

    box-shadow:
        0 14px 28px rgba(237, 28, 46, 0.30);
}


/* =========================================================
   BENEFITS
========================================================= */

.newsletter-benefits {
    display: flex;
    align-items: center;

    flex-wrap: wrap;

    gap: 24px;

    margin-top: 15px;
}

.newsletter-benefit {
    display: flex;
    align-items: center;

    gap: 8px;

    color: rgba(255, 255, 255, 0.82);

    font-size: 13px;

    font-weight: 500;
}

.newsletter-benefit span {
    width: 20px;
    height: 20px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.18);

    color: #ffffff;

    font-size: 12px;

    font-weight: 800;
}


/* =========================================================
   IMAGE
========================================================= */

.newsletter-image {
    position: relative;

    min-height: 330px;

    overflow: hidden;
}

.newsletter-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    object-position: center;
}


/* =========================================================
   IMAGE OVERLAY
========================================================= */

.newsletter-image-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(9, 40, 107, 0.72) 0%,
            rgba(9, 40, 107, 0.18) 48%,
            rgba(9, 40, 107, 0.02) 100%
        );
}


/* =========================================================
   IMAGE TEXT
========================================================= */

.newsletter-image-text {
    position: absolute;

    top: 45px;
    left: 42px;

    z-index: 2;

    display: flex;
    flex-direction: column;

    color: #ffffff;

    font-family:
        "Brush Script MT",
        "Segoe Script",
        cursive;

    font-size: clamp(28px, 2.8vw, 44px);

    line-height: 0.92;

    transform: rotate(-3deg);
}

.newsletter-image-text span {
    display: block;
}


/* =========================================================
   RED ACCENT LINE
========================================================= */

.newsletter-red-line {
    width: 130px;
    height: 5px;

    margin-top: 15px;
    margin-left: 8px;

    border-radius: 100%;

    background: #ed1c2e;

    transform: rotate(-5deg);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .newsletter-section {
        padding: 45px 4%;
    }

    .newsletter-container {
        grid-template-columns: 1fr;

        min-height: auto;
    }

    .newsletter-content {
        padding: 42px;
    }

    .newsletter-image {
        min-height: 300px;
    }

    .newsletter-image-text {
        top: 35px;
        left: 40px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 650px) {

    .newsletter-section {
        padding: 35px 18px;
    }

    .newsletter-container {
        border-radius: 22px;
    }

    .newsletter-content {
        padding: 34px 24px;
    }

    .newsletter-eyebrow {
        gap: 10px;

        font-size: 11px;

        letter-spacing: 0.8px;
    }

    .newsletter-eyebrow span {
        width: 30px;
    }

    .newsletter-content h2 {
        font-size: 38px;

        letter-spacing: -1px;
    }

    .newsletter-content > p {
        font-size: 15px;

        margin-top: 12px;
        margin-bottom: 20px;
    }


    /* Form */

    .newsletter-form {
        flex-direction: column;

        gap: 10px;
    }

    .newsletter-input-wrap input {
        height: 54px;
    }

    .newsletter-button {
        width: 100%;

        height: 54px;
    }


    /* Benefits */

    .newsletter-benefits {
        gap: 10px 18px;

        margin-top: 14px;
    }

    .newsletter-benefit {
        font-size: 12px;
    }


    /* Image */

    .newsletter-image {
        min-height: 240px;
    }

    .newsletter-image-text {
        top: 28px;
        left: 28px;

        font-size: 31px;
    }

    .newsletter-red-line {
        width: 105px;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 400px) {

    .newsletter-content {
        padding: 30px 20px;
    }

    .newsletter-content h2 {
        font-size: 33px;
    }

    .newsletter-image {
        min-height: 210px;
    }

    .newsletter-image-text {
        font-size: 27px;

        top: 25px;
        left: 23px;
    }

    .newsletter-benefits {
        flex-direction: column;

        align-items: flex-start;
    }
}

/* =================================
   CTA / CONVERSION STRIP
================================= */

.cta-strip {
  position: relative;
  width: calc(100% - 80px);
  max-width: 1500px;
  min-height: 330px;
  margin: 70px auto;
  border-radius: 24px;
  overflow: hidden;

  background-image: url("images/cta-strip.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  box-shadow: 0 20px 50px rgba(159, 153, 238, 0.12);
}


/* Background overlay */

.cta-strip-overlay {
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(255, 250, 246, 0.96) 0%,
      rgba(255, 250, 246, 0.82) 35%,
      rgba(255, 255, 255, 0.18) 65%,
      rgba(255, 255, 255, 0.05) 100%
    );
}


/* Main layout */

.cta-content {
  position: relative;
  z-index: 2;

  min-height: 330px;
  padding: 45px 55px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
}


/* =================================
   LEFT SIDE
================================= */

.cta-text {
  flex: 1;
  max-width: 720px;
}


.cta-eyebrow {
  display: flex;
  align-items: center;
  gap: 18px;

  margin-bottom: 16px;

  font-size: 14px;
  font-weight: 700;
  letter-spacing: 2px;
  color: #17233f;
}


.cta-eyebrow span {
  width: 80px;
  height: 2px;
  background: #17233f;
}


.cta-text h2 {
  margin: 0;

  font-size: clamp(38px, 4vw, 62px);
  line-height: 0.98;
  letter-spacing: -2px;
  font-weight: 800;
  color: #101a35;
}


.cta-text h2 strong {
  display: block;
  color: #e9232e;
}


.cta-text p {
  margin: 22px 0 0;

  font-size: 18px;
  line-height: 1.5;
  font-weight: 500;

  color: #526078;
}


/* =================================
   RIGHT SIDE
================================= */

.cta-action {
  width: 50%;
  max-width: 780px;

  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}


/* CTA BUTTON */

.cta-button {
  width: 100%;
  max-width: 530px;

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;

  padding: 20px 32px;

  border-radius: 50px;

  background: #f21f2b;
  color: #ffffff;

  text-decoration: none;

  font-size: 20px;
  font-weight: 700;

  box-shadow: 0 12px 25px rgba(242, 31, 43, 0.25);

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}


.cta-button span {
  font-size: 28px;
  line-height: 1;
}


.cta-button:hover {
  transform: translateY(-3px);

  box-shadow:
    0 16px 30px rgba(242, 31, 43, 0.32);
}


/* =================================
   BENEFIT STRIP
================================= */

.cta-benefits {
  width: 100%;

  display: grid;
  grid-template-columns: repeat(3, 1fr);

  gap: 12px;
}


/* Individual cards */

.cta-benefit {
  min-height: 92px;

  padding: 15px 18px;

  display: flex;
  align-items: center;
  gap: 13px;

  border-radius: 18px;

  border: 1px solid rgba(255, 255, 255, 0.8);

  box-shadow:
    0 8px 20px rgba(0, 0, 0, 0.08);

  backdrop-filter: blur(8px);
}


/* =================================
   COLORFUL CARD BACKGROUNDS
================================= */

.quick-response {
  background: rgba(255, 228, 234, 0.94);
}


.personalized {
  background: rgba(225, 237, 255, 0.94);
}


.commitment {
  background: rgba(230, 247, 225, 0.94);
}


/* =================================
   BENEFIT ICONS
================================= */

.benefit-icon {
  width: 48px;
  height: 48px;

  flex-shrink: 0;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  color: #ffffff;

  font-size: 26px;
  font-weight: 800;
}


.quick-response .benefit-icon {
  background: #f2293a;
}


.personalized .benefit-icon {
  background: #2877df;
}


.commitment .benefit-icon {
  background: #36a943;
}


/* =================================
   BENEFIT TEXT
================================= */

.benefit-text {
  display: flex;
  flex-direction: column;

  font-size: 15px;
  line-height: 1.2;

  color: #101a35;
}


.benefit-text strong {
  font-weight: 800;
}


.benefit-text span {
  font-weight: 700;
}


/* =================================
   TABLET
================================= */

@media (max-width: 1050px) {

  .cta-content {
    padding: 40px;
    gap: 30px;
  }

  .cta-text h2 {
    font-size: 42px;
  }

  .cta-text p {
    font-size: 16px;
  }

  .cta-action {
    width: 48%;
  }

  .cta-benefits {
    grid-template-columns: 1fr;
  }

  .cta-benefit {
    min-height: 65px;
  }
}

/* =================================
   MOBILE
================================= */
@media (max-width: 750px) {

  /* ================================
     CTA STRIP - MOBILE FIX
  ================================= */

  .cta-strip {
    width: calc(100% - 30px);
    max-width: none;
    min-height: auto;

    margin: 40px 15px;

    border-radius: 18px;

    background-size: cover;
    background-position: center;
  }


  /* Make the property image visible */

  .cta-strip-overlay {
    background:
      linear-gradient(
        180deg,
        rgba(255, 250, 246, 0.93) 0%,
        rgba(255, 250, 246, 0.78) 45%,
        rgba(255, 255, 255, 0.30) 100%
      );
  }


  /* Main container */

  .cta-content {
    width: 100%;
    min-height: auto;

    padding: 32px 20px;

    box-sizing: border-box;

    display: flex;
    flex-direction: column;

    align-items: stretch;
    justify-content: center;

    gap: 24px;
  }


  /* ================================
     LEFT CONTENT
  ================================= */

  .cta-text {
    width: 100%;
    max-width: 100%;

    box-sizing: border-box;
  }


  .cta-eyebrow {
    display: flex;
    align-items: center;

    gap: 12px;

    margin-bottom: 14px;

    font-size: 11px;
    letter-spacing: 1.5px;

    white-space: nowrap;
  }


  .cta-eyebrow span {
    width: 40px;
    height: 2px;
    flex-shrink: 0;
  }


  .cta-text h2 {
    width: 100%;
    max-width: 100%;

    margin: 0;

    font-size: clamp(32px, 9vw, 40px);
    line-height: 1.02;

    letter-spacing: -1.2px;

    word-break: normal;
    overflow-wrap: normal;

    box-sizing: border-box;
  }


  .cta-text h2 strong {
    display: block;

    width: 100%;
  }


  .cta-text p {
    width: 100%;

    margin: 18px 0 0;

    font-size: 15px;
    line-height: 1.45;

    box-sizing: border-box;
  }


  /* ================================
     RIGHT CONTENT
  ================================= */

  .cta-action {
    width: 100%;
    max-width: 100%;

    display: flex;
    flex-direction: column;

    align-items: stretch;

    gap: 16px;

    box-sizing: border-box;
  }


  /* CTA BUTTON */

  .cta-button {
    width: 100%;
    max-width: none;

    min-height: 54px;

    padding: 15px 18px;

    box-sizing: border-box;

    border-radius: 50px;

    font-size: 16px;

    gap: 12px;
  }


  .cta-button span {
    font-size: 22px;
  }


  /* ================================
     BENEFIT CARDS
  ================================= */

  .cta-benefits {
    width: 100%;

    display: grid;
    grid-template-columns: 1fr;

    gap: 8px;

    box-sizing: border-box;
  }


  .cta-benefit {
    width: 100%;
    min-height: 64px;

    padding: 10px 14px;

    box-sizing: border-box;

    border-radius: 14px;

    gap: 12px;
  }


  .benefit-icon {
    width: 40px;
    height: 40px;

    font-size: 21px;
  }


  .benefit-text {
    font-size: 14px;
    line-height: 1.15;
  }

}


@media (max-width: 750px) {

  .feature-background-icon {
    right: 0 !important;
    max-width: 100%;
    transform: none;
  }

}

/* =========================================
   GROWMYRENTAL FOOTER
========================================= */

.site-footer {
    background: #09286b;
    color: #ffffff;
    width: 100%;
    position: relative;
}


/* =========================================
   FOOTER MAIN CONTAINER
========================================= */

.footer-container {
    width: min(1200px, 92%);
    margin: 0 auto;

    display: grid;
    grid-template-columns:
        1.35fr
        0.8fr
        1.15fr
        1.15fr;

    gap: 55px;

    padding: 70px 0 65px;
}


/* =========================================
   BRAND
========================================= */

.footer-brand {
    max-width: 330px;
}


.footer-logo {
    display: flex;
    align-items: center;
    gap: 15px;

    color: #ffffff;
    text-decoration: none;
}


.footer-logo-icon {
    width: 72px;
    height: 72px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;
}


.footer-logo-icon svg {
    width: 100%;
    height: 100%;
}


.footer-logo-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}


.footer-logo-text strong {
    font-size: 27px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.5px;
}


.footer-logo-text small {
    font-size: 13px;
    line-height: 1.45;
    color: #d9e4ff;
    font-weight: 500;
}


/* =========================================
   BRAND DESCRIPTION
========================================= */

.footer-description {
    margin: 30px 0 28px;

    color: #d8e3fa;

    font-size: 16px;
    line-height: 1.7;

    max-width: 310px;
}


/* =========================================
   SOCIAL ICONS
========================================= */

.footer-socials {
    display: flex;
    align-items: center;
    gap: 14px;
}


.social {
    width: 48px;
    height: 48px;

    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #ffffff;
    text-decoration: none;

    font-weight: 800;
    font-size: 19px;

    transition:
        transform 0.25s ease,
        opacity 0.25s ease;
}


.social:hover {
    transform: translateY(-4px);
    opacity: 0.88;
}


/* Social colors */

.facebook {
    background: #1877f2;
}


.instagram {
    background: linear-gradient(
        135deg,
        #833ab4,
        #fd1d1d,
        #fcb045
    );
    font-size: 25px;
}


.linkedin {
    background: #0a66c2;
    font-size: 16px;
}


.youtube {
    background: #ff0000;
    font-size: 16px;
}


.pinterest {
    background: #e60023;
}


/* =========================================
   FOOTER COLUMNS
========================================= */

.footer-column h3 {
    margin: 0;

    color: #ffffff;

    font-size: 21px;
    font-weight: 700;
}


.footer-heading-line {
    display: block;

    width: 53px;
    height: 4px;

    margin: 14px 0 25px;

    background: #e63946;

    border-radius: 10px;
}


/* =========================================
   FOOTER LINKS
========================================= */

.footer-column ul {
    list-style: none;

    margin: 0;
    padding: 0;
}


.footer-column li {
    margin-bottom: 18px;
}


.footer-column li a {
    display: flex;
    align-items: center;
    gap: 11px;

    color: #e1e9fa;

    text-decoration: none;

    font-size: 15.5px;
    line-height: 1.45;

    transition:
        color 0.25s ease,
        transform 0.25s ease;
}


.footer-column li a span {
    color: #ffffff;

    font-size: 25px;
    line-height: 0;

    transition: transform 0.25s ease;
}


.footer-column li a:hover {
    color: #ffffff;
    transform: translateX(4px);
}


.footer-column li a:hover span {
    transform: translateX(3px);
}


/* =========================================
   CONTACT
========================================= */

.contact-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;

    margin-bottom: 23px;
}


.contact-icon {
    width: 27px;

    flex-shrink: 0;

    color: #ffffff;

    font-size: 22px;
    line-height: 1.3;
}


.contact-item a {
    color: #e2eafa;

    text-decoration: none;

    font-size: 15.5px;

    transition: color 0.25s ease;
}


.contact-item a:hover {
    color: #ffffff;
}


.contact-item strong {
    display: block;

    color: #ffffff;

    font-size: 15.5px;
    font-weight: 600;

    margin-bottom: 3px;
}


.contact-item small {
    display: block;

    color: #b9c9e8;

    font-size: 13px;
}


/* =========================================
   FOOTER CTA
========================================= */

.footer-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 100%;

    box-sizing: border-box;

    margin-top: 30px;
    padding: 17px 21px;

    background: #e63946;

    border-radius: 10px;

    color: #ffffff;

    text-decoration: none;

    font-size: 15.5px;
    font-weight: 700;

    transition:
        background 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}


.footer-cta span {
    font-size: 24px;
    line-height: 1;
}


.footer-cta:hover {
    background: #c92f3b;

    transform: translateY(-3px);

    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.22);
}


/* =========================================
   FOOTER BOTTOM
========================================= */

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.35);
}


.footer-bottom-container {
    width: min(1200px, 92%);
    margin: 0 auto;

    min-height: 78px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;
}


.footer-bottom p {
    margin: 0;

    color: #e0e8f8;

    font-size: 14px;
}


.footer-legal {
    display: flex;
    align-items: center;

    gap: 18px;
}


.footer-legal a {
    color: #e0e8f8;

    text-decoration: none;

    font-size: 14px;

    transition: color 0.25s ease;
}


.footer-legal a:hover {
    color: #ffffff;
}


.footer-legal span {
    color: rgba(255, 255, 255, 0.55);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1000px) {

    .footer-container {
        grid-template-columns: 1fr 1fr;

        gap: 50px 40px;
    }

    .footer-brand {
        max-width: 100%;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 650px) {

    .footer-container {
        width: 88%;

        grid-template-columns: 1fr;

        gap: 42px;

        padding: 55px 0 45px;
    }


    .footer-brand {
        max-width: 100%;
    }


    .footer-logo-text strong {
        font-size: 24px;
    }


    .footer-logo-icon {
        width: 62px;
        height: 62px;
    }


    .footer-description {
        margin-top: 23px;

        font-size: 15px;
    }


    .footer-socials {
        gap: 11px;
    }


    .social {
        width: 43px;
        height: 43px;

        font-size: 17px;
    }


    .footer-column h3 {
        font-size: 20px;
    }


    .footer-heading-line {
        margin-bottom: 21px;
    }


    .footer-column li {
        margin-bottom: 15px;
    }


    .footer-column li a {
        font-size: 15px;
    }


    .footer-cta {
        margin-top: 25px;

        font-size: 14px;
    }


    /* Bottom section */

    .footer-bottom-container {
        width: 88%;

        min-height: auto;

        padding: 22px 0;

        flex-direction: column;

        text-align: center;

        gap: 17px;
    }


    .footer-bottom p {
        font-size: 13px;
    }


    .footer-legal {
        flex-wrap: wrap;

        justify-content: center;

        gap: 10px 13px;
    }


    .footer-legal a {
        font-size: 13px;
    }

}


/* =========================================
   VERY SMALL MOBILE
========================================= */

@media (max-width: 380px) {

    .footer-logo {
        gap: 10px;
    }


    .footer-logo-icon {
        width: 55px;
        height: 55px;
    }


    .footer-logo-text strong {
        font-size: 21px;
    }


    .footer-logo-text small {
        font-size: 11px;
    }


    .footer-cta {
        padding: 15px 17px;

        font-size: 13px;
    }

}

                                    /* =========================================
                                                 AIRBNB & VRBO HERO
                                    ========================================= */

.avr-hero {
    position: relative;
    min-height: 820px;
    overflow: hidden;
    font-family: Arial, Helvetica, sans-serif;
    color: #09286b;
    background: #eef6fc;
}


/* BACKGROUND IMAGE */

.avr-hero-bg {
    position: absolute;
    inset: 0;
    background-image: url("a_wide_cinematic_high_resolution_tropical_luxury.png");
    background-size: cover;
    background-position: center right;
    z-index: 0;
}


/* LIGHT OVERLAY */

.avr-hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(244, 249, 253, 0.98) 0%,
            rgba(244, 249, 253, 0.94) 28%,
            rgba(244, 249, 253, 0.45) 54%,
            rgba(244, 249, 253, 0.04) 78%
        );
    z-index: 1;
}


/* MAIN CONTAINER */

.avr-hero-container {
    position: relative;
    z-index: 2;

    width: min(1440px, 92%);
    min-height: 820px;

    margin: 0 auto;

    display: grid;
    grid-template-columns: 40% 60%;
    align-items: center;
}


/* =========================================
   LEFT CONTENT
========================================= */

.avr-hero-content {
    padding: 60px 0 40px;
    position: relative;
    z-index: 10;
}


.avr-eyebrow {
    display: flex;
    align-items: center;
    gap: 16px;

    color: #e62c3b;

    font-size: 17px;
    font-weight: 800;
    letter-spacing: 1.2px;

    margin-bottom: 25px;
}


.avr-eyebrow span {
    width: 58px;
    height: 3px;
    background: #e62c3b;
    border-radius: 10px;
}


.avr-hero-content h1 {
    margin: 0;

    font-size: clamp(48px, 4.5vw, 74px);
    line-height: 0.98;
    letter-spacing: -2.5px;

    font-weight: 800;

    color: #09286b;
}


.avr-hero-content h1 span {
    color: #e62c3b;
}


.avr-hero-description {
    max-width: 510px;

    margin: 30px 0;

    font-size: 18px;
    line-height: 1.55;

    color: #334d70;
}


/* CTA */

.avr-primary-btn {
    display: inline-flex;
    align-items: center;
    gap: 18px;

    padding: 17px 27px;

    background: #e62c3b;
    color: #ffffff;

    text-decoration: none;

    font-size: 17px;
    font-weight: 700;

    border-radius: 12px;

    box-shadow: 0 12px 28px rgba(230, 44, 59, 0.25);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}


.avr-primary-btn span {
    font-size: 22px;
}


.avr-primary-btn:hover {
    transform: translateY(-3px);
    background: #d82332;

    box-shadow:
        0 16px 34px rgba(230, 44, 59, 0.32);
}


/* VIDEO LINK */

.avr-video-link {
    display: flex;
    align-items: center;
    gap: 12px;

    margin-top: 23px;

    color: #09286b;
    text-decoration: none;
}


.avr-play-icon {
    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #09286b;
    color: white;

    font-size: 12px;

    padding-left: 2px;
}


.avr-video-link strong {
    display: block;
    font-size: 14px;
}


.avr-video-link small {
    display: block;
    margin-top: 3px;
    color: #63748d;
}


/* BENEFITS */

.avr-benefits {
    display: flex;
    gap: 30px;

    margin-top: 55px;
}


.avr-benefit {
    display: flex;
    align-items: center;
    gap: 10px;
}


.avr-benefit-icon {
    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 25px;
    font-weight: bold;

    color: #09286b;
}


.avr-benefit strong {
    display: block;
    font-size: 14px;
}


.avr-benefit small {
    display: block;

    margin-top: 4px;

    font-size: 11px;
    color: #64748b;

    white-space: nowrap;
}


/* =========================================
   RIGHT VISUAL
========================================= */

.avr-hero-visual {
    position: relative;

    height: 700px;

    display: flex;
    align-items: center;
    justify-content: center;
}


/* SEARCH BAR */

.avr-search-bar {
    position: absolute;

    top: 45px;
    left: 5%;

    width: 90%;

    display: flex;
    align-items: center;

    background: rgba(255, 255, 255, 0.95);

    border-radius: 22px;

    padding: 10px;

    box-shadow:
        0 18px 45px rgba(9, 40, 107, 0.15);

    z-index: 8;
}


.avr-search-item {
    display: flex;
    align-items: center;

    gap: 10px;

    padding: 8px 18px;

    border-right: 1px solid #e5eaf1;

    flex: 1;
}


.avr-search-icon {
    font-size: 22px;
    color: #09286b;
}


.avr-search-item strong {
    display: block;
    font-size: 12px;
}


.avr-search-item small {
    display: block;
    margin-top: 3px;

    font-size: 11px;
    color: #718096;
}


.avr-search-button {
    border: 0;

    padding: 15px 24px;

    border-radius: 13px;

    background: #e62c3b;
    color: white;

    font-size: 14px;
    font-weight: 700;

    cursor: pointer;
}


/* =========================================
   PROPERTY CARDS
========================================= */

.avr-property-card {
    position: absolute;

    overflow: hidden;

    background: rgba(255, 255, 255, 0.97);

    border: 4px solid rgba(255, 255, 255, 0.8);

    border-radius: 24px;

    box-shadow:
        0 25px 55px rgba(9, 40, 107, 0.18);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


.avr-property-card:hover {
    transform: translateY(-8px);

    box-shadow:
        0 32px 70px rgba(9, 40, 107, 0.25);

    z-index: 20;
}


.avr-property-card img {
    display: block;

    width: 100%;

    height: 210px;

    object-fit: cover;
}


/* RANK BADGES */

.avr-rank {
    position: absolute;

    top: 13px;
    left: 13px;

    z-index: 3;

    padding: 8px 13px;

    border-radius: 10px;

    font-size: 12px;
    font-weight: 800;
}


.avr-rank-top {
    background: #e62c3b;
    color: white;
}


.avr-rank-muted {
    background: rgba(9, 40, 107, 0.82);
    color: white;
}


/* HEART */

.avr-heart {
    position: absolute;

    top: 12px;
    right: 13px;

    z-index: 3;

    width: 36px;
    height: 36px;

    border: 0;
    border-radius: 50%;

    background: rgba(255, 255, 255, 0.9);

    color: #09286b;

    font-size: 22px;

    cursor: pointer;
}


/* CARD INFO */

.avr-property-info {
    padding: 15px 17px 18px;
}


.avr-property-info h3 {
    margin: 0 0 7px;

    font-size: 17px;
    color: #0b1f40;
}


.avr-location {
    font-size: 11px;
    color: #66758c;
}


.avr-rating {
    margin-top: 8px;

    font-size: 13px;
    font-weight: 700;
}


.avr-rating span {
    color: #f3b900;
}


.avr-rating small {
    font-weight: 400;
    color: #7b8798;
}


.avr-details {
    display: flex;
    gap: 13px;

    margin-top: 13px;

    font-size: 10px;

    color: #52647b;
}


.avr-price {
    margin-top: 13px;

    font-size: 20px;
    font-weight: 800;

    color: #091d3d;
}


.avr-price small {
    font-size: 11px;
    font-weight: 400;
    color: #68778d;
}


/* CARD POSITIONS */

.avr-card-one {
    width: 390px;

    top: 190px;
    left: 27%;

    z-index: 6;
}


.avr-card-two {
    width: 300px;

    top: 265px;
    right: -2%;

    z-index: 5;
}


.avr-card-three {
    width: 290px;

    top: 265px;
    left: 3%;

    z-index: 4;
}


/* FEATURED CARD */

.avr-card-one img {
    height: 245px;
}


.avr-card-one .avr-property-info {
    padding: 18px 20px 20px;
}


.avr-card-one h3 {
    font-size: 20px;
}


.avr-card-bottom {
    display: flex;

    align-items: center;
    justify-content: space-between;

    margin-top: 12px;
}


.avr-card-bottom .avr-price {
    margin: 0;
}


.avr-details-btn {
    border: 0;

    padding: 11px 16px;

    border-radius: 10px;

    background: #e62c3b;
    color: white;

    font-size: 11px;
    font-weight: 700;

    cursor: pointer;
}


/* =========================================
   VISUAL MESSAGE
========================================= */

.avr-visual-message {
    position: absolute;

    right: 2%;
    bottom: 45px;

    display: flex;
    align-items: center;
    gap: 12px;

    padding: 15px 20px;

    border-radius: 18px;

    background: rgba(9, 40, 107, 0.78);

    backdrop-filter: blur(10px);

    color: white;

    z-index: 10;
}


.avr-message-icon {
    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.15);

    font-size: 25px;
}


.avr-visual-message strong {
    display: block;

    font-size: 14px;
}


.avr-visual-message span {
    display: block;

    margin-top: 3px;

    font-size: 11px;

    opacity: 0.85;
}


/* =========================================
   SLIDER DOTS
========================================= */

.avr-slider-dots {
    position: absolute;

    bottom: 28px;
    left: 50%;

    transform: translateX(-50%);

    display: flex;
    gap: 10px;

    z-index: 10;
}


.avr-slider-dots span {
    width: 8px;
    height: 8px;

    border-radius: 50%;

    background: white;

    border: 1px solid #09286b;
}


.avr-slider-dots span.active {
    width: 10px;
    height: 10px;

    background: #09286b;
}


/* =========================================
   QUESTION NOTE
========================================= */

.avr-question-note {
    position: absolute;

    right: -2%;
    top: 125px;

    color: white;

    font-family: "Comic Sans MS", cursive;

    font-size: 17px;

    line-height: 1.25;

    transform: rotate(-3deg);

    z-index: 10;
}


.avr-question-note strong {
    font-size: 20px;
}


.avr-arrow {
    font-size: 40px;

    margin-left: -20px;
    margin-top: 2px;

    transform: rotate(15deg);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1200px) {

    .avr-hero-container {
        grid-template-columns: 42% 58%;
    }

    .avr-card-one {
        left: 23%;
        width: 350px;
    }

    .avr-card-two {
        right: -5%;
        width: 270px;
    }

    .avr-card-three {
        left: -3%;
        width: 260px;
    }

    .avr-benefits {
        gap: 15px;
    }

    .avr-benefit small {
        white-space: normal;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 900px) {

    .avr-hero {
        min-height: auto;
    }


    .avr-hero-container {
        width: 92%;

        display: flex;
        flex-direction: column;

        min-height: auto;
    }


    .avr-hero-content {
        padding: 70px 0 30px;

        text-align: center;
    }


    .avr-eyebrow {
        justify-content: center;

        font-size: 13px;
    }


    .avr-hero-content h1 {
        font-size: clamp(42px, 10vw, 62px);

        letter-spacing: -1.5px;
    }


    .avr-hero-description {
        margin-left: auto;
        margin-right: auto;

        font-size: 16px;
    }


    .avr-primary-btn {
        justify-content: center;
    }


    .avr-video-link {
        justify-content: center;
    }


    .avr-benefits {
        justify-content: center;

        flex-wrap: wrap;

        margin-top: 40px;
    }


    .avr-hero-visual {
        width: 100%;

        height: 680px;

        margin-top: 20px;
    }


    .avr-search-bar {
        top: 10px;

        width: 100%;
        left: 0;

        overflow-x: auto;
    }


    .avr-search-item {
        min-width: 120px;
    }


    .avr-search-button {
        padding: 13px 17px;
    }


    .avr-card-one {
        top: 150px;
        left: 50%;

        transform: translateX(-50%);

        width: min(390px, 80%);

        z-index: 7;
    }


    .avr-card-two {
        top: 235px;
        right: -2%;

        width: 250px;
    }


    .avr-card-three {
        top: 235px;
        left: -2%;

        width: 250px;
    }


    .avr-question-note {
        display: none;
    }


    .avr-visual-message {
        right: 50%;
        transform: translateX(50%);

        bottom: 35px;

        white-space: nowrap;
    }

}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 600px) {

    .avr-hero-content {
        padding-top: 50px;
    }


    .avr-eyebrow span {
        width: 30px;
    }


    .avr-hero-content h1 {
        font-size: 42px;
        line-height: 1;
    }


    .avr-hero-description {
        font-size: 15px;
    }


    .avr-benefits {
        display: grid;
        grid-template-columns: 1fr;

        text-align: left;

        max-width: 280px;

        margin-left: auto;
        margin-right: auto;
    }


    .avr-hero-visual {
        height: 590px;
    }


    .avr-search-bar {
        transform: scale(0.9);
        transform-origin: top center;
    }


    .avr-card-one {
        top: 130px;

        width: 82%;
    }


    .avr-card-one img {
        height: 190px;
    }


    .avr-card-two,
    .avr-card-three {
        width: 190px;
    }


    .avr-card-two {
        right: -30px;
        top: 280px;
    }


    .avr-card-three {
        left: -30px;
        top: 280px;
    }


    .avr-card-two img,
    .avr-card-three img {
        height: 130px;
    }


    .avr-property-info {
        padding: 10px;
    }


    .avr-property-info h3 {
        font-size: 13px;
    }


    .avr-details {
        display: none;
    }


    .avr-visual-message {
        bottom: 20px;

        padding: 10px 13px;
    }


    .avr-message-icon {
        width: 32px;
        height: 32px;
        font-size: 18px;
    }


    .avr-visual-message strong {
        font-size: 11px;
    }


    .avr-visual-message span {
        font-size: 9px;
    }

}

                                        /* =========================================
                                              AIRBNB & VRBO MANAGEMENT
                                                    HERO SECTION
                                        ========================================= */

.airbnb-hero {

    position: relative;

    min-height: calc(100vh - 86px);

    display: flex;
    align-items: center;

    overflow: hidden;

    background: #3b67c0;
}


/* =========================================
   HERO BACKGROUND
========================================= */

.airbnb-hero-bg {

    position: absolute;

    inset: 0;

    background-image:
        url("images/airbnb-vrbo/hero-bg.jpg");

    background-size: cover;
    background-position: center;

    transform: scale(1.03);
}


.airbnb-hero-overlay {

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(9, 40, 107, 0.96) 0%,
            rgba(9, 40, 107, 0.82) 42%,
            rgba(9, 40, 107, 0.35) 72%,
            rgba(9, 40, 107, 0.12) 100%
        );
}


/* =========================================
   HERO CONTAINER
========================================= */

.airbnb-hero-container {

    position: relative;

    z-index: 2;

    width: min(1400px, 92%);

    margin: 0 auto;

    padding: 80px 0;

    display: grid;

    grid-template-columns:
        minmax(0, 0.95fr)
        minmax(500px, 1.05fr);

    align-items: center;

    gap: 60px;
}


/* =========================================
   HERO CONTENT
========================================= */

.airbnb-hero-content {

    max-width: 650px;

    color: #ffffff;
}


.airbnb-hero-eyebrow {

    display: inline-block;

    margin-bottom: 22px;

    color: #ff4b47;

    font-size: 13px;

    font-weight: 800;

    letter-spacing: 1.8px;
}


.airbnb-hero-content h1 {

    margin: 0;

    font-size: clamp(48px, 5vw, 76px);

    line-height: 1.02;

    letter-spacing: -2.5px;

    font-weight: 800;
}


.airbnb-hero-content h1 span {

    display: block;

    color: #ff4b47;
}


.airbnb-hero-content > p {

    max-width: 600px;

    margin: 28px 0 0;

    color: rgba(255, 255, 255, 0.90);

    font-size: 18px;

    line-height: 1.7;
}


.airbnb-hero-content .hero-supporting-text {

    margin-top: 14px;

    color: rgba(255, 255, 255, 0.68);

    font-size: 15px;

    line-height: 1.7;
}


/* =========================================
   HERO BUTTONS
========================================= */

.airbnb-hero-buttons {

    display: flex;

    align-items: center;

    gap: 15px;

    margin-top: 32px;

    flex-wrap: wrap;
}


.airbnb-primary-btn {

    display: inline-flex;

    align-items: center;

    gap: 12px;

    min-height: 52px;

    padding: 0 22px;

    background: #e53935;

    color: #ffffff;

    text-decoration: none;

    border-radius: 8px;

    font-size: 14px;

    font-weight: 800;

    box-shadow:
        0 10px 25px rgba(229, 57, 53, 0.25);

    transition:
        transform 0.25s ease,
        background 0.25s ease;
}


.airbnb-primary-btn:hover {

    background: #c62828;

    transform: translateY(-2px);
}


.airbnb-secondary-btn {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    min-height: 52px;

    padding: 0 20px;

    border: 1px solid rgba(255, 255, 255, 0.35);

    background: rgba(255, 255, 255, 0.08);

    color: #ffffff;

    text-decoration: none;

    border-radius: 8px;

    font-size: 14px;

    font-weight: 700;

    backdrop-filter: blur(10px);

    transition:
        background 0.25s ease,
        border-color 0.25s ease;
}


.airbnb-secondary-btn:hover {

    background: rgba(255, 255, 255, 0.15);

    border-color: rgba(255, 255, 255, 0.6);
}


/* =========================================
   VISIBILITY LOOP
========================================= */

.visibility-loop {

    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 10px;

    margin-top: 32px;

    color: rgba(255, 255, 255, 0.78);

    font-size: 12px;

    font-weight: 700;

    letter-spacing: 0.3px;
}


.visibility-loop b {

    color: #ff4b47;

    font-size: 14px;
}


/* =========================================
   RIGHT HERO VISUAL
========================================= */

.airbnb-hero-visual {

    position: relative;

    width: 100%;

    max-width: 650px;

    justify-self: end;
}


/* =========================================
   SEARCH BAR
========================================= */

.ranking-search {

    position: relative;

    z-index: 5;

    display: flex;

    align-items: center;

    gap: 14px;

    width: 100%;

    min-height: 58px;

    padding: 0 18px;

    background: rgba(255, 255, 255, 0.96);

    border-radius: 12px;

    box-shadow:
        0 20px 50px rgba(0, 0, 0, 0.20);

    color: #6b7280;

    font-size: 12px;
}


.ranking-search strong {

    color: #09286b;

    font-size: 14px;
}


.search-icon {

    margin-left: auto;

    font-size: 17px;
}


/* =========================================
   PROPERTY RANKING
========================================= */

.property-ranking {

    display: flex;

    flex-direction: column;

    gap: 12px;

    margin-top: 16px;
}


.property-card {

    display: flex;

    align-items: center;

    gap: 16px;

    padding: 10px;

    background: rgba(255, 255, 255, 0.96);

    border-radius: 12px;

    box-shadow:
        0 15px 40px rgba(0, 0, 0, 0.16);

    transition:
        transform 0.25s ease;
}


.property-card:hover {

    transform: translateX(-5px);
}


.property-one {

    width: 100%;
}


.property-two {

    width: 92%;

    margin-left: auto;
}


.property-three {

    width: 84%;

    margin-left: auto;
}


/* =========================================
   PROPERTY IMAGE
========================================= */

.property-image {

    position: relative;

    flex-shrink: 0;

    width: 125px;

    height: 82px;

    overflow: hidden;

    border-radius: 8px;
}


.property-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;
}


/* =========================================
   RANK BADGE
========================================= */

.rank-badge {

    position: absolute;

    top: 7px;

    left: 7px;

    display: flex;

    align-items: center;

    justify-content: center;

    width: 30px;

    height: 30px;

    background: #e53935;

    color: #ffffff;

    border-radius: 50%;

    font-size: 11px;

    font-weight: 800;

    box-shadow:
        0 5px 12px rgba(0, 0, 0, 0.20);
}


/* =========================================
   PROPERTY INFO
========================================= */

.property-info {

    display: flex;

    flex-direction: column;

    gap: 7px;
}


.property-info strong {

    color: #09286b;

    font-size: 15px;

    font-weight: 800;
}


.property-info span {

    color: #6b7280;

    font-size: 12px;

    font-weight: 600;
}


/* =========================================
   INSIGHT CARD
========================================= */

.ranking-insight {

    position: absolute;

    right: -20px;

    bottom: -25px;

    z-index: 10;

    display: flex;

    align-items: flex-start;

    gap: 10px;

    width: 235px;

    padding: 15px;

    background: #ffffff;

    border-radius: 10px;

    box-shadow:
        0 15px 40px rgba(0, 0, 0, 0.20);
}


.insight-dot {

    width: 9px;

    height: 9px;

    margin-top: 5px;

    flex-shrink: 0;

    background: #e53935;

    border-radius: 50%;
}


.ranking-insight div {

    display: flex;

    flex-direction: column;

    gap: 5px;
}


.ranking-insight strong {

    color: #09286b;

    font-size: 12px;
}


.ranking-insight small {

    color: #6b7280;

    font-size: 10px;

    line-height: 1.5;
}


/* =========================================
   HERO RESPONSIVE
========================================= */

@media (max-width: 1100px) {

    .airbnb-hero-container {

        grid-template-columns: 1fr;

        gap: 45px;
    }


    .airbnb-hero-content {

        max-width: 750px;
    }


    .airbnb-hero-visual {

        max-width: 700px;

        justify-self: start;
    }
}


@media (max-width: 700px) {

    .airbnb-hero {

        min-height: auto;
    }


    .airbnb-hero-container {

        width: 90%;

        padding: 60px 0;
    }


    .airbnb-hero-content h1 {

        font-size: 44px;

        letter-spacing: -1.5px;
    }


    .airbnb-hero-content > p {

        font-size: 16px;
    }


    .ranking-search {

        min-height: 52px;

        gap: 8px;
    }


    .ranking-search strong {

        font-size: 12px;
    }


    .property-two {

        width: 94%;
    }


    .property-three {

        width: 88%;
    }


    .property-image {

        width: 100px;

        height: 70px;
    }


    .ranking-insight {

        position: relative;

        right: auto;

        bottom: auto;

        width: 100%;

        margin-top: 15px;
    }
}

/* =========================================
   RANKING GAME
   SECTION 2
========================================= */

.ranking-game {

    position: relative;

    padding: 72px 0 58px;

    background: #f7f9fc;

    overflow: hidden;
}


.ranking-game-container {

    width: min(1250px, 90%);

    margin: 0 auto;
}


/* =========================================
   INTRO
========================================= */

.ranking-game-intro {

    max-width: 720px;

    margin: 0 auto 38px;

    text-align: center;
}


.ranking-game .section-eyebrow {

    display: inline-block;

    margin-bottom: 10px;

    color: #e53935;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 1.7px;
}


.ranking-game-intro h2 {

    margin: 0;

    color: #09286b;

    font-size: clamp(38px, 4vw, 54px);

    line-height: 1.05;

    letter-spacing: -1.8px;

    font-weight: 800;
}


.ranking-game-intro h2 span {

    color: #e53935;
}


.ranking-game-intro p {

    max-width: 650px;

    margin: 14px auto 0;

    color: #667085;

    font-size: 14px;

    line-height: 1.6;
}


/* =========================================
   FLOW ROW
========================================= */

.ranking-flow {

    display: grid;

    grid-template-columns:
        1fr
        42px
        1fr
        42px
        1fr;

    align-items: center;

    gap: 8px;
}


.ranking-flow-bottom {

    margin-top: 14px;
}


/* =========================================
   GRADIENT CARDS
========================================= */

.ranking-card {

    position: relative;

    min-height: 128px;

    padding: 19px 20px;

    overflow: hidden;

    border-radius: 16px;

    color: #ffffff;

    box-shadow:
        0 12px 28px rgba(9, 40, 107, 0.13);
}


.ranking-card::after {

    content: "";

    position: absolute;

    width: 130px;

    height: 130px;

    right: -55px;

    top: -65px;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.12);
}


/* =========================================
   GRADIENT COLORS
========================================= */

.gradient-blue {

    background:
        linear-gradient(
            135deg,
            #1769aa 0%,
            #28b6d6 100%
        );
}


.gradient-purple {

    background:
        linear-gradient(
            135deg,
            #5546a8 0%,
            #a05bd3 100%
        );
}


.gradient-red {

    background:
        linear-gradient(
            135deg,
            #d92f3d 0%,
            #f06a70 100%
        );
}


.gradient-green {

    background:
        linear-gradient(
            135deg,
            #138866 0%,
            #36c59d 100%
        );
}


.gradient-orange {

    background:
        linear-gradient(
            135deg,
            #d9791c 0%,
            #f3b64a 100%
        );
}


.gradient-teal {

    background:
        linear-gradient(
            135deg,
            #147c90 0%,
            #39bac8 100%
        );
}


/* =========================================
   VISIBILITY FOCUS
========================================= */

.ranking-focus {

    transform: translateY(-6px);

    box-shadow:
        0 20px 40px rgba(217, 47, 61, 0.25);
}


/* =========================================
   CARD CONTENT
========================================= */

.ranking-number {

    position: relative;

    z-index: 2;

    display: flex;

    align-items: center;

    justify-content: center;

    width: 32px;

    height: 32px;

    margin-bottom: 13px;

    border: 1px solid rgba(255, 255, 255, 0.25);

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.16);

    font-size: 10px;

    font-weight: 800;
}


.ranking-card h3 {

    position: relative;

    z-index: 2;

    margin: 0 0 5px;

    font-size: 16px;

    font-weight: 800;
}


.ranking-card p {

    position: relative;

    z-index: 2;

    max-width: 230px;

    margin: 0;

    color: rgba(255, 255, 255, 0.84);

    font-size: 11px;

    line-height: 1.5;
}


/* =========================================
   ARROWS
========================================= */

.flow-arrow {

    display: flex;

    align-items: center;

    justify-content: center;

    color: #e53935;

    font-size: 25px;

    font-weight: 800;
}


/* =========================================
   KEY LESSON — LARGER
========================================= */

.ranking-key-lesson {

    display: grid;

    grid-template-columns: 7px 1fr;

    width: min(950px, 90%);

    margin: 42px auto 0;

    background: #ffffff;

    border-radius: 16px;

    box-shadow:
        0 14px 35px rgba(9, 40, 107, 0.10);

    overflow: hidden;
}


.lesson-accent {

    background:
        linear-gradient(
            180deg,
            #e53935,
            #ff7a78
        );
}


.lesson-content {

    padding: 28px 34px;
}


.lesson-label {

    color: #e53935;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 1.7px;
}


.lesson-content h3 {

    margin: 8px 0 9px;

    color: #09286b;

    font-size: 27px;

    line-height: 1.25;

    font-weight: 800;
}


.lesson-content h3 strong {

    color: #e53935;
}


.lesson-content p {

    max-width: 820px;

    margin: 0;

    color: #667085;

    font-size: 14px;

    line-height: 1.65;
}


/* =========================================
   VISIBILITY LOOP — LARGER
========================================= */

.ranking-loop {

    display: flex;

    align-items: center;

    justify-content: center;

    flex-wrap: wrap;

    gap: 12px;

    margin-top: 38px;
}


.loop-pill {

    min-width: 105px;

    padding: 12px 20px;

    border-radius: 30px;

    color: #ffffff;

    text-align: center;

    font-size: 12px;

    font-weight: 800;

    box-shadow:
        0 7px 16px rgba(9, 40, 107, 0.10);
}


.loop-blue {
    background:
        linear-gradient(
            135deg,
            #1769aa,
            #28b6d6
        );
}


.loop-purple {
    background:
        linear-gradient(
            135deg,
            #5546a8,
            #a05bd3
        );
}


.loop-red {
    background:
        linear-gradient(
            135deg,
            #d92f3d,
            #f06a70
        );
}


.loop-teal {
    background:
        linear-gradient(
            135deg,
            #147c90,
            #39bac8
        );
}


.loop-navy {
    min-width: 145px;

    background:
        linear-gradient(
            135deg,
            #09286b,
            #2458a8
        );
}


.ranking-loop > span {

    color: #e53935;

    font-size: 20px;

    font-weight: 800;
}


/* =========================================
   EDUCATIONAL NOTE
========================================= */

.ranking-note {

    max-width: 750px;

    margin: 15px auto 0;

    text-align: center;

    color: #071735;

    font-size: 15px;

    line-height: 1.5;
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 900px) {

    .ranking-game {

        padding: 65px 0 50px;
    }


    .ranking-flow {

        grid-template-columns: 1fr;

        gap: 10px;
    }


    .flow-arrow {

        height: 22px;

        transform: rotate(90deg);
    }


    .ranking-focus {

        transform: none;
    }


    .ranking-flow-bottom {

        margin-top: 10px;
    }
}


@media (max-width: 600px) {

    .ranking-game-container {

        width: 90%;
    }


    .ranking-game-intro h2 {

        font-size: 36px;

        letter-spacing: -1px;
    }


    .ranking-game-intro p {

        font-size: 13px;
    }


    .ranking-card {

        min-height: auto;

        padding: 18px;
    }


    .ranking-key-lesson {

        margin-top: 30px;
    }


    .lesson-content {

        padding: 18px 20px;
    }


    .lesson-content h3 {

        font-size: 19px;
    }


    .ranking-loop {

        flex-direction: column;

        gap: 7px;
    }


    .ranking-loop > span {

        transform: rotate(90deg);
    }

}

/* =========================================
   SECTION 3
   WHAT DRIVES VISIBILITY
========================================= */

.visibility-section {

    position: relative;

    min-height: calc(100vh - 86px);

    overflow: hidden;

    background: #dceaff;

    color: #09286b;
}


/* =========================================
   BACKGROUND IMAGE
========================================= */

.visibility-bg {

    position: absolute;

    inset: 0;

    background-image:
        url("images/airbnb-vrbo/visibility-bg.png");

    background-size: cover;

    background-position: center;

    opacity: 0.92;
}


.visibility-overlay {

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(238, 246, 255, 0.92) 0%,
            rgba(232, 242, 255, 0.88) 48%,
            rgba(9, 40, 107, 0.18) 70%,
            rgba(9, 40, 107, 0.92) 100%
        );
}


/* =========================================
   MAIN CONTENT
========================================= */

.visibility-container {

    position: relative;

    z-index: 3;

    width: min(1200px, 90%);

    margin: 0 auto;

    padding: 62px 0 42px;
}


/* =========================================
   INTRO
========================================= */

.visibility-intro {

    max-width: 720px;

    margin: 0 auto 30px;

    text-align: center;
}


.visibility-eyebrow {

    display: inline-block;

    padding: 7px 17px;

    border-radius: 30px;

    background: rgba(229, 57, 53, 0.10);

    color: #e53935;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 1.6px;
}


.visibility-intro h2 {

    margin: 10px 0 10px;

    color: #09286b;

    font-size: clamp(38px, 4vw, 52px);

    line-height: 1.04;

    letter-spacing: -1.8px;

    font-weight: 800;
}


.visibility-intro h2 span {

    display: block;

    color: #e53935;
}


.visibility-intro p {

    max-width: 680px;

    margin: 0 auto;

    color: #52627a;

    font-size: 12px;

    line-height: 1.6;
}


/* =========================================
   VISIBILITY SYSTEM
========================================= */

.visibility-system {

    position: relative;

    display: grid;

    grid-template-columns:
        1fr
        270px
        1fr;

    grid-template-rows:
        1fr
        1fr
        1fr;

    column-gap: 125px;

    row-gap: 12px;

    align-items: center;

    max-width: 1050px;

    min-height: 350px;

    margin: 0 auto;
}


/* =========================================
   VISIBILITY CARDS
========================================= */

.visibility-card {

    position: relative;

    min-height: 96px;

    padding: 16px 18px 15px 62px;

    border-radius: 15px;

    color: #ffffff;

    overflow: hidden;

    box-shadow:
        0 12px 28px rgba(9, 40, 107, 0.15);
}


.visibility-card::after {

    content: "";

    position: absolute;

    width: 120px;

    height: 120px;

    top: -55px;

    right: -45px;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.13);
}


/* =========================================
   CARD GRADIENTS
========================================= */

.visibility-card-1 {

    grid-column: 1;

    grid-row: 1;

    background:
        linear-gradient(
            135deg,
            #1268b3,
            #27b8dc
        );
}


.visibility-card-2 {

    grid-column: 3;

    grid-row: 1;

    background:
        linear-gradient(
            135deg,
            #5a45ae,
            #a35bd4
        );
}


.visibility-card-3 {

    grid-column: 1;

    grid-row: 2;

    background:
        linear-gradient(
            135deg,
            #d92f4b,
            #f46773
        );
}


.visibility-card-4 {

    grid-column: 3;

    grid-row: 2;

    background:
        linear-gradient(
            135deg,
            #11906f,
            #39c6a0
        );
}


.visibility-card-5 {

    grid-column: 1;

    grid-row: 3;

    background:
        linear-gradient(
            135deg,
            #dc7818,
            #f4b94e
        );
}


.visibility-card-6 {

    grid-column: 3;

    grid-row: 3;

    background:
        linear-gradient(
            135deg,
            #147f94,
            #3bbcca
        );
}


/* =========================================
   CARD CONTENT
========================================= */

.visibility-card-number {

    position: absolute;

    top: 13px;

    left: 17px;

    font-size: 10px;

    font-weight: 800;

    opacity: 0.82;
}


.visibility-card-icon {

    position: absolute;

    left: 16px;

    top: 35px;

    display: flex;

    align-items: center;

    justify-content: center;

    width: 34px;

    height: 34px;

    border: 1px solid rgba(255, 255, 255, 0.25);

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.16);

    font-size: 14px;

    font-weight: 800;
}


.visibility-card h3 {

    position: relative;

    z-index: 2;

    margin: 5px 0 5px;

    font-size: 15px;

    line-height: 1.2;

    font-weight: 800;
}


.visibility-card p {

    position: relative;

    z-index: 2;

    max-width: 270px;

    margin: 0;

    color: rgba(255, 255, 255, 0.86);

    font-size: 12px;

    line-height: 1.45;
}


/* =========================================
   CENTRAL HUB
========================================= */

.visibility-hub {

    position: relative;

    grid-column: 2;

    grid-row: 1 / span 3;

    display: flex;

    align-items: center;

    justify-content: center;

    width: 260px;

    height: 260px;

    margin: auto;

    border-radius: 50%;

    background:
        radial-gradient(
            circle at 35% 30%,
            #245da7,
            #09286b 68%
        );

    color: #ffffff;

    box-shadow:
        0 22px 50px rgba(9, 40, 107, 0.28);

    border: 5px solid rgba(255, 255, 255, 0.72);
}


.hub-ring {

    position: absolute;

    inset: -12px;

    border: 1px dashed rgba(255, 255, 255, 0.45);

    border-radius: 50%;
}


.hub-content {

    position: relative;

    z-index: 2;

    width: 175px;

    text-align: center;
}


.hub-icon {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 36px;

    height: 36px;

    margin: 0 auto 10px;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.14);

    color: #ffffff;

    font-size: 18px;
}


.hub-content h3 {

    margin: 0;

    font-size: 20px;

    line-height: 1.05;

    font-weight: 800;
}


.hub-line {

    width: 40px;

    height: 3px;

    margin: 11px auto;

    border-radius: 10px;

    background: #ff4b47;
}


.hub-content p {

    margin: 0;

    color: rgba(255, 255, 255, 0.76);

    font-size: 12px;

    line-height: 1.5;
}


/* =========================================
   CONNECTING LINES
========================================= */

.visibility-connector {

    position: absolute;

    z-index: 1;

    width: 125px;

    height: 2px;

    background:
        linear-gradient(
            90deg,
            rgba(229, 57, 53, 0.15),
            #e53935
        );
}


.visibility-connector::after {

    content: "";

    position: absolute;

    right: -5px;

    top: 50%;

    width: 9px;

    height: 9px;

    transform: translateY(-50%);

    border-radius: 50%;

    background: #e53935;

    box-shadow:
        0 0 0 4px rgba(229, 57, 53, 0.12);
}


/* LEFT */

.connector-left-1 {

    left: calc(50% - 395px);

    top: 52px;
}


.connector-left-2 {

    left: calc(50% - 395px);

    top: 50%;

    transform: translateY(-50%);
}


.connector-left-3 {

    left: calc(50% - 395px);

    bottom: 52px;
}


/* RIGHT */

.connector-right-1 {

    right: calc(50% - 395px);

    top: 52px;

    transform: scaleX(-1);
}


.connector-right-2 {

    right: calc(50% - 395px);

    top: 50%;

    transform:
        translateY(-50%)
        scaleX(-1);
}


.connector-right-3 {

    right: calc(50% - 395px);

    bottom: 52px;

    transform: scaleX(-1);
}


/* =========================================
   BOTTOM NAVY AREA
========================================= */

.visibility-bottom {

    position: relative;

    z-index: 4;

    margin-top: 5px;

    padding: 26px 0 32px;

    background:
        linear-gradient(
            180deg,
            rgba(9, 40, 107, 0.86),
            #061f57
        );
}


.visibility-bottom-container {

    width: min(1250px, 90%);

    margin: 0 auto;

    text-align: center;
}


.visibility-bottom-label {

    display: inline-block;

    padding: 7px 20px;

    border-radius: 30px;

    background:
        linear-gradient(
            135deg,
            #e53935,
            #f56f73
        );

    color: #ffffff;

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 1.5px;

    box-shadow:
        0 8px 20px rgba(229, 57, 53, 0.20);
}


.visibility-bottom h3 {

    margin: 8px 0 17px;

    color: #ffffff;

    font-size: 24px;

    line-height: 1.15;

    font-weight: 800;
}


.visibility-bottom h3 span {

    color: #ff686b;
}


/* =========================================
   EQUATION
========================================= */

.visibility-equation {

    display: flex;

    align-items: center;

    justify-content: center;

    flex-wrap: nowrap;

    gap: 7px;
}


.equation-item {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    min-width: 88px;

    min-height: 64px;

    padding: 7px 10px;

    border-radius: 12px;

    color: #ffffff;

    box-shadow:
        0 8px 18px rgba(0, 0, 0, 0.12);
}


.equation-icon {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 25px;

    height: 25px;

    margin-bottom: 4px;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.17);

    font-size: 11px;
}


.equation-item strong {

    font-size: 10px;

    font-weight: 800;
}


.equation-blue {

    background:
        linear-gradient(
            135deg,
            #1268b3,
            #27b8dc
        );
}


.equation-purple {

    background:
        linear-gradient(
            135deg,
            #5a45ae,
            #a35bd4
        );
}


.equation-red {

    background:
        linear-gradient(
            135deg,
            #d92f4b,
            #f46773
        );
}


.equation-green {

    background:
        linear-gradient(
            135deg,
            #11906f,
            #39c6a0
        );
}


.equation-orange {

    background:
        linear-gradient(
            135deg,
            #dc7818,
            #f4b94e
        );
}


.equation-teal {

    background:
        linear-gradient(
            135deg,
            #147f94,
            #3bbcca
        );
}


.visibility-equation > b {

    color: #ff696c;

    font-size: 17px;
}


/* =========================================
   RESULT
========================================= */

.equation-result-arrow {

    margin-left: 5px;

    color: #ff696c;

    font-size: 24px;

    font-weight: 800;
}


.equation-result {

    display: flex;

    align-items: center;

    gap: 10px;

    min-width: 190px;

    min-height: 64px;

    padding: 10px 16px;

    border-radius: 14px;

    background: #ffffff;

    color: #09286b;

    text-align: left;

    box-shadow:
        0 12px 28px rgba(0, 0, 0, 0.16);
}


.equation-result > span {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 35px;

    height: 35px;

    border-radius: 50%;

    background:
        linear-gradient(
            135deg,
            #09286b,
            #2a62ad
        );

    color: #ffffff;

    font-size: 18px;
}


.equation-result strong {

    display: block;

    font-size: 13px;

    font-weight: 800;
}


.equation-result small {

    display: block;

    margin-top: 3px;

    color: #e53935;

    font-size: 10px;

    font-weight: 700;
}


/* =========================================
   NOTE
========================================= */

.visibility-note {

    position: relative;

    z-index: 5;

    margin: 0;

    padding: 10px 20px 13px;

    background: #061f57;

    color: rgba(255, 255, 255, 0.52);

    text-align: center;

    font-size: 10px;

    line-height: 1.5;
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 1050px) {

    .visibility-system {

        column-gap: 75px;
    }


    .visibility-connector {

        width: 75px;
    }


    .connector-left-1,
    .connector-left-2,
    .connector-left-3 {

        left: calc(50% - 345px);
    }


    .connector-right-1,
    .connector-right-2,
    .connector-right-3 {

        right: calc(50% - 345px);
    }
}


@media (max-width: 850px) {

    .visibility-section {

        min-height: auto;
    }


    .visibility-container {

        padding: 65px 0 45px;
    }


    .visibility-system {

        display: grid;

        grid-template-columns: 1fr;

        grid-template-rows: auto;

        gap: 14px;

        min-height: auto;
    }


    .visibility-hub {

        grid-column: 1;

        grid-row: 1;

        width: 230px;

        height: 230px;

        margin: 15px auto 10px;

        order: 0;
    }


    .visibility-card-1,
    .visibility-card-2,
    .visibility-card-3,
    .visibility-card-4,
    .visibility-card-5,
    .visibility-card-6 {

        grid-column: 1;

        grid-row: auto;
    }


    .visibility-card {

        min-height: 100px;
    }


    .visibility-connector {

        display: none;
    }


    .visibility-bottom {

        margin-top: 0;
    }


    .visibility-equation {

        flex-wrap: wrap;
    }


    .equation-result-arrow {

        width: 100%;
    }
}


@media (max-width: 600px) {

    .visibility-container {

        width: 90%;

        padding: 55px 0 35px;
    }


    .visibility-intro h2 {

        font-size: 36px;

        letter-spacing: -1px;
    }


    .visibility-intro p {

        font-size: 12px;
    }


    .visibility-card {

        padding: 16px 16px 16px 58px;
    }


    .visibility-card h3 {

        font-size: 15px;
    }


    .visibility-card p {

        font-size: 12px;
    }


    .visibility-hub {

        width: 210px;

        height: 210px;
    }


    .hub-content {

        width: 155px;
    }


    .hub-content h3 {

        font-size: 18px;
    }


    .visibility-bottom {

        padding: 25px 0 28px;
    }


    .visibility-bottom h3 {

        font-size: 22px;
    }


    .equation-item {

        min-width: 105px;
    }


    .equation-result {

        width: 100%;

        justify-content: center;
    }

}

/* =========================================================
   SECTION 4 — CONTINUOUS OPTIMIZATION
========================================================= */

.optimization-section {

    width: 100%;

    min-height: calc(100vh - 86px);

    box-sizing: border-box;

    padding:
        28px
        0
        38px;

    background:
        linear-gradient(
            135deg,
            #f4f8ff 0%,
            #ffffff 50%,
            #edf5ff 100%
        );
}


/* =========================================================
   CONTAINER
========================================================= */

.optimization-container {

    width: min(1120px, 92%);

    margin: 0 auto;

    text-align: center;
}


/* =========================================================
   HEADING
========================================================= */

.optimization-heading {

    max-width: 760px;

    margin: 0 auto 22px;
}


.optimization-label {

    display: inline-block;

    padding:
        5px
        15px;

    border-radius: 30px;

    background: #fff0f1;

    color: #e53935;

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 1.5px;

    text-transform: uppercase;
}


.optimization-heading h2 {

    margin:
        7px
        0
        6px;

    color: #09286b;

    font-size: clamp(30px, 3.2vw, 42px);

    line-height: 1;

    letter-spacing: -1.2px;

    font-weight: 800;
}


.optimization-heading h2 strong {

    color: #e53935;
}


.optimization-heading p {

    max-width: 700px;

    margin: 0 auto;

    color: #4b6284;

    font-size: 12px;

    line-height: 1.4;
}


/* =========================================================
   PROCESS GRID
========================================================= */

.optimization-grid {

    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 15px;

    text-align: left;
}


/* =========================================================
   COMMON CARD
========================================================= */

.optimization-card {

    position: relative;

    min-height: 125px;

    box-sizing: border-box;

    padding: 16px 17px;

    display: flex;

    gap: 13px;

    border-radius: 16px;

    color: #ffffff;

    overflow: hidden;

    box-shadow:
        0 10px 24px rgba(9, 40, 107, 0.16);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        filter 0.25s ease;
}


/* =========================================================
   CARD HOVER
========================================================= */

.optimization-card:hover {

    transform:
        translateY(-6px);

    box-shadow:
        0 18px 32px rgba(9, 40, 107, 0.24);

    filter: brightness(1.05);
}


/* =========================================================
   CARD DECORATION
========================================================= */

.optimization-card::after {

    content: "";

    position: absolute;

    width: 120px;
    height: 120px;

    right: -35px;
    top: -45px;

    border-radius: 50%;

    background:
        rgba(255, 255, 255, 0.13);

    pointer-events: none;
}


/* =========================================================
   CARD GRADIENTS
========================================================= */

.card-blue {

    background:
        linear-gradient(
            135deg,
            #087ee8,
            #24b9dc
        );
}


.card-red {

    background:
        linear-gradient(
            135deg,
            #ed2445,
            #f36c75
        );
}


.card-purple {

    background:
        linear-gradient(
            135deg,
            #6724df,
            #a052e7
        );
}


.card-teal {

    background:
        linear-gradient(
            135deg,
            #059e96,
            #19b8bd
        );
}


.card-orange {

    background:
        linear-gradient(
            135deg,
            #ee8508,
            #ffb62f
        );
}


.card-green {

    background:
        linear-gradient(
            135deg,
            #079e6b,
            #29c794
        );
}


/* =========================================================
   NUMBER
========================================================= */

.step-number {

    position: relative;

    z-index: 2;

    flex-shrink: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    width: 39px;
    height: 39px;

    border:
        2px solid
        rgba(255, 255, 255, 0.40);

    border-radius: 50%;

    background:
        rgba(255, 255, 255, 0.16);

    font-size: 10px;

    font-weight: 800;
}


/* =========================================================
   CONTENT
========================================================= */

.step-content {

    position: relative;

    z-index: 2;

    flex: 1;
}


.step-content h3 {

    margin:
        0
        0
        5px;

    color: #ffffff;

    font-size: 19px;

    line-height: 1;

    font-weight: 800;

    text-transform: uppercase;
}


.step-content p {

    margin:
        0
        0
        7px;

    color:
        rgba(255, 255, 255, 0.94);

    font-size: 12px;

    line-height: 1.3;
}


/* =========================================================
   WHY IT MATTERS
========================================================= */

.step-question {

    display: block;

    padding:
        5px
        8px;

    border:
        1px solid
        rgba(255, 255, 255, 0.45);

    border-radius: 7px;

    background:
        rgba(255, 255, 255, 0.17);

    color: #ffffff;

    font-size: 12px;

    line-height: 1.15;

    font-weight: 600;
}


/* =========================================================
   RESULT
========================================================= */

.optimization-result {

    width: min(650px, 100%);

    margin:
        18px
        auto
        0;

    box-sizing: border-box;

    display: flex;

    align-items: center;

    gap: 14px;

    padding:
        13px
        20px;

    border-radius: 15px;

    background:
        linear-gradient(
            135deg,
            #09286b,
            #174c9c
        );

    color: #ffffff;

    text-align: left;

    box-shadow:
        0 13px 28px rgba(9, 40, 107, 0.25);
}


/* =========================================================
   RESULT ICON
========================================================= */

.result-icon {

    flex-shrink: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    width: 43px;
    height: 43px;

    border-radius: 50%;

    background:
        rgba(255, 255, 255, 0.14);

    border:
        2px solid
        rgba(255, 255, 255, 0.30);

    color: #ffffff;

    font-size: 18px;

    font-weight: 800;
}


/* =========================================================
   RESULT TEXT
========================================================= */

.optimization-result span {

    color: #ff696f;

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 1.3px;
}


.optimization-result h3 {

    margin:
        2px
        0
        3px;

    color: #ffffff;

    font-size: 19px;

    line-height: 1;

    font-weight: 800;
}


.optimization-result h3 strong {

    color: #ff696f;
}


.optimization-result p {

    margin: 0;

    color:
        rgba(255, 255, 255, 0.76);

    font-size: 12px;

    line-height: 1.2;
}


/* =========================================================
   DISCLAIMER
========================================================= */

.optimization-disclaimer {

    position: relative;

    width: 100%;

    margin-top: 20px;

    padding:
        6px
        15px;

    box-sizing: border-box;

    background:
        #09286b;

    color:
        rgba(255, 255, 255, 0.62);

    text-align: center;

    font-size: 10px;

    line-height: 1.2;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .optimization-section {

        min-height: auto;

        padding:
            35px
            0
            35px;
    }


    .optimization-grid {

        grid-template-columns:
            repeat(2, 1fr);
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .optimization-section {

        padding:
            35px
            0
            25px;
    }


    .optimization-heading {

        margin-bottom: 20px;
    }


    .optimization-heading h2 {

        font-size: 30px;
    }


    .optimization-grid {

        grid-template-columns: 1fr;

        gap: 12px;
    }


    .optimization-card {

        min-height: 125px;
    }


    .optimization-result {

        align-items: flex-start;

        margin-top: 15px;

        padding: 14px;
    }


    .optimization-result h3 {

        font-size: 17px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 400px) {

    .optimization-heading h2 {

        font-size: 27px;
    }


    .optimization-card {

        padding: 14px;
    }


    .step-content h3 {

        font-size: 17px;
    }

}

/* =========================================================
   SECTION 5 — RESULTS
   GrowMyRental | Airbnb & Vrbo Management

   IMPORTANT:
   All selectors in this section are scoped under .results-section
   so they cannot affect the Airbnb/Vrbo hero property cards.
========================================================= */

.results-section {
    position: relative;
    width: 100%;
    min-height: calc(100vh - 86px);
    box-sizing: border-box;
    padding: 25px 0 0;

    background-image:
        linear-gradient(
            rgba(9, 40, 107, 0.20),
            rgba(9, 40, 107, 0.20)
        ),
        url("../images/results/result-bg.png");

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}


/* =========================================================
   CONTAINER
========================================================= */

.results-section .results-container {
    width: min(1200px, 92%);
    margin: 0 auto;
}


/* =========================================================
   HEADING
========================================================= */

.results-section .results-heading {
    max-width: 850px;
    margin: 0 auto 15px;
    text-align: center;
}

.results-section .results-label {
    display: inline-block;
    padding: 5px 16px;
    border-radius: 30px;
    background: #fff0f2;
    color: #e62c3b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.5px;
    line-height: 1;
}

.results-section .results-heading h2 {
    margin: 7px 0 5px;
    color: #09286b;
    font-size: clamp(30px, 3.2vw, 42px);
    line-height: 0.98;
    letter-spacing: -1.2px;
    font-weight: 800;
}

.results-section .results-heading h2 strong {
    display: block;
    color: #e62c3b;
}

.results-section .results-heading p {
    max-width: 760px;
    margin: 0 auto;
    color: #526987;
    font-size: 12px;
    line-height: 1.3;
}


/* =========================================================
   BEFORE / AFTER
========================================================= */

.results-section .results-comparison {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        150px
        minmax(0, 1fr);
    align-items: center;
    gap: 15px;
}

.results-section .result-property {
    position: relative;
    display: grid;
    grid-template-columns: 48% 52%;
    min-height: 205px;
    overflow: hidden;
    box-sizing: border-box;

    border: 1px solid #dce5f1;
    border-radius: 18px;
    background: #ffffff;

    box-shadow:
        0 10px 25px rgba(9, 40, 107, 0.12);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.results-section .result-property:hover {
    transform: translateY(-4px);
    box-shadow:
        0 17px 32px rgba(9, 40, 107, 0.18);
}


/* =========================================================
   PROPERTY IMAGE
   SCOPED — prevents conflict with HERO .property-image
========================================================= */

.results-section .property-image {
    position: relative;
    min-height: 205px;
    height: 100%;
    overflow: hidden;
}

.results-section .property-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.results-section .result-property:hover .property-image img {
    transform: scale(1.04);
}

.results-section .image-counter {
    position: absolute;
    right: 9px;
    bottom: 9px;
    padding: 4px 7px;
    border-radius: 6px;
    background: rgba(0, 0, 0, 0.72);
    color: #ffffff;
    font-size: 9px;
    font-weight: 700;
}


/* =========================================================
   BEFORE / AFTER BADGES
========================================================= */

.results-section .property-badge {
    position: absolute;
    z-index: 5;
    top: 0;
    left: 0;
    padding: 7px 16px;
    border-radius: 0 0 10px 0;
    color: #ffffff;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1px;
}

.results-section .before-badge {
    background: #263445;
}

.results-section .after-badge {
    background: #e62c3b;
}


/* =========================================================
   PROPERTY DETAILS
========================================================= */

.results-section .property-details {
    min-width: 0;
    padding: 13px 14px;

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.results-section .property-details h3 {
    margin: 0 0 4px;
    color: #09286b;
    font-size: 16px;
    line-height: 1.12;
    font-weight: 800;
}

.results-section .property-location {
    margin: 0 0 4px;
    color: #71819a;
    font-size: 9px;
    line-height: 1.2;
}

.results-section .property-rating {
    margin-bottom: 6px;
    color: #f2a900;
    font-size: 11px;
    font-weight: 800;
}

.results-section .property-rating span {
    color: #71819a;
    font-weight: 500;
}

.results-section .property-info {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 7px;
    margin-bottom: 6px;
    color: #52657f;
    font-size: 9px;
    line-height: 1.2;
}

.results-section .property-description {
    margin: 0 0 8px;
    color: #526987;
    font-size: 10px;
    line-height: 1.3;
}


/* =========================================================
   PRICE + BUTTON
========================================================= */

.results-section .property-bottom {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 7px;
}

.results-section .property-bottom strong {
    color: #09286b;
    font-size: 16px;
    line-height: 1;
    white-space: nowrap;
}

.results-section .property-bottom small {
    color: #71819a;
    font-size: 8px;
    font-weight: 500;
}

.results-section .availability-button {
    padding: 6px 10px;
    border: 1px solid #b9c6d9;
    border-radius: 8px;
    background: #ffffff;
    color: #09286b;
    font-size: 8px;
    font-weight: 700;
    cursor: pointer;

    transition:
        background 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.results-section .availability-button:hover {
    background: #09286b;
    color: #ffffff;
    transform: translateY(-1px);
}

.results-section .after-button {
    border-color: #e62c3b;
    background: #e62c3b;
    color: #ffffff;
}

.results-section .after-button:hover {
    background: #c91f2e;
    color: #ffffff;
}


/* =========================================================
   TRANSFORMATION CENTER
========================================================= */

.results-section .transformation-arrow {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 5px 0;

    background: transparent;
    border: 0;
    box-shadow: none;
    clip-path: none;
}

.results-section .transformation-arrow::before,
.results-section .transformation-arrow::after {
    content: none;
    display: none;
}

.results-section .arrow-line {
    display: none;
}

.results-section .arrow-circle {
    width: 50px;
    height: 50px;
    min-width: 50px;
    min-height: 50px;

    display: flex;
    align-items: center;
    justify-content: center;

    box-sizing: border-box;
    border: 0;
    border-radius: 50%;

    background:
        linear-gradient(
            135deg,
            #e62c3b,
            #ff5966
        );

    color: #ffffff;
    font-size: 27px;
    font-weight: 800;
    line-height: 1;

    box-shadow:
        0 8px 20px rgba(230, 44, 59, 0.25);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.results-section .arrow-circle:hover {
    transform: scale(1.08);
    box-shadow:
        0 12px 25px rgba(230, 44, 59, 0.35);
}

.results-section .transformation-points {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
}

.results-section .transformation-points span {
    display: block;
    width: auto;
    padding: 0;

    background: transparent;
    border: 0;

    color: #09286b;
    font-size: 9px;
    line-height: 1.2;
    font-weight: 700;
    white-space: nowrap;
}

.results-section .transformation-points span::before {
    content: "✓";
    margin-right: 4px;
    color: #e62c3b;
    font-weight: 900;
}

.results-section .transformation-points span::after {
    content: none;
}


/* =========================================================
   OWNER REVIEWS
========================================================= */

.results-section .owner-reviews-heading {
    display: flex;
    align-items: center;
    gap: 13px;
    margin: 14px 0 9px;
}

.results-section .owner-reviews-heading > span {
    flex: 1;
    height: 1px;
    background: #cbd7e7;
}

.results-section .owner-reviews-heading h2 {
    margin: 0;
    color: #09286b;
    font-size: 19px;
    line-height: 1;
    font-weight: 800;
    text-align: center;
    white-space: nowrap;
}

.results-section .owner-reviews-heading h2 strong {
    color: #e62c3b;
}

.results-section .owner-reviews {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.results-section .owner-review {
    min-height: 105px;
    box-sizing: border-box;
    padding: 11px 14px;

    border: 1px solid transparent;
    border-radius: 15px;

    box-shadow:
        0 7px 18px rgba(9, 40, 107, 0.07);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.results-section .owner-review:hover {
    transform: translateY(-4px);
    box-shadow:
        0 13px 27px rgba(9, 40, 107, 0.13);
}

.results-section .review-blue {
    background: #eaf7ff;
    border-color: #c8eaff;
}

.results-section .review-pink {
    background: #fff0f3;
    border-color: #ffd4db;
}

.results-section .review-green {
    background: #edfff6;
    border-color: #c9f3dd;
}

.results-section .stars {
    margin-bottom: 3px;
    color: #f5ad00;
    font-size: 12px;
    line-height: 1;
    letter-spacing: 2px;
}

.results-section .review-text {
    margin: 0 0 6px;
    color: #17345f;
    font-size: 10px;
    line-height: 1.25;
}

.results-section .review-owner {
    display: flex;
    align-items: center;
    gap: 8px;
}

.results-section .owner-avatar {
    width: 28px;
    height: 28px;
    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;
    background: #09286b;
    color: #ffffff;

    font-size: 8px;
    font-weight: 800;
}

.results-section .review-owner strong {
    display: block;
    color: #09286b;
    font-size: 9px;
    line-height: 1.1;
}

.results-section .review-owner span {
    display: block;
    margin-top: 2px;
    color: #637792;
    font-size: 8px;
    line-height: 1.1;
}


/* =========================================================
   CTA
========================================================= */

.results-section .results-cta {
    margin: 9px auto;
    text-align: center;
}

.results-section .results-cta a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    padding: 8px 20px;

    border-radius: 9px;
    background: #e62c3b;
    color: #ffffff;
    text-decoration: none;

    font-size: 11px;
    line-height: 1;
    font-weight: 800;

    box-shadow:
        0 7px 17px rgba(230, 44, 59, 0.22);

    transition:
        transform 0.2s ease,
        background 0.2s ease,
        box-shadow 0.2s ease;
}

.results-section .results-cta a:hover {
    transform: translateY(-2px);
    background: #c91f2e;
    box-shadow:
        0 10px 21px rgba(230, 44, 59, 0.30);
}

.results-section .results-cta a span {
    font-size: 16px;
}

.results-section .results-cta p {
    margin: 3px 0 0;
    color: #71819a;
    font-size: 9px;
    line-height: 1.2;
}


/* =========================================================
   DISCLAIMER
========================================================= */

.results-section .results-disclaimer {
    width: 100%;
    box-sizing: border-box;
    padding: 5px 12px;

    background: #09286b;
    color: rgba(255, 255, 255, 0.62);

    text-align: center;
    font-size: 8px;
    line-height: 1.2;
}


/* =========================================================
   LARGE TABLET
========================================================= */

@media (max-width: 1100px) {

    .results-section .results-container {
        width: 94%;
    }

    .results-section .results-comparison {
        grid-template-columns:
            minmax(0, 1fr)
            125px
            minmax(0, 1fr);

        gap: 10px;
    }

    .results-section .transformation-points span {
        font-size: 8px;
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .results-section {
        min-height: auto;
        padding: 35px 0 0;
    }

    .results-section .results-comparison {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .results-section .transformation-arrow {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
    }

    .results-section .transformation-points {
        width: auto;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 5px 12px;
    }

    .results-section .owner-reviews {
        grid-template-columns: repeat(2, 1fr);
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .results-section {
        padding-top: 32px;
    }

    .results-section .results-container {
        width: 92%;
    }

    .results-section .results-heading {
        margin-bottom: 18px;
    }

    .results-section .results-heading h2 {
        font-size: 30px;
        line-height: 1;
    }

    .results-section .results-heading p {
        font-size: 12px;
        line-height: 1.4;
    }

    .results-section .result-property {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .results-section .property-image {
        min-height: 200px;
        height: 200px;
    }

    .results-section .property-details {
        min-height: 175px;
        padding: 14px;
    }

    .results-section .transformation-arrow {
        flex-direction: column;
        gap: 7px;
    }

    .results-section .transformation-points {
        flex-direction: column;
        align-items: center;
        gap: 4px;
    }

    .results-section .owner-reviews-heading {
        margin-top: 18px;
    }

    .results-section .owner-reviews-heading > span {
        display: none;
    }

    .results-section .owner-reviews-heading h2 {
        width: 100%;
        white-space: normal;
        font-size: 18px;
        line-height: 1.2;
    }

    .results-section .owner-reviews {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .results-section .owner-review {
        min-height: 105px;
    }

    .results-section .results-cta {
        margin-top: 12px;
    }

    .results-section .results-cta a {
        max-width: 100%;
        padding: 9px 16px;
        font-size: 10px;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 400px) {

    .results-section .results-heading h2 {
        font-size: 27px;
    }

    .results-section .property-image {
        height: 180px;
        min-height: 180px;
    }

    .results-section .property-details {
        min-height: 170px;
    }

    .results-section .results-cta a {
        font-size: 9px;
        gap: 8px;
    }
}

/* =========================================================
   SECTION 6 — WHY GROWMYRENTAL
   DARK PREMIUM VERSION
   ========================================================= */

.why-grow-section {
    position: relative;

    width: 100%;
    min-height: 100vh;

    padding: 72px 5% 58px;

    box-sizing: border-box;

    overflow: hidden;

    color: #ffffff;

    background:
        radial-gradient(
            circle at 8% 55%,
            rgba(0, 110, 255, 0.13),
            transparent 28%
        ),
        radial-gradient(
            circle at 92% 65%,
            rgba(100, 60, 255, 0.10),
            transparent 25%
        ),
        linear-gradient(
            135deg,
            #031638 0%,
            #061d49 48%,
            #02122f 100%
        );
}


/* =========================================================
   BACKGROUND DECORATION
   ========================================================= */

.why-grow-section::before {
    content: "";

    position: absolute;

    width: 500px;
    height: 500px;

    top: -300px;
    right: -150px;

    border: 1px solid rgba(45, 150, 255, 0.25);

    border-radius: 50%;

    pointer-events: none;
}


.why-grow-section::after {
    content: "";

    position: absolute;

    width: 420px;
    height: 420px;

    left: -250px;
    bottom: -280px;

    border: 1px solid rgba(45, 150, 255, 0.18);

    border-radius: 50%;

    pointer-events: none;
}


/* =========================================================
   CONTAINER
   ========================================================= */

.why-grow-container {
    position: relative;

    z-index: 5;

    width: 100%;
    max-width: 1450px;

    margin: 0 auto;
}


/* =========================================================
   HEADING
   ========================================================= */

.why-grow-heading {
    text-align: center;

    margin-bottom: 43px;
}


/* Eyebrow */

.why-grow-eyebrow {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 14px;

    margin-bottom: 14px;

    color: #ffffff;

    font-size: 14px;

    font-weight: 800;

    letter-spacing: 2.5px;
}


.why-grow-eyebrow span {
    display: block;

    width: 40px;
    height: 3px;

    border-radius: 20px;

    background: #e62c3b;
}


/* Main heading */

.why-grow-heading h2 {
    margin: 0;

    color: #ffffff;

    font-size: clamp(40px, 4.3vw, 66px);

    line-height: 1.03;

    font-weight: 800;

    letter-spacing: -2.5px;
}


.why-grow-heading h2 strong {
    display: block;

    color: #ff303e;

    font-weight: 800;
}


/* Supporting text */

.why-grow-heading p {
    max-width: 750px;

    margin: 18px auto 0;

    color: rgba(255, 255, 255, 0.78);

    font-size: 12px;

    line-height: 1.7;
}


/* =========================================================
   MAIN GRID
   ========================================================= */

.why-grow-main {
    display: grid;

    grid-template-columns:
        minmax(0, 1.08fr)
        minmax(0, 1fr);

    gap: 40px;

    align-items: center;
}


/* =========================================================
   PROPERTY AREA
   ========================================================= */

.why-grow-property {
    position: relative;

    min-width: 0;

    min-height: 505px;

    padding: 15px 25px 20px 5px;

    box-sizing: border-box;
}


/* =========================================================
   PROPERTY GLOW
   ========================================================= */

.why-grow-property-glow {
    position: absolute;

    z-index: 0;

    width: 70%;
    height: 70%;

    left: 10%;
    top: 15%;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(0, 150, 255, 0.30),
            transparent 70%
        );

    filter: blur(35px);

    pointer-events: none;
}


/* =========================================================
   3D PROPERTY IMAGE
   ========================================================= */

.why-grow-image-wrap {
    position: relative;

    z-index: 2;

    width: 100%;
    height: 465px;

    overflow: hidden;

    border-radius: 25px;

    background: #09286b;

    transform:
        perspective(1500px)
        rotateY(-5deg)
        rotateZ(-2.2deg);

    transform-origin: center center;

    box-shadow:
        0 35px 70px rgba(0, 0, 0, 0.45),
        0 0 25px rgba(0, 125, 255, 0.18);

    isolation: isolate;

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease;
}


.why-grow-image-wrap:hover {
    transform:
        perspective(1500px)
        rotateY(-2deg)
        rotateZ(-0.8deg)
        translateY(-5px);

    box-shadow:
        0 45px 80px rgba(0, 0, 0, 0.50),
        0 0 35px rgba(0, 125, 255, 0.24);
}


/* =========================================================
   IMAGE
   ========================================================= */

.why-grow-image-wrap img {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    display: block;

    margin: 0;
    padding: 0;

    border: 0;

    max-width: none;

    object-fit: cover;

    object-position: center center;
}


/* =========================================================
   IMAGE DARK GRADIENT
   ========================================================= */

.why-grow-image-wrap::before {
    content: "";

    position: absolute;

    z-index: 3;

    inset: 0;

    background:
        linear-gradient(
            to bottom,
            rgba(0, 0, 0, 0.00) 40%,
            rgba(0, 8, 25, 0.20) 70%,
            rgba(0, 8, 25, 0.62) 100%
        );

    pointer-events: none;
}


/* =========================================================
   BLUE 3D EDGE
   ========================================================= */

.why-grow-image-wrap::after {
    content: "";

    position: absolute;

    z-index: 4;

    left: 2%;

    bottom: -8px;

    width: 96%;
    height: 13px;

    border-radius: 0 0 16px 16px;

    background: #087dff;

    opacity: 0.55;

    transform: skewX(-8deg);

    pointer-events: none;
}


/* =========================================================
   LISTING HEALTH CARD
   ========================================================= */

.why-grow-health-card {
    position: absolute;

    z-index: 20;

    top: 0;

    left: -5px;

    width: 370px;

    padding: 20px;

    box-sizing: border-box;

    border-radius: 18px;

    background: rgba(255, 255, 255, 0.98);

    color: #09286b;

    box-shadow:
        0 25px 55px rgba(0, 0, 0, 0.35);
}


.why-grow-health-card h3 {
    margin: 0 0 15px;

    color: #09286b;

    font-size: 18px;

    line-height: 1.2;

    font-weight: 800;
}


/* =========================================================
   HEALTH CONTENT
   ========================================================= */

.why-grow-health-content {
    display: flex;

    align-items: center;

    gap: 20px;
}


/* =========================================================
   SCORE CIRCLE
   ========================================================= */

.why-grow-score-circle {
    width: 112px;
    height: 112px;

    flex-shrink: 0;

    display: flex;

    flex-direction: column;

    align-items: center;
    justify-content: center;

    box-sizing: border-box;

    border-radius: 50%;

    border: 9px solid #20bd6b;

    background: #ffffff;

    box-shadow:
        inset 0 0 0 4px #e7f8ee;
}


.why-grow-score-circle strong {
    color: #09286b;

    font-size: 26px;

    line-height: 1;

    font-weight: 800;
}


.why-grow-score-circle span {
    margin-top: 5px;

    color: #20bd6b;

    font-size: 11px;

    line-height: 1;

    font-weight: 800;
}


/* =========================================================
   CHECKLIST
   ========================================================= */

.why-grow-checklist {
    display: flex;

    flex-direction: column;

    gap: 7px;

    min-width: 0;

    color: #30415a;

    font-size: 11px;
}


.why-grow-checklist div {
    display: flex;

    align-items: center;

    gap: 8px;

    white-space: nowrap;
}


.why-grow-checklist span {
    width: 19px;
    height: 19px;

    flex-shrink: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #20bd6b;

    color: #ffffff;

    font-size: 10px;

    font-weight: 800;
}


/* =========================================================
   HEALTH MESSAGE
   ========================================================= */

.why-grow-health-message {
    display: flex;

    align-items: center;

    gap: 10px;

    margin-top: 17px;

    padding-top: 14px;

    border-top: 1px solid #e4e9f0;

    color: #35455c;

    font-size: 11px;
}


.why-grow-health-message b {
    color: #1769c2;

    font-size: 13px;

    letter-spacing: -2px;
}


/* =========================================================
   PROPERTY INFORMATION
   ========================================================= */

.why-grow-property-info {
    position: absolute;

    z-index: 20;

    left: 25px;

    bottom: 10px;

    display: flex;

    align-items: center;

    gap: 13px;

    min-width: 285px;

    padding: 14px 21px;

    box-sizing: border-box;

    border-radius: 15px;

    background: rgba(3, 22, 56, 0.94);

    border: 1px solid rgba(255, 255, 255, 0.12);

    color: #ffffff;

    box-shadow:
        0 18px 35px rgba(0, 0, 0, 0.30);

    backdrop-filter: blur(10px);
}


.why-grow-location-icon {
    width: 35px;
    height: 35px;

    flex-shrink: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #e62c3b;

    color: #ffffff;

    font-size: 11px;
}


.why-grow-property-info div:last-child {
    display: flex;

    flex-direction: column;

    gap: 4px;
}


.why-grow-property-info strong {
    color: #ffffff;

    font-size: 16px;

    line-height: 1.1;

    font-weight: 800;
}


.why-grow-property-info span {
    color: rgba(255, 255, 255, 0.78);

    font-size: 11px;

    line-height: 1.2;
}


/* =========================================================
   FEATURE GRID
   ========================================================= */

.why-grow-features {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 20px;

    min-width: 0;
}


/* =========================================================
   FEATURE CARD
   ========================================================= */

.why-grow-feature {
    position: relative;

    min-height: 225px;

    padding: 22px;

    box-sizing: border-box;

    overflow: hidden;

    border-radius: 20px;

    background: rgba(7, 27, 62, 0.72);

    border: 1px solid rgba(255, 255, 255, 0.13);

    box-shadow:
        0 18px 35px rgba(0, 0, 0, 0.20);

    backdrop-filter: blur(10px);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}


.why-grow-feature:hover {
    transform: translateY(-5px);

    box-shadow:
        0 25px 45px rgba(0, 0, 0, 0.30);
}


/* =========================================================
   CARD COLOR ACCENTS
   ========================================================= */

.feature-blue {
    border-color: rgba(30, 145, 255, 0.55);

    background:
        linear-gradient(
            135deg,
            rgba(10, 68, 130, 0.55),
            rgba(5, 30, 69, 0.72)
        );
}


.feature-red {
    border-color: rgba(230, 44, 59, 0.58);

    background:
        linear-gradient(
            135deg,
            rgba(115, 26, 45, 0.42),
            rgba(42, 13, 29, 0.72)
        );
}


.feature-purple {
    border-color: rgba(117, 82, 235, 0.55);

    background:
        linear-gradient(
            135deg,
            rgba(71, 46, 135, 0.42),
            rgba(27, 17, 64, 0.72)
        );
}


.feature-green {
    border-color: rgba(32, 190, 107, 0.52);

    background:
        linear-gradient(
            135deg,
            rgba(18, 105, 71, 0.42),
            rgba(7, 46, 39, 0.72)
        );
}


/* =========================================================
   FEATURE ICON
   ========================================================= */

.why-grow-feature-icon {
    width: 51px;
    height: 51px;

    display: flex;

    align-items: center;
    justify-content: center;

    margin-bottom: 15px;

    border-radius: 50%;

    color: #ffffff;

    font-size: 22px;

    font-weight: 800;

    box-shadow:
        0 8px 20px rgba(0, 0, 0, 0.22);
}


.feature-blue .why-grow-feature-icon {
    background: #087dff;
}


.feature-red .why-grow-feature-icon {
    background: #e62c3b;
}


.feature-purple .why-grow-feature-icon {
    background: #6741e8;
}


.feature-green .why-grow-feature-icon {
    background: #13b866;
}


/* =========================================================
   FEATURE NUMBER
   ========================================================= */

.why-grow-feature-number {
    position: absolute;

    top: 28px;
    left: 87px;

    font-size: 13px;

    font-weight: 800;

    letter-spacing: 1px;
}


.feature-blue .why-grow-feature-number {
    color: #54a8ff;
}


.feature-red .why-grow-feature-number {
    color: #ff5260;
}


.feature-purple .why-grow-feature-number {
    color: #9c7cff;
}


.feature-green .why-grow-feature-number {
    color: #32dc87;
}


/* =========================================================
   FEATURE TITLE
   ========================================================= */

.why-grow-feature h3 {
    margin: 0 40px 11px 0;

    color: #ffffff;

    font-size: 20px;

    line-height: 1.15;

    font-weight: 800;
}


/* =========================================================
   FEATURE DESCRIPTION
   ========================================================= */

.why-grow-feature p {
    max-width: 290px;

    margin: 0;

    color: rgba(255, 255, 255, 0.78);

    font-size: 12px;

    line-height: 1.65;
}


/* =========================================================
   FEATURE ARROW
   ========================================================= */

.why-grow-feature-arrow {
    position: absolute;

    right: 18px;

    bottom: 18px;

    width: 38px;
    height: 38px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    font-size: 19px;

    font-weight: 700;
}


.feature-blue .why-grow-feature-arrow {
    color: #54a8ff;

    background: rgba(40, 140, 255, 0.16);
}


.feature-red .why-grow-feature-arrow {
    color: #ff5260;

    background: rgba(230, 44, 59, 0.17);
}


.feature-purple .why-grow-feature-arrow {
    color: #a68cff;

    background: rgba(103, 65, 232, 0.17);
}


.feature-green .why-grow-feature-arrow {
    color: #39df8c;

    background: rgba(19, 184, 102, 0.17);
}


/* =========================================================
   CTA
   ========================================================= */

.why-grow-cta {
    position: relative;

    z-index: 10;

    text-align: center;

    margin-top: 36px;
}


.why-grow-button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 18px;

    min-width: 500px;

    padding: 18px 30px;

    box-sizing: border-box;

    border-radius: 11px;

    background: #e62c3b;

    color: #ffffff;

    text-decoration: none;

    font-size: 15px;

    line-height: 1;

    font-weight: 800;

    box-shadow:
        0 15px 35px rgba(230, 44, 59, 0.28);

    transition:
        transform 0.25s ease,
        background 0.25s ease,
        box-shadow 0.25s ease;
}


.why-grow-button span {
    font-size: 21px;

    line-height: 1;
}


.why-grow-button:hover {
    background: #ff3949;

    transform: translateY(-3px);

    box-shadow:
        0 20px 42px rgba(230, 44, 59, 0.36);
}


.why-grow-cta p {
    margin: 10px 0 0;

    color: rgba(255, 255, 255, 0.65);

    font-size: 12px;

    line-height: 1.4;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1100px) {

    .why-grow-section {
        padding: 60px 4% 50px;
    }


    .why-grow-main {
        grid-template-columns: 1fr;

        gap: 38px;
    }


    .why-grow-property {
        width: 100%;

        max-width: 900px;

        margin: 0 auto;

        min-height: 500px;
    }


    .why-grow-features {
        width: 100%;
    }

}


/* =========================================================
   SMALL TABLET
   ========================================================= */

@media (max-width: 760px) {

    .why-grow-section {
        padding: 55px 25px 45px;
    }


    .why-grow-heading h2 {
        font-size: 43px;

        letter-spacing: -1.5px;
    }


    .why-grow-property {
        min-height: 470px;

        padding: 15px 10px;
    }


    .why-grow-image-wrap {
        height: 430px;

        transform:
            perspective(1200px)
            rotateY(-2.5deg)
            rotateZ(-1.5deg);
    }


    .why-grow-health-card {
        left: 0;

        width: 350px;
    }


    .why-grow-property-info {
        left: 18px;
    }


    .why-grow-features {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 15px;
    }


    .why-grow-feature {
        min-height: 210px;

        padding: 19px;
    }


    .why-grow-button {
        min-width: 430px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .why-grow-section {
        padding: 48px 18px 42px;
    }


    .why-grow-eyebrow {
        gap: 8px;

        font-size: 10px;

        letter-spacing: 1.4px;
    }


    .why-grow-eyebrow span {
        width: 23px;

        height: 2px;
    }


    .why-grow-heading h2 {
        font-size: 34px;

        line-height: 1.08;

        letter-spacing: -1px;
    }


    .why-grow-heading p {
        font-size: 12px;
    }


    /* Property */

    .why-grow-property {
        min-height: 420px;

        padding: 12px 0 8px;
    }


    .why-grow-image-wrap {
        width: 100%;

        height: 390px;

        border-radius: 20px;

        transform:
            perspective(1000px)
            rotateY(-1.5deg)
            rotateZ(-1deg);
    }


    /* Health card */

    .why-grow-health-card {
        top: 0;

        left: 4px;

        width: calc(100% - 8px);

        padding: 15px;

        border-radius: 16px;
    }


    .why-grow-health-card h3 {
        margin-bottom: 10px;

        font-size: 15px;
    }


    .why-grow-health-content {
        gap: 10px;
    }


    .why-grow-score-circle {
        width: 76px;
        height: 76px;

        border-width: 6px;
    }


    .why-grow-score-circle strong {
        font-size: 19px;
    }


    .why-grow-score-circle span {
        font-size: 9px;
    }


    .why-grow-checklist {
        gap: 4px;

        font-size: 9px;
    }


    .why-grow-checklist div {
        gap: 5px;
    }


    .why-grow-checklist span {
        width: 14px;
        height: 14px;

        font-size: 8px;
    }


    .why-grow-health-message {
        margin-top: 10px;

        padding-top: 9px;

        font-size: 9px;
    }


    /* Property info */

    .why-grow-property-info {
        left: 11px;

        bottom: 7px;

        width: calc(100% - 22px);

        min-width: 0;

        padding: 10px 13px;

        gap: 10px;
    }


    .why-grow-location-icon {
        width: 29px;
        height: 29px;
    }


    .why-grow-property-info strong {
        font-size: 13px;
    }


    .why-grow-property-info span {
        font-size: 9px;
    }


    /* Feature cards */

    .why-grow-features {
        grid-template-columns: 1fr;

        gap: 13px;
    }


    .why-grow-feature {
        min-height: 185px;

        padding: 20px;
    }


    .why-grow-feature-icon {
        width: 44px;
        height: 44px;

        font-size: 18px;
    }


    .why-grow-feature-number {
        top: 24px;

        left: 74px;

        font-size: 11px;
    }


    .why-grow-feature h3 {
        font-size: 18px;
    }


    .why-grow-feature p {
        font-size: 12px;

        line-height: 1.6;
    }


    /* CTA */

    .why-grow-cta {
        margin-top: 27px;
    }


    .why-grow-button {
        width: 100%;

        min-width: 0;

        padding: 15px 16px;

        font-size: 12px;
    }


    .why-grow-cta p {
        font-size: 11px;
    }

}

/* =========================================================
   SECTION 7 — FINAL CTA / FREE PROPERTY AUDIT
   LIGHT PREMIUM VERSION
   ========================================================= */

.final-audit-section {
    position: relative;

    width: 100%;
    min-height: 100vh;

    padding: 75px 5% 65px;

    box-sizing: border-box;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 88% 15%,
            rgba(38, 135, 235, 0.13),
            transparent 28%
        ),
        radial-gradient(
            circle at 5% 90%,
            rgba(230, 44, 59, 0.055),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            #f9fcff 0%,
            #edf6ff 52%,
            #f9fcff 100%
        );
}


/* =========================================================
   BACKGROUND DECORATIVE SHAPES
   ========================================================= */

.final-audit-section::before {
    content: "";

    position: absolute;

    width: 500px;
    height: 500px;

    top: -300px;
    right: -160px;

    border: 1px solid rgba(30, 120, 220, 0.12);

    border-radius: 50%;

    pointer-events: none;
}


.final-audit-section::after {
    content: "";

    position: absolute;

    width: 400px;
    height: 400px;

    bottom: -280px;
    left: -180px;

    border: 1px solid rgba(30, 120, 220, 0.10);

    border-radius: 50%;

    pointer-events: none;
}


/* =========================================================
   CONTAINER
   ========================================================= */

.final-audit-container {
    position: relative;

    z-index: 5;

    width: 100%;
    max-width: 1450px;

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        minmax(0, 1.12fr)
        minmax(420px, 0.88fr);

    gap: 55px;

    align-items: center;
}


/* =========================================================
   LEFT SIDE
   ========================================================= */

.final-audit-left {
    min-width: 0;
}


/* =========================================================
   EYEBROW
   ========================================================= */

.final-audit-eyebrow {
    display: flex;

    align-items: center;

    gap: 14px;

    margin-bottom: 16px;

    color: #09286b;

    font-size: 14px;

    font-weight: 800;

    letter-spacing: 2.5px;
}


.final-audit-eyebrow span {
    width: 42px;
    height: 3px;

    border-radius: 20px;

    background: #e62c3b;
}


/* =========================================================
   MAIN HEADING
   ========================================================= */

.final-audit-left h2 {
    max-width: 720px;

    margin: 0;

    color: #09286b;

    font-size: clamp(52px, 5.3vw, 78px);

    line-height: 0.98;

    letter-spacing: -2.8px;

    font-weight: 800;
}


.final-audit-left h2 strong {
    display: block;

    color: #e62c3b;

    font-weight: 800;
}


/* =========================================================
   INTRO
   ========================================================= */

.final-audit-intro {
    max-width: 650px;

    margin: 24px 0 32px;

    color: #4c5d74;

    font-size: 15px;

    line-height: 1.65;
}


/* =========================================================
   BENEFITS
   ========================================================= */

.final-audit-benefits {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 20px;

    margin-bottom: 30px;
}


.final-audit-benefit {
    min-width: 0;
}


.audit-benefit-icon {
    width: 53px;
    height: 53px;

    display: flex;

    align-items: center;
    justify-content: center;

    margin-bottom: 13px;

    border-radius: 50%;

    color: #ffffff;

    font-size: 24px;

    font-weight: 800;

    box-shadow:
        0 10px 22px rgba(9, 40, 107, 0.12);
}


.audit-blue {
    background: #1878e8;
}


.audit-red {
    background: #e62c3b;
}


.audit-green {
    background: #18b768;
}


.final-audit-benefit h3 {
    margin: 0 0 8px;

    color: #09286b;

    font-size: 16px;

    line-height: 1.15;

    font-weight: 800;
}


.final-audit-benefit p {
    margin: 0;

    color: #5c6b80;

    font-size: 12px;

    line-height: 1.55;
}


/* =========================================================
   PROPERTY IMAGE
   ========================================================= */

.final-audit-property {
    position: relative;

    width: 100%;

    height: 215px;

    overflow: hidden;

    border-radius: 22px;

    background: #09286b;

    box-shadow:
        0 22px 45px rgba(9, 40, 107, 0.16);
}


.final-audit-property img {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    object-position: center 55%;
}


.final-audit-property::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(9, 40, 107, 0.78),
            rgba(9, 40, 107, 0.08)
        );

    pointer-events: none;
}


/* =========================================================
   PROPERTY MESSAGE
   ========================================================= */

.final-audit-property-overlay {
    position: absolute;

    z-index: 3;

    left: 25px;

    bottom: 22px;

    display: flex;

    flex-direction: column;

    gap: 2px;
}


.final-audit-property-overlay strong {
    color: #ffffff;

    font-size: 23px;

    line-height: 1;

    font-weight: 800;
}


.final-audit-property-overlay span {
    color: #ffffff;

    font-size: 16px;

    font-weight: 500;
}


/* =========================================================
   PLATFORM STRIP
   ========================================================= */

.final-audit-platforms {
    margin-top: 25px;
}


.platform-label {
    display: block;

    margin-bottom: 12px;

    color: #77859a;

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 2px;
}


.platform-names {
    display: flex;

    align-items: center;

    gap: 20px;

    color: #09286b;

    font-size: 23px;

    font-weight: 800;
}


.platform-names i {
    width: 1px;
    height: 27px;

    background: #b8c4d3;
}


.vrbo-text {
    font-style: italic;

    font-size: 25px;
}


.booking-text {
    font-size: 18px;

    font-weight: 700;
}


/* =========================================================
   RIGHT FORM AREA
   ========================================================= */

.final-audit-form-wrapper {
    position: relative;

    min-width: 0;
}


/* =========================================================
   FORM GLOW
   ========================================================= */

.final-audit-form-glow {
    position: absolute;

    z-index: 0;

    width: 80%;
    height: 80%;

    top: 10%;
    left: 10%;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(40, 135, 255, 0.16),
            transparent 70%
        );

    filter: blur(35px);

    pointer-events: none;
}


/* =========================================================
   FORM CARD
   ========================================================= */

.final-audit-form-card {
    position: relative;

    z-index: 2;

    width: 100%;

    padding: 32px;

    box-sizing: border-box;

    border-radius: 25px;

    background: #ffffff;

    border: 1px solid #e2eaf3;

    box-shadow:
        0 28px 65px rgba(9, 40, 107, 0.15);
}


/* =========================================================
   FORM HEADING
   ========================================================= */

.audit-form-heading {
    display: flex;

    align-items: flex-start;

    gap: 17px;

    margin-bottom: 24px;
}


.audit-gift-icon {
    width: 52px;
    height: 52px;

    flex-shrink: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #e62c3b;

    color: #ffffff;

    font-size: 22px;

    font-weight: 800;

    box-shadow:
        0 10px 25px rgba(230, 44, 59, 0.20);
}


.audit-form-heading h3 {
    margin: 0 0 7px;

    color: #09286b;

    font-size: 25px;

    line-height: 1.08;

    font-weight: 800;
}


.audit-form-heading h3 span {
    display: block;

    color: #e62c3b;
}


.audit-form-heading p {
    max-width: 360px;

    margin: 0;

    color: #68778b;

    font-size: 11px;

    line-height: 1.6;
}


/* =========================================================
   FORM
   ========================================================= */

.property-audit-form {
    display: flex;

    flex-direction: column;

    gap: 13px;
}


/* =========================================================
   INPUT GROUP
   ========================================================= */

.audit-input-group {
    display: flex;

    flex-direction: column;

    gap: 6px;
}


.audit-input-group label {
    color: #09286b;

    font-size: 11px;

    font-weight: 700;
}


.audit-input-group input,
.audit-input-group textarea {
    width: 100%;

    box-sizing: border-box;

    border: 1px solid #d7e1ec;

    border-radius: 10px;

    background: #f7faff;

    color: #09286b;

    font-family: inherit;

    font-size: 12px;

    outline: none;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}


.audit-input-group input {
    height: 45px;

    padding: 0 14px;
}


.audit-input-group textarea {
    min-height: 85px;

    padding: 12px 14px;

    resize: vertical;
}


.audit-input-group input::placeholder,
.audit-input-group textarea::placeholder {
    color: #94a3b7;
}


.audit-input-group input:focus,
.audit-input-group textarea:focus {
    border-color: #4d94dc;

    background: #ffffff;

    box-shadow:
        0 0 0 3px rgba(23, 120, 232, 0.09);
}


/* =========================================================
   FORM BUTTON
   ========================================================= */

.final-audit-button {
    width: 100%;

    min-height: 58px;

    margin-top: 4px;

    display: flex;

    align-items: center;
    justify-content: center;

    gap: 18px;

    border: 0;

    border-radius: 10px;

    background: #e62c3b;

    color: #ffffff;

    cursor: pointer;

    font-family: inherit;

    font-size: 14px;

    font-weight: 800;

    box-shadow:
        0 13px 28px rgba(230, 44, 59, 0.23);

    transition:
        transform 0.25s ease,
        background 0.25s ease,
        box-shadow 0.25s ease;
}


.final-audit-button span {
    font-size: 21px;

    line-height: 1;
}


.final-audit-button:hover {
    background: #c9202f;

    transform: translateY(-2px);

    box-shadow:
        0 18px 35px rgba(230, 44, 59, 0.30);
}


/* =========================================================
   PRIVACY
   ========================================================= */

.audit-privacy {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 8px;

    margin-top: 2px;
}


.audit-privacy span {
    font-size: 12px;
}


.audit-privacy p {
    margin: 0;

    color: #7b899b;

    font-size: 10px;
}


/* =========================================================
   LARGE TABLET
   ========================================================= */

@media (max-width: 1100px) {

    .final-audit-container {
        grid-template-columns: 1fr;

        gap: 45px;
    }


    .final-audit-left {
        max-width: 900px;

        margin: 0 auto;
    }


    .final-audit-form-wrapper {
        width: 100%;

        max-width: 700px;

        margin: 0 auto;
    }

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 760px) {

    .final-audit-section {
        padding: 60px 25px 50px;
    }


    .final-audit-left h2 {
        font-size: 52px;

        letter-spacing: -1.8px;
    }


    .final-audit-intro {
        font-size: 14px;
    }


    .final-audit-benefits {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));

        gap: 15px;
    }


    .final-audit-property {
        height: 200px;
    }


    .final-audit-form-card {
        padding: 27px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .final-audit-section {
        padding: 48px 18px 42px;
    }


    .final-audit-container {
        gap: 35px;
    }


    .final-audit-eyebrow {
        gap: 9px;

        font-size: 11px;

        letter-spacing: 1.6px;
    }


    .final-audit-eyebrow span {
        width: 26px;

        height: 2px;
    }


    .final-audit-left h2 {
        font-size: 40px;

        line-height: 1;

        letter-spacing: -1.2px;
    }


    .final-audit-intro {
        margin: 19px 0 27px;

        font-size: 12px;

        line-height: 1.65;
    }


    /* Benefits */

    .final-audit-benefits {
        grid-template-columns: 1fr;

        gap: 23px;

        margin-bottom: 27px;
    }


    .final-audit-benefit {
        display: grid;

        grid-template-columns: 48px 1fr;

        column-gap: 13px;
    }


    .audit-benefit-icon {
        width: 48px;
        height: 48px;

        grid-row: span 2;

        margin: 0;

        font-size: 20px;
    }


    .final-audit-benefit h3 {
        align-self: end;

        margin: 0 0 4px;

        font-size: 15px;
    }


    .final-audit-benefit p {
        font-size: 11px;
    }


    /* Property */

    .final-audit-property {
        height: 180px;

        border-radius: 18px;
    }


    .final-audit-property-overlay {
        left: 18px;

        bottom: 17px;
    }


    .final-audit-property-overlay strong {
        font-size: 19px;
    }


    .final-audit-property-overlay span {
        font-size: 13px;
    }


    /* Platforms */

    .final-audit-platforms {
        margin-top: 20px;
    }


    .platform-label {
        font-size: 9px;

        letter-spacing: 1.5px;
    }


    .platform-names {
        gap: 12px;

        font-size: 18px;
    }


    .vrbo-text {
        font-size: 20px;
    }


    .booking-text {
        font-size: 14px;
    }


    .platform-names i {
        height: 20px;
    }


    /* Form */

    .final-audit-form-card {
        padding: 22px 18px;

        border-radius: 20px;
    }


    .audit-form-heading {
        gap: 12px;

        margin-bottom: 20px;
    }


    .audit-gift-icon {
        width: 45px;
        height: 45px;

        font-size: 19px;
    }


    .audit-form-heading h3 {
        font-size: 21px;
    }


    .audit-form-heading p {
        font-size: 10px;
    }


    .property-audit-form {
        gap: 11px;
    }


    .audit-input-group input {
        height: 43px;
    }


    .audit-input-group input,
    .audit-input-group textarea {
        font-size: 11px;
    }


    .final-audit-button {
        min-height: 53px;

        font-size: 12px;
    }


    .audit-privacy p {
        font-size: 9px;
    }

}


/* =========================================================
   GROWMYRENTAL — GLOBAL PROFESSIONAL DESIGN SYSTEM
   Purpose: One consistent visual language across the
   Airbnb & Vrbo Management page.

   This layer intentionally does NOT redesign the approved
   layouts. It standardizes typography, spacing, buttons,
   backgrounds, containers and responsive behavior.
========================================================= */

:root {
    /* Brand colors */
    --gmr-navy: #09286b;
    --gmr-navy-dark: #061f57;
    --gmr-red: #e62c3b;
    --gmr-red-hover: #c91f2e;

    /* Neutral system */
    --gmr-light: #f7faff;
    --gmr-white: #ffffff;
    --gmr-text: #09286b;
    --gmr-body: #52627a;
    --gmr-muted: #71819a;
    --gmr-border: #dfe7f1;

    /* Consistent geometry */
    --gmr-radius-sm: 10px;
    --gmr-radius-md: 14px;
    --gmr-radius-lg: 18px;
    --gmr-radius-xl: 24px;

    /* Consistent shadows */
    --gmr-shadow-sm: 0 8px 20px rgba(9, 40, 107, 0.08);
    --gmr-shadow-md: 0 14px 32px rgba(9, 40, 107, 0.12);
    --gmr-shadow-lg: 0 24px 55px rgba(9, 40, 107, 0.16);

    /* Typography scale */
    --gmr-eyebrow: 12px;
    --gmr-section-title: clamp(38px, 4vw, 52px);
    --gmr-card-title: 18px;
    --gmr-body-size: 14px;
    --gmr-small-size: 12px;

    /* Shared section rhythm */
    --gmr-section-y: 76px;
    --gmr-container: 1200px;

    /* Shared CTA */
    --gmr-btn-height: 52px;
    --gmr-btn-radius: 10px;
}


/* =========================================================
   GLOBAL BOX MODEL
   Controls: predictable sizing for every element on page
========================================================= */

.airbnb-hero *,
.ranking-game *,
.visibility-section *,
.optimization-section *,
.results-section *,
.why-grow-section *,
.final-audit-section * {
    box-sizing: border-box;
}


/* =========================================================
   GLOBAL SECTION CONTAINERS
   Controls: maximum content width and horizontal alignment
========================================================= */

.airbnb-hero-container,
.ranking-game-container,
.visibility-container,
.optimization-container,
.results-section .results-container,
.why-grow-container,
.final-audit-container {
    max-width: var(--gmr-container);
}


/* =========================================================
   GLOBAL PRIMARY CTA
   Controls: all primary red CTA buttons on the page
========================================================= */

.airbnb-primary-btn,
.results-section .results-cta a,
.why-grow-button,
.final-audit-button {
    min-height: var(--gmr-btn-height);
    border-radius: var(--gmr-btn-radius);
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
}


/* =========================================================
   GLOBAL EYEBROW SYSTEM
   Controls: section labels / eyebrow text throughout page
========================================================= */

.airbnb-hero-eyebrow,
.ranking-game .section-eyebrow,
.visibility-eyebrow,
.optimization-label,
.results-section .results-label,
.why-grow-eyebrow,
.final-audit-eyebrow {
    font-size: var(--gmr-eyebrow);
    font-weight: 800;
    letter-spacing: 1.8px;
    line-height: 1.2;
}


/* =========================================================
   SECTION 1 — HERO
   Controls: hero background, typography, buttons and
   ranking visual.
========================================================= */

.airbnb-hero {
    min-height: calc(100vh - 86px);
    background: var(--gmr-navy);
}

.airbnb-hero-container {
    width: min(var(--gmr-container), 92%);
    padding: 72px 0;
    gap: 52px;
}

.airbnb-hero-eyebrow {
    margin-bottom: 18px;
    color: #ff4b47;
}

.airbnb-hero-content h1 {
    font-size: clamp(48px, 5vw, 68px);
    line-height: 1.03;
    letter-spacing: -2.2px;
}

.airbnb-hero-content > p {
    margin-top: 24px;
    font-size: 17px;
    line-height: 1.65;
}

.airbnb-hero-content .hero-supporting-text {
    margin-top: 12px;
    font-size: 14px;
    line-height: 1.6;
}

.airbnb-hero-buttons {
    margin-top: 28px;
    gap: 12px;
}

.airbnb-primary-btn,
.airbnb-secondary-btn {
    min-height: var(--gmr-btn-height);
    padding: 0 24px;
    border-radius: var(--gmr-btn-radius);
}

.visibility-loop {
    margin-top: 28px;
}


/* =========================================================
   SECTION 2 — RANKING GAME
   Controls: ranking explanation, flow cards and lesson.
========================================================= */

.ranking-game {
    padding: var(--gmr-section-y) 0 64px;
    background: var(--gmr-light);
}

.ranking-game-container {
    width: min(var(--gmr-container), 92%);
}

.ranking-game-intro {
    margin-bottom: 40px;
}

.ranking-game .section-eyebrow {
    margin-bottom: 12px;
}

.ranking-game-intro h2 {
    font-size: var(--gmr-section-title);
    line-height: 1.06;
    letter-spacing: -1.8px;
}

.ranking-game-intro p {
    margin-top: 16px;
    font-size: var(--gmr-body-size);
    line-height: 1.65;
}

.ranking-card {
    min-height: 132px;
    padding: 20px;
    border-radius: var(--gmr-radius-lg);
}

.ranking-card h3 {
    font-size: 17px;
    line-height: 1.2;
}

.ranking-card p {
    font-size: var(--gmr-small-size);
    line-height: 1.5;
}

.ranking-key-lesson {
    margin-top: 42px;
    border-radius: var(--gmr-radius-lg);
}

.lesson-content h3 {
    font-size: 26px;
}

.lesson-content p {
    font-size: var(--gmr-body-size);
    line-height: 1.65;
}


/* =========================================================
   SECTION 3 — WHAT DRIVES VISIBILITY
   Controls: visibility system, six cards, central hub
   and the lower visibility equation.
========================================================= */

.visibility-section {
    background-color: var(--gmr-light);
}

.visibility-container {
    padding: var(--gmr-section-y) 0 46px;
}

.visibility-intro {
    margin-bottom: 38px;
}

.visibility-eyebrow {
    padding: 6px 15px;
}

.visibility-intro h2 {
    font-size: var(--gmr-section-title);
    line-height: 1.06;
    letter-spacing: -1.8px;
}

.visibility-intro p {
    font-size: var(--gmr-small-size);
    line-height: 1.6;
}

.visibility-card {
    min-height: 100px;
    padding: 17px 18px 16px 62px;
    border-radius: var(--gmr-radius-lg);
}

.visibility-card h3 {
    font-size: 16px;
    line-height: 1.2;
}

.visibility-card p {
    font-size: var(--gmr-small-size);
    line-height: 1.5;
}

.visibility-hub {
    width: 250px;
    height: 250px;
}

.visibility-bottom h3 {
    font-size: 25px;
}


/* =========================================================
   SECTION 4 — CONTINUOUS OPTIMIZATION
   Controls: optimization heading, six process cards,
   result card and disclaimer.
========================================================= */

.optimization-section {
    min-height: calc(100vh - 86px);
    padding: var(--gmr-section-y) 0 42px;
    background: var(--gmr-light);
}

.optimization-container {
    width: min(var(--gmr-container), 92%);
}

.optimization-heading {
    margin-bottom: 34px;
}

.optimization-label {
    padding: 6px 15px;
}

.optimization-heading h2 {
    font-size: var(--gmr-section-title);
    line-height: 1.06;
    letter-spacing: -1.8px;
}

.optimization-heading p {
    margin-top: 14px;
    font-size: var(--gmr-small-size);
    line-height: 1.6;
}

.optimization-grid {
    gap: 18px;
}

.optimization-card {
    min-height: 140px;
    padding: 19px 20px;
    border-radius: var(--gmr-radius-lg);
}

.step-content h3 {
    font-size: 18px;
    line-height: 1.15;
}

.step-content p,
.step-question {
    font-size: var(--gmr-small-size);
    line-height: 1.45;
}

.optimization-result {
    min-height: 64px;
    margin-top: 20px;
    padding: 14px 20px;
    border-radius: var(--gmr-radius-lg);
}

.optimization-result h3 {
    font-size: 19px;
}


/* =========================================================
   SECTION 5 — RESULTS
   Controls: before/after comparison, transformation,
   owner reviews and final section CTA.
========================================================= */

.results-section {
    min-height: calc(100vh - 86px);
    padding: var(--gmr-section-y) 0 0;
    background-color: var(--gmr-light);
}

.results-section .results-container {
    width: min(var(--gmr-container), 92%);
}

.results-section .results-heading {
    margin-bottom: 28px;
}

.results-section .results-label {
    padding: 6px 15px;
}

.results-section .results-heading h2 {
    font-size: var(--gmr-section-title);
    line-height: 1.06;
    letter-spacing: -1.8px;
}

.results-section .results-heading p {
    margin-top: 12px;
    font-size: var(--gmr-small-size);
    line-height: 1.6;
}

.results-section .result-property {
    min-height: 220px;
    border-radius: var(--gmr-radius-lg);
}

.results-section .property-image {
    min-height: 220px;
}

.results-section .property-details h3 {
    font-size: 17px;
}

.results-section .property-description {
    font-size: var(--gmr-small-size);
    line-height: 1.45;
}

.results-section .owner-reviews-heading {
    margin-top: 22px;
}

.results-section .owner-reviews-heading h2 {
    font-size: 20px;
}

.results-section .owner-review {
    min-height: 118px;
    padding: 14px 16px;
    border-radius: var(--gmr-radius-lg);
}

.results-section .review-text {
    font-size: 11px;
    line-height: 1.4;
}

.results-section .results-cta {
    margin: 20px auto 14px;
}

.results-section .results-cta a {
    padding: 0 24px;
}


/* =========================================================
   SECTION 6 — WHY GROWMYRENTAL
   Controls: dark premium section, property visual,
   listing health card, feature cards and CTA.
========================================================= */

.why-grow-section {
    min-height: calc(100vh - 86px);
    padding: var(--gmr-section-y) 5% 58px;
    background:
        radial-gradient(
            circle at 8% 55%,
            rgba(0, 110, 255, 0.13),
            transparent 28%
        ),
        radial-gradient(
            circle at 92% 65%,
            rgba(100, 60, 255, 0.10),
            transparent 25%
        ),
        linear-gradient(
            135deg,
            #031638 0%,
            #061d49 48%,
            #02122f 100%
        );
}

.why-grow-heading {
    margin-bottom: 40px;
}

.why-grow-eyebrow {
    margin-bottom: 12px;
}

.why-grow-heading h2 {
    font-size: clamp(40px, 4vw, 58px);
    line-height: 1.05;
    letter-spacing: -2px;
}

.why-grow-heading p {
    margin-top: 16px;
    font-size: var(--gmr-small-size);
    line-height: 1.65;
}

.why-grow-main {
    gap: 42px;
}

.why-grow-feature {
    min-height: 220px;
    padding: 21px;
    border-radius: var(--gmr-radius-lg);
}

.why-grow-feature h3 {
    font-size: 19px;
}

.why-grow-feature p {
    font-size: var(--gmr-small-size);
    line-height: 1.6;
}

.why-grow-button {
    min-width: 0;
    padding: 0 28px;
}


/* =========================================================
   SECTION 7 — FINAL PROPERTY AUDIT
   Controls: final light CTA, benefits, property visual
   and audit form.
========================================================= */

.final-audit-section {
    min-height: calc(100vh - 86px);
    padding: var(--gmr-section-y) 5% 62px;
    background:
        radial-gradient(
            circle at 88% 15%,
            rgba(38, 135, 235, 0.10),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            #f7faff 0%,
            #ffffff 52%,
            #f7faff 100%
        );
}

.final-audit-container {
    gap: 50px;
}

.final-audit-eyebrow {
    margin-bottom: 12px;
}

.final-audit-left h2 {
    font-size: clamp(48px, 4.8vw, 68px);
    line-height: 1.02;
    letter-spacing: -2.4px;
}

.final-audit-intro {
    margin: 20px 0 30px;
    font-size: var(--gmr-body-size);
    line-height: 1.65;
}

.final-audit-benefits {
    gap: 18px;
}

.final-audit-benefit h3 {
    font-size: 17px;
}

.final-audit-benefit p {
    font-size: var(--gmr-small-size);
    line-height: 1.55;
}

.final-audit-form-card {
    padding: 30px;
    border-radius: var(--gmr-radius-xl);
}

.audit-form-heading h3 {
    font-size: 24px;
}

.audit-input-group label {
    font-size: 11px;
}

.audit-input-group input,
.audit-input-group textarea {
    font-size: 12px;
}

.final-audit-button {
    min-height: var(--gmr-btn-height);
}


/* =========================================================
   MOBILE DESIGN SYSTEM
   Controls: consistent mobile typography, spacing and
   CTA sizing across every service-page section.
========================================================= */

@media (max-width: 700px) {

    .airbnb-hero-container,
    .ranking-game-container,
    .visibility-container,
    .optimization-container,
    .results-section .results-container {
        width: 92%;
    }

    .airbnb-hero-container {
        padding: 58px 0;
    }

    .airbnb-hero-content h1 {
        font-size: 42px;
        letter-spacing: -1.4px;
    }

    .airbnb-hero-content > p {
        font-size: 16px;
    }

    .airbnb-primary-btn,
    .airbnb-secondary-btn,
    .results-section .results-cta a,
    .why-grow-button,
    .final-audit-button {
        min-height: 50px;
        padding: 0 20px;
        font-size: 13px;
    }

    .ranking-game,
    .optimization-section {
        padding-top: 58px;
    }

    .ranking-game-intro h2,
    .visibility-intro h2,
    .optimization-heading h2,
    .results-section .results-heading h2 {
        font-size: 34px;
        line-height: 1.08;
        letter-spacing: -1.1px;
    }

    .ranking-game-intro p,
    .optimization-heading p {
        font-size: 12px;
    }

    .ranking-card {
        min-height: 0;
        padding: 18px;
    }

    .visibility-container {
        padding-top: 58px;
    }

    .visibility-intro {
        margin-bottom: 30px;
    }

    .visibility-card {
        min-height: 100px;
    }

    .optimization-card {
        min-height: 0;
        padding: 18px;
    }

    .results-section {
        padding-top: 58px;
    }

    .results-section .result-property {
        min-height: 0;
    }

    .results-section .property-image {
        min-height: 200px;
        height: 200px;
    }

    .why-grow-section,
    .final-audit-section {
        padding-top: 58px;
        padding-bottom: 48px;
    }

    .why-grow-heading h2 {
        font-size: 36px;
        letter-spacing: -1.2px;
    }

    .why-grow-eyebrow,
    .final-audit-eyebrow {
        font-size: 11px;
        letter-spacing: 1.5px;
    }

    .final-audit-left h2 {
        font-size: 40px;
        letter-spacing: -1.2px;
    }

    .final-audit-form-card {
        padding: 22px 18px;
    }
}


/* =========================================================
   SMALL MOBILE
   Controls: final compact-screen adjustments.
========================================================= */

@media (max-width: 400px) {

    .airbnb-hero-container,
    .ranking-game-container,
    .visibility-container,
    .optimization-container,
    .results-section .results-container {
        width: 90%;
    }

    .airbnb-hero-content h1 {
        font-size: 38px;
    }

    .ranking-game-intro h2,
    .visibility-intro h2,
    .optimization-heading h2,
    .results-section .results-heading h2 {
        font-size: 30px;
    }

    .why-grow-heading h2 {
        font-size: 32px;
    }

    .final-audit-left h2 {
        font-size: 36px;
    }
}

/* =========================================================
   GROWMYRENTAL — AIRBNB / VRBO
   BACKGROUND IMAGE SYSTEM
   ---------------------------------------------------------
   Add this block at the VERY END of the page CSS.

   IMPORTANT:
   The Airbnb/Vrbo service page is inside /services/,
   therefore image paths use ../images/...
========================================================= */


/* =========================================================
   SECTION 1 — HERO
   Full-width cinematic property background
========================================================= */

.airbnb-hero {
    position: relative;
    overflow: hidden;
    background: #09286b;
}

.airbnb-hero-bg {
    position: absolute;
    inset: -1%;
    z-index: 0;

    background-image:
        url("../images/airbnb-vrbo/hero-bg.jpg");

    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;

    transform: scale(1.03);
    will-change: transform;
}


/* Keep the text side readable while showing the property */

.airbnb-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(6, 31, 87, 0.96) 0%,
            rgba(9, 40, 107, 0.88) 34%,
            rgba(9, 40, 107, 0.52) 62%,
            rgba(9, 40, 107, 0.14) 100%
        );
}


/* =========================================================
   SECTION 2 — RANKING GAME
   Keep this section clean; no photographic background.
   The colorful cards remain the visual focus.
========================================================= */

.ranking-game {
    position: relative;
    overflow: hidden;
    background: #f7f9fc;
}


/* =========================================================
   SECTION 3 — WHAT DRIVES VISIBILITY
   Use the available tropical property image as a
   subtle background texture.

   If .visibility-bg already exists in the HTML, this
   replaces the old missing visibility-bg.png reference.
========================================================= */

.visibility-section {
    position: relative;
    overflow: hidden;
    background: #f7faff;
}

.visibility-bg {
    position: absolute;
    inset: 0;
    z-index: 0;

    background-image:
        url("../images/airbnb-vrbo/property-3.jpg");

    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;

    opacity: 0.18;
    transform: scale(1.03);
}

.visibility-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            180deg,
            rgba(247, 250, 255, 0.96) 0%,
            rgba(247, 250, 255, 0.90) 52%,
            rgba(247, 250, 255, 0.96) 100%
        );
}

.visibility-container {
    position: relative;
    z-index: 2;
}


/* =========================================================
   SECTION 4 — OPTIMIZATION
   Keep clean and light.
   The colorful cards provide the visual interest.
========================================================= */

.optimization-section {
    position: relative;
    overflow: hidden;
    background: #ffffff;
}


/* =========================================================
   SECTION 5 — RESULTS
   Before/After image is the section's photographic anchor.
   Keep the section background subtle so text/cards remain
   readable.
========================================================= */

.results-section {
    position: relative;
    overflow: hidden;

    background-image:
        linear-gradient(
            rgba(247, 250, 255, 0.90),
            rgba(247, 250, 255, 0.90)
        ),
        url("../images/results/result-bg.jpg");

    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}


/* =========================================================
   SECTION 6 — WHY GROWMYRENTAL
   Use the clean luxury condo image as the large visual.
   This supports the existing .why-grow-image-wrap markup.
========================================================= */

.why-grow-section {
    position: relative;
    overflow: hidden;
    background: #09286b;
}

.why-grow-image-wrap {
    position: relative;
    overflow: hidden;
}

.why-grow-image-wrap img {
    width: 100%;
    height: 100%;
    display: block;

    object-fit: cover;
    object-position: center center;
}


/* =========================================================
   SECTION 7 — FREE PROPERTY AUDIT
   Keep the section light. The luxury condo image remains
   the visual anchor rather than putting a photo behind
   the form.
========================================================= */

.final-audit-section {
    position: relative;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 85% 20%,
            rgba(47, 139, 255, 0.12),
            transparent 30%
        ),
        radial-gradient(
            circle at 10% 85%,
            rgba(230, 44, 59, 0.06),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            #f8fbff 0%,
            #edf6ff 55%,
            #f9fcff 100%
        );
}


/* =========================================================
   MOBILE BACKGROUND ADJUSTMENTS
========================================================= */

@media (max-width: 700px) {

    .airbnb-hero-bg {
        background-position: 62% center;
    }

    .airbnb-hero-overlay {
        background:
            linear-gradient(
                180deg,
                rgba(6, 31, 87, 0.96) 0%,
                rgba(9, 40, 107, 0.88) 48%,
                rgba(9, 40, 107, 0.58) 100%
            );
    }

    .visibility-bg {
        opacity: 0.10;
    }

    .results-section {
        background-image:
            linear-gradient(
                rgba(247, 250, 255, 0.94),
                rgba(247, 250, 255, 0.94)
            ),
            url("../images/results/result-bg.jpg");
    }
}


/* =========================================================
   IMPORTANT
   Do NOT use property-1.jpg / property-2.jpg / property-3.jpg
   as full-page backgrounds everywhere.

   They are best used as individual property visuals/cards.
   This keeps the page premium instead of making every
   section look like a photo gallery.
========================================================= */

/* =========================================================
   GROWMYRENTAL
   MARKETING & GROWTH — HERO
   FINAL HERO LAYOUT
========================================================= */

.mg-hero {
    position: relative;
    min-height: calc(100vh - 78px);
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #09286b;
}


/* =========================================================
   BACKGROUND
========================================================= */

.mg-hero-background {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.mg-hero-background img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.mg-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(6,26,70,.60) 0%,
            rgba(6,26,70,.43) 34%,
            rgba(6,26,70,.20) 67%,
            rgba(6,26,70,.07) 100%
        );
}


/* =========================================================
   MAIN CONTAINER
========================================================= */

.mg-hero-container {
    position: relative;
    z-index: 5;

    width: min(1200px, calc(100% - 48px));
    min-height: calc(100vh - 78px);

    margin: 0 auto;
    padding: 55px 0;

    display: grid;
    grid-template-columns: 48% 52%;
    align-items: center;
}


/* =========================================================
   LEFT CONTENT
========================================================= */

.mg-hero-content {
    position: relative;
    z-index: 50;
    padding-right: 15px;
}

.mg-hero-eyebrow {
    display: flex;
    align-items: center;
    gap: 9px;

    margin-bottom: 22px;

    color: #ffffff;

    font-size: 11px;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.mg-hero-eyebrow span {
    width: 28px;
    height: 2px;
    background: #e62c3b;
}

.mg-hero-content h1 {
    max-width: 650px;

    margin: 0;

    color: #ffffff;

    font-size: clamp(44px, 5vw, 70px);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -.045em;
}

.mg-hero-content h1 strong {
    color: #ffffff;
}

.mg-hero-content > p {
    max-width: 610px;

    margin: 25px 0 0;

    color: rgba(255,255,255,.86);

    font-size: 16px;
    line-height: 1.7;
}


/* =========================================================
   BUTTONS
========================================================= */

.mg-hero-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;

    margin-top: 30px;
}

.mg-hero-btn {
    min-height: 52px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0 23px;

    border-radius: 10px;

    font-size: 13px;
    font-weight: 800;
    text-decoration: none;

    transition: .25s ease;
}

.mg-hero-btn-primary {
    background: #e62c3b;
    color: #ffffff;

    box-shadow:
        0 12px 28px rgba(230,44,59,.28);
}

.mg-hero-btn-primary:hover {
    background: #c92332;
    color: #ffffff;
    transform: translateY(-3px);
}

.mg-hero-btn-secondary {
    background: rgba(255,255,255,.10);

    border: 1px solid rgba(255,255,255,.65);

    color: #ffffff;
}

.mg-hero-btn-secondary:hover {
    background: #ffffff;
    color: #09286b;
    transform: translateY(-3px);
}


/* =========================================================
   BENEFITS
========================================================= */

.mg-hero-proof {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;

    margin-top: 20px;
}

.mg-hero-proof span {
    color: rgba(255,255,255,.88);

    font-size: 10px;
    font-weight: 700;
}

.mg-hero-proof span::first-letter {
    color: #e62c3b;
}


/* =========================================================
   RIGHT VISUAL AREA
========================================================= */

.mg-hero-visual {
    position: relative;

    width: 100%;
    height: 590px;
}


/* =========================================================
   MAIN PROPERTY IMAGE
========================================================= */

.mg-hero-main-image {
    position: absolute;

    top: 45px;
    right: 40px;

    width: 70%;
    height: 500px;

    overflow: hidden;

    border: 6px solid #ffffff;
    border-radius: 27px;

    background: #ffffff;

    box-shadow:
        0 28px 65px rgba(0,0,0,.30);

    z-index: 5;
}

.mg-hero-main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* =========================================================
   IMAGE CARDS
========================================================= */

.mg-hero-image-card {
    position: absolute;

    overflow: hidden;

    background: #ffffff;

    border: 5px solid #ffffff;
    border-radius: 17px;

    box-shadow:
        0 18px 40px rgba(0,0,0,.28);

    z-index: 20;

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.mg-hero-image-card:hover {
    transform: translateY(-7px) scale(1.025);

    box-shadow:
        0 26px 55px rgba(0,0,0,.35);

    z-index: 45;
}

.mg-hero-image-card img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


/* =========================================================
   IMAGE LABEL
========================================================= */

.mg-image-label {
    position: absolute;

    left: 9px;
    bottom: 8px;

    padding: 6px 10px;

    border-radius: 7px;

    background: #09286b;

    color: #ffffff;

    font-size: 9px;
    font-weight: 800;

    line-height: 1;

    box-shadow:
        0 6px 15px rgba(0,0,0,.25);

    z-index: 5;
}


/* =========================================================
   HIDE THE OLD SERIAL-NUMBER MARKS
   These are baked into the current images.
========================================================= */

.mg-image-direct::before,
.mg-image-social::before,
.mg-image-airbnb::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 30px;
    height: 30px;

    background: #ffffff;

    border-radius: 0 0 12px 0;

    z-index: 4;
}


/* =========================================================
   DIRECT BOOKING IMAGE
========================================================= */

.mg-image-direct {
    top: 0;
    left: -5px;

    width: 205px;
    height: 140px;
}


/* =========================================================
   SOCIAL MEDIA IMAGE
========================================================= */

.mg-image-social {
    top: 160px;
    left: -32px;

    width: 180px;
    height: 125px;
}


/* =========================================================
   AIRBNB IMAGE
========================================================= */

.mg-image-airbnb {
    right: -5px;
    bottom: 28px;

    width: 200px;
    height: 135px;
}


/* =========================================================
   QUESTION CARDS
========================================================= */

.mg-question-card {
    position: absolute;

    width: 225px;

    padding: 18px 20px;

    border-radius: 18px;

    overflow: hidden;

    color: #ffffff;

    border: 1px solid rgba(255,255,255,.22);

    box-shadow:
        0 20px 45px rgba(0,0,0,.32),
        inset 0 1px 0 rgba(255,255,255,.10);

    z-index: 25;

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}


/* =========================================================
   COLORFUL DARK CARD — RED / NAVY
========================================================= */

.mg-question-direct {

    left: -35px;
    bottom: 22px;

    background:
        linear-gradient(
            135deg,
            #183f8c 0%,
            #09286b 55%,
            #8d1f30 140%
        );
}


/* =========================================================
   COLORFUL DARK CARD — BLUE
========================================================= */

.mg-question-visibility {

    right: -35px;
    top: 70px;

    background:
        linear-gradient(
            135deg,
            #2457a5 0%,
            #09286b 62%,
            #071b45 100%
        );
}


/* =========================================================
   COLORFUL DARK CARD — NAVY / RED
========================================================= */

.mg-question-social {

    right: 10px;
    bottom: 175px;

    background:
        linear-gradient(
            135deg,
            #09286b 0%,
            #183f8c 58%,
            #9b2637 145%
        );
}


/* =========================================================
   RED CARD ACCENT
========================================================= */

.mg-question-accent {
    width: 25px;
    height: 3px;

    margin-bottom: 10px;

    background: #e62c3b;

    border-radius: 5px;
}


/* =========================================================
   QUESTION CARD LABEL
========================================================= */

.mg-question-card span {

    display: block;

    margin-bottom: 7px;

    color: #ff5a68;

    font-size: 9px;
    font-weight: 900;

    letter-spacing: .13em;

    text-transform: uppercase;
}


/* =========================================================
   QUESTION CARD HEADING
========================================================= */

.mg-question-card h3 {

    margin: 0;

    color: #ffffff;

    font-size: 15px;
    font-weight: 750;

    line-height: 1.38;
}


/* =========================================================
   QUESTION CARD HOVER
========================================================= */

.mg-question-card:hover {

    transform: translateY(-8px) scale(1.02);

    box-shadow:
        0 30px 60px rgba(0,0,0,.40),
        inset 0 1px 0 rgba(255,255,255,.14);

    z-index: 50;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1050px) {

    .mg-hero-container {

        grid-template-columns: 1fr;

        gap: 30px;

        padding: 70px 0;
    }

    .mg-hero-content {

        max-width: 760px;
    }

    .mg-hero-visual {

        max-width: 760px;

        margin: 0 auto;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 650px) {

    .mg-hero {

        min-height: auto;
    }

    .mg-hero-container {

        width: calc(100% - 28px);

        min-height: auto;

        padding: 60px 0 70px;
    }

    .mg-hero-content h1 {

        font-size: 41px;

        line-height: 1.04;
    }

    .mg-hero-content > p {

        font-size: 15px;
    }

    .mg-hero-buttons {

        flex-direction: column;
    }

    .mg-hero-btn {

        width: 100%;
    }

    .mg-hero-proof {

        display: grid;

        gap: 8px;
    }


    /* Visual */

    .mg-hero-visual {

        height: 500px;

        margin-top: 20px;
    }


    /* Main image */

    .mg-hero-main-image {

        top: 45px;
        right: 5px;

        width: 76%;
        height: 350px;

        border-radius: 21px;
    }


    /* Direct image */

    .mg-image-direct {

        top: 0;
        left: 0;

        width: 145px;
        height: 98px;
    }


    /* Social image */

    .mg-image-social {

        top: 110px;
        left: 0;

        width: 135px;
        height: 92px;
    }


    /* Airbnb image */

    .mg-image-airbnb {

        right: 0;
        bottom: 65px;

        width: 145px;
        height: 98px;
    }


    /* Question cards */

    .mg-question-card {

        width: 175px;

        padding: 14px 15px;

        border-radius: 15px;
    }

    .mg-question-card h3 {

        font-size: 11px;
    }

    .mg-question-card span {

        font-size: 8px;
    }


    .mg-question-direct {

        left: 0;
        bottom: 0;
    }


    .mg-question-visibility {

        right: 0;
        top: 75px;
    }


    .mg-question-social {

        right: 0;
        bottom: 0;
    }
}

/* =========================================================
   MARKETING & GROWTH
   SECTION 2 — THE REAL PROBLEM
========================================================= */

.mg-problem-section {

    position: relative;

    padding: 110px 0;

    background:
        linear-gradient(
            135deg,
            #f7faff 0%,
            #eef5ff 100%
        );

    overflow: hidden;
}


.mg-problem-container {

    width: min(1200px, calc(100% - 48px));

    margin: 0 auto;

    display: grid;

    grid-template-columns: 52% 48%;

    align-items: center;

    gap: 55px;
}


/* =========================================================
   LEFT PROPERTY GALLERY
========================================================= */

.mg-property-gallery {

    position: relative;

    min-width: 0;
}


.mg-gallery-heading {

    display: flex;

    align-items: center;

    gap: 10px;

    margin-bottom: 18px;

    color: #09286b;

    font-size: 10px;

    font-weight: 800;

    letter-spacing: .14em;

    text-transform: uppercase;
}


.mg-gallery-line {

    width: 28px;

    height: 2px;

    background: #e62c3b;
}


/* =========================================================
   IMAGE GRID
========================================================= */

.mg-gallery-grid {

    display: grid;

    grid-template-columns:
        1.35fr
        1fr
        1fr;

    grid-template-rows:
        150px
        150px
        150px;

    gap: 12px;
}


.mg-gallery-card {

    position: relative;

    overflow: hidden;

    border-radius: 16px;

    background: #ffffff;

    border: 4px solid #ffffff;

    box-shadow:
        0 12px 30px rgba(9,40,107,.10);

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}


.mg-gallery-card:hover {

    transform: translateY(-5px);

    box-shadow:
        0 20px 38px rgba(9,40,107,.17);

    z-index: 5;
}


.mg-gallery-card img {

    width: 100%;

    height: 100%;

    display: block;

    object-fit: cover;
}


/* =========================================================
   LARGE FEATURE IMAGE
========================================================= */

.mg-gallery-large {

    grid-column: 1;

    grid-row: 1 / 3;

    height: 312px;
}


/* =========================================================
   RIGHT SIDE IMAGE STACK
========================================================= */

.mg-gallery-grid
.mg-gallery-card:nth-child(2) {

    grid-column: 2;

    grid-row: 1;
}


.mg-gallery-grid
.mg-gallery-card:nth-child(3) {

    grid-column: 3;

    grid-row: 1;
}


.mg-gallery-grid
.mg-gallery-card:nth-child(4) {

    grid-column: 2;

    grid-row: 2;
}


.mg-gallery-grid
.mg-gallery-card:nth-child(5) {

    grid-column: 3;

    grid-row: 2;
}


.mg-gallery-grid
.mg-gallery-card:nth-child(6) {

    grid-column: 1;

    grid-row: 3;
}


.mg-gallery-grid
.mg-gallery-card:nth-child(7) {

    grid-column: 2;

    grid-row: 3;
}


.mg-gallery-grid
.mg-gallery-card:nth-child(8) {

    grid-column: 3;

    grid-row: 3;
}


/* =========================================================
   RIGHT CONTENT
========================================================= */

.mg-problem-content {

    position: relative;

    z-index: 5;
}


.mg-problem-eyebrow {

    display: flex;

    align-items: center;

    gap: 9px;

    margin-bottom: 18px;

    color: #09286b;

    font-size: 10px;

    font-weight: 800;

    letter-spacing: .15em;

    text-transform: uppercase;
}


.mg-problem-eyebrow span {

    width: 28px;

    height: 2px;

    background: #e62c3b;
}


/* =========================================================
   HEADING
========================================================= */

.mg-problem-content h2 {

    max-width: 570px;

    margin: 0;

    color: #09286b;

    font-family: "Manrope", sans-serif;

    font-size: clamp(38px, 4vw, 55px);

    font-weight: 800;

    line-height: 1.05;

    letter-spacing: -.04em;
}


.mg-problem-intro {

    max-width: 560px;

    margin: 22px 0 28px;

    color: #667085;

    font-size: 15px;

    line-height: 1.75;
}


/* =========================================================
   PROBLEM CARDS
========================================================= */

.mg-problem-cards {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 12px;
}


.mg-problem-card {

    position: relative;

    min-height: 155px;

    padding: 19px;

    display: grid;

    grid-template-columns: 38px 1fr;

    gap: 12px;

    overflow: hidden;

    border-radius: 16px;

    color: #ffffff;

    box-shadow:
        0 14px 30px rgba(9,40,107,.14);

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}


.mg-problem-card:hover {

    transform: translateY(-5px);

    box-shadow:
        0 22px 42px rgba(9,40,107,.20);
}


/* =========================================================
   CARD COLORS
========================================================= */

.mg-problem-card-blue {

    background:
        linear-gradient(
            135deg,
            #174d9b,
            #09286b
        );
}


.mg-problem-card-red {

    background:
        linear-gradient(
            135deg,
            #e62c3b,
            #a91f30
        );
}


.mg-problem-card-purple {

    background:
        linear-gradient(
            135deg,
            #493a9b,
            #09286b
        );
}


.mg-problem-card-gold {

    background:
        linear-gradient(
            135deg,
            #a66c22,
            #09286b
        );
}


/* =========================================================
   CARD NUMBER
========================================================= */

.mg-problem-card-icon {

    width: 35px;

    height: 35px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: rgba(255,255,255,.14);

    border: 1px solid rgba(255,255,255,.25);

    color: #ffffff;

    font-size: 9px;

    font-weight: 900;

    letter-spacing: .04em;
}


/* =========================================================
   CARD CONTENT
========================================================= */

.mg-problem-card h3 {

    margin: 2px 0 8px;

    color: #ffffff;

    font-size: 16px;

    font-weight: 800;

    line-height: 1.2;
}


.mg-problem-card p {

    margin: 0;

    color: rgba(255,255,255,.78);

    font-size: 11px;

    line-height: 1.55;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1050px) {

    .mg-problem-container {

        grid-template-columns: 1fr;

        gap: 50px;
    }

    .mg-property-gallery {

        max-width: 850px;

        width: 100%;

        margin: 0 auto;
    }

    .mg-problem-content {

        max-width: 850px;

        width: 100%;

        margin: 0 auto;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 650px) {

    .mg-problem-section {

        padding: 75px 0;
    }

    .mg-problem-container {

        width: calc(100% - 28px);

        gap: 40px;
    }


    /* Gallery */

    .mg-gallery-grid {

        grid-template-columns: 1fr 1fr;

        grid-template-rows:
            145px
            110px
            110px
            110px;

        gap: 9px;
    }


    .mg-gallery-large {

        grid-column: 1 / 3;

        grid-row: 1;

        height: auto;
    }


    .mg-gallery-grid
    .mg-gallery-card:nth-child(2) {

        grid-column: 1;

        grid-row: 2;
    }


    .mg-gallery-grid
    .mg-gallery-card:nth-child(3) {

        grid-column: 2;

        grid-row: 2;
    }


    .mg-gallery-grid
    .mg-gallery-card:nth-child(4) {

        grid-column: 1;

        grid-row: 3;
    }


    .mg-gallery-grid
    .mg-gallery-card:nth-child(5) {

        grid-column: 2;

        grid-row: 3;
    }


    .mg-gallery-grid
    .mg-gallery-card:nth-child(6) {

        grid-column: 1;

        grid-row: 4;
    }


    .mg-gallery-grid
    .mg-gallery-card:nth-child(7) {

        grid-column: 2;

        grid-row: 4;
    }


    .mg-gallery-grid
    .mg-gallery-card:nth-child(8) {

        display: none;
    }


    /* Heading */

    .mg-problem-content h2 {

        font-size: 38px;
    }


    .mg-problem-intro {

        font-size: 14px;
    }


    /* Cards */

    .mg-problem-cards {

        grid-template-columns: 1fr;

        gap: 10px;
    }


    .mg-problem-card {

        min-height: 130px;
    }
}

/* =========================================
   SECTION 3 — THE GROWTH ENGINE
========================================= */

.mg-growth-engine {
    position: relative;
    width: 100%;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 50% 35%,
            rgba(37, 87, 165, 0.55),
            transparent 45%
        ),
        linear-gradient(
            135deg,
            #061b45 0%,
            #09286b 45%,
            #061b45 100%
        );
    padding: 105px 0 80px;
    color: #ffffff;
}


/* Background glow */

.mg-growth-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.55;
    background:
        radial-gradient(
            circle at 12% 55%,
            rgba(0, 128, 255, 0.30),
            transparent 25%
        ),
        radial-gradient(
            circle at 88% 50%,
            rgba(255, 45, 80, 0.22),
            transparent 25%
        );
}


/* Container */

.mg-growth-container {
    position: relative;
    z-index: 2;
    width: min(1800px, 94%);
    margin: 0 auto;
}


/* =========================================
   HEADING
========================================= */

.mg-growth-heading {
    text-align: center;
    max-width: 1100px;
    margin: 0 auto 65px;
}

.mg-growth-eyebrow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;

    color: #ffffff;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 4px;
    margin-bottom: 22px;
}

.mg-growth-eyebrow span {
    width: 56px;
    height: 3px;
    background: #e62c3b;
    display: inline-block;
}


.mg-growth-heading h2 {
    margin: 0;
    font-size: clamp(38px, 4vw, 68px);
    line-height: 1.05;
    font-weight: 800;
    letter-spacing: -2px;
}

.mg-growth-heading h2 strong {
    color: #e62c3b;
}


.mg-growth-heading p {
    max-width: 850px;
    margin: 25px auto 0;

    font-size: 20px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.86);
}


/* =========================================
   GROWTH JOURNEY
========================================= */

.mg-growth-journey {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
}


/* =========================================
   INDIVIDUAL STEP
========================================= */

.mg-growth-step {
    position: relative;
    width: 245px;
    min-width: 245px;

    border-radius: 22px;

    overflow: visible;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.mg-growth-step:hover {
    transform: translateY(-8px);
}


/* =========================================
   IMAGE
========================================= */

.mg-growth-image {
    position: relative;
    width: 100%;
    height: 185px;

    overflow: hidden;

    border-radius: 20px 20px 0 0;

    border: 2px solid rgba(255, 255, 255, 0.35);
    border-bottom: none;

    background: #ffffff;
}

.mg-growth-image::after {
    content: "";
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(0, 0, 0, 0.02),
            rgba(0, 0, 0, 0.30)
        );

    pointer-events: none;
}

.mg-growth-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform 0.45s ease;
}

.mg-growth-step:hover .mg-growth-image img {
    transform: scale(1.07);
}


/* =========================================
   ICON
========================================= */

.mg-growth-icon {
    position: absolute;

    top: -48px;
    left: 50%;

    transform: translateX(-50%);

    width: 76px;
    height: 76px;

    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    z-index: 5;

    color: #ffffff;

    font-size: 27px;
    font-weight: 900;

    border: 3px solid rgba(255, 255, 255, 0.9);

    box-shadow:
        0 0 25px rgba(255, 255, 255, 0.35),
        0 8px 25px rgba(0, 0, 0, 0.30);
}


/* Individual icon colors */

.mg-step-visibility .mg-growth-icon {
    background:
        linear-gradient(135deg, #1779ff, #0753c7);
}

.mg-step-demand .mg-growth-icon {
    background:
        linear-gradient(135deg, #ff3b57, #c71938);
}

.mg-step-conversion .mg-growth-icon {
    background:
        linear-gradient(135deg, #8b3cff, #5120bd);
}

.mg-step-booking .mg-growth-icon {
    background:
        linear-gradient(135deg, #19d98a, #009c67);
}

.mg-step-revenue .mg-growth-icon {
    background:
        linear-gradient(135deg, #ffad22, #e56b00);
}

.mg-step-growth .mg-growth-icon {
    background:
        linear-gradient(135deg, #ff385c, #d91f45);
}


/* =========================================
   TEXT CARD
========================================= */

.mg-growth-card {
    min-height: 170px;

    padding: 24px 20px 26px;

    text-align: center;

    border-radius: 0 0 20px 20px;

    border: 2px solid rgba(255, 255, 255, 0.18);
    border-top: none;

    background: rgba(7, 25, 64, 0.92);

    backdrop-filter: blur(10px);

    box-shadow:
        0 15px 35px rgba(0, 0, 0, 0.25);
}


/* Card gradients */

.mg-step-visibility .mg-growth-card {
    background:
        linear-gradient(
            180deg,
            rgba(14, 88, 188, 0.96),
            rgba(6, 50, 119, 0.98)
        );
}

.mg-step-demand .mg-growth-card {
    background:
        linear-gradient(
            180deg,
            rgba(183, 30, 67, 0.95),
            rgba(49, 19, 57, 0.98)
        );
}

.mg-step-conversion .mg-growth-card {
    background:
        linear-gradient(
            180deg,
            rgba(76, 37, 183, 0.96),
            rgba(28, 22, 91, 0.98)
        );
}

.mg-step-booking .mg-growth-card {
    background:
        linear-gradient(
            180deg,
            rgba(0, 129, 105, 0.96),
            rgba(0, 75, 72, 0.98)
        );
}

.mg-step-revenue .mg-growth-card {
    background:
        linear-gradient(
            180deg,
            rgba(182, 89, 8, 0.96),
            rgba(81, 44, 8, 0.98)
        );
}

.mg-step-growth .mg-growth-card {
    background:
        linear-gradient(
            180deg,
            rgba(183, 30, 67, 0.96),
            rgba(65, 17, 48, 0.98)
        );
}


.mg-growth-card h3 {
    margin: 0 0 13px;

    color: #ffffff;

    font-size: 20px;
    font-weight: 900;

    letter-spacing: 0.5px;
}


.mg-growth-card p {
    margin: 0;

    color: rgba(255, 255, 255, 0.92);

    font-size: 16px;
    line-height: 1.5;
}


/* =========================================
   ARROWS
========================================= */

.mg-growth-arrow {
    flex: 0 0 34px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #ffffff;

    font-size: 40px;
    font-weight: 700;

    text-shadow:
        0 0 12px rgba(75, 170, 255, 0.9);

    margin-top: 50px;
}

.mg-growth-arrow span {
    display: inline-block;

    animation: mgArrowPulse 2s ease-in-out infinite;
}

@keyframes mgArrowPulse {
    0%,
    100% {
        transform: translateX(0);
        opacity: 0.75;
    }

    50% {
        transform: translateX(5px);
        opacity: 1;
    }
}


/* =========================================
   BOTTOM MESSAGE
========================================= */

.mg-growth-bottom {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 18px;

    margin-top: 65px;

    color: #ffffff;

    font-size: 16px;
    letter-spacing: 3px;
}

.mg-growth-bottom span {
    width: 105px;
    height: 1px;

    background: rgba(255, 255, 255, 0.75);
}

.mg-growth-bottom strong {
    font-weight: 800;
}

.mg-growth-bottom b {
    color: #e62c3b;
    font-size: 20px;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1450px) {

    .mg-growth-container {
        width: 96%;
    }

    .mg-growth-journey {
        gap: 6px;
    }

    .mg-growth-step {
        width: 205px;
        min-width: 205px;
    }

    .mg-growth-arrow {
        flex-basis: 27px;
        font-size: 32px;
    }

    .mg-growth-image {
        height: 165px;
    }

    .mg-growth-card {
        min-height: 175px;
        padding: 22px 16px;
    }

    .mg-growth-card h3 {
        font-size: 18px;
    }

    .mg-growth-card p {
        font-size: 15px;
    }

}


/* =========================================
   TABLET / SMALL LAPTOP
========================================= */

@media (max-width: 1150px) {

    .mg-growth-engine {
        padding: 90px 0 70px;
    }

    .mg-growth-heading {
        margin-bottom: 80px;
    }

    .mg-growth-journey {
        display: grid;

        grid-template-columns:
            repeat(3, minmax(210px, 1fr));

        gap: 70px 25px;
    }

    .mg-growth-step {
        width: 100%;
        min-width: 0;
    }

    .mg-growth-arrow {
        display: none;
    }

    .mg-growth-bottom {
        margin-top: 70px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 700px) {

    .mg-growth-engine {
        padding: 75px 0 55px;
    }

    .mg-growth-container {
        width: 92%;
    }

    .mg-growth-eyebrow {
        font-size: 12px;
        letter-spacing: 2.5px;
    }

    .mg-growth-eyebrow span {
        width: 35px;
    }

    .mg-growth-heading {
        margin-bottom: 70px;
    }

    .mg-growth-heading h2 {
        font-size: 36px;
        line-height: 1.08;
        letter-spacing: -1px;
    }

    .mg-growth-heading h2 br {
        display: none;
    }

    .mg-growth-heading p {
        font-size: 16px;
        line-height: 1.55;
    }

    .mg-growth-journey {
        display: flex;
        flex-direction: column;

        gap: 65px;
    }

    .mg-growth-step {
        width: 100%;
        max-width: 370px;
        margin: 0 auto;
    }

    .mg-growth-image {
        height: 210px;
    }

    .mg-growth-card {
        min-height: auto;
        padding: 25px 22px 28px;
    }

    .mg-growth-card h3 {
        font-size: 20px;
    }

    .mg-growth-card p {
        font-size: 16px;
    }

    .mg-growth-bottom {
        flex-wrap: wrap;
        gap: 10px;

        margin-top: 65px;

        font-size: 12px;
        letter-spacing: 1.5px;
    }

    .mg-growth-bottom span {
        display: none;
    }

}


/* =========================================
   VERY SMALL MOBILE
========================================= */

@media (max-width: 400px) {

    .mg-growth-heading h2 {
        font-size: 31px;
    }

    .mg-growth-image {
        height: 185px;
    }

    .mg-growth-icon {
        width: 68px;
        height: 68px;
        font-size: 23px;
    }

}

/* =========================================================
   SECTION 4 — MARKETING & VISIBILITY
   GrowMyRental
========================================================= */

.mg-visibility-section {
    position: relative;
    width: 100%;
    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #f8fbff 0%,
            #edf5ff 52%,
            #ffffff 100%
        );

    padding: 90px 0 70px;

    color: #09286b;
}


/* =========================================================
   CONTAINER
========================================================= */

.mg-visibility-container {
    position: relative;
    z-index: 2;

    width: min(1800px, 94%);

    margin: 0 auto;
}


/* =========================================================
   TOP AREA
========================================================= */

.mg-visibility-top {
    position: relative;

    min-height: 450px;

    display: flex;
    align-items: flex-start;
}


/* =========================================================
   INTRO
========================================================= */

.mg-visibility-intro {
    position: relative;
    z-index: 5;

    width: 53%;

    padding-top: 5px;
}


.mg-visibility-eyebrow {
    display: flex;
    align-items: center;

    gap: 15px;

    margin-bottom: 22px;

    color: #09286b;

    font-size: 15px;
    font-weight: 900;

    letter-spacing: 4px;
}


.mg-visibility-eyebrow span {
    display: inline-block;

    width: 58px;
    height: 3px;

    background: #e62c3b;
}


.mg-visibility-intro h2 {
    max-width: 850px;

    margin: 0;

    color: #09286b;

    font-size: clamp(43px, 4.1vw, 70px);

    line-height: 1.02;

    font-weight: 850;

    letter-spacing: -2.5px;
}


.mg-visibility-intro h2 strong {
    color: #e62c3b;
}


.mg-visibility-intro p {
    max-width: 780px;

    margin: 26px 0 0;

    color: #29466f;

    font-size: 19px;

    line-height: 1.55;
}


/* =========================================================
   PROPERTY IMAGE
========================================================= */

.mg-visibility-property {
    position: absolute;

    top: -90px;
    right: -2%;

    width: 53%;
    height: 465px;

    overflow: hidden;

    border-radius:
        0
        0
        0
        170px;

    z-index: 1;

    box-shadow:
        -20px 20px 60px rgba(9, 40, 107, 0.10);
}


.mg-visibility-property::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            #f8fbff 0%,
            rgba(248, 251, 255, 0.88) 7%,
            rgba(248, 251, 255, 0.35) 24%,
            rgba(248, 251, 255, 0.05) 48%,
            rgba(0, 0, 0, 0.03) 100%
        );

    pointer-events: none;
}


.mg-visibility-property img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position: center;

    transform: scale(1.01);
}


/* =========================================================
   HANDWRITTEN NOTE
========================================================= */

.mg-visibility-hand-note {
    position: absolute;

    top: 72px;
    left: 14%;

    z-index: 5;

    color: #09286b;

    font-family:
        "Segoe Print",
        "Comic Sans MS",
        cursive;

    font-size: 29px;

    line-height: 1.08;

    text-align: center;

    transform: rotate(-6deg);
}


.mg-visibility-hand-note span {
    display: block;

    width: 145px;
    height: 4px;

    margin: 12px auto 0;

    background: #e62c3b;

    border-radius: 50%;

    transform: rotate(-4deg);
}


/* =========================================================
   CARD GRID
========================================================= */

.mg-visibility-grid {
    position: relative;
    z-index: 10;

    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 20px;

    margin-top: 5px;
}


/* =========================================================
   BASE CARD
========================================================= */

.mg-visibility-card {
    position: relative;

    min-height: 355px;

    display: flex;
    flex-direction: column;

    padding: 27px 25px 22px;

    overflow: hidden;

    border-radius: 24px;

    color: #ffffff;

    border: 1px solid rgba(255, 255, 255, 0.32);

    box-shadow:
        0 20px 45px rgba(9, 40, 107, 0.18);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


.mg-visibility-card:hover {
    transform: translateY(-8px);

    box-shadow:
        0 30px 60px rgba(9, 40, 107, 0.28);
}


/* Decorative glow */

.mg-visibility-card::before {
    content: "";

    position: absolute;

    width: 220px;
    height: 220px;

    top: -130px;
    right: -90px;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.10);

    filter: blur(4px);

    pointer-events: none;
}


.mg-visibility-card::after {
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    height: 90px;

    background:
        linear-gradient(
            180deg,
            transparent,
            rgba(0, 0, 0, 0.12)
        );

    pointer-events: none;
}


/* =========================================================
   CARD COLORS
========================================================= */

.mg-card-ota {
    background:
        linear-gradient(
            145deg,
            #126cde 0%,
            #0a3c9a 48%,
            #09286b 100%
        );
}


.mg-card-google {
    background:
        linear-gradient(
            145deg,
            #5a3ad0 0%,
            #34219d 50%,
            #17135e 100%
        );
}


.mg-card-social {
    background:
        linear-gradient(
            145deg,
            #079d82 0%,
            #007565 50%,
            #064d58 100%
        );
}


.mg-card-ads {
    background:
        linear-gradient(
            145deg,
            #d8790a 0%,
            #a34e08 48%,
            #653306 100%
        );
}


/* =========================================================
   CARD TOP
========================================================= */

.mg-card-top {
    position: relative;
    z-index: 3;

    display: flex;
    align-items: center;

    gap: 14px;

    margin-bottom: 22px;
}


.mg-card-icon {
    flex: 0 0 58px;

    width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    color: #ffffff;

    font-size: 27px;
    font-weight: 900;

    border: 3px solid rgba(255, 255, 255, 0.95);

    box-shadow:
        0 7px 20px rgba(0, 0, 0, 0.24);
}


.mg-card-ota .mg-card-icon {
    background:
        linear-gradient(
            135deg,
            #ff385c,
            #d51d3d
        );
}


.mg-card-google .mg-card-icon {
    background:
        linear-gradient(
            135deg,
            #247cff,
            #0750c4
        );
}


.mg-card-social .mg-card-icon {
    background:
        linear-gradient(
            135deg,
            #ff42a0,
            #c41770
        );
}


.mg-card-ads .mg-card-icon {
    background:
        linear-gradient(
            135deg,
            #ffb529,
            #eb7300
        );
}


.mg-card-label {
    color: rgba(255, 255, 255, 0.75);

    font-size: 11px;
    font-weight: 900;

    letter-spacing: 2px;
}


/* =========================================================
   CARD HEADINGS
========================================================= */

.mg-visibility-card h3 {
    position: relative;
    z-index: 3;

    margin: 0 0 6px;

    color: #ffffff;

    font-size: 27px;

    line-height: 1.02;

    font-weight: 900;

    letter-spacing: -0.5px;
}


.mg-card-subtitle {
    position: relative;
    z-index: 3;

    margin-bottom: 17px;

    color: rgba(255, 255, 255, 0.92);

    font-size: 14px;

    line-height: 1.3;

    font-weight: 700;
}


/* =========================================================
   CARD DESCRIPTION
========================================================= */

.mg-visibility-card p {
    position: relative;
    z-index: 3;

    margin: 0;

    max-width: 100%;

    color: rgba(255, 255, 255, 0.90);

    font-size: 14px;

    line-height: 1.52;
}


/* =========================================================
   PLATFORM STRIP
========================================================= */

.mg-card-platforms {
    position: relative;
    z-index: 3;

    display: flex;
    flex-wrap: wrap;

    gap: 7px;

    margin-top: auto;

    padding-top: 19px;
}


.mg-card-platforms span {
    padding: 7px 10px;

    background: rgba(255, 255, 255, 0.94);

    color: #09286b;

    border-radius: 7px;

    font-size: 10px;

    font-weight: 800;

    box-shadow:
        0 5px 14px rgba(0, 0, 0, 0.12);
}


.mg-card-platforms .mg-platform-airbnb {
    color: #e62c3b;
}


/* =========================================================
   GOOGLE STRIP
========================================================= */

.mg-google-strip {
    position: relative;
    z-index: 3;

    display: flex;
    align-items: center;

    gap: 12px;

    margin-top: auto;
    padding-top: 19px;
}


.mg-google-g {
    width: 43px;
    height: 43px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 43px;

    border-radius: 9px;

    background: #ffffff;

    color: #4285f4;

    font-size: 23px;
    font-weight: 900;

    box-shadow:
        0 5px 15px rgba(0, 0, 0, 0.16);
}


.mg-google-strip div:last-child {
    display: flex;
    flex-direction: column;

    gap: 3px;
}


.mg-google-strip strong {
    color: #ffffff;

    font-size: 12px;
}


.mg-google-strip small {
    color: rgba(255, 255, 255, 0.72);

    font-size: 10px;
}


/* =========================================================
   SOCIAL STRIP
========================================================= */

.mg-social-strip {
    position: relative;
    z-index: 3;

    display: flex;
    align-items: center;

    gap: 11px;

    margin-top: auto;
    padding-top: 19px;
}


.mg-social-thumb {
    width: 49px;
    height: 49px;

    flex: 0 0 49px;

    overflow: hidden;

    border-radius: 9px;

    border: 2px solid rgba(255, 255, 255, 0.85);

    background: #ffffff;
}


.mg-social-thumb img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.mg-social-info {
    display: flex;
    flex-direction: column;

    gap: 4px;
}


.mg-social-info strong {
    color: #ffffff;

    font-size: 12px;
}


.mg-social-info small {
    color: rgba(255, 255, 255, 0.72);

    font-size: 10px;
}


/* =========================================================
   AD STRIP
========================================================= */

.mg-ad-strip {
    position: relative;
    z-index: 3;

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 9px;

    margin-top: auto;
    padding-top: 19px;
}


.mg-ad-box {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 4px;

    min-height: 48px;

    padding: 8px;

    border-radius: 9px;

    background: rgba(255, 255, 255, 0.95);

    color: #09286b;

    box-shadow:
        0 5px 15px rgba(0, 0, 0, 0.16);

    font-size: 11px;
}


.mg-ad-box strong {
    font-size: 13px;
}


.mg-ad-box small {
    font-size: 9px;
}


/* =========================================================
   CARD CTA
========================================================= */

.mg-card-link {
    position: relative;
    z-index: 4;

    display: inline-flex;
    align-items: center;

    align-self: flex-start;

    gap: 12px;

    margin-top: 17px;

    padding-bottom: 5px;

    border-bottom: 1px solid rgba(255, 255, 255, 0.65);

    color: #ffffff;

    font-size: 13px;

    font-weight: 900;

    text-decoration: none;
}


.mg-card-link span {
    font-size: 20px;

    transition:
        transform 0.25s ease;
}


.mg-card-link:hover span {
    transform: translateX(5px);
}


/* =========================================================
   BOTTOM MESSAGE
========================================================= */

.mg-visibility-bottom {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 17px;

    margin-top: 43px;

    color: #09286b;

    font-size: 14px;

    letter-spacing: 2.5px;
}


.mg-visibility-bottom span {
    width: 95px;
    height: 1px;

    background: #09286b;

    opacity: 0.45;
}


.mg-visibility-bottom b {
    color: #e62c3b;

    font-size: 19px;
}


/* =========================================================
   LARGE SCREEN
========================================================= */

@media (min-width: 1600px) {

    .mg-visibility-card {
        min-height: 370px;

        padding: 30px 27px 24px;
    }

    .mg-visibility-card h3 {
        font-size: 29px;
    }

    .mg-visibility-card p {
        font-size: 15px;
    }

}


/* =========================================================
   LAPTOP
========================================================= */

@media (max-width: 1350px) {

    .mg-visibility-container {
        width: 95%;
    }

    .mg-visibility-intro {
        width: 51%;
    }

    .mg-visibility-intro h2 {
        font-size: clamp(40px, 4vw, 60px);
    }

    .mg-visibility-property {
        width: 55%;
    }

    .mg-visibility-grid {
        gap: 15px;
    }

    .mg-visibility-card {
        padding-left: 21px;
        padding-right: 21px;
    }

    .mg-card-label {
        font-size: 9px;
        letter-spacing: 1.5px;
    }

    .mg-visibility-card h3 {
        font-size: 23px;
    }

    .mg-visibility-card p {
        font-size: 13px;
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .mg-visibility-section {
        padding: 80px 0 65px;
    }

    .mg-visibility-top {
        min-height: auto;

        display: flex;
        flex-direction: column;
    }

    .mg-visibility-intro {
        width: 100%;
    }

    .mg-visibility-property {
        position: relative;

        top: auto;
        right: auto;

        width: 100%;
        height: 390px;

        margin-top: 40px;

        border-radius: 24px;
    }

    .mg-visibility-property::after {
        background:
            linear-gradient(
                90deg,
                rgba(248, 251, 255, 0.05),
                rgba(248, 251, 255, 0)
            );
    }

    .mg-visibility-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        margin-top: 25px;

        gap: 18px;
    }

    .mg-visibility-card {
        min-height: 350px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .mg-visibility-section {
        padding: 70px 0 55px;
    }

    .mg-visibility-container {
        width: 92%;
    }

    .mg-visibility-eyebrow {
        gap: 10px;

        font-size: 11px;

        letter-spacing: 2.2px;
    }

    .mg-visibility-eyebrow span {
        width: 34px;
    }

    .mg-visibility-intro h2 {
        font-size: 36px;

        line-height: 1.06;

        letter-spacing: -1px;
    }

    .mg-visibility-intro p {
        margin-top: 20px;

        font-size: 16px;

        line-height: 1.55;
    }

    .mg-visibility-property {
        height: 280px;

        margin-top: 30px;

        border-radius: 20px;
    }

    .mg-visibility-hand-note {
        top: 48px;
        left: 9%;

        font-size: 21px;
    }

    .mg-visibility-hand-note span {
        width: 100px;
    }

    .mg-visibility-grid {
        grid-template-columns: 1fr;

        gap: 18px;

        margin-top: 18px;
    }

    .mg-visibility-card {
        min-height: 345px;

        padding: 26px 23px 22px;
    }

    .mg-visibility-card h3 {
        font-size: 27px;
    }

    .mg-visibility-card p {
        font-size: 14px;
    }

    .mg-visibility-bottom {
        flex-wrap: wrap;

        gap: 8px;

        margin-top: 38px;

        font-size: 10px;

        letter-spacing: 1.2px;
    }

    .mg-visibility-bottom span {
        display: none;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 420px) {

    .mg-visibility-intro h2 {
        font-size: 32px;
    }

    .mg-visibility-property {
        height: 235px;
    }

    .mg-visibility-hand-note {
        font-size: 18px;
    }

    .mg-visibility-card {
        min-height: 340px;
    }

    .mg-card-icon {
        width: 53px;
        height: 53px;

        flex-basis: 53px;

        font-size: 24px;
    }

    .mg-card-top {
        margin-bottom: 19px;
    }

}


/* =========================================================
   SECTION 5 — DIRECT BOOKING
   GrowMyRental
========================================================= */

.mg-direct-booking {
    position: relative;
    width: 100%;
    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #f8fbff 0%,
            #edf5ff 50%,
            #ffffff 100%
        );

    padding: 95px 0 75px;

    color: #09286b;
}


/* =========================================================
   CONTAINER
========================================================= */

.mg-direct-container {
    position: relative;

    width: min(1800px, 94%);

    margin: 0 auto;
}


/* =========================================================
   INTRO
========================================================= */

.mg-direct-intro {
    position: relative;
    z-index: 5;

    width: 56%;

    min-height: 310px;

    padding-top: 5px;
}


.mg-direct-eyebrow {
    display: flex;
    align-items: center;

    gap: 15px;

    margin-bottom: 22px;

    color: #09286b;

    font-size: 15px;
    font-weight: 900;

    letter-spacing: 4px;
}


.mg-direct-eyebrow span {
    width: 58px;
    height: 3px;

    display: inline-block;

    background: #e62c3b;
}


.mg-direct-intro h2 {
    max-width: 950px;

    margin: 0;

    color: #09286b;

    font-size: clamp(42px, 4vw, 68px);

    line-height: 1.03;

    font-weight: 850;

    letter-spacing: -2.5px;
}


.mg-direct-intro h2 strong {
    color: #e62c3b;
}


.mg-direct-intro p {
    max-width: 800px;

    margin: 25px 0 0;

    color: #29466f;

    font-size: 19px;

    line-height: 1.55;
}


/* =========================================================
   PROPERTY IMAGE
========================================================= */

.mg-direct-property {
    position: absolute;

    top: -95px;
    right: -2%;

    width: 50%;
    height: 410px;

    overflow: hidden;

    border-radius:
        0
        0
        0
        175px;

    z-index: 1;
}


.mg-direct-property::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            #f8fbff 0%,
            rgba(248, 251, 255, 0.90) 8%,
            rgba(248, 251, 255, 0.42) 28%,
            rgba(248, 251, 255, 0.08) 60%,
            rgba(0, 0, 0, 0.03) 100%
        );

    pointer-events: none;
}


.mg-direct-property img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position: center;
}


/* =========================================================
   DIRECT BOOKING VISUAL AREA
========================================================= */

.mg-direct-visual-area {
    position: relative;

    z-index: 10;

    width: 62%;

    min-height: 330px;

    margin-top: -20px;

    display: flex;
    align-items: flex-end;

    padding-bottom: 10px;
}


/* =========================================================
   LAPTOP
========================================================= */

.mg-direct-laptop {
    position: relative;

    width: 78%;

    margin-left: 3%;

    z-index: 3;

    filter:
        drop-shadow(
            0 25px 30px rgba(9, 40, 107, 0.22)
        );
}


.mg-direct-laptop::after {
    content: "";

    display: block;

    width: 108%;

    height: 15px;

    margin-left: -4%;

    border-radius: 50%;

    background:
        linear-gradient(
            180deg,
            #e0e5eb,
            #aeb7c3
        );

    box-shadow:
        0 8px 12px rgba(0, 0, 0, 0.18);
}


.mg-laptop-screen {
    width: 100%;

    aspect-ratio: 16 / 9;

    padding: 8px;

    border-radius: 14px 14px 5px 5px;

    background:
        linear-gradient(
            145deg,
            #3c434d,
            #11151b
        );

    box-shadow:
        inset 0 0 0 2px #69727e;
}


/* =========================================================
   BROWSER
========================================================= */

.mg-site-browser {
    display: flex;
    align-items: center;
    justify-content: space-between;

    height: 42px;

    padding: 0 13px;

    background: #ffffff;

    color: #09286b;
}


.mg-site-brand {
    display: flex;
    align-items: center;

    gap: 6px;

    font-size: 13px;
    font-weight: 900;
}


.mg-site-brand span {
    color: #e62c3b;

    font-size: 18px;
}


.mg-site-nav {
    display: flex;
    align-items: center;

    gap: 15px;

    font-size: 8px;

    font-weight: 700;
}


.mg-site-nav button {
    border: none;

    padding: 7px 10px;

    border-radius: 5px;

    background: #e62c3b;

    color: #ffffff;

    font-size: 8px;

    font-weight: 800;
}


/* =========================================================
   WEBSITE HERO
========================================================= */

.mg-site-hero {
    position: relative;

    height: calc(100% - 42px);

    overflow: hidden;

    background:
        linear-gradient(
            90deg,
            rgba(3, 25, 65, 0.78),
            rgba(3, 25, 65, 0.16)
        ),
        url("../images/mg-hero-property.webp")
        center / cover no-repeat;
}


.mg-site-hero-content {
    position: absolute;

    top: 16%;
    left: 7%;

    color: #ffffff;
}


.mg-site-hero-content > small {
    font-size: 7px;

    font-weight: 800;

    letter-spacing: 1.3px;
}


.mg-site-hero-content h3 {
    margin: 8px 0 14px;

    font-size: clamp(22px, 2.1vw, 34px);

    line-height: 1.02;

    font-weight: 900;
}


/* =========================================================
   BOOKING SEARCH
========================================================= */

.mg-site-search {
    display: flex;
    align-items: center;

    gap: 5px;

    padding: 7px;

    background: rgba(255, 255, 255, 0.96);

    border-radius: 6px;

    color: #09286b;
}


.mg-site-search > div {
    display: flex;
    flex-direction: column;

    min-width: 55px;

    padding: 3px 5px;
}


.mg-site-search small {
    font-size: 6px;

    color: #68758a;
}


.mg-site-search strong {
    font-size: 7px;
}


.mg-site-search button {
    border: none;

    padding: 9px 10px;

    border-radius: 5px;

    background: #e62c3b;

    color: #ffffff;

    font-size: 7px;

    font-weight: 800;
}


/* =========================================================
   PHONE
========================================================= */

.mg-direct-phone {
    position: absolute;

    left: 72%;

    bottom: 12px;

    width: 145px;

    padding: 7px;

    border-radius: 20px;

    background:
        linear-gradient(
            145deg,
            #303741,
            #0e1217
        );

    border: 2px solid #747c87;

    box-shadow:
        0 20px 30px rgba(0, 0, 0, 0.25);

    z-index: 8;
}


.mg-phone-screen {
    overflow: hidden;

    min-height: 235px;

    padding: 9px;

    border-radius: 14px;

    background: #ffffff;

    color: #09286b;

    text-align: center;
}


.mg-phone-brand {
    margin-bottom: 8px;

    font-size: 9px;

    font-weight: 900;
}


.mg-phone-image {
    height: 110px;

    border-radius: 8px;

    background:
        url("../images/mg-hero-property.webp")
        center / cover no-repeat;
}


.mg-phone-screen h4 {
    margin: 9px 0 4px;

    font-size: 10px;

    line-height: 1.2;
}


.mg-phone-screen p {
    margin: 0 0 8px;

    color: #63718a;

    font-size: 7px;
}


.mg-phone-screen button {
    width: 100%;

    border: none;

    padding: 7px;

    border-radius: 5px;

    background: #e62c3b;

    color: #ffffff;

    font-size: 8px;

    font-weight: 800;
}


/* =========================================================
   HANDWRITTEN NOTE
========================================================= */

.mg-direct-note {
    position: absolute;

    top: 18px;
    left: 74%;

    z-index: 12;

    width: 180px;

    color: #09286b;

    font-family:
        "Segoe Print",
        "Comic Sans MS",
        cursive;

    font-size: 20px;

    line-height: 1.08;

    text-align: center;

    transform: rotate(-5deg);

    pointer-events: none;
}


.mg-note-line-one,
.mg-note-line-two {
    display: block;
}


.mg-direct-note i {
    display: block;

    width: 125px;
    height: 3px;

    margin: 8px auto 0;

    background: #e62c3b;

    border-radius: 50%;

    transform: rotate(-4deg);
}


/* =========================================================
   BENEFIT CARDS
========================================================= */

.mg-direct-grid {
    position: relative;

    z-index: 20;

    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 20px;

    margin-top: 25px;
}


/* =========================================================
   CARD
========================================================= */

.mg-direct-card {
    position: relative;

    min-height: 295px;

    display: flex;
    flex-direction: column;

    padding: 27px 25px 22px;

    overflow: hidden;

    border-radius: 23px;

    color: #ffffff;

    border: 1px solid rgba(255, 255, 255, 0.28);

    box-shadow:
        0 20px 40px rgba(9, 40, 107, 0.18);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


.mg-direct-card:hover {
    transform: translateY(-7px);

    box-shadow:
        0 30px 55px rgba(9, 40, 107, 0.28);
}


/* Decorative glow */

.mg-direct-card::before {
    content: "";

    position: absolute;

    width: 190px;
    height: 190px;

    top: -100px;
    right: -75px;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.12);
}


/* =========================================================
   CARD COLORS
========================================================= */

.mg-direct-card-blue {
    background:
        linear-gradient(
            145deg,
            #126cde,
            #0a3c9a 55%,
            #09286b
        );
}


.mg-direct-card-purple {
    background:
        linear-gradient(
            145deg,
            #6436d5,
            #3920a0 55%,
            #1b145e
        );
}


.mg-direct-card-green {
    background:
        linear-gradient(
            145deg,
            #079d82,
            #007363 55%,
            #064b57
        );
}


.mg-direct-card-orange {
    background:
        linear-gradient(
            145deg,
            #dc7b0d,
            #a64e07 55%,
            #653205
        );
}


/* =========================================================
   CARD TOP
========================================================= */

.mg-direct-card-top {
    position: relative;
    z-index: 3;

    display: flex;
    align-items: center;

    gap: 13px;

    margin-bottom: 20px;
}


.mg-direct-icon {
    width: 57px;
    height: 57px;

    flex: 0 0 57px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    color: #ffffff;

    font-size: 24px;
    font-weight: 900;

    border: 3px solid rgba(255, 255, 255, 0.95);

    box-shadow:
        0 7px 20px rgba(0, 0, 0, 0.22);
}


.mg-direct-card-blue .mg-direct-icon {
    background:
        linear-gradient(
            135deg,
            #3d92ff,
            #0861db
        );
}


.mg-direct-card-purple .mg-direct-icon {
    background:
        linear-gradient(
            135deg,
            #ff49c0,
            #c61a88
        );
}


.mg-direct-card-green .mg-direct-icon {
    background:
        linear-gradient(
            135deg,
            #31e2a0,
            #079b73
        );
}


.mg-direct-card-orange .mg-direct-icon {
    background:
        linear-gradient(
            135deg,
            #ffc341,
            #f17a00
        );
}


.mg-direct-label {
    color: rgba(255, 255, 255, 0.72);

    font-size: 10px;

    font-weight: 900;

    letter-spacing: 1.6px;
}


/* =========================================================
   CARD TEXT
========================================================= */

.mg-direct-card h3 {
    position: relative;
    z-index: 3;

    margin: 0 0 14px;

    color: #ffffff;

    font-size: 25px;

    line-height: 1.04;

    font-weight: 900;

    letter-spacing: -0.4px;
}


.mg-direct-card p {
    position: relative;
    z-index: 3;

    margin: 0;

    color: rgba(255, 255, 255, 0.90);

    font-size: 14px;

    line-height: 1.52;
}


/* =========================================================
   CARD BOTTOM
========================================================= */

.mg-direct-card-bottom {
    position: relative;
    z-index: 4;

    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-top: auto;

    padding-top: 20px;

    border-top: 1px solid rgba(255, 255, 255, 0.28);
}


.mg-direct-card-bottom strong {
    color: #ffffff;

    font-size: 12px;

    font-weight: 900;
}


.mg-direct-card-bottom span {
    color: #ffffff;

    font-size: 23px;

    transition:
        transform 0.25s ease;
}


.mg-direct-card:hover
.mg-direct-card-bottom span {
    transform: translateX(5px);
}


/* =========================================================
   BOTTOM MESSAGE
========================================================= */

.mg-direct-bottom {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 17px;

    margin-top: 43px;

    color: #09286b;

    font-size: 14px;

    letter-spacing: 2.5px;
}


.mg-direct-bottom span {
    width: 90px;
    height: 1px;

    background: #09286b;

    opacity: 0.45;
}


.mg-direct-bottom b {
    color: #e62c3b;

    font-size: 19px;
}


/* =========================================================
   LAPTOP — MEDIUM
========================================================= */

@media (max-width: 1350px) {

    .mg-direct-container {
        width: 95%;
    }

    .mg-direct-intro {
        width: 57%;
    }

    .mg-direct-intro h2 {
        font-size: clamp(39px, 4vw, 60px);
    }

    .mg-direct-property {
        width: 51%;
    }

    .mg-direct-visual-area {
        width: 64%;

        min-height: 310px;
    }

    .mg-direct-laptop {
        width: 76%;
    }

    .mg-direct-phone {
        left: 70%;

        width: 132px;
    }

    .mg-direct-note {
        left: 70%;

        width: 165px;

        font-size: 18px;
    }

    .mg-direct-grid {
        gap: 15px;
    }

    .mg-direct-card {
        padding-left: 21px;
        padding-right: 21px;
    }

    .mg-direct-card h3 {
        font-size: 22px;
    }

    .mg-direct-card p {
        font-size: 13px;
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .mg-direct-booking {
        padding: 80px 0 65px;
    }

    .mg-direct-intro {
        width: 100%;

        min-height: auto;
    }

    .mg-direct-property {
        position: relative;

        top: auto;
        right: auto;

        width: 100%;
        height: 350px;

        margin-top: 35px;

        border-radius: 24px;
    }

    .mg-direct-visual-area {
        width: 88%;

        min-height: 310px;

        margin: 45px auto 0;
    }

    .mg-direct-laptop {
        width: 78%;

        margin-left: 0;
    }

    .mg-direct-phone {
        left: 72%;
        bottom: 0;
    }

    .mg-direct-note {
        left: 69%;
        top: -5px;
    }

    .mg-direct-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 18px;

        margin-top: 35px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .mg-direct-booking {
        padding: 70px 0 55px;
    }

    .mg-direct-container {
        width: 92%;
    }

    .mg-direct-eyebrow {
        gap: 10px;

        font-size: 11px;

        letter-spacing: 2.2px;
    }

    .mg-direct-eyebrow span {
        width: 34px;
    }

    .mg-direct-intro h2 {
        font-size: 36px;

        line-height: 1.06;

        letter-spacing: -1px;
    }

    .mg-direct-intro p {
        margin-top: 20px;

        font-size: 16px;

        line-height: 1.55;
    }

    .mg-direct-property {
        height: 240px;

        margin-top: 30px;

        border-radius: 20px;
    }

    .mg-direct-visual-area {
        width: 100%;

        min-height: 225px;

        margin-top: 35px;

        padding-bottom: 0;
    }

    .mg-direct-laptop {
        width: 86%;

        margin-left: 0;
    }

    .mg-direct-phone {
        left: auto;
        right: 0;

        bottom: 0;

        width: 105px;

        padding: 6px;

        border-radius: 17px;
    }

    .mg-phone-screen {
        min-height: 175px;

        padding: 7px;

        border-radius: 12px;
    }

    .mg-phone-image {
        height: 75px;
    }

    .mg-phone-screen h4 {
        font-size: 8px;
    }

    .mg-phone-screen p {
        font-size: 6px;
    }

    .mg-phone-screen button {
        padding: 6px;

        font-size: 7px;
    }

    .mg-direct-note {
        top: -25px;
        left: auto;
        right: 1%;

        width: 125px;

        font-size: 14px;
    }

    .mg-direct-note i {
        width: 85px;
    }

    .mg-direct-grid {
        grid-template-columns: 1fr;

        gap: 18px;

        margin-top: 35px;
    }

    .mg-direct-card {
        min-height: 300px;

        padding: 26px 23px 22px;
    }

    .mg-direct-card h3 {
        font-size: 27px;
    }

    .mg-direct-card p {
        font-size: 14px;
    }

    .mg-direct-bottom {
        flex-wrap: wrap;

        gap: 8px;

        margin-top: 38px;

        font-size: 10px;

        letter-spacing: 1.2px;
    }

    .mg-direct-bottom span {
        display: none;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 420px) {

    .mg-direct-intro h2 {
        font-size: 32px;
    }

    .mg-direct-property {
        height: 215px;
    }

    .mg-direct-visual-area {
        min-height: 195px;
    }

    .mg-direct-laptop {
        width: 84%;
    }

    .mg-direct-phone {
        width: 91px;
    }

    .mg-direct-note {
        font-size: 12px;

        width: 110px;
    }

    .mg-direct-card {
        min-height: 295px;
    }

    .mg-direct-icon {
        width: 52px;
        height: 52px;

        flex-basis: 52px;
    }

}

/* =========================================================
   MARKETING & GROWTH
   SECTIONS 6–14
========================================================= */


/* =========================================================
   SHARED
========================================================= */

.mg-section-container {
    position: relative;
    z-index: 2;

    width: min(1800px, 94%);

    margin: 0 auto;
}


.mg-section-eyebrow {
    display: flex;
    align-items: center;

    gap: 14px;

    margin-bottom: 20px;

    color: #09286b;

    font-size: 14px;
    font-weight: 900;

    letter-spacing: 3.5px;
}


.mg-section-eyebrow span {
    width: 55px;
    height: 3px;

    background: #e62c3b;
}


.mg-section-eyebrow.light {
    color: #ffffff;
}


.mg-section-eyebrow.light span {
    background: #e62c3b;
}


/* =========================================================
   SECTION 6 — SOCIAL MEDIA
========================================================= */

.mg-social-section {
    position: relative;

    padding: 95px 0 75px;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #ffffff,
            #edf5ff
        );
}


.mg-social-heading {
    max-width: 1000px;
}


.mg-social-heading h2,
.mg-paid-heading h2,
.mg-revenue-heading h2,
.mg-loop-heading h2,
.mg-services-heading h2,
.mg-transformation-heading h2,
.mg-results-heading h2,
.mg-why-heading h2 {
    margin: 0;

    color: #09286b;

    font-size: clamp(42px, 4.1vw, 68px);

    line-height: 1.03;

    font-weight: 850;

    letter-spacing: -2.5px;
}


.mg-social-heading h2 strong,
.mg-paid-heading h2 strong,
.mg-revenue-heading h2 strong,
.mg-loop-heading h2 strong,
.mg-services-heading h2 strong,
.mg-transformation-heading h2 strong,
.mg-results-heading h2 strong,
.mg-why-heading h2 strong {
    color: #e62c3b;
}


.mg-social-heading p,
.mg-paid-heading p,
.mg-revenue-heading p,
.mg-loop-heading p,
.mg-services-heading p,
.mg-results-heading p,
.mg-why-heading p {
    max-width: 820px;

    margin: 25px 0 0;

    color: #29466f;

    font-size: 18px;

    line-height: 1.55;
}


.mg-social-layout {
    display: grid;

    grid-template-columns: 1.1fr 1fr;

    gap: 28px;

    margin-top: 55px;

    align-items: stretch;
}


.mg-social-main-visual {
    position: relative;

    min-height: 500px;

    overflow: hidden;

    border-radius: 28px;

    box-shadow:
        0 25px 55px rgba(9, 40, 107, 0.18);
}


.mg-social-main-visual img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}


.mg-social-main-visual::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            transparent 45%,
            rgba(5, 20, 55, 0.72)
        );
}


.mg-social-floating-card {
    position: absolute;

    left: 28px;
    bottom: 28px;

    z-index: 3;

    max-width: 290px;

    padding: 20px 23px;

    border-radius: 18px;

    background:
        linear-gradient(
            135deg,
            #09286b,
            #183f8c
        );

    color: #ffffff;

    box-shadow:
        0 15px 35px rgba(0, 0, 0, 0.22);
}


.mg-social-floating-card span {
    display: block;

    margin-bottom: 7px;

    font-size: 10px;
    font-weight: 900;

    letter-spacing: 2px;

    color: #ff6673;
}


.mg-social-floating-card strong {
    font-size: 21px;

    line-height: 1.15;
}


.mg-social-services {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 18px;
}


.mg-social-service-card {
    position: relative;

    min-height: 240px;

    padding: 28px 25px;

    overflow: hidden;

    border-radius: 23px;

    color: #ffffff;

    box-shadow:
        0 18px 38px rgba(9, 40, 107, 0.17);

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}


.mg-social-service-card:hover {
    transform: translateY(-7px);

    box-shadow:
        0 28px 50px rgba(9, 40, 107, 0.24);
}


.mg-social-card-one {
    background:
        linear-gradient(145deg,#126cde,#09286b);
}


.mg-social-card-two {
    background:
        linear-gradient(145deg,#6436d5,#21145f);
}


.mg-social-card-three {
    background:
        linear-gradient(145deg,#079d82,#00575a);
}


.mg-social-card-four {
    background:
        linear-gradient(145deg,#dc790c,#713606);
}


.mg-service-number {
    display: inline-flex;

    width: 40px;
    height: 40px;

    align-items: center;
    justify-content: center;

    margin-bottom: 25px;

    border-radius: 50%;

    border: 1px solid rgba(255,255,255,.6);

    background: rgba(255,255,255,.12);

    font-size: 12px;
    font-weight: 900;
}


.mg-social-service-card h3 {
    margin: 0 0 13px;

    font-size: 23px;
    line-height: 1.05;
}


.mg-social-service-card p {
    margin: 0;

    color: rgba(255,255,255,.87);

    font-size: 14px;

    line-height: 1.5;
}


.mg-section-bottom-line {
    display: flex;

    justify-content: center;
    align-items: center;

    gap: 15px;

    margin-top: 45px;

    color: #09286b;

    font-size: 12px;

    letter-spacing: 2.5px;
}


.mg-section-bottom-line span {
    width: 80px;
    height: 1px;

    background: #09286b;

    opacity: .4;
}


.mg-section-bottom-line b {
    color: #e62c3b;
}


/* =========================================================
   SECTION 7 — PAID ADVERTISING
========================================================= */

.mg-paid-section {
    position: relative;

    overflow: hidden;

    padding: 100px 0 85px;

    background:
        linear-gradient(
            135deg,
            #061a48,
            #09286b 52%,
            #06193f
        );

    color: #ffffff;
}


.mg-paid-heading {
    max-width: 1050px;
}


.mg-paid-heading h2 {
    color: #ffffff;
}


.mg-paid-heading p {
    color: rgba(255,255,255,.78);
}


.mg-paid-flow {
    display: grid;

    grid-template-columns: 1.15fr .85fr;

    gap: 55px;

    align-items: center;

    margin-top: 60px;
}


.mg-paid-visual {
    position: relative;

    min-height: 500px;

    overflow: hidden;

    border-radius: 28px;

    box-shadow:
        0 30px 65px rgba(0,0,0,.28);
}


.mg-paid-visual > img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}


.mg-paid-visual::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(4,17,46,.72),
            rgba(4,17,46,.05)
        );
}


.mg-paid-screen {
    position: absolute;

    right: 35px;
    bottom: 35px;

    z-index: 3;

    width: 290px;

    padding: 22px;

    border-radius: 18px;

    background: rgba(255,255,255,.97);

    color: #09286b;

    box-shadow:
        0 20px 45px rgba(0,0,0,.3);

    backdrop-filter: blur(8px);
}


.mg-ad-screen-top {
    display: flex;
    justify-content: space-between;

    margin-bottom: 18px;

    font-size: 10px;

    font-weight: 900;

    letter-spacing: 1.5px;
}


.mg-ad-screen-top span {
    color: #15956d;
}


.mg-ad-screen-title {
    margin-bottom: 18px;

    font-size: 23px;
    font-weight: 900;
}


.mg-ad-screen-row {
    display: flex;
    justify-content: space-between;

    padding: 11px 0;

    border-top: 1px solid #e4e9f2;

    font-size: 11px;
}


.mg-ad-screen-row strong {
    text-align: right;
}


.mg-paid-steps {
    display: flex;

    flex-direction: column;

    gap: 16px;
}


.mg-paid-step {
    display: flex;

    gap: 20px;

    padding: 22px;

    border-radius: 18px;

    border: 1px solid rgba(255,255,255,.14);

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.10),
            rgba(255,255,255,.04)
        );
}


.mg-paid-step-icon {
    width: 50px;
    height: 50px;

    flex: 0 0 50px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #e62c3b;

    font-size: 12px;
    font-weight: 900;
}


.mg-paid-step h3 {
    margin: 0 0 6px;

    font-size: 22px;
}


.mg-paid-step p {
    margin: 0;

    color: rgba(255,255,255,.73);

    font-size: 14px;

    line-height: 1.5;
}


/* =========================================================
   SECTION 8 — REVENUE + MARKETING
========================================================= */

.mg-revenue-section {
    position: relative;

    padding: 95px 0 80px;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #f8fbff,
            #edf5ff
        );
}


.mg-revenue-heading {
    max-width: 1050px;
}


.mg-revenue-engine {
    position: relative;

    width: min(1000px,100%);

    height: 610px;

    margin: 60px auto 0;
}


.mg-revenue-center {
    position: absolute;

    left: 50%;
    top: 50%;

    transform: translate(-50%,-50%);

    width: 220px;
    height: 220px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background:
        linear-gradient(
            145deg,
            #09286b,
            #183f8c
        );

    box-shadow:
        0 25px 60px rgba(9,40,107,.25);
}


.mg-revenue-center::before {
    content: "";

    position: absolute;

    inset: -15px;

    border: 2px dashed #e62c3b;

    border-radius: 50%;
}


.mg-revenue-center-ring {
    display: flex;
    flex-direction: column;

    align-items: center;

    color: #ffffff;
}


.mg-revenue-center-ring span {
    font-size: 12px;

    letter-spacing: 3px;
}


.mg-revenue-center-ring strong {
    font-size: 30px;
}


.mg-revenue-node {
    position: absolute;

    width: 190px;

    padding: 18px;

    border-radius: 18px;

    background: #ffffff;

    border: 1px solid #dce7f6;

    box-shadow:
        0 15px 35px rgba(9,40,107,.12);
}


.mg-revenue-node span {
    display: block;

    margin-bottom: 6px;

    color: #e62c3b;

    font-size: 10px;

    font-weight: 900;
}


.mg-revenue-node strong {
    display: block;

    color: #09286b;

    font-size: 20px;
}


.mg-revenue-node small {
    display: block;

    margin-top: 5px;

    color: #61728d;

    font-size: 11px;

    line-height: 1.4;
}


.node-one {
    top: 15px;
    left: 50%;

    transform: translateX(-50%);
}


.node-two {
    top: 120px;
    right: 20px;
}


.node-three {
    bottom: 65px;
    right: 75px;
}


.node-four {
    bottom: 15px;
    left: 50%;

    transform: translateX(-50%);
}


.node-five {
    bottom: 65px;
    left: 75px;
}


.node-six {
    top: 120px;
    left: 20px;
}


/* =========================================================
   SECTION 9 — GROWTH LOOP
========================================================= */

.mg-loop-section {
    position: relative;

    overflow: hidden;

    padding: 100px 0 85px;

    background:
        linear-gradient(
            145deg,
            #06183f,
            #09286b 55%,
            #061a45
        );

    color: #ffffff;
}


.mg-loop-heading {
    max-width: 1000px;
}


.mg-loop-heading h2 {
    color: #ffffff;
}


.mg-loop-heading p {
    color: rgba(255,255,255,.76);
}


.mg-loop-diagram {
    position: relative;

    width: 650px;
    height: 650px;

    max-width: 100%;

    margin: 70px auto 45px;
}


.mg-loop-circle {
    position: absolute;

    inset: 65px;

    border-radius: 50%;

    border:
        2px dashed rgba(255,255,255,.35);
}


.mg-loop-circle::before {
    content: "";

    position: absolute;

    inset: 45px;

    border-radius: 50%;

    border: 2px solid rgba(230,44,59,.55);
}


.mg-loop-item {
    position: absolute;

    width: 125px;
    height: 125px;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background:
        linear-gradient(
            145deg,
            #183f8c,
            #09286b
        );

    border: 2px solid rgba(255,255,255,.25);

    box-shadow:
        0 15px 30px rgba(0,0,0,.25);

    text-align: center;
}


.mg-loop-item span {
    color: #e62c3b;

    font-size: 10px;
    font-weight: 900;
}


.mg-loop-item strong {
    margin-top: 4px;

    font-size: 17px;
}


.loop-visibility {
    top: 0;
    left: 50%;

    transform: translateX(-50%);
}


.loop-demand {
    top: 110px;
    right: 20px;
}


.loop-conversion {
    bottom: 110px;
    right: 20px;
}


.loop-booking {
    bottom: 0;
    left: 50%;

    transform: translateX(-50%);
}


.loop-revenue {
    bottom: 110px;
    left: 20px;
}


.loop-growth {
    top: 110px;
    left: 20px;
}


.mg-loop-center {
    position: absolute;

    left: 50%;
    top: 50%;

    transform: translate(-50%,-50%);

    width: 165px;
    height: 165px;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background:
        linear-gradient(
            145deg,
            #e62c3b,
            #a51f30
        );

    box-shadow:
        0 20px 45px rgba(0,0,0,.3);

    text-align: center;
}


.mg-loop-center small {
    font-size: 11px;

    letter-spacing: 3px;

    font-weight: 900;
}


.mg-loop-center strong {
    font-size: 26px;
}


.mg-loop-message {
    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 8px;

    text-align: center;
}


.mg-loop-message strong {
    font-size: 24px;
}


.mg-loop-message span {
    color: rgba(255,255,255,.7);

    font-size: 15px;
}


/* =========================================================
   SECTION 10 — SERVICES
========================================================= */

.mg-services-section {
    padding: 95px 0 80px;

    background:
        linear-gradient(
            135deg,
            #ffffff,
            #edf5ff
        );
}


.mg-services-heading {
    max-width: 1050px;
}


.mg-services-grid {
    display: grid;

    grid-template-columns:
        repeat(3,1fr);

    gap: 20px;

    margin-top: 55px;
}


.mg-service-tile {
    position: relative;

    min-height: 300px;

    padding: 28px;

    overflow: hidden;

    border-radius: 23px;

    color: #ffffff;

    box-shadow:
        0 18px 40px rgba(9,40,107,.16);

    transition:
        transform .3s ease;
}


.mg-service-tile:hover {
    transform: translateY(-7px);
}


.mg-service-tile > span {
    position: absolute;

    top: 22px;
    right: 24px;

    font-size: 11px;

    font-weight: 900;

    opacity: .6;
}


.tile-blue {
    background: linear-gradient(145deg,#126cde,#09286b);
}


.tile-purple {
    background: linear-gradient(145deg,#6436d5,#21145f);
}


.tile-green {
    background: linear-gradient(145deg,#079d82,#00575a);
}


.tile-orange {
    background: linear-gradient(145deg,#dc790c,#713606);
}


.tile-red {
    background: linear-gradient(145deg,#e62c3b,#7e1724);
}


.tile-navy {
    background: linear-gradient(145deg,#183f8c,#06183f);
}


.mg-tile-icon {
    width: 55px;
    height: 55px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 28px;

    border-radius: 50%;

    border: 2px solid rgba(255,255,255,.75);

    background: rgba(255,255,255,.12);

    font-size: 22px;
    font-weight: 900;
}


.mg-service-tile h3 {
    margin: 0 0 13px;

    font-size: 25px;

    line-height: 1.05;
}


.mg-service-tile p {
    margin: 0;

    max-width: 360px;

    color: rgba(255,255,255,.82);

    font-size: 14px;

    line-height: 1.5;
}


.mg-service-tile a {
    position: absolute;

    left: 28px;
    bottom: 24px;

    color: #ffffff;

    font-size: 12px;

    font-weight: 900;

    text-decoration: none;
}


/* =========================================================
   SECTION 11 — TRANSFORMATION
========================================================= */

.mg-transformation-section {
    padding: 100px 0 85px;

    background: #f6f9fd;
}


.mg-transformation-heading {
    max-width: 1000px;
}


.mg-transformation-flow {
    display: grid;

    grid-template-columns:
        1fr 70px 1.15fr 70px 1fr;

    gap: 18px;

    align-items: center;

    margin-top: 60px;
}


.mg-transform-column {
    min-height: 410px;

    padding: 32px 28px;

    border-radius: 25px;

    box-shadow:
        0 18px 40px rgba(9,40,107,.12);
}


.mg-before {
    background: #ffffff;

    border: 1px solid #e0e7f1;
}


.mg-after {
    background:
        linear-gradient(
            145deg,
            #09286b,
            #183f8c
        );

    color: #ffffff;
}


.mg-system {
    background:
        linear-gradient(
            145deg,
            #e62c3b,
            #8d1f30
        );

    color: #ffffff;

    box-shadow:
        0 25px 50px rgba(230,44,59,.22);
}


.mg-transform-label {
    margin-bottom: 25px;

    font-size: 10px;

    font-weight: 900;

    letter-spacing: 2.5px;

    opacity: .65;
}


.mg-transform-column h3 {
    margin: 0 0 25px;

    font-size: 27px;

    line-height: 1.05;
}


.mg-transform-column ul {
    margin: 0;
    padding: 0;

    list-style: none;
}


.mg-transform-column li {
    padding: 12px 0;

    border-top: 1px solid rgba(9,40,107,.12);

    font-size: 14px;

    line-height: 1.4;
}


.mg-after li {
    border-color: rgba(255,255,255,.15);
}


.mg-transform-arrow {
    display: flex;
    align-items: center;
    justify-content: center;

    color: #e62c3b;

    font-size: 40px;
    font-weight: 300;
}


.mg-transform-system {
    display: flex;

    flex-wrap: wrap;

    gap: 9px;

    margin-bottom: 28px;
}


.mg-transform-system span {
    padding: 10px 12px;

    border-radius: 10px;

    background: rgba(255,255,255,.14);

    border: 1px solid rgba(255,255,255,.25);

    font-size: 11px;

    font-weight: 800;
}


.mg-system p {
    color: rgba(255,255,255,.84);

    font-size: 14px;

    line-height: 1.55;
}


/* =========================================================
   SECTION 12 — RESULTS
========================================================= */

.mg-results-section {
    padding: 100px 0 85px;

    background:
        linear-gradient(
            145deg,
            #06183f,
            #09286b
        );

    color: #ffffff;
}


.mg-results-heading {
    max-width: 1000px;
}


.mg-results-heading h2 {
    color: #ffffff;
}


.mg-results-heading p {
    color: rgba(255,255,255,.74);
}


.mg-results-grid {
    display: grid;

    grid-template-columns:
        repeat(3,1fr);

    gap: 22px;

    margin-top: 55px;
}


.mg-result-card {
    overflow: hidden;

    border-radius: 23px;

    background: #ffffff;

    color: #09286b;

    box-shadow:
        0 20px 45px rgba(0,0,0,.22);
}


.mg-result-image {
    height: 250px;

    overflow: hidden;
}


.mg-result-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition:
        transform .5s ease;
}


.mg-result-card:hover .mg-result-image img {
    transform: scale(1.05);
}


.mg-result-content {
    padding: 25px;
}


.mg-result-content > span {
    color: #e62c3b;

    font-size: 10px;

    font-weight: 900;

    letter-spacing: 2px;
}


.mg-result-content h3 {
    margin: 12px 0;

    font-size: 23px;

    line-height: 1.1;
}


.mg-result-content p {
    margin: 0;

    color: #61728d;

    font-size: 14px;

    line-height: 1.55;
}


/* =========================================================
   SECTION 13 — WHY GROWMYRENTAL
========================================================= */

.mg-why-section {
    padding: 95px 0 80px;

    background:
        linear-gradient(
            135deg,
            #ffffff,
            #edf5ff
        );
}


.mg-why-heading {
    max-width: 1000px;
}


.mg-why-grid {
    display: grid;

    grid-template-columns:
        repeat(4,1fr);

    gap: 18px;

    margin-top: 55px;
}


.mg-why-card {
    min-height: 250px;

    padding: 27px;

    border-radius: 22px;

    background: #ffffff;

    border: 1px solid #dfe8f5;

    box-shadow:
        0 15px 35px rgba(9,40,107,.09);

    transition:
        transform .3s ease;
}


.mg-why-card:hover {
    transform: translateY(-6px);
}


.mg-why-icon {
    width: 47px;
    height: 47px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 25px;

    border-radius: 50%;

    background: #09286b;

    color: #ffffff;

    font-size: 11px;

    font-weight: 900;
}


.mg-why-card h3 {
    margin: 0 0 12px;

    color: #09286b;

    font-size: 21px;
}


.mg-why-card p {
    margin: 0;

    color: #61728d;

    font-size: 14px;

    line-height: 1.55;
}


.mg-why-wide {
    grid-column: span 4;

    min-height: 170px;

    display: grid;

    grid-template-columns: auto 1fr auto;

    align-items: center;

    gap: 25px;

    background:
        linear-gradient(
            135deg,
            #09286b,
            #183f8c
        );

    color: #ffffff;
}


.mg-why-wide .mg-why-icon {
    margin: 0;

    background: #e62c3b;
}


.mg-why-wide h3 {
    color: #ffffff;
}


.mg-why-wide p {
    color: rgba(255,255,255,.75);
}


.mg-why-wide a {
    padding: 13px 18px;

    border-radius: 8px;

    background: #e62c3b;

    color: #ffffff;

    font-size: 12px;

    font-weight: 900;

    text-decoration: none;
}


/* =========================================================
   SECTION 14 — FINAL CTA
========================================================= */

.mg-final-cta {
    position: relative;

    overflow: hidden;

    padding: 100px 0;

    background:
        url("../images/mg-final-property.webp")
        center / cover no-repeat;
}


.mg-final-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(4,20,55,.94) 0%,
            rgba(4,20,55,.82) 42%,
            rgba(4,20,55,.42) 100%
        );
}


.mg-final-container {
    position: relative;
    z-index: 2;

    width: min(1800px,94%);

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        1fr 510px;

    gap: 70px;

    align-items: center;
}


.mg-final-content {
    max-width: 760px;

    color: #ffffff;
}


.mg-final-content h2 {
    margin: 0;

    font-size: clamp(44px,4.5vw,72px);

    line-height: 1.02;

    letter-spacing: -2.5px;
}


.mg-final-content h2 strong {
    color: #ff5866;
}


.mg-final-content > p {
    max-width: 690px;

    margin: 25px 0 30px;

    color: rgba(255,255,255,.82);

    font-size: 18px;

    line-height: 1.6;
}


.mg-final-benefits {
    display: flex;

    flex-direction: column;

    gap: 16px;
}


.mg-final-benefits > div {
    display: flex;

    align-items: flex-start;

    gap: 14px;
}


.mg-final-benefits > div > strong {
    width: 30px;
    height: 30px;

    flex: 0 0 30px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #e62c3b;

    font-size: 14px;
}


.mg-final-benefits span {
    display: flex;

    flex-direction: column;

    gap: 3px;

    color: rgba(255,255,255,.72);

    font-size: 13px;
}


.mg-final-benefits b {
    color: #ffffff;

    font-size: 15px;
}


/* =========================================================
   FINAL FORM
========================================================= */

.mg-final-form-card {
    padding: 34px;

    border-radius: 25px;

    background:
        rgba(255,255,255,.98);

    box-shadow:
        0 30px 70px rgba(0,0,0,.28);

    color: #09286b;
}


.mg-final-form-heading > span {
    color: #e62c3b;

    font-size: 10px;

    font-weight: 900;

    letter-spacing: 2px;
}


.mg-final-form-heading h3 {
    margin: 9px 0 7px;

    font-size: 31px;

    line-height: 1.05;
}


.mg-final-form-heading p {
    margin: 0 0 23px;

    color: #66758e;

    font-size: 13px;
}


.mg-audit-form {
    display: flex;

    flex-direction: column;

    gap: 15px;
}


.mg-form-row {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 12px;
}


.mg-form-field {
    display: flex;

    flex-direction: column;

    gap: 6px;
}


.mg-form-field label {
    color: #09286b;

    font-size: 11px;

    font-weight: 800;
}


.mg-form-field input,
.mg-form-field select,
.mg-form-field textarea {
    width: 100%;

    box-sizing: border-box;

    padding: 12px 13px;

    border: 1px solid #d9e2ef;

    border-radius: 8px;

    outline: none;

    background: #f9fbfe;

    color: #09286b;

    font-family: inherit;

    font-size: 12px;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}


.mg-form-field textarea {
    resize: vertical;

    min-height: 90px;
}


.mg-form-field input:focus,
.mg-form-field select:focus,
.mg-form-field textarea:focus {
    border-color: #09286b;

    box-shadow:
        0 0 0 3px rgba(9,40,107,.08);
}


.mg-final-submit {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 14px;

    width: 100%;

    padding: 15px;

    border: none;

    border-radius: 9px;

    background: #e62c3b;

    color: #ffffff;

    cursor: pointer;

    font-family: inherit;

    font-size: 13px;

    font-weight: 900;

    box-shadow:
        0 12px 25px rgba(230,44,59,.22);

    transition:
        transform .25s ease,
        background .25s ease;
}


.mg-final-submit:hover {
    transform: translateY(-2px);

    background: #cf2130;
}


.mg-final-submit span {
    font-size: 19px;
}


.mg-form-note {
    color: #7a8799;

    font-size: 10px;

    line-height: 1.4;

    text-align: center;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width:1100px) {

    .mg-section-container {
        width: 92%;
    }

    .mg-social-layout,
    .mg-paid-flow {
        grid-template-columns: 1fr;
    }

    .mg-social-main-visual,
    .mg-paid-visual {
        min-height: 420px;
    }

    .mg-services-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .mg-why-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .mg-why-wide {
        grid-column: span 2;
    }

    .mg-transformation-flow {
        grid-template-columns: 1fr;

        gap: 15px;
    }

    .mg-transform-arrow {
        transform: rotate(90deg);
    }

    .mg-results-grid {
        grid-template-columns: 1fr 1fr;
    }

    .mg-results-grid .mg-result-card:last-child {
        grid-column: span 2;

        max-width: calc(50% - 9px);

        margin: 0 auto;
    }

    .mg-final-container {
        grid-template-columns: 1fr;

        gap: 45px;
    }

    .mg-final-content {
        max-width: 850px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width:700px) {

    .mg-section-container {
        width: 92%;
    }

    .mg-social-section,
    .mg-paid-section,
    .mg-revenue-section,
    .mg-loop-section,
    .mg-services-section,
    .mg-transformation-section,
    .mg-results-section,
    .mg-why-section {
        padding: 70px 0 55px;
    }

    .mg-section-eyebrow {
        gap: 9px;

        font-size: 10px;

        letter-spacing: 2px;
    }

    .mg-section-eyebrow span {
        width: 34px;
    }

    .mg-social-heading h2,
    .mg-paid-heading h2,
    .mg-revenue-heading h2,
    .mg-loop-heading h2,
    .mg-services-heading h2,
    .mg-transformation-heading h2,
    .mg-results-heading h2,
    .mg-why-heading h2 {
        font-size: 36px;

        line-height: 1.06;

        letter-spacing: -1px;
    }

    .mg-social-heading p,
    .mg-paid-heading p,
    .mg-revenue-heading p,
    .mg-loop-heading p,
    .mg-services-heading p,
    .mg-results-heading p,
    .mg-why-heading p {
        font-size: 16px;
    }


    /* Social */

    .mg-social-layout {
        margin-top: 35px;
    }

    .mg-social-main-visual {
        min-height: 330px;
    }

    .mg-social-services {
        grid-template-columns: 1fr;
    }

    .mg-social-service-card {
        min-height: 220px;
    }


    /* Paid */

    .mg-paid-flow {
        margin-top: 35px;
    }

    .mg-paid-visual {
        min-height: 330px;
    }

    .mg-paid-screen {
        right: 18px;
        bottom: 18px;

        width: 230px;

        padding: 17px;
    }


    /* Revenue */

    .mg-revenue-engine {
        height: 680px;

        margin-top: 30px;
    }

    .mg-revenue-center {
        width: 170px;
        height: 170px;
    }

    .mg-revenue-center-ring strong {
        font-size: 23px;
    }

    .mg-revenue-node {
        width: 145px;

        padding: 13px;
    }

    .mg-revenue-node strong {
        font-size: 16px;
    }

    .mg-revenue-node small {
        font-size: 9px;
    }

    .node-one {
        top: 0;
    }

    .node-two {
        top: 105px;
        right: 0;
    }

    .node-three {
        bottom: 125px;
        right: 0;
    }

    .node-four {
        bottom: 0;
    }

    .node-five {
        bottom: 125px;
        left: 0;
    }

    .node-six {
        top: 105px;
        left: 0;
    }


    /* Loop */

    .mg-loop-diagram {
        height: 480px;

        margin-top: 40px;
    }

    .mg-loop-circle {
        inset: 45px;
    }

    .mg-loop-circle::before {
        inset: 35px;
    }

    .mg-loop-item {
        width: 92px;
        height: 92px;
    }

    .mg-loop-item strong {
        font-size: 12px;
    }

    .loop-demand {
        right: 0;
    }

    .loop-conversion {
        right: 0;
        bottom: 80px;
    }

    .loop-revenue {
        left: 0;
        bottom: 80px;
    }

    .loop-growth {
        left: 0;
    }

    .mg-loop-center {
        width: 125px;
        height: 125px;
    }


    /* Services */

    .mg-services-grid {
        grid-template-columns: 1fr;

        margin-top: 35px;
    }

    .mg-service-tile {
        min-height: 285px;
    }


    /* Transformation */

    .mg-transformation-flow {
        margin-top: 35px;
    }

    .mg-transform-column {
        min-height: 350px;
    }


    /* Results */

    .mg-results-grid {
        grid-template-columns: 1fr;

        margin-top: 35px;
    }

    .mg-results-grid .mg-result-card:last-child {
        grid-column: auto;

        max-width: none;
    }


    /* Why */

    .mg-why-grid {
        grid-template-columns: 1fr;

        margin-top: 35px;
    }

    .mg-why-wide {
        grid-column: auto;

        display: block;
    }

    .mg-why-wide .mg-why-icon {
        margin-bottom: 20px;
    }

    .mg-why-wide a {
        display: inline-block;

        margin-top: 20px;
    }


    /* Final CTA */

    .mg-final-cta {
        padding: 70px 0;
    }

    .mg-final-container {
        width: 92%;
    }

    .mg-final-content h2 {
        font-size: 38px;

        letter-spacing: -1px;
    }

    .mg-final-content > p {
        font-size: 16px;
    }

    .mg-final-form-card {
        padding: 24px 20px;
    }

    .mg-form-row {
        grid-template-columns: 1fr;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width:420px) {

    .mg-social-main-visual,
    .mg-paid-visual {
        min-height: 280px;
    }

    .mg-social-floating-card {
        left: 16px;
        bottom: 16px;

        padding: 15px 17px;
    }

    .mg-social-floating-card strong {
        font-size: 17px;
    }

    .mg-paid-screen {
        width: 200px;
    }

    .mg-revenue-engine {
        height: 620px;
    }

    .mg-revenue-node {
        width: 128px;
    }

    .mg-loop-diagram {
        height: 430px;
    }

    .mg-loop-item {
        width: 78px;
        height: 78px;
    }

    .mg-loop-center {
        width: 105px;
        height: 105px;
    }

    .mg-loop-center small {
        font-size: 8px;
    }

    .mg-loop-center strong {
        font-size: 20px;
    }

    .mg-final-form-card {
        padding: 20px 16px;
    }

}

/* =========================================================
   GROWMYRENTAL — FREE PROPERTY AUDIT PAGE
========================================================= */

:root {
    --audit-navy: #09286b;
    --audit-red: #e62c3b;
    --audit-dark: #071d4d;
    --audit-text: #33415c;
    --audit-muted: #68758d;
    --audit-light: #f5f8fc;
    --audit-white: #ffffff;
    --audit-border: #e2e8f2;
}


/* =========================================================
   GENERAL
========================================================= */

.audit-eyebrow {
    display: inline-block;
    margin-bottom: 14px;

    color: var(--audit-red);

    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.audit-section-container {
    width: min(1180px, calc(100% - 50px));
    margin: 0 auto;
}

.audit-section-heading {
    max-width: 720px;
    margin: 0 auto 45px;
    text-align: center;
}

.audit-section-heading h2,
.audit-process-heading h2 {
    margin: 0 0 16px;

    color: var(--audit-navy);

    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.08;
    letter-spacing: -1.5px;
}

.audit-section-heading h2 span,
.audit-process-heading h2 span {
    color: var(--audit-red);
}

.audit-section-heading p {
    margin: 0;

    color: var(--audit-muted);

    font-size: 16px;
    line-height: 1.7;
}


/* =========================================================
   HERO
========================================================= */

.audit-hero {
    position: relative;

    min-height: calc(100vh - 90px);

    display: flex;
    align-items: center;

    padding: 55px 0;

    background:
        linear-gradient(
            90deg,
            rgba(248, 251, 255, 0.98) 0%,
            rgba(248, 251, 255, 0.94) 38%,
            rgba(248, 251, 255, 0.50) 68%,
            rgba(248, 251, 255, 0.10) 100%
        ),
        url("images/free-audit-hero.jpg") center / cover no-repeat;
}

.audit-hero-container {
    position: relative;
    z-index: 2;

    width: min(1200px, calc(100% - 50px));
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1fr 470px;
    gap: 65px;
    align-items: center;
}

.audit-hero-content {
    max-width: 650px;
}

.audit-hero-content h1 {
    margin: 0 0 22px;

    color: var(--audit-navy);

    font-size: clamp(42px, 5vw, 68px);
    line-height: 0.98;
    letter-spacing: -3px;
}

.audit-hero-content h1 span {
    display: block;
    color: var(--audit-red);
}

.audit-hero-content > p {
    max-width: 580px;

    margin: 0 0 30px;

    color: var(--audit-text);

    font-size: 19px;
    line-height: 1.65;
}

.audit-hero-points {
    display: grid;
    gap: 13px;
    margin-bottom: 28px;
}

.audit-hero-point {
    display: flex;
    align-items: center;
    gap: 11px;

    color: var(--audit-dark);

    font-size: 15px;
    font-weight: 600;
}

.audit-hero-point span {
    width: 24px;
    height: 24px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #e9f0ff;
    color: var(--audit-navy);

    font-size: 12px;
    font-weight: 900;
}

.audit-trust-line {
    display: flex;
    align-items: center;
    gap: 15px;

    color: var(--audit-muted);

    font-size: 13px;
}

.audit-trust-line strong {
    color: var(--audit-red);
    font-size: 15px;
}


/* =========================================================
   AUDIT FORM CARD
========================================================= */

.audit-form-card {
    padding: 34px;

    border: 1px solid rgba(255,255,255,0.8);
    border-radius: 24px;

    background: rgba(255,255,255,0.97);

    box-shadow:
        0 25px 70px rgba(9,40,107,0.18);

    backdrop-filter: blur(12px);
}

.audit-form-heading {
    margin-bottom: 23px;
}

.audit-form-mini {
    display: block;
    margin-bottom: 8px;

    color: var(--audit-red);

    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.8px;
}

.audit-form-heading h2 {
    margin: 0 0 8px;

    color: var(--audit-navy);

    font-size: 28px;
    line-height: 1.15;
}

.audit-form-heading p {
    margin: 0;

    color: var(--audit-muted);

    font-size: 13px;
    line-height: 1.6;
}

.property-audit-form {
    display: grid;
    gap: 14px;
}

.audit-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.audit-field {
    display: grid;
    gap: 7px;
}

.audit-field label {
    color: var(--audit-dark);

    font-size: 11px;
    font-weight: 700;
}

.audit-field input,
.audit-field select {
    width: 100%;
    height: 45px;

    padding: 0 13px;

    border: 1px solid var(--audit-border);
    border-radius: 9px;

    outline: none;

    background: #fbfcfe;

    color: var(--audit-dark);

    font-family: inherit;
    font-size: 13px;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.audit-field input:focus,
.audit-field select:focus {
    border-color: var(--audit-navy);

    box-shadow:
        0 0 0 3px rgba(9,40,107,0.08);
}

.audit-submit-btn,
.audit-final-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    min-height: 52px;

    border: 0;
    border-radius: 10px;

    background: var(--audit-red);
    color: #ffffff;

    font-family: inherit;
    font-size: 14px;
    font-weight: 800;

    text-decoration: none;

    cursor: pointer;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}

.audit-submit-btn:hover,
.audit-final-btn:hover {
    transform: translateY(-2px);

    background: #d92534;

    box-shadow:
        0 12px 25px rgba(230,44,59,0.25);
}

.audit-submit-btn span,
.audit-final-btn span {
    font-size: 20px;
}

.audit-form-note {
    margin: 0;

    color: #8a94a7;

    font-size: 10px;
    line-height: 1.5;
    text-align: center;
}


/* =========================================================
   SECTION 2 — WHAT WE CHECK
========================================================= */

.audit-check-section {
    padding: 95px 0;

    background:
        linear-gradient(
            135deg,
            #f7faff 0%,
            #eef4ff 100%
        );
}

.audit-check-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.audit-check-card {
    min-height: 205px;

    padding: 28px;

    border-radius: 20px;

    color: #ffffff;

    box-shadow:
        0 15px 35px rgba(9,40,107,0.10);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.audit-check-card:hover {
    transform: translateY(-6px);

    box-shadow:
        0 22px 45px rgba(9,40,107,0.16);
}

.audit-gradient-one {
    background: linear-gradient(135deg, #09286b, #315ec2);
}

.audit-gradient-two {
    background: linear-gradient(135deg, #6c43c7, #a45be4);
}

.audit-gradient-three {
    background: linear-gradient(135deg, #e62c3b, #f05d68);
}

.audit-gradient-four {
    background: linear-gradient(135deg, #087f8c, #19a6b5);
}

.audit-gradient-five {
    background: linear-gradient(135deg, #e38b24, #f2b84b);
}

.audit-gradient-six {
    background: linear-gradient(135deg, #274c77, #467aa8);
}

.audit-card-icon {
    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 22px;

    border-radius: 12px;

    background: rgba(255,255,255,0.18);

    font-size: 20px;
    font-weight: 800;
}

.audit-check-card h3 {
    margin: 0 0 8px;

    font-size: 20px;
}

.audit-check-card p {
    margin: 0;

    color: rgba(255,255,255,0.88);

    font-size: 13px;
    line-height: 1.6;
}


/* =========================================================
   SECTION 3 — PROPERTY HEALTH
========================================================= */

.audit-score-section {
    padding: 100px 0;

    background: #ffffff;
}

.audit-score-container {
    width: min(1100px, calc(100% - 50px));
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1fr 440px;
    gap: 75px;
    align-items: center;
}

.audit-score-copy {
    max-width: 560px;
}

.audit-score-copy h2 {
    margin: 0 0 20px;

    color: var(--audit-navy);

    font-size: clamp(34px, 4vw, 48px);
    line-height: 1.08;
    letter-spacing: -1.5px;
}

.audit-score-copy h2 span {
    color: var(--audit-red);
}

.audit-score-copy > p {
    margin: 0 0 30px;

    color: var(--audit-muted);

    font-size: 16px;
    line-height: 1.75;
}

.audit-score-points {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 13px;
}

.audit-score-points div {
    display: flex;
    align-items: center;
    gap: 10px;

    padding: 13px 15px;

    border: 1px solid var(--audit-border);
    border-radius: 10px;

    color: var(--audit-dark);

    font-size: 13px;
    font-weight: 600;
}

.audit-score-points strong {
    color: var(--audit-red);
}


/* SCORE CARD */

.audit-score-card {
    padding: 28px;

    border-radius: 25px;

    background:
        linear-gradient(
            145deg,
            #09286b,
            #06183f
        );

    color: #ffffff;

    box-shadow:
        0 25px 60px rgba(9,40,107,0.22);
}

.score-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding-bottom: 20px;

    border-bottom: 1px solid rgba(255,255,255,0.12);
}

.score-card-top span {
    display: block;

    margin-bottom: 4px;

    color: rgba(255,255,255,0.55);

    font-size: 9px;
    letter-spacing: 1.5px;
}

.score-card-top strong {
    font-size: 14px;
}

.score-status {
    padding: 6px 9px;

    border-radius: 6px;

    background: rgba(255,255,255,0.10);

    color: #ffffff;

    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1px;
}

.score-circle {
    width: 155px;
    height: 155px;

    margin: 28px auto;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background:
        conic-gradient(
            var(--audit-red) 0deg 259deg,
            rgba(255,255,255,0.10) 259deg 360deg
        );
}

.score-circle-inner {
    width: 123px;
    height: 123px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #071d4d;
}

.score-circle-inner strong {
    font-size: 42px;
    line-height: 1;
}

.score-circle-inner > span {
    margin-top: 3px;

    color: rgba(255,255,255,0.55);

    font-size: 10px;
}

.score-circle-inner small {
    margin-top: 8px;

    color: rgba(255,255,255,0.70);

    font-size: 9px;
}

.score-bars {
    display: grid;
    gap: 15px;
}

.score-bar-item > div:first-child {
    display: flex;
    justify-content: space-between;

    margin-bottom: 6px;

    font-size: 10px;
}

.score-bar-item strong {
    color: #ffffff;
}

.score-track {
    height: 5px;

    overflow: hidden;

    border-radius: 10px;

    background: rgba(255,255,255,0.12);
}

.score-track span {
    display: block;
    height: 100%;

    border-radius: 10px;

    background: var(--audit-red);
}

.score-card-footer {
    margin-top: 23px;
    padding-top: 15px;

    border-top: 1px solid rgba(255,255,255,0.10);

    color: rgba(255,255,255,0.40);

    font-size: 9px;
    text-align: center;
}


/* =========================================================
   SECTION 4 — BENEFITS
========================================================= */

.audit-benefits-section {
    padding: 90px 0;

    background: #f5f8fc;
}

.audit-benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.audit-benefit-card {
    min-height: 245px;

    padding: 28px;

    border: 1px solid #e5eaf3;
    border-radius: 18px;

    background: #ffffff;

    box-shadow:
        0 10px 30px rgba(9,40,107,0.05);
}

.benefit-number {
    display: block;

    margin-bottom: 40px;

    color: var(--audit-red);

    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
}

.audit-benefit-card h3 {
    margin: 0 0 10px;

    color: var(--audit-navy);

    font-size: 19px;
}

.audit-benefit-card p {
    margin: 0;

    color: var(--audit-muted);

    font-size: 13px;
    line-height: 1.7;
}


/* =========================================================
   SECTION 5 — PROCESS
========================================================= */

.audit-process-section {
    padding: 90px 0;

    background: #ffffff;
}

.audit-process-heading {
    max-width: 700px;
    margin: 0 auto 55px;

    text-align: center;
}

.audit-process {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
    gap: 15px;

    align-items: start;
}

.audit-process-step {
    text-align: center;
}

.process-number {
    width: 55px;
    height: 55px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0 auto 18px;

    border-radius: 50%;

    background: var(--audit-navy);
    color: #ffffff;

    font-size: 12px;
    font-weight: 800;

    box-shadow:
        0 10px 25px rgba(9,40,107,0.18);
}

.audit-process-step:nth-of-type(5) .process-number {
    background: var(--audit-red);
}

.audit-process-step h3 {
    margin: 0 0 8px;

    color: var(--audit-navy);

    font-size: 18px;
}

.audit-process-step p {
    margin: 0;

    color: var(--audit-muted);

    font-size: 12px;
    line-height: 1.6;
}

.process-line {
    width: 45px;
    height: 1px;

    margin-top: 27px;

    background: #dce3ee;
}


/* =========================================================
   SECTION 6 — FINAL CTA
========================================================= */

.audit-final-section {
    position: relative;

    min-height: 470px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 80px 25px;

    background:
        linear-gradient(
            90deg,
            rgba(7,29,77,0.94),
            rgba(9,40,107,0.78)
        ),
        url("images/free-audit-cta.jpg") center / cover no-repeat;

    text-align: center;

    overflow: hidden;
}

.audit-final-overlay {
    position: absolute;
    inset: 0;

    background:
        radial-gradient(
            circle at 50% 30%,
            rgba(230,44,59,0.15),
            transparent 45%
        );
}

.audit-final-content {
    position: relative;
    z-index: 2;

    max-width: 780px;
}

.audit-final-content .audit-eyebrow {
    color: #ff6a75;
}

.audit-final-content h2 {
    margin: 0 0 18px;

    color: #ffffff;

    font-size: clamp(38px, 5vw, 58px);
    line-height: 1.05;
    letter-spacing: -2px;
}

.audit-final-content h2 span {
    display: block;
    color: #ff6a75;
}

.audit-final-content p {
    max-width: 600px;

    margin: 0 auto 30px;

    color: rgba(255,255,255,0.78);

    font-size: 16px;
    line-height: 1.7;
}

.audit-final-btn {
    display: inline-flex;

    padding: 0 28px;

    min-width: 260px;
}

.audit-final-note {
    margin-top: 18px;

    color: rgba(255,255,255,0.50);

    font-size: 10px;
}


/* =========================================================
   FOOTER
========================================================= */

.site-footer {
    padding: 60px 0 0;

    background: #06183f;

    color: #ffffff;
}

.footer-container {
    width: min(1180px, calc(100% - 50px));
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1.5fr 1fr 1.2fr 1fr;
    gap: 50px;
}

.footer-brand img {
    width: 175px;
    margin-bottom: 18px;
}

.footer-brand p {
    max-width: 300px;

    margin: 0;

    color: rgba(255,255,255,0.58);

    font-size: 13px;
    line-height: 1.7;
}

.footer-column {
    display: flex;
    flex-direction: column;
    gap: 11px;
}

.footer-column h4 {
    margin: 0 0 8px;

    color: #ffffff;

    font-size: 13px;
}

.footer-column a {
    color: rgba(255,255,255,0.58);

    font-size: 12px;
    text-decoration: none;

    transition: color 0.2s ease;
}

.footer-column a:hover {
    color: #ffffff;
}

.footer-bottom {
    width: min(1180px, calc(100% - 50px));
    margin: 45px auto 0;

    padding: 20px 0;

    display: flex;
    justify-content: space-between;

    border-top: 1px solid rgba(255,255,255,0.10);

    color: rgba(255,255,255,0.40);

    font-size: 10px;
}

.footer-bottom p {
    margin: 0;
}

.footer-bottom div {
    display: flex;
    gap: 20px;
}

.footer-bottom a {
    color: inherit;
    text-decoration: none;
}


/* =========================================================
   MOBILE MENU
========================================================= */

.mobile-menu-btn {
    display: none;

    border: 0;

    background: transparent;
    color: var(--audit-navy);

    font-size: 25px;

    cursor: pointer;
}


/* =========================================================
   RESPONSIVE — TABLET
========================================================= */

@media (max-width: 1050px) {

    .audit-hero-container {
        grid-template-columns: 1fr 410px;
        gap: 35px;
    }

    .audit-hero-content h1 {
        font-size: 52px;
    }

    .audit-score-container {
        grid-template-columns: 1fr 400px;
        gap: 45px;
    }

    .audit-benefits-grid {
        grid-template-columns: 1fr 1fr;
    }

    .footer-container {
        grid-template-columns: 1.5fr 1fr 1fr;
    }

}


/* =========================================================
   RESPONSIVE — MOBILE
========================================================= */

@media (max-width: 800px) {

    .site-header {
        position: relative;
    }

    .main-nav,
    .header-cta {
        display: none;
    }

    .mobile-menu-btn {
        display: block;
    }

    .main-nav.mobile-nav-open {
        position: absolute;

        top: 100%;
        left: 0;
        right: 0;

        z-index: 1000;

        display: flex;
        flex-direction: column;

        padding: 20px;

        background: #ffffff;

        box-shadow:
            0 15px 30px rgba(0,0,0,0.10);
    }

    .audit-hero {
        min-height: auto;

        padding: 55px 0;

        background:
            linear-gradient(
                180deg,
                rgba(248,251,255,0.96),
                rgba(248,251,255,0.98)
            ),
            url("images/free-audit-hero.jpg") center / cover no-repeat;
    }

    .audit-hero-container {
        width: min(100% - 32px, 600px);

        grid-template-columns: 1fr;
        gap: 40px;
    }

    .audit-hero-content {
        text-align: center;
    }

    .audit-hero-content h1 {
        font-size: 43px;
        letter-spacing: -2px;
    }

    .audit-hero-content > p {
        margin-left: auto;
        margin-right: auto;

        font-size: 16px;
    }

    .audit-hero-points {
        text-align: left;
        width: fit-content;
        margin-left: auto;
        margin-right: auto;
    }

    .audit-trust-line {
        justify-content: center;
    }

    .audit-form-card {
        padding: 25px 20px;
    }

    .audit-form-row {
        grid-template-columns: 1fr;
    }

    .audit-section-container,
    .audit-score-container {
        width: min(100% - 32px, 600px);
    }

    .audit-check-section,
    .audit-score-section,
    .audit-benefits-section,
    .audit-process-section {
        padding: 70px 0;
    }

    .audit-check-grid {
        grid-template-columns: 1fr 1fr;
    }

    .audit-score-container {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .audit-score-copy {
        text-align: center;
        margin: 0 auto;
    }

    .audit-score-points {
        text-align: left;
    }

    .audit-benefits-grid {
        grid-template-columns: 1fr 1fr;
    }

    .audit-process {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .process-line {
        display: none;
    }

    .footer-container {
        width: min(100% - 32px, 600px);

        grid-template-columns: 1fr 1fr;
        gap: 35px;
    }

    .footer-brand {
        grid-column: 1 / -1;
    }

    .footer-bottom {
        width: min(100% - 32px, 600px);

        flex-direction: column;
        gap: 12px;
    }

}


/* =========================================================
   RESPONSIVE — SMALL MOBILE
========================================================= */

@media (max-width: 520px) {

    .audit-hero-content h1 {
        font-size: 37px;
    }

    .audit-section-heading h2,
    .audit-score-copy h2 {
        font-size: 34px;
    }

    .audit-check-grid,
    .audit-benefits-grid {
        grid-template-columns: 1fr;
    }

    .audit-check-card {
        min-height: auto;
    }

    .audit-score-points {
        grid-template-columns: 1fr;
    }

    .audit-score-card {
        padding: 22px;
    }

    .audit-final-section {
        min-height: 430px;
    }

    .audit-final-content h2 {
        font-size: 37px;
    }

    .footer-container {
        grid-template-columns: 1fr;
    }

    .footer-brand {
        grid-column: auto;
    }

}

/* =========================================================
   FREE PROPERTY AUDIT — FINAL HERO FIX
   ========================================================= */

/* Fix existing global styles affecting audit form heading */
.audit-form-card .audit-form-heading {
    display: block !important;
    width: 100%;
    margin: 0 0 20px;
    padding: 0;
    text-align: left;
}

.audit-form-card .audit-form-heading .audit-form-mini {
    display: block !important;
    width: 100%;
    margin: 0 0 8px;
}

.audit-form-card .audit-form-heading h2 {
    display: block !important;
    width: 100%;
    margin: 0 0 8px;

    color: #09286b;
    font-size: 28px;
    line-height: 1.08;
}

.audit-form-card .audit-form-heading p {
    display: block !important;
    width: 100%;
    margin: 0;

    color: #68758d;
    font-size: 13px;
    line-height: 1.5;
}


/* =========================================================
   HERO — BETTER VIEWPORT FIT
   ========================================================= */

.audit-hero {
    min-height: calc(100vh - 82px);
    height: calc(100vh - 82px);

    padding: 28px 0;

    overflow: hidden;
}

.audit-hero-container {
    height: 100%;

    grid-template-columns: minmax(0, 1fr) 455px;
    gap: 48px;

    align-items: center;
}


/* Left side */

.audit-hero-content {
    max-width: 600px;
}

.audit-hero-content h1 {
    max-width: 590px;

    margin-bottom: 17px;

    font-size: clamp(44px, 4.5vw, 61px);
    line-height: 0.98;
    letter-spacing: -2.5px;
}

.audit-hero-content > p {
    max-width: 550px;

    margin-bottom: 22px;

    font-size: 17px;
    line-height: 1.5;
}

.audit-hero-points {
    gap: 9px;
    margin-bottom: 19px;
}

.audit-hero-point {
    font-size: 14px;
}

.audit-hero-point span {
    width: 21px;
    height: 21px;
    font-size: 10px;
}

.audit-trust-line {
    font-size: 12px;
}


/* =========================================================
   FORM — COMPACT PREMIUM VERSION
   ========================================================= */

.audit-form-card {
    padding: 27px 30px;

    border-radius: 22px;
}

.property-audit-form {
    gap: 11px;
}

.audit-form-row {
    gap: 10px;
}

.audit-field {
    gap: 5px;
}

.audit-field label {
    font-size: 10px;
}

.audit-field input,
.audit-field select {
    height: 41px;
    padding: 0 11px;

    font-size: 12px;
}

.audit-submit-btn {
    min-height: 47px;

    font-size: 13px;
}

.audit-form-note {
    font-size: 9px;
}


/* =========================================================
   DESKTOP — KEEP HERO INSIDE VIEWPORT
   ========================================================= */

@media (min-width: 801px) {

    .audit-form-card {
        max-height: calc(100vh - 125px);
        overflow-y: auto;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 800px) {

    .audit-hero {
        height: auto;
        min-height: auto;
        overflow: visible;

        padding: 50px 0;
    }

    .audit-hero-container {
        height: auto;
    }

    .audit-hero-content h1 {
        font-size: 42px;
    }

    .audit-form-card {
        max-height: none;
        overflow: visible;
    }

}

/* =========================================================
   ABOUT GROWMYRENTAL PAGE
========================================================= */

.about-container {
    width: min(1180px, 92%);
    margin: 0 auto;
}

.about-eyebrow {
    display: inline-block;
    margin-bottom: 18px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
    color: #e62c3b;
    text-transform: uppercase;
}

.about-section-intro {
    max-width: 760px;
    margin-bottom: 45px;
}

.about-section-intro.center {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.about-section-intro h2 {
    margin: 0 0 18px;
    color: #09286b;
    font-size: clamp(34px, 4vw, 54px);
    line-height: 1.08;
    letter-spacing: -1.5px;
}

.about-section-intro h2 span,
.about-services-copy h2 span,
.about-hero-content h1 span,
.about-final-content h2 span {
    color: #e62c3b;
}

.about-section-intro p {
    margin: 0;
    color: #596579;
    font-size: 16px;
    line-height: 1.75;
}


/* =========================================================
   HERO
========================================================= */

.about-hero {
    position: relative;
    min-height: calc(100vh - 90px);
    display: flex;
    align-items: center;
    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.98) 0%,
            rgba(255,255,255,.93) 35%,
            rgba(255,255,255,.35) 67%,
            rgba(255,255,255,0) 100%
        ),
        url("images/about-hero.jpg") center / cover no-repeat;
    overflow: hidden;
}

.about-hero-content {
    position: relative;
    z-index: 2;
    width: min(650px, 92%);
    margin-left: max(4%, calc((100vw - 1180px) / 2));
    padding: 70px 0;
}

.about-hero-content h1 {
    margin: 0 0 24px;
    color: #09286b;
    font-size: clamp(42px, 5vw, 70px);
    line-height: 1.03;
    letter-spacing: -2.5px;
}

.about-hero-content p {
    max-width: 600px;
    margin: 0 0 32px;
    color: #354258;
    font-size: 17px;
    line-height: 1.75;
}

.about-hero-actions {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}

.primary-cta,
.secondary-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 26px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
    transition: .25s ease;
}

.primary-cta {
    background: #e62c3b;
    color: #fff;
    box-shadow: 0 10px 25px rgba(230,44,59,.22);
}

.primary-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(230,44,59,.30);
}

.secondary-cta {
    border: 1px solid rgba(9,40,107,.25);
    color: #09286b;
    background: rgba(255,255,255,.7);
}

.secondary-cta:hover {
    background: #09286b;
    color: #fff;
}


/* =========================================================
   MISSION
========================================================= */

.about-mission {
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding: 90px 0;
    background: #f7f9fc;
}

.mission-grid {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 55px;
    align-items: center;
}

.mission-story p {
    margin: 0 0 20px;
    color: #536075;
    font-size: 17px;
    line-height: 1.8;
}

.mission-highlight {
    padding: 45px;
    border-radius: 24px;
    background:
        linear-gradient(
            145deg,
            #09286b,
            #244fa2
        );
    color: #fff;
    box-shadow: 0 25px 60px rgba(9,40,107,.18);
}

.mission-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 55px;
    height: 55px;
    margin-bottom: 28px;
    border-radius: 15px;
    background: #e62c3b;
    font-size: 25px;
}

.mission-highlight h3 {
    margin: 0 0 18px;
    font-size: 30px;
    line-height: 1.2;
}

.mission-highlight p {
    margin: 0;
    color: rgba(255,255,255,.82);
    line-height: 1.7;
}


/* =========================================================
   PROBLEM
========================================================= */

.about-problem {
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding: 90px 0;
    background: #fff;
}

.problem-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.about-gradient-card {
    min-height: 300px;
    padding: 30px;
    border-radius: 22px;
    color: #fff;
    position: relative;
    overflow: hidden;
    transition: .25s ease;
}

.about-gradient-card:hover {
    transform: translateY(-6px);
}

.about-gradient-card::after {
    content: "";
    position: absolute;
    width: 150px;
    height: 150px;
    right: -60px;
    bottom: -60px;
    border-radius: 50%;
    background: rgba(255,255,255,.14);
}

.card-blue {
    background: linear-gradient(145deg,#09286b,#3265bb);
}

.card-purple {
    background: linear-gradient(145deg,#5a2b93,#a451c9);
}

.card-orange {
    background: linear-gradient(145deg,#d96527,#f0a52f);
}

.card-green {
    background: linear-gradient(145deg,#16795c,#43b77e);
}

.problem-number {
    display: block;
    margin-bottom: 55px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
    opacity: .75;
}

.about-gradient-card h3 {
    margin: 0 0 15px;
    font-size: 23px;
    line-height: 1.2;
}

.about-gradient-card p {
    margin: 0;
    color: rgba(255,255,255,.86);
    font-size: 14px;
    line-height: 1.7;
}


/* =========================================================
   SYSTEM
========================================================= */

.about-system {
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding: 90px 0;
    background: #f5f7fb;
}

.growth-flow {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 10px;
}

.growth-step {
    flex: 1;
    min-height: 210px;
    padding: 28px 20px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid rgba(9,40,107,.08);
    box-shadow: 0 12px 35px rgba(9,40,107,.07);
}

.growth-step span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    margin-bottom: 22px;
    border-radius: 50%;
    background: #e62c3b;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
}

.growth-step h3 {
    margin: 0 0 10px;
    color: #09286b;
    font-size: 19px;
}

.growth-step p {
    margin: 0;
    color: #647086;
    font-size: 13px;
    line-height: 1.65;
}

.growth-arrow {
    display: flex;
    align-items: center;
    color: #e62c3b;
    font-size: 22px;
    font-weight: 800;
}


/* =========================================================
   SERVICES
========================================================= */

.about-services {
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding: 90px 0;
    background: #fff;
}

.about-services-layout {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 70px;
    align-items: center;
}

.about-services-copy h2 {
    margin: 0 0 20px;
    color: #09286b;
    font-size: clamp(38px, 4vw, 55px);
    line-height: 1.05;
    letter-spacing: -1.5px;
}

.about-services-copy p {
    max-width: 500px;
    margin: 0 0 30px;
    color: #596579;
    font-size: 16px;
    line-height: 1.75;
}

.services-mini-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.service-mini {
    min-height: 225px;
    padding: 28px;
    border-radius: 20px;
    background: linear-gradient(145deg,#f7f9fd,#edf2fa);
    border: 1px solid rgba(9,40,107,.07);
    transition: .25s ease;
}

.service-mini:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(9,40,107,.10);
}

.service-mini span {
    color: #e62c3b;
    font-size: 11px;
    font-weight: 800;
}

.service-mini h3 {
    margin: 25px 0 12px;
    color: #09286b;
    font-size: 20px;
    line-height: 1.25;
}

.service-mini p {
    margin: 0;
    color: #647086;
    font-size: 13px;
    line-height: 1.65;
}


/* =========================================================
   WHY
========================================================= */

.about-why {
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding: 90px 0;
    background: #f7f9fc;
}

.why-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.why-card {
    min-height: 250px;
    padding: 32px 26px;
    border-radius: 20px;
    background: #fff;
    border: 1px solid rgba(9,40,107,.08);
    box-shadow: 0 12px 35px rgba(9,40,107,.06);
}

.why-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 25px;
    border-radius: 14px;
    background: #e62c3b;
    color: #fff;
    font-size: 21px;
}

.why-card h3 {
    margin: 0 0 12px;
    color: #09286b;
    font-size: 20px;
}

.why-card p {
    margin: 0;
    color: #657085;
    font-size: 14px;
    line-height: 1.7;
}


/* =========================================================
   FINAL CTA
========================================================= */

.about-final-cta {
    min-height: 75vh;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 90px 20px;
    text-align: center;
    background:
        url("images/about-cta.jpg") center / cover no-repeat;
    overflow: hidden;
}

.about-final-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(9,40,107,.90),
        rgba(9,40,107,.68)
    );
}

.about-final-content {
    position: relative;
    z-index: 2;
    max-width: 800px;
}

.about-final-content .about-eyebrow {
    color: #ff6873;
}

.about-final-content h2 {
    margin: 0 0 22px;
    color: #fff;
    font-size: clamp(38px, 5vw, 65px);
    line-height: 1.05;
    letter-spacing: -2px;
}

.about-final-content p {
    max-width: 650px;
    margin: 0 auto 32px;
    color: rgba(255,255,255,.84);
    font-size: 17px;
    line-height: 1.75;
}

.about-final-content .primary-cta {
    min-width: 230px;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1000px) {

    .problem-grid,
    .why-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .mission-grid,
    .about-services-layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .growth-flow {
        flex-wrap: wrap;
    }

    .growth-step {
        flex: 0 0 calc(33.333% - 15px);
    }

    .growth-arrow {
        display: none;
    }

}


@media (max-width: 700px) {

    .about-hero {
        min-height: 85vh;
        background:
            linear-gradient(
                180deg,
                rgba(255,255,255,.94),
                rgba(255,255,255,.88)
            ),
            url("images/about-hero.jpg") center / cover no-repeat;
    }

    .about-hero-content {
        margin-left: 4%;
    }

    .about-hero-content h1 {
        font-size: 43px;
        letter-spacing: -1.5px;
    }

    .problem-grid,
    .why-grid,
    .services-mini-grid {
        grid-template-columns: 1fr;
    }

    .growth-step {
        flex: 0 0 100%;
    }

    .about-mission,
    .about-problem,
    .about-system,
    .about-services,
    .about-why {
        min-height: auto;
        padding: 75px 0;
    }

    .mission-highlight {
        padding: 32px;
    }

    .about-hero-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .primary-cta,
    .secondary-cta {
        width: 100%;
    }

}

/* =========================================================
   CONTACT PAGE
========================================================= */

.contact-container {
    width: min(1180px, 92%);
    margin: 0 auto;
}

.contact-eyebrow {
    display: inline-block;
    margin-bottom: 18px;
    color: #e62c3b;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
}


/* =========================================================
   CONTACT HERO
========================================================= */

.contact-hero {
    min-height: calc(100vh - 90px);
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.98) 0%,
            rgba(255,255,255,.94) 34%,
            rgba(255,255,255,.35) 70%,
            rgba(255,255,255,0) 100%
        ),
        url("images/contact-hero.jpg")
        center / cover no-repeat;
}

.contact-hero-content {
    position: relative;
    z-index: 2;

    width: min(650px, 92%);
    margin-left: max(4%, calc((100vw - 1180px) / 2));

    padding: 70px 0;
}

.contact-hero-content h1 {
    margin: 0 0 24px;

    color: #09286b;

    font-size: clamp(44px, 5vw, 70px);
    line-height: 1.03;
    letter-spacing: -2.5px;
}

.contact-hero-content h1 span {
    display: block;
    color: #e62c3b;
}

.contact-hero-content p {
    max-width: 580px;

    margin: 0 0 32px;

    color: #354258;

    font-size: 17px;
    line-height: 1.75;
}

.contact-primary-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 52px;
    padding: 0 27px;

    border-radius: 8px;

    background: #e62c3b;
    color: #fff;

    font-size: 14px;
    font-weight: 800;

    text-decoration: none;

    box-shadow: 0 10px 25px rgba(230,44,59,.22);

    transition: .25s ease;
}

.contact-primary-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 15px 30px rgba(230,44,59,.30);
}


/* =========================================================
   CONTACT FORM SECTION
========================================================= */

.contact-form-section {
    min-height: 100vh;

    display: flex;
    align-items: center;

    padding: 90px 0;

    background: #f6f8fc;
}

.contact-form-layout {
    display: grid;

    grid-template-columns: .82fr 1.18fr;

    gap: 70px;

    align-items: center;
}


/* FORM INTRO */

.contact-form-intro h2 {
    margin: 0 0 20px;

    color: #09286b;

    font-size: clamp(38px, 4vw, 56px);
    line-height: 1.05;
    letter-spacing: -1.5px;
}

.contact-form-intro h2 span {
    color: #e62c3b;
}

.contact-form-intro > p {
    max-width: 520px;

    margin: 0 0 35px;

    color: #596579;

    font-size: 16px;
    line-height: 1.75;
}

.contact-promise {
    display: flex;
    gap: 16px;

    margin-bottom: 22px;
}

.contact-promise-icon {
    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    border-radius: 11px;

    background: #e62c3b;
    color: #fff;

    font-size: 14px;
    font-weight: 800;
}

.contact-promise h3 {
    margin: 0 0 4px;

    color: #09286b;

    font-size: 15px;
}

.contact-promise p {
    margin: 0;

    color: #687387;

    font-size: 13px;
    line-height: 1.5;
}


/* FORM CARD */

.contact-form-card {
    padding: 38px;

    border-radius: 24px;

    background: #fff;

    border: 1px solid rgba(9,40,107,.07);

    box-shadow:
        0 25px 70px rgba(9,40,107,.10);
}

.contact-form-header {
    margin-bottom: 25px;
}

.contact-form-header h3 {
    margin: 0 0 8px;

    color: #09286b;

    font-size: 26px;
}

.contact-form-header p {
    margin: 0;

    color: #718096;

    font-size: 13px;
}


/* FORM */

.grow-contact-form {
    display: flex;
    flex-direction: column;

    gap: 18px;
}

.contact-input-row {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 15px;
}

.contact-field {
    display: flex;
    flex-direction: column;

    gap: 7px;
}

.contact-field label {
    color: #09286b;

    font-size: 12px;
    font-weight: 800;
}

.contact-field label span {
    color: #8a94a5;
    font-weight: 500;
}

.contact-field input,
.contact-field select,
.contact-field textarea {
    width: 100%;

    box-sizing: border-box;

    padding: 13px 14px;

    border: 1px solid #dce2eb;

    border-radius: 8px;

    background: #fbfcfe;

    color: #27364d;

    font-family: inherit;
    font-size: 13px;

    outline: none;

    transition: .2s ease;
}

.contact-field input,
.contact-field select {
    height: 46px;
}

.contact-field textarea {
    resize: vertical;

    min-height: 120px;
}

.contact-field input:focus,
.contact-field select:focus,
.contact-field textarea:focus {
    border-color: #09286b;

    background: #fff;

    box-shadow:
        0 0 0 3px rgba(9,40,107,.06);
}

.contact-field input::placeholder,
.contact-field textarea::placeholder {
    color: #a0a9b8;
}

.contact-submit-btn {
    width: 100%;

    min-height: 52px;

    margin-top: 4px;

    border: 0;
    border-radius: 8px;

    background: #e62c3b;
    color: #fff;

    font-family: inherit;

    font-size: 14px;
    font-weight: 800;

    cursor: pointer;

    box-shadow: 0 10px 25px rgba(230,44,59,.20);

    transition: .25s ease;
}

.contact-submit-btn:hover {
    transform: translateY(-2px);

    box-shadow:
        0 15px 30px rgba(230,44,59,.28);
}

.contact-form-note {
    margin: 0;

    color: #8a94a5;

    font-size: 10px;
    line-height: 1.5;

    text-align: center;
}


/* =========================================================
   PROCESS
========================================================= */

.contact-process {
    min-height: 90vh;

    display: flex;
    align-items: center;

    padding: 90px 0;

    background: #fff;
}

.contact-section-heading {
    max-width: 720px;

    margin: 0 auto 50px;

    text-align: center;
}

.contact-section-heading h2 {
    margin: 0 0 17px;

    color: #09286b;

    font-size: clamp(38px, 4vw, 55px);
    line-height: 1.05;
    letter-spacing: -1.5px;
}

.contact-section-heading h2 span {
    color: #e62c3b;
}

.contact-section-heading p {
    margin: 0;

    color: #657085;

    font-size: 16px;
}

.contact-process-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 20px;
}

.contact-process-card {
    min-height: 260px;

    padding: 32px;

    border-radius: 22px;

    color: #fff;

    transition: .25s ease;
}

.contact-process-card:nth-child(1) {
    background: linear-gradient(
        145deg,
        #09286b,
        #3569bd
    );
}

.contact-process-card:nth-child(2) {
    background: linear-gradient(
        145deg,
        #633092,
        #a754c5
    );
}

.contact-process-card:nth-child(3) {
    background: linear-gradient(
        145deg,
        #d35e28,
        #efa331
    );
}

.contact-process-card:hover {
    transform: translateY(-6px);
}

.process-number {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    margin-bottom: 45px;

    border-radius: 50%;

    background: rgba(255,255,255,.18);

    font-size: 11px;
    font-weight: 800;
}

.contact-process-card h3 {
    margin: 0 0 13px;

    font-size: 22px;
    line-height: 1.25;
}

.contact-process-card p {
    margin: 0;

    color: rgba(255,255,255,.84);

    font-size: 14px;
    line-height: 1.7;
}


/* =========================================================
   CONNECT
========================================================= */

.contact-connect {
    min-height: 80vh;

    display: flex;
    align-items: center;

    padding: 90px 0;

    background: #f6f8fc;
}

.contact-connect-grid {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 60px;

    align-items: center;
}

.contact-connect-copy h2 {
    margin: 0 0 20px;

    color: #09286b;

    font-size: clamp(38px, 4vw, 55px);
    line-height: 1.05;
    letter-spacing: -1.5px;
}

.contact-connect-copy h2 span {
    color: #e62c3b;
}

.contact-connect-copy p {
    max-width: 540px;

    margin: 0 0 18px;

    color: #596579;

    font-size: 16px;
    line-height: 1.75;
}

.contact-connect-card {
    padding: 45px;

    border-radius: 24px;

    background:
        linear-gradient(
            145deg,
            #09286b,
            #173e88
        );

    color: #fff;

    box-shadow:
        0 25px 60px rgba(9,40,107,.16);
}

.connect-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 55px;
    height: 55px;

    margin-bottom: 25px;

    border-radius: 15px;

    background: #e62c3b;

    font-size: 23px;
}

.contact-connect-card h3 {
    margin: 0 0 15px;

    font-size: 28px;
    line-height: 1.2;
}

.contact-connect-card p {
    margin: 0 0 28px;

    color: rgba(255,255,255,.80);

    font-size: 14px;
    line-height: 1.7;
}

.contact-card-btn {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 48px;

    padding: 0 22px;

    border-radius: 8px;

    background: #e62c3b;
    color: #fff;

    font-size: 13px;
    font-weight: 800;

    text-decoration: none;

    transition: .25s ease;
}

.contact-card-btn:hover {
    transform: translateY(-2px);
}


/* =========================================================
   FINAL CTA
========================================================= */

.contact-final-cta {
    min-height: 70vh;

    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 90px 20px;

    text-align: center;

    background:
        url("images/contact-cta.jpg")
        center / cover no-repeat;
}

.contact-final-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(9,40,107,.91),
            rgba(9,40,107,.68)
        );
}

.contact-final-content {
    position: relative;
    z-index: 2;

    max-width: 800px;
}

.contact-final-content .contact-eyebrow {
    color: #ff6973;
}

.contact-final-content h2 {
    margin: 0 0 22px;

    color: #fff;

    font-size: clamp(40px, 5vw, 65px);
    line-height: 1.04;
    letter-spacing: -2px;
}

.contact-final-content h2 span {
    color: #ff6973;
}

.contact-final-content p {
    max-width: 650px;

    margin: 0 auto 32px;

    color: rgba(255,255,255,.84);

    font-size: 17px;
    line-height: 1.75;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1000px) {

    .contact-form-layout {
        grid-template-columns: 1fr;

        gap: 45px;
    }

    .contact-process-grid {
        grid-template-columns: 1fr;
    }

    .contact-process-card {
        min-height: 220px;
    }

    .contact-connect-grid {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 700px) {

    .contact-hero {
        min-height: 85vh;

        background:
            linear-gradient(
                180deg,
                rgba(255,255,255,.95),
                rgba(255,255,255,.88)
            ),
            url("images/contact-hero.jpg")
            center / cover no-repeat;
    }

    .contact-hero-content {
        margin-left: 4%;
    }

    .contact-hero-content h1 {
        font-size: 44px;

        letter-spacing: -1.5px;
    }

    .contact-form-section,
    .contact-process,
    .contact-connect {
        min-height: auto;

        padding: 75px 0;
    }

    .contact-input-row {
        grid-template-columns: 1fr;
    }

    .contact-form-card {
        padding: 25px;
    }

    .contact-connect-card {
        padding: 32px;
    }

    .contact-primary-cta {
        width: 100%;
    }

}

/* =========================================================
   SERVICES HUB PAGE
========================================================= */

.services-hub-container {
    width: min(1180px, 92%);
    margin: 0 auto;
}

.services-hub-eyebrow {
    display: inline-block;

    margin-bottom: 18px;

    color: #e62c3b;

    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;

    text-transform: uppercase;
}


/* =========================================================
   HERO
========================================================= */

.services-hub-hero {
    min-height: calc(100vh - 90px);

    position: relative;

    display: flex;
    align-items: center;

    overflow: hidden;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.98) 0%,
            rgba(255,255,255,.94) 34%,
            rgba(255,255,255,.40) 68%,
            rgba(255,255,255,0) 100%
        ),
        url("images/services-hero.jpg")
        center / cover no-repeat;
}

.services-hub-hero-content {
    position: relative;
    z-index: 2;

    width: min(670px, 92%);

    margin-left:
        max(
            4%,
            calc((100vw - 1180px) / 2)
        );

    padding: 70px 0;
}

.services-hub-hero-content h1 {
    margin: 0 0 24px;

    color: #09286b;

    font-size: clamp(44px, 5vw, 70px);

    line-height: 1.03;

    letter-spacing: -2.5px;
}

.services-hub-hero-content h1 span {
    display: block;

    color: #e62c3b;
}

.services-hub-hero-content p {
    max-width: 600px;

    margin: 0 0 32px;

    color: #354258;

    font-size: 17px;

    line-height: 1.75;
}

.services-hub-actions {
    display: flex;

    align-items: center;

    gap: 15px;

    flex-wrap: wrap;
}

.services-hub-primary,
.services-hub-secondary {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 52px;

    padding: 0 27px;

    border-radius: 8px;

    font-size: 14px;
    font-weight: 800;

    text-decoration: none;

    transition: .25s ease;
}

.services-hub-primary {
    background: #e62c3b;

    color: #fff;

    box-shadow:
        0 10px 25px rgba(230,44,59,.22);
}

.services-hub-primary:hover {
    transform: translateY(-2px);

    box-shadow:
        0 15px 30px rgba(230,44,59,.30);
}

.services-hub-secondary {
    border: 1px solid rgba(9,40,107,.25);

    background: rgba(255,255,255,.75);

    color: #09286b;
}

.services-hub-secondary:hover {
    background: #09286b;

    color: #fff;
}


/* =========================================================
   SERVICES LIST
========================================================= */

.services-hub-list {
    min-height: 100vh;

    display: flex;
    align-items: center;

    padding: 90px 0;

    background: #fff;
}

.services-hub-heading {
    max-width: 780px;

    margin-bottom: 48px;
}

.services-hub-heading.center {
    margin-left: auto;
    margin-right: auto;

    text-align: center;
}

.services-hub-heading h2 {
    margin: 0 0 18px;

    color: #09286b;

    font-size: clamp(36px, 4vw, 54px);

    line-height: 1.06;

    letter-spacing: -1.5px;
}

.services-hub-heading h2 span {
    color: #e62c3b;
}

.services-hub-heading p {
    margin: 0;

    color: #637086;

    font-size: 16px;

    line-height: 1.75;
}

.services-hub-grid {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 20px;
}

.services-hub-card {
    min-height: 350px;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    position: relative;

    padding: 32px;

    border-radius: 23px;

    overflow: hidden;

    color: #fff;

    transition: .25s ease;
}

.services-hub-card:hover {
    transform: translateY(-6px);
}

.services-hub-card::after {
    content: "";

    position: absolute;

    width: 190px;
    height: 190px;

    right: -70px;
    bottom: -80px;

    border-radius: 50%;

    background: rgba(255,255,255,.12);
}

.service-blue {
    background:
        linear-gradient(
            145deg,
            #09286b,
            #3268bd
        );
}

.service-purple {
    background:
        linear-gradient(
            145deg,
            #5c2d91,
            #a654c8
        );
}

.service-orange {
    background:
        linear-gradient(
            145deg,
            #d35f27,
            #efa331
        );
}

.service-green {
    background:
        linear-gradient(
            145deg,
            #16775b,
            #43b77f
        );
}

.services-hub-card-top {
    display: flex;

    justify-content: space-between;

    align-items: center;
}

.services-hub-number {
    font-size: 12px;

    font-weight: 800;

    letter-spacing: 1px;

    opacity: .75;
}

.services-hub-label {
    font-size: 10px;

    font-weight: 800;

    letter-spacing: 1.5px;

    opacity: .72;
}

.services-hub-card h3 {
    max-width: 420px;

    margin: 0 0 15px;

    font-size: 30px;

    line-height: 1.15;
}

.services-hub-card p {
    max-width: 500px;

    margin: 0;

    color: rgba(255,255,255,.84);

    font-size: 14px;

    line-height: 1.7;
}

.services-hub-card-link {
    position: relative;
    z-index: 2;

    display: inline-flex;

    align-items: center;

    gap: 9px;

    width: fit-content;

    margin-top: 30px;

    color: #fff;

    font-size: 13px;

    font-weight: 800;

    text-decoration: none;
}

.services-hub-card-link span {
    font-size: 19px;

    transition: .2s ease;
}

.services-hub-card-link:hover span {
    transform: translateX(4px);
}


/* =========================================================
   SYSTEM
========================================================= */

.services-hub-system {
    min-height: 100vh;

    display: flex;
    align-items: center;

    padding: 90px 0;

    background: #f6f8fc;
}

.services-hub-flow {
    display: flex;

    align-items: stretch;

    gap: 12px;
}

.services-flow-step {
    flex: 1;

    min-height: 225px;

    padding: 28px 22px;

    border-radius: 19px;

    background: #fff;

    border: 1px solid rgba(9,40,107,.07);

    box-shadow:
        0 12px 35px rgba(9,40,107,.06);
}

.services-flow-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;

    margin-bottom: 25px;

    border-radius: 50%;

    background: #e62c3b;

    color: #fff;

    font-size: 10px;

    font-weight: 800;
}

.services-flow-step h3 {
    margin: 0 0 10px;

    color: #09286b;

    font-size: 20px;
}

.services-flow-step p {
    margin: 0;

    color: #657085;

    font-size: 13px;

    line-height: 1.7;
}

.services-flow-arrow {
    display: flex;

    align-items: center;

    color: #e62c3b;

    font-size: 22px;

    font-weight: 800;
}


/* =========================================================
   SERVICE GUIDE
========================================================= */

.services-hub-guide {
    min-height: 90vh;

    display: flex;
    align-items: center;

    padding: 90px 0;

    background: #fff;
}

.services-hub-guide-layout {
    display: grid;

    grid-template-columns: .9fr 1.1fr;

    gap: 70px;

    align-items: center;
}

.services-hub-guide-copy h2 {
    margin: 0 0 20px;

    color: #09286b;

    font-size: clamp(38px, 4vw, 55px);

    line-height: 1.05;

    letter-spacing: -1.5px;
}

.services-hub-guide-copy h2 span {
    color: #e62c3b;
}

.services-hub-guide-copy p {
    max-width: 540px;

    margin: 0 0 18px;

    color: #5d6a7e;

    font-size: 16px;

    line-height: 1.75;
}

.services-hub-guide-copy .services-hub-primary {
    margin-top: 12px;
}

.services-hub-guide-cards {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 17px;
}

.guide-mini-card {
    min-height: 170px;

    display: flex;

    flex-direction: column;

    justify-content: center;

    padding: 27px;

    border-radius: 19px;

    background:
        linear-gradient(
            145deg,
            #f8faff,
            #edf2f9
        );

    border: 1px solid rgba(9,40,107,.07);

    transition: .25s ease;
}

.guide-mini-card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 15px 35px rgba(9,40,107,.09);
}

.guide-mini-card span {
    margin-bottom: 13px;

    color: #7a8597;

    font-size: 12px;
}

.guide-mini-card strong {
    color: #09286b;

    font-size: 17px;

    line-height: 1.3;
}


/* =========================================================
   WHY
========================================================= */

.services-hub-why {
    min-height: 90vh;

    display: flex;
    align-items: center;

    padding: 90px 0;

    background: #f6f8fc;
}

.services-hub-why-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 18px;
}

.services-why-card {
    min-height: 250px;

    padding: 30px 26px;

    border-radius: 20px;

    background: #fff;

    border: 1px solid rgba(9,40,107,.07);

    box-shadow:
        0 12px 35px rgba(9,40,107,.05);
}

.services-why-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;

    margin-bottom: 24px;

    border-radius: 14px;

    background: #e62c3b;

    color: #fff;

    font-size: 20px;
}

.services-why-card h3 {
    margin: 0 0 12px;

    color: #09286b;

    font-size: 19px;
}

.services-why-card p {
    margin: 0;

    color: #687387;

    font-size: 13px;

    line-height: 1.7;
}


/* =========================================================
   FINAL CTA
========================================================= */

.services-hub-final {
    min-height: 70vh;

    position: relative;

    display: flex;

    align-items: center;
    justify-content: center;

    padding: 90px 20px;

    text-align: center;

    background:
        url("images/services-cta.jpg")
        center / cover no-repeat;
}

.services-hub-final-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(9,40,107,.92),
            rgba(9,40,107,.67)
        );
}

.services-hub-final-content {
    position: relative;

    z-index: 2;

    max-width: 800px;
}

.services-hub-final-content .services-hub-eyebrow {
    color: #ff6973;
}

.services-hub-final-content h2 {
    margin: 0 0 22px;

    color: #fff;

    font-size: clamp(40px, 5vw, 65px);

    line-height: 1.04;

    letter-spacing: -2px;
}

.services-hub-final-content h2 span {
    color: #ff6973;
}

.services-hub-final-content p {
    max-width: 650px;

    margin: 0 auto 32px;

    color: rgba(255,255,255,.84);

    font-size: 17px;

    line-height: 1.75;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1000px) {

    .services-hub-grid {
        grid-template-columns: 1fr;
    }

    .services-hub-flow {
        flex-wrap: wrap;
    }

    .services-flow-step {
        flex: 0 0 calc(50% - 8px);
    }

    .services-flow-arrow {
        display: none;
    }

    .services-hub-guide-layout {
        grid-template-columns: 1fr;

        gap: 45px;
    }

    .services-hub-why-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


@media (max-width: 700px) {

    .services-hub-hero {
        min-height: 85vh;

        background:
            linear-gradient(
                180deg,
                rgba(255,255,255,.95),
                rgba(255,255,255,.88)
            ),
            url("images/services-hero.jpg")
            center / cover no-repeat;
    }

    .services-hub-hero-content {
        margin-left: 4%;
    }

    .services-hub-hero-content h1 {
        font-size: 44px;

        letter-spacing: -1.5px;
    }

    .services-hub-actions {
        flex-direction: column;

        align-items: stretch;
    }

    .services-hub-primary,
    .services-hub-secondary {
        width: 100%;
    }

    .services-hub-list,
    .services-hub-system,
    .services-hub-guide,
    .services-hub-why {
        min-height: auto;

        padding: 75px 0;
    }

    .services-flow-step {
        flex: 0 0 100%;
    }

    .services-hub-guide-cards {
        grid-template-columns: 1fr;
    }

    .services-hub-why-grid {
        grid-template-columns: 1fr;
    }

}

/* =========================================================
   RESULTS PAGE
========================================================= */

.results-page-container {
    width: min(1180px, 92%);
    margin: 0 auto;
}

.results-page-eyebrow {
    display: inline-block;

    margin-bottom: 18px;

    color: #e62c3b;

    font-size: 12px;
    font-weight: 800;

    letter-spacing: 2px;

    text-transform: uppercase;
}


/* =========================================================
   HERO
========================================================= */

.results-page-hero {
    min-height: calc(100vh - 90px);

    position: relative;

    display: flex;
    align-items: center;

    overflow: hidden;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.97) 0%,
            rgba(255,255,255,.93) 34%,
            rgba(255,255,255,.38) 68%,
            rgba(255,255,255,0) 100%
        ),
        url("images/results-hero.jpg")
        center / cover no-repeat;
}

.results-page-hero-content {
    position: relative;

    z-index: 2;

    width: min(650px, 92%);

    margin-left:
        max(
            4%,
            calc((100vw - 1180px) / 2)
        );

    padding: 70px 0;
}

.results-page-hero-content h1 {
    margin: 0 0 24px;

    color: #09286b;

    font-size: clamp(44px, 5vw, 70px);

    line-height: 1.03;

    letter-spacing: -2.5px;
}

.results-page-hero-content h1 span {
    display: block;

    color: #e62c3b;
}

.results-page-hero-content p {
    max-width: 600px;

    margin: 0 0 32px;

    color: #354258;

    font-size: 17px;

    line-height: 1.75;
}

.results-page-primary {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 52px;

    padding: 0 27px;

    border-radius: 8px;

    background: #e62c3b;

    color: #fff;

    font-size: 14px;
    font-weight: 800;

    text-decoration: none;

    box-shadow:
        0 10px 25px rgba(230,44,59,.22);

    transition: .25s ease;
}

.results-page-primary:hover {
    transform: translateY(-2px);

    box-shadow:
        0 15px 30px rgba(230,44,59,.30);
}


/* =========================================================
   COMMON HEADING
========================================================= */

.results-page-heading {
    max-width: 760px;

    margin-bottom: 48px;
}

.results-page-heading.center {
    margin-left: auto;
    margin-right: auto;

    text-align: center;
}

.results-page-heading h2 {
    margin: 0 0 18px;

    color: #09286b;

    font-size: clamp(36px, 4vw, 54px);

    line-height: 1.06;

    letter-spacing: -1.5px;
}

.results-page-heading h2 span {
    color: #e62c3b;
}

.results-page-heading p {
    margin: 0;

    color: #637086;

    font-size: 16px;

    line-height: 1.75;
}


/* =========================================================
   DEFINITION
========================================================= */

.results-definition {
    min-height: 100vh;

    display: flex;
    align-items: center;

    padding: 90px 0;

    background: #fff;
}

.results-metric-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 18px;
}

.results-metric-card {
    min-height: 290px;

    position: relative;

    padding: 28px;

    border-radius: 21px;

    background:
        linear-gradient(
            145deg,
            #f8faff,
            #edf2fa
        );

    border: 1px solid rgba(9,40,107,.07);

    transition: .25s ease;
}

.results-metric-card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 18px 40px rgba(9,40,107,.08);
}

.results-metric-number {
    position: absolute;

    top: 25px;
    right: 25px;

    color: #a4adbb;

    font-size: 11px;

    font-weight: 800;
}

.results-metric-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 52px;
    height: 52px;

    margin-bottom: 45px;

    border-radius: 15px;

    background: #e62c3b;

    color: #fff;

    font-size: 20px;
}

.results-metric-card h3 {
    margin: 0 0 12px;

    color: #09286b;

    font-size: 21px;
}

.results-metric-card p {
    margin: 0;

    color: #687387;

    font-size: 13px;

    line-height: 1.7;
}


/* =========================================================
   BEFORE / AFTER
========================================================= */

.results-before-after {
    min-height: 100vh;

    display: flex;
    align-items: center;

    padding: 90px 0;

    background: #f6f8fc;
}

.results-comparison {
    display: grid;

    grid-template-columns: 1fr 70px 1fr;

    align-items: center;

    gap: 15px;
}

.results-comparison-card {
    overflow: hidden;

    border-radius: 23px;

    background: #fff;

    border: 1px solid rgba(9,40,107,.07);

    box-shadow:
        0 15px 40px rgba(9,40,107,.07);
}

.results-comparison-image {
    height: 300px;

    position: relative;

    overflow: hidden;
}

.results-comparison-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;
}

.results-comparison-label {
    position: absolute;

    top: 18px;
    left: 18px;

    padding: 7px 12px;

    border-radius: 5px;

    background: rgba(9,40,107,.88);

    color: #fff;

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 1px;
}

.results-comparison-card.after
.results-comparison-label {
    background: #e62c3b;
}

.results-comparison-content {
    padding: 28px;
}

.results-comparison-content h3 {
    margin: 0 0 18px;

    color: #09286b;

    font-size: 22px;
}

.results-comparison-content ul {
    margin: 0;

    padding-left: 19px;
}

.results-comparison-content li {
    margin-bottom: 9px;

    color: #667286;

    font-size: 13px;

    line-height: 1.5;
}

.results-comparison-arrow {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 55px;
    height: 55px;

    border-radius: 50%;

    background: #e62c3b;

    color: #fff;

    font-size: 22px;

    font-weight: 800;
}


/* =========================================================
   JOURNEY
========================================================= */

.results-journey {
    min-height: 100vh;

    display: flex;
    align-items: center;

    padding: 90px 0;

    background: #fff;
}

.results-journey-flow {
    display: flex;

    align-items: stretch;

    gap: 10px;
}

.results-journey-step {
    flex: 1;

    min-height: 215px;

    padding: 27px 20px;

    border-radius: 19px;

    background: #f7f9fc;

    border: 1px solid rgba(9,40,107,.07);
}

.results-journey-step > span {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 35px;
    height: 35px;

    margin-bottom: 25px;

    border-radius: 50%;

    background: #e62c3b;

    color: #fff;

    font-size: 10px;

    font-weight: 800;
}

.results-journey-step h3 {
    margin: 0 0 10px;

    color: #09286b;

    font-size: 18px;
}

.results-journey-step p {
    margin: 0;

    color: #687387;

    font-size: 13px;

    line-height: 1.65;
}

.results-journey-arrow {
    display: flex;

    align-items: center;

    color: #e62c3b;

    font-size: 21px;

    font-weight: 800;
}


/* =========================================================
   MEASURE
========================================================= */

.results-measure {
    min-height: 90vh;

    display: flex;
    align-items: center;

    padding: 90px 0;

    background: #f6f8fc;
}

.results-measure-layout {
    display: grid;

    grid-template-columns: .85fr 1.15fr;

    gap: 70px;

    align-items: center;
}

.results-measure-copy h2 {
    margin: 0 0 20px;

    color: #09286b;

    font-size: clamp(38px, 4vw, 55px);

    line-height: 1.05;

    letter-spacing: -1.5px;
}

.results-measure-copy h2 span {
    color: #e62c3b;
}

.results-measure-copy > p {
    max-width: 520px;

    margin: 0 0 30px;

    color: #5e6b7f;

    font-size: 16px;

    line-height: 1.75;
}


/* HEALTH PANEL */

.results-health-panel {
    padding: 35px;

    border-radius: 23px;

    background:
        linear-gradient(
            145deg,
            #09286b,
            #1b438e
        );

    color: #fff;

    box-shadow:
        0 25px 60px rgba(9,40,107,.16);
}

.results-health-header {
    display: flex;

    align-items: center;
    justify-content: space-between;

    margin-bottom: 35px;
}

.results-health-header span {
    display: block;

    margin-bottom: 7px;

    color: rgba(255,255,255,.55);

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 1.5px;
}

.results-health-header h3 {
    margin: 0;

    font-size: 25px;
}

.results-health-status {
    padding: 7px 10px;

    border-radius: 5px;

    background: #e62c3b;

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 1px;
}

.health-bar-item {
    margin-bottom: 23px;
}

.health-bar-item > div:first-child {
    display: flex;

    justify-content: space-between;

    gap: 15px;

    margin-bottom: 9px;
}

.health-bar-item span {
    color: rgba(255,255,255,.80);

    font-size: 12px;
}

.health-bar-item strong {
    color: #fff;

    font-size: 10px;
}

.health-track {
    width: 100%;
    height: 6px;

    overflow: hidden;

    border-radius: 10px;

    background: rgba(255,255,255,.14);
}

.health-fill {
    height: 100%;

    border-radius: 10px;

    background: #e62c3b;
}

.width-82 {
    width: 82%;
}

.width-74 {
    width: 74%;
}

.width-66 {
    width: 66%;
}

.width-58 {
    width: 58%;
}

.results-health-note {
    margin: 25px 0 0;

    color: rgba(255,255,255,.55);

    font-size: 10px;

    line-height: 1.6;
}


/* =========================================================
   TESTIMONIALS
========================================================= */

.results-testimonials {
    min-height: 90vh;

    display: flex;
    align-items: center;

    padding: 90px 0;

    background: #fff;
}

.results-testimonial-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 18px;
}

.results-testimonial-card {
    min-height: 300px;

    display: flex;

    flex-direction: column;

    justify-content: space-between;

    padding: 30px;

    border-radius: 21px;

    background:
        linear-gradient(
            145deg,
            #f8faff,
            #edf2fa
        );

    border: 1px solid rgba(9,40,107,.07);
}

.results-stars {
    margin-bottom: 25px;

    color: #e62c3b;

    font-size: 13px;

    letter-spacing: 2px;
}

.results-testimonial-card > p {
    margin: 0 0 30px;

    color: #4d5b70;

    font-size: 15px;

    font-style: italic;

    line-height: 1.75;
}

.results-owner {
    display: flex;

    align-items: center;

    gap: 12px;
}

.results-owner-avatar {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    border-radius: 50%;

    background: #09286b;

    color: #fff;

    font-size: 13px;

    font-weight: 800;
}

.results-owner strong,
.results-owner span {
    display: block;
}

.results-owner strong {
    margin-bottom: 3px;

    color: #09286b;

    font-size: 13px;
}

.results-owner span {
    color: #7b8697;

    font-size: 11px;
}

.results-testimonial-disclaimer {
    margin: 30px auto 0;

    color: #9aa3b1;

    font-size: 10px;

    text-align: center;
}


/* =========================================================
   FINAL CTA
========================================================= */

.results-final-cta {
    min-height: 70vh;

    position: relative;

    display: flex;

    align-items: center;
    justify-content: center;

    padding: 90px 20px;

    text-align: center;

    background:
        url("images/results-cta.jpg")
        center / cover no-repeat;
}

.results-final-overlay {
    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(9,40,107,.92),
            rgba(9,40,107,.67)
        );
}

.results-final-content {
    position: relative;

    z-index: 2;

    max-width: 800px;
}

.results-final-content .results-page-eyebrow {
    color: #ff6973;
}

.results-final-content h2 {
    margin: 0 0 22px;

    color: #fff;

    font-size: clamp(40px, 5vw, 65px);

    line-height: 1.04;

    letter-spacing: -2px;
}

.results-final-content h2 span {
    color: #ff6973;
}

.results-final-content p {
    max-width: 650px;

    margin: 0 auto 32px;

    color: rgba(255,255,255,.84);

    font-size: 17px;

    line-height: 1.75;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1000px) {

    .results-metric-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .results-comparison {
        grid-template-columns: 1fr;

        gap: 20px;
    }

    .results-comparison-arrow {
        margin: 0 auto;

        transform: rotate(90deg);
    }

    .results-journey-flow {
        flex-wrap: wrap;
    }

    .results-journey-step {
        flex: 0 0 calc(50% - 8px);
    }

    .results-journey-arrow {
        display: none;
    }

    .results-measure-layout {
        grid-template-columns: 1fr;

        gap: 45px;
    }

    .results-testimonial-grid {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 700px) {

    .results-page-hero {
        min-height: 85vh;

        background:
            linear-gradient(
                180deg,
                rgba(255,255,255,.95),
                rgba(255,255,255,.88)
            ),
            url("images/results-hero.jpg")
            center / cover no-repeat;
    }

    .results-page-hero-content {
        margin-left: 4%;
    }

    .results-page-hero-content h1 {
        font-size: 44px;

        letter-spacing: -1.5px;
    }

    .results-definition,
    .results-before-after,
    .results-journey,
    .results-measure,
    .results-testimonials {
        min-height: auto;

        padding: 75px 0;
    }

    .results-metric-grid {
        grid-template-columns: 1fr;
    }

    .results-journey-step {
        flex: 0 0 100%;
    }

    .results-health-panel {
        padding: 27px;
    }

    .results-page-primary {
        width: 100%;
    }

}


/* =====================================================
   HOW IT WORKS PAGE
   GrowMyRental
   ===================================================== */

.hiw-hero,
.hiw-journey,
.hiw-outcomes,
.hiw-performance,
.hiw-final-cta {
    box-sizing: border-box;
}

.hiw-hero *,
.hiw-journey *,
.hiw-outcomes *,
.hiw-performance *,
.hiw-final-cta * {
    box-sizing: border-box;
}

.hiw-hero {
    min-height: calc(100vh - 90px);
    padding: 65px 6%;
    display: grid;
    grid-template-columns: 0.92fr 1.08fr;
    align-items: center;
    gap: 55px;
    background: #f6f8fc;
    overflow: hidden;
}

.hiw-hero-content {
    max-width: 610px;
}

.hiw-eyebrow {
    display: inline-block;
    margin-bottom: 20px;
    color: #e62c3b;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
    line-height: 1.5;
}

.hiw-hero h1,
.hiw-section-heading h2,
.hiw-outcomes h2,
.hiw-final-cta h2 {
    margin: 0;
    color: #09286b;
    font-size: clamp(34px, 4vw, 55px);
    font-weight: 800;
    letter-spacing: -1.7px;
    line-height: 1.13;
}

.hiw-hero h1 span,
.hiw-section-heading h2 span,
.hiw-outcomes h2 span,
.hiw-final-cta h2 span {
    color: #e62c3b;
}

.hiw-hero-content > p,
.hiw-outcomes-content > p,
.hiw-final-cta-content > p {
    margin: 24px 0;
    color: #58657b;
    font-size: 16px;
    line-height: 1.85;
}

.hiw-hero-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 22px;
    margin-top: 30px;
}

.hiw-btn {
    min-height: 50px;
    padding: 15px 23px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    border-radius: 7px;
    text-align: center;
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    transition: background 0.25s ease,
                transform 0.25s ease,
                box-shadow 0.25s ease;
}

.hiw-btn-primary {
    background: #e62c3b;
    color: #fff;
    box-shadow: 0 8px 20px rgba(230, 44, 59, 0.16);
}

.hiw-btn-primary:hover {
    background: #c91f30;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(230, 44, 59, 0.22);
}

.hiw-text-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #09286b;
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
}

.hiw-text-link:hover {
    color: #e62c3b;
}

.hiw-hero-note {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 30px;
    color: #647087;
    font-size: 12px;
    line-height: 1.6;
}

.hiw-note-dot {
    width: 9px;
    height: 9px;
    flex-shrink: 0;
    background: #26a878;
    border-radius: 50%;
}

.hiw-hero-visual {
    position: relative;
    min-width: 0;
}

.hiw-hero-visual > img {
    display: block;
    width: 100%;
    aspect-ratio: 1.12 / 1;
    object-fit: cover;
    object-position: center;
    border-radius: 18px;
    box-shadow: 0 22px 55px rgba(9, 40, 107, 0.15);
}

.hiw-hero-caption {
    position: absolute;
    right: 18px;
    bottom: 18px;
    left: 18px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(9, 40, 107, 0.07);
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(9, 40, 107, 0.08);
}

.hiw-caption-icon {
    display: grid;
    place-items: center;
    width: 35px;
    height: 35px;
    flex-shrink: 0;
    background: #e5f6ed;
    color: #188653;
    border-radius: 50%;
    font-size: 17px;
}

.hiw-hero-caption strong,
.hiw-hero-caption small {
    display: block;
}

.hiw-hero-caption strong {
    color: #09286b;
    font-size: 13px;
    line-height: 1.5;
}

.hiw-hero-caption small {
    margin-top: 3px;
    color: #6a7488;
    font-size: 11px;
}


/* ================= SECTION 2: FIVE STEPS ================= */

.hiw-journey {
    padding: 90px 6%;
    background: #fff;
}

.hiw-section-heading {
    max-width: 740px;
    margin: 0 auto 48px;
    text-align: center;
}

.hiw-section-heading h2 {
    font-size: clamp(32px, 3.5vw, 46px);
}

.hiw-section-heading > p {
    max-width: 660px;
    margin: 18px auto 0;
    color: #647087;
    font-size: 15px;
    line-height: 1.8;
}

.hiw-steps {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 17px;
    max-width: 1400px;
    margin: 0 auto;
}

.hiw-step {
    position: relative;
    padding: 25px 20px 22px;
    background: #f8faff;
    border: 1px solid #e8edf6;
    border-radius: 13px;
    transition: transform 0.25s ease,
                box-shadow 0.25s ease;
}

.hiw-step:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 35px rgba(9, 40, 107, 0.09);
}

.hiw-step-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 28px;
}

.hiw-step-number {
    color: #a4afc2;
    font-size: 25px;
    font-weight: 800;
}

.hiw-step-icon {
    display: grid;
    place-items: center;
    width: 43px;
    height: 43px;
    background: #e8efff;
    color: #09286b;
    border-radius: 11px;
    font-size: 21px;
}

.hiw-step:nth-child(2) .hiw-step-icon {
    background: #fff0e6;
    color: #d86b25;
}

.hiw-step:nth-child(3) .hiw-step-icon {
    background: #f0eaff;
    color: #7752c7;
}

.hiw-step:nth-child(4) .hiw-step-icon {
    background: #ffe9ec;
    color: #e62c3b;
}

.hiw-step:nth-child(5) .hiw-step-icon {
    background: #e5f6ed;
    color: #188653;
}

.hiw-step h3 {
    margin: 0 0 12px;
    color: #09286b;
    font-size: 17px;
    line-height: 1.45;
}

.hiw-step p {
    margin: 0 0 24px;
    color: #647087;
    font-size: 13px;
    line-height: 1.8;
}

.hiw-step-label {
    display: inline-block;
    color: #e62c3b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.hiw-journey-footer {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    max-width: 900px;
    margin: 30px auto 0;
    padding: 18px 22px;
    background: #f4f7fc;
    border-radius: 9px;
}

.hiw-footer-check {
    color: #188653;
    font-size: 19px;
    font-weight: 800;
}

.hiw-journey-footer p {
    margin: 0;
    color: #647087;
    font-size: 13px;
    line-height: 1.7;
}

.hiw-journey-footer strong {
    color: #09286b;
}


/* ================= SECTION 3: OUTCOMES ================= */

.hiw-outcomes {
    padding: 90px 6%;
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
    align-items: center;
    gap: 65px;
    background: #f4f7fc;
}

.hiw-outcomes-content {
    max-width: 500px;
}

.hiw-outcomes h2 {
    font-size: clamp(32px, 3.5vw, 45px);
}

.hiw-outcomes-content .hiw-btn {
    margin-top: 8px;
}

.hiw-outcomes-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.hiw-outcome-card {
    position: relative;
    min-height: 215px;
    padding: 25px;
    overflow: hidden;
    border: 1px solid rgba(9, 40, 107, 0.06);
    border-radius: 13px;
    background: #fff;
    transition: transform 0.25s ease,
                box-shadow 0.25s ease;
}

.hiw-outcome-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(9, 40, 107, 0.08);
}

.hiw-outcome-number {
    position: absolute;
    top: 18px;
    right: 20px;
    color: #dce3f0;
    font-size: 22px;
    font-weight: 800;
}

.hiw-outcome-icon {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    margin-bottom: 17px;
    border-radius: 11px;
    font-size: 21px;
}

.outcome-blue .hiw-outcome-icon {
    background: #e8efff;
    color: #315cc7;
}

.outcome-red .hiw-outcome-icon {
    background: #ffe9ec;
    color: #e62c3b;
}

.outcome-purple .hiw-outcome-icon {
    background: #f0eaff;
    color: #7752c7;
}

.outcome-green .hiw-outcome-icon {
    background: #e5f6ed;
    color: #188653;
}

.hiw-outcome-card h3 {
    margin: 0 0 9px;
    color: #09286b;
    font-size: 17px;
    line-height: 1.4;
}

.hiw-outcome-card p {
    margin: 0;
    color: #647087;
    font-size: 13px;
    line-height: 1.75;
}


/* ================= SECTION 4: DASHBOARD ================= */

.hiw-performance {
    padding: 90px 6%;
    background: #fff;
}

.hiw-performance .hiw-section-heading {
    margin-bottom: 40px;
}

.hiw-dashboard {
    max-width: 1050px;
    margin: 0 auto;
    padding: 30px;
    background: #f9fbff;
    border: 1px solid #e5ebf5;
    border-radius: 16px;
    box-shadow: 0 20px 55px rgba(9, 40, 107, 0.07);
}

.hiw-dashboard-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 24px;
    border-bottom: 1px solid #e7ecf4;
}

.hiw-dashboard-kicker {
    color: #7a879c;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.hiw-dashboard-header h3 {
    margin: 7px 0 0;
    color: #09286b;
    font-size: 24px;
}

.hiw-dashboard-status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    background: #edf2fa;
    border-radius: 20px;
    color: #56647c;
    font-size: 11px;
}

.hiw-dashboard-status span {
    width: 7px;
    height: 7px;
    background: #26a878;
    border-radius: 50%;
}

.hiw-metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 15px;
    margin-top: 25px;
}

.hiw-metric {
    position: relative;
    min-height: 180px;
    padding: 20px 17px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e8edf5;
    border-radius: 11px;
}

.hiw-metric > span {
    display: block;
    color: #7a879c;
    font-size: 11px;
}

.hiw-metric > strong {
    display: block;
    margin-top: 11px;
    color: #09286b;
    font-size: 20px;
    line-height: 1.3;
}

.hiw-metric > small {
    display: block;
    margin-top: 8px;
    color: #7a879c;
    font-size: 10px;
    line-height: 1.6;
}

.hiw-mini-bars {
    height: 42px;
    display: flex;
    align-items: flex-end;
    gap: 5px;
    margin-top: 15px;
}

.hiw-mini-bars i {
    flex: 1;
    display: block;
    min-height: 5px;
    background: #8daaf1;
    border-radius: 3px 3px 0 0;
}

.hiw-mini-bars i:last-child {
    background: #e62c3b;
}

.hiw-metric-symbol {
    margin-top: 15px;
    color: #5479d7;
    font-size: 27px;
}

.hiw-dashboard-bottom {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    margin-top: 22px;
    padding: 18px;
    background: #edf6f1;
    border-radius: 10px;
}

.hiw-dashboard-message-icon {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    background: #d6eee1;
    color: #188653;
    border-radius: 50%;
    font-weight: 800;
}

.hiw-dashboard-bottom p {
    margin: 0;
    color: #586d65;
    font-size: 12px;
    line-height: 1.8;
}

.hiw-dashboard-bottom strong {
    color: #176544;
}

.hiw-disclaimer {
    margin: 17px auto 0;
    color: #8993a5;
    font-size: 11px;
    line-height: 1.7;
    text-align: center;
}


/* ================= SECTION 5: FINAL CTA ================= */

.hiw-final-cta {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 440px;
    padding: 85px 6%;
    overflow: hidden;
    background: #f3f6fc;
    text-align: center;
}

.hiw-final-cta-content {
    position: relative;
    z-index: 1;
    max-width: 750px;
}

.hiw-final-cta h2 {
    font-size: clamp(34px, 4vw, 49px);
}

.hiw-final-cta-content > p {
    max-width: 640px;
    margin: 20px auto 28px;
}

.hiw-cta-note {
    margin-top: 17px;
    color: #7a879c;
    font-size: 12px;
}

.hiw-cta-decoration {
    position: absolute;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    pointer-events: none;
}

.cta-decoration-one {
    top: -190px;
    left: -100px;
    background: rgba(9, 40, 107, 0.055);
}

.cta-decoration-two {
    right: -130px;
    bottom: -200px;
    background: rgba(230, 44, 59, 0.06);
}


/* ================= RESPONSIVE ================= */

@media (max-width: 1100px) {
    .hiw-hero {
        gap: 35px;
        padding-right: 4%;
        padding-left: 4%;
    }

    .hiw-steps {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .hiw-outcomes {
        gap: 35px;
        padding-right: 4%;
        padding-left: 4%;
    }

    .hiw-metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .hiw-hero {
        min-height: auto;
        grid-template-columns: 1fr;
        gap: 35px;
        padding: 55px 6%;
    }

    .hiw-hero h1 {
        font-size: clamp(35px, 8vw, 46px);
    }

    .hiw-hero-visual > img {
        aspect-ratio: 1.1 / 1;
    }

    .hiw-journey,
    .hiw-outcomes,
    .hiw-performance {
        padding: 65px 6%;
    }

    .hiw-section-heading {
        margin-bottom: 32px;
    }

    .hiw-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 13px;
    }

    .hiw-step {
        padding: 20px 16px;
    }

    .hiw-step-top {
        margin-bottom: 20px;
    }

    .hiw-step h3 {
        font-size: 16px;
    }

    .hiw-outcomes {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .hiw-outcomes-content {
        max-width: 620px;
    }

    .hiw-dashboard {
        padding: 20px;
    }

    .hiw-dashboard-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .hiw-final-cta {
        min-height: 400px;
        padding: 65px 6%;
    }
}

@media (max-width: 480px) {
    .hiw-hero-actions {
        align-items: stretch;
        flex-direction: column;
        gap: 18px;
    }

    .hiw-hero-actions .hiw-btn {
        width: 100%;
    }

    .hiw-hero-actions .hiw-text-link {
        justify-content: center;
    }

    .hiw-steps,
    .hiw-outcomes-grid,
    .hiw-metric-grid {
        grid-template-columns: 1fr;
    }

    .hiw-step {
        min-height: auto;
    }

    .hiw-outcome-card {
        min-height: 190px;
    }

    .hiw-dashboard {
        padding: 15px;
    }

    .hiw-dashboard-header h3 {
        font-size: 21px;
    }

    .hiw-dashboard-status {
        font-size: 10px;
    }

    .hiw-final-cta h2 {
        font-size: 34px;
        letter-spacing: -1px;
    }
}
