/* =========================================================
   <= 980px  ·  tablet / main collapse
   ========================================================= */
@media (max-width: 980px) {
    
    #contact {
        .socials {
        	display: grid !important;
            grid-template-columns: 1fr 1fr;
        }
    }

    #pricing {
        .cta-footer {
        	gap: 20px !important;
        
        }
	}
    
     .title {
        br {
            display: none !important;
        }   
     }

    /* show + build the hamburger */
    #site-header .handler-mobile { display: flex; }

    header#site-header .handler-mobile {
        display: grid;
        gap: 4px;
        align-content: center;
        width: 44px;
        height: 44px;
        margin-left: auto;
        cursor: pointer;
        border: 2px solid var(--border);
        justify-content: center;
        justify-items: center;
        border-radius: 50%;
    }
    header#site-header .handler-mobile span {
        display: block;
        width: 26px;
        height: 2px;
        background: #fff;
        border-radius: 2px;
        transition: transform .3s ease, opacity .3s ease;
    }

    /* keep logo + hamburger on one row when closed, top-align when open */
    header#site-header          { align-items: center; }
    header#site-header.opened   { align-items: start; }

    /* collapse the nav down to just the logo... */
    header#site-header .navigation {
        flex-wrap: wrap;
        gap: 0;
    }
    header#site-header .navigation > a:not(.branding) {
        display: none;
    }

    /* ...and drop the links into a stacked panel when open */
    header#site-header.opened .navigation > a:not(.branding) {
        display: flex;
        flex-basis: 100%;
        align-items: center;
        padding: 14px 2px;
        border-top: 1px solid rgba(255, 255, 255, .08);
    }
    header#site-header.opened .navigation > a.branding {
        margin-bottom: 6px;
    }
    header#site-header.opened .navigation > a.btn {
        justify-content: center;
        margin-top: 14px;
    }

    /* hamburger -> X */
    header#site-header.opened .handler-mobile span:nth-child(1) {
        transform: translateY(4px) rotate(45deg);
    }
    header#site-header.opened .handler-mobile span:nth-child(2) {
        transform: translateY(-4px) rotate(-45deg);
    }


    /* ---------- slide (hero) ---------- */
    #slide .image,
    #content-image .image {
        display: grid !important;
        justify-content: center !important;
        justify-items: center !important;       
        inline-size: unset !important;
    }
	
    #slide .headline,
    #content-image .headline {
        order: 0 !important;
    }
	
    #slide .image,
    #content-image .image {
        order: 1 !important;
    }

    #how-it-works {
        .steps-wrap {
            grid-template-columns: 1fr !important;
            gap: 12px !important;
        }

        .step-number {
            margin-bottom: 24px !important;
        }
        
        .description {
        	margin-top: 12px !important;
        }
    }

    .headline {
        gap: 16px !important;
        
        &.has-margin {
            margin-bottom: 32px !important;
        }
    }

    /* ---------- content-image ---------- */
    /* stack, and always lead with the image regardless of side */
    section#slide[data-image-position] .wrap,
    section#content-image[data-image-position] .wrap {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    section#slide[data-image-position] .image    { order: 0; }
    section#slide[data-image-position] .headline { order: 1; }    
    section#content-image[data-image-position] .image    { order: 0; }
    section#content-image[data-image-position] .headline { order: 1; }

    section#slide .image,
    section#content-image .image { 
         display: flex; 
        justify-content: center; 
    }
    
    section#slide .image img,
    section#content-image .image img {
        width: 100%;
        max-width: 360px;
        height: auto;
        margin: 0 auto;
    }


    /* ---------- featured-contact ---------- */
    section#contact .wrap {
        grid-template-columns: 1fr;
        gap: 40px;
    }


    /* ---------- pricing ---------- */
    section#pricing .pricing-cards {
        grid-template-columns: 1fr;
        gap: 20px;
    }


    /* ---------- slide-values ---------- */
    /* horizontal auto-flow row -> real 2-up grid */
    #slide-values .list {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 20px !important;
        grid-auto-flow: unset !important;
        justify-items: start !important;
    }
    
    #slide .image, 
    #content-image .image { 
        img {
        	order: 0 !important;
        }
        
        .image-content {
        	order: 0 !important;
        }
    }
}