/*=====================================================
    RESPONSIVE.CSS
    PART 1
    Desktop • Laptop • Tablet
======================================================*/

/* ===========================
   LARGE LAPTOP (1400px)
=========================== */

@media (max-width:1400px){

.container{
    width:92%;
}

.hero h1{
    font-size:4.3rem;
}

.section-title h2{
    font-size:2.8rem;
}

.why-left h2{
    font-size:3rem;
}

.cta h2{
    font-size:3rem;
}

}

/* ===========================
   LAPTOP (1200px)
=========================== */

@media (max-width:1200px){

section{
    padding:100px 0;
}

.hero{
    padding:90px 0 120px;
}

.hero-grid{

    grid-template-columns:1fr;
    text-align:center;
    gap:70px;

}

.hero p{

    margin:auto;
    margin-bottom:40px;

}

.hero-buttons{

    justify-content:center;

}

.hero-stats{

    justify-content:center;

}

.hero-image{

    max-width:850px;
    margin:auto;

}

.hero h1{

    font-size:4rem;

}

.section-title h2{

    font-size:2.7rem;

}

/* SERVICES */

.services-grid{

    grid-template-columns:repeat(2,1fr);

}

/* FEATURED */

.featured-grid{

    grid-template-columns:1fr 1fr;

}

.featured-large{

    grid-column:span 2;

    min-height:550px;

}

/* PROCESS */

.timeline{

    grid-template-columns:repeat(3,1fr);

    row-gap:60px;

}

.timeline-item::after{

    display:none;

}

/* WHY US */

.why-grid{

    grid-template-columns:1fr;

}

.why-left{

    text-align:center;

}

.feature-box{

    text-align:left;

}

/* TEMPLATES */

.template-grid{

    grid-template-columns:repeat(2,1fr);

}

/* TESTIMONIAL */

.testimonial-grid{

    grid-template-columns:repeat(2,1fr);

}

/* FOOTER */

.footer-grid{

    grid-template-columns:repeat(2,1fr);

}

}

/* ===========================
   TABLET (992px)
=========================== */

@media (max-width:992px){

header{

    height:auto;

}

.navbar{

    height:82px;

}

/* NAVIGATION */

.nav-links{

    position:absolute;

    top:82px;
    left:0;

    width:100%;

    background:#fff;

    display:flex;

    flex-direction:column;

    gap:0;

    text-align:center;

    border-top:1px solid var(--border);

    max-height:0;

    overflow:hidden;

    transition:.4s;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

}

.nav-links.active{

    max-height:500px;

    padding:20px 0;

}

.nav-links li{

    padding:18px 0;

}

.hamburger{

    display:block;

    cursor:pointer;

    font-size:1.7rem;

}

.quote-btn{

    display:none;

}

/* HERO */

.hero{

    text-align:center;

}

.hero h1{

    font-size:3.5rem;

    letter-spacing:-1px;

}

.hero p{

    font-size:1.05rem;

}

.hero-buttons{

    flex-wrap:wrap;

}

.hero-stats{

    flex-wrap:wrap;

    gap:35px;

}

.floating-card{

    display:none;

}

/* TRUSTED */

.industry-grid{

    grid-template-columns:repeat(3,1fr);

}

/* SERVICES */

.services-grid{

    grid-template-columns:1fr;

}

/* FEATURED */

.featured-grid{

    grid-template-columns:1fr;

}

.featured-large{

    grid-column:auto;

}

.featured-small{

    min-height:350px;

}

/* PROCESS */

.timeline{

    grid-template-columns:repeat(2,1fr);

}

/* WHY */

.feature-box{

    padding:24px;

}

/* TEMPLATES */

.template-grid{

    grid-template-columns:1fr;

}

/* TESTIMONIALS */

.testimonial-grid{

    grid-template-columns:1fr;

}

/* CTA */

.cta{

    padding:80px 40px;

}

.cta h2{

    font-size:2.5rem;

}

.footer-grid{

    gap:45px;

}

}

/* ===========================
   SMALL TABLET (820px)
=========================== */

@media (max-width:820px){

.hero h1{

    font-size:3rem;

}

.section-title h2{

    font-size:2.3rem;

}

.why-left h2{

    font-size:2.5rem;

}

.cta h2{

    font-size:2.3rem;

}

.industry-grid{

    grid-template-columns:repeat(2,1fr);

}

.footer-bottom{

    flex-direction:column;

    text-align:center;

}

}

/*=====================================================
    END OF PART 1
======================================================*/

/*=====================================================
    RESPONSIVE.CSS
    PART 2
    Mobile • Small Mobile • Final Fixes
======================================================*/

/* ===========================
   MOBILE (768px)
=========================== */

@media (max-width:768px){

section{
    padding:80px 0;
}

.container{
    width:92%;
}

.hero{
    padding:70px 0 90px;
}

.hero h1{
    font-size:2.7rem;
    line-height:1.15;
}

.hero p{
    font-size:1rem;
}

.hero-buttons{
    flex-direction:column;
    gap:16px;
}

.hero-buttons .primary-btn,
.hero-buttons .secondary-btn{
    width:100%;
}

.hero-stats{
    flex-direction:column;
    gap:25px;
    align-items:center;
}

.section-title{
    margin-bottom:50px;
}

.section-title h2{
    font-size:2.2rem;
}

.section-title p{
    font-size:1rem;
}

.featured-large{
    min-height:380px;
}

.featured-small{
    min-height:280px;
}

.timeline{
    grid-template-columns:1fr;
}

.timeline-item{
    padding:15px;
}

.why-left{
    text-align:center;
}

.why-left h2{
    font-size:2.2rem;
}

.feature-box{
    flex-direction:column;
    text-align:center;
}

.feature-box i{
    margin:auto;
}

.cta{
    padding:70px 30px;
    border-radius:25px;
}

.cta h2{
    font-size:2rem;
}

.footer-grid{
    grid-template-columns:1fr;
    text-align:center;
}

.social-icons{
    justify-content:center;
}

.footer-bottom{
    flex-direction:column;
    text-align:center;
}

}

/* ===========================
   SMALL MOBILE (576px)
=========================== */

@media (max-width:576px){

.hero h1{
    font-size:2.2rem;
}

.section-title h2{
    font-size:1.9rem;
}

.logo{
    font-size:1.4rem;
}

.hero-badge{
    font-size:.8rem;
    padding:8px 16px;
}

.primary-btn,
.secondary-btn{
    padding:14px 24px;
    font-size:.95rem;
}

.industry-grid{
    grid-template-columns:1fr;
}

.service-card{
    padding:30px 24px;
}

.template-card img{
    height:220px;
}

.testimonial-card{
    padding:30px 24px;
}

.faq summary{
    padding:20px;
    font-size:1rem;
}

.faq p{
    padding:0 20px 20px;
}

.cta h2{
    font-size:1.8rem;
}

.cta p{
    font-size:1rem;
}

}

/* ===========================
   EXTRA SMALL (480px)
=========================== */

@media (max-width:480px){

.hero{
    padding:60px 0 80px;
}

.hero h1{
    font-size:2rem;
}

.hero p{
    font-size:.95rem;
}

.section-title h2{
    font-size:1.7rem;
}

.section-title span{
    font-size:.75rem;
}

.featured-overlay{
    left:20px;
    right:20px;
    bottom:20px;
}

.featured-overlay h3{
    font-size:1.4rem;
}

.featured-overlay span{
    font-size:.8rem;
}

.cta{
    padding:60px 20px;
}

.cta h2{
    font-size:1.6rem;
}

footer{
    padding:70px 0 30px;
}

.footer-grid{
    gap:35px;
}

}

/* ===========================
   VERY SMALL DEVICES (360px)
=========================== */

@media (max-width:360px){

.hero h1{
    font-size:1.8rem;
}

.section-title h2{
    font-size:1.5rem;
}

.primary-btn,
.secondary-btn{
    font-size:.9rem;
    padding:12px 18px;
}

.logo{
    font-size:1.2rem;
}

.hero-badge{
    font-size:.72rem;
}

}

/* ===========================
   TOUCH IMPROVEMENTS
=========================== */

@media (hover:none){

.primary-btn:hover,
.secondary-btn:hover,
.service-card:hover,
.template-card:hover,
.testimonial-card:hover,
.feature-box:hover,
.industry-card:hover{
    transform:none;
}

}

/* ===========================
   IMAGE SAFETY
=========================== */

img{
    max-width:100%;
    height:auto;
}

/* ===========================
   BUTTON WRAP FIX
=========================== */

.primary-btn,
.secondary-btn,
.quote-btn{
    white-space:nowrap;
}

/* ===========================
   TABLE WRAP
=========================== */

table{
    display:block;
    overflow-x:auto;
    width:100%;
}

/* ===========================
   FORM ELEMENTS
=========================== */

input,
textarea,
select,
button{
    max-width:100%;
    font-family:inherit;
}

/* ===========================
   MOBILE MENU ANIMATION
=========================== */

.nav-links{
    transition:max-height .4s ease,
               padding .3s ease;
}

.hamburger i{
    transition:.3s;
}

.hamburger.active i{
    transform:rotate(90deg);
}

/* ===========================
   SMOOTH SCROLL OFFSET
=========================== */

html{
    scroll-padding-top:90px;
}

/* ===========================
   FINAL OPTIMIZATION
=========================== */

*{
    -webkit-tap-highlight-color:transparent;
}

body{
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}

/*=====================================================
    END OF RESPONSIVE.CSS
======================================================*/