/* ================= FONTS ================= */

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Medium.woff2') format('woff2');
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Bold.woff2') format('woff2');
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url('../fonts/Roboto-Regular.woff2') format('woff2');
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url('../fonts/Roboto-Medium.woff2') format('woff2');
    font-weight: 500;
    font-display: swap;
}


/* ================= GLOBAL ================= */

* {
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body {
    font-family:'Roboto',sans-serif;
    color:#707070;
    line-height:1.6;
}

img{
    max-width:100%;
    height:auto;
    display:block;
}

.container{
    width:90%;
    max-width:1200px;
    margin:auto;
}

.section{
    padding:60px 0;
}

.bg-light{
    background:#F6FAFF;
}

.text-center{
    text-align:center;
}


/* ================= HEADER ================= */

.header{
    padding-top:40px;
    background:#fff;
}

.logo img{
    max-width:160px;
    margin:auto;
}


/* ================= TYPOGRAPHY ================= */

.main-title{
    font-family:'Montserrat',sans-serif;
    color:#1d1d1d;
    font-size:28px;
    font-weight:700;
    margin-bottom:20px;
}

.section-text{
    font-size:16px;
    margin-bottom:20px;
}


/* ================= BUTTONS ================= */

.btn{
    display:inline-block;
    padding:12px 28px;
    border-radius:30px;
    text-decoration:none;
    font-weight:500;
    transition:0.3s ease;
}

.btn-primary{
    background:#36719F;
    color:#fff;
}

.btn-primary:hover{
    background:#2c5d82;
}

.btn-outline{
    border:2px solid #36719F;
    color:#36719F;
}

.btn-outline:hover{
    background:#36719F;
    color:#fff;
}


/* ================= HERO ================= */

.hero{
    padding:50px 0;
}

.hero-text{
    max-width:700px;
    margin:0 auto 30px;
}

.hero-buttons{
    margin-bottom:40px;
}

.hero-buttons .btn{
    margin:0 10px;
}

.hero-image img{
    width:100%;
    height:auto;
    max-width:900px;
    margin:auto;
}


/* ================= TWO COLUMN ================= */

.two-col{
    display:flex;
    align-items:center;
    gap:50px;
}

.two-col.reverse{
    flex-direction:row-reverse;
}

.col{
    flex:1;
}

.image-col img{
    width:100%;
    height:auto;
    border-radius:8px;
}


/* ================= IMAGE PLACEHOLDER ================= */

.image-placeholder{
    width:100%;
    height:300px;
    background:#e3e6ea;
    border-radius:8px;
}


/* ================= FEATURE LIST ================= */

.feature-list{
    list-style:none;
    padding:0;
    margin-top:20px;
}

.feature-list li{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:18px;
    font-family:'Roboto',sans-serif;
    font-size:16px;
    color:#1d1d1d;
}

.check-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    background:#36719F;
    color:#fff;
    border-radius:50%;
    font-size:14px;
    font-weight:bold;
    flex-shrink:0;
}


/* ================= STEPS TIMELINE ================= */

.steps-list{
    list-style:none;
    padding:0;
    margin-top:40px;
    position:relative;
}

.steps-list::before{
    content:"";
    position:absolute;
    left:20px;
    top:0;
    width:2px;
    height:95%;
    background:#36719F;
}

.steps-list li{
    display:flex;
    align-items:flex-start;
    gap:20px;
    margin-bottom:25px;
}

.step-icon{
    width:40px;
    height:40px;
    background:#36719F;
    color:#fff;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:600;
    font-family:'Montserrat';
    flex-shrink:0;
}

.step-content h4{
    margin:2px 0;
    font-family:'Montserrat';
    font-size:16px;
}


/* ================= SMALL BLUE LABEL ================= */

.section-label{
    display:inline-block;
    background:#36719F;
    color:#fff;
    padding:6px 12px;
    font-size:12px;
    border-radius:4px;
    margin-bottom:15px;
    font-family:'Montserrat';
}


/* ================= CTA ================= */

.cta-section{
    background:#f1f3f6;
    padding:40px 0;
}

.cta-inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:40px;
}

.cta-title{
    font-family:'Montserrat';
    color:#1d1d1d;
    font-size:26px;
}


/* ================= FAQ ================= */

.faq-item{
    border-bottom:1px solid #e5e5e5;
    padding:18px 0;
}

.faq-question-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    cursor:pointer;
    gap:20px;
}

.faq-question{
    font-family:'Montserrat',sans-serif;
    font-size:18px;
    font-weight:600;
    color:#1d1d1d;
}

.faq-icon{
    font-size:22px;
    font-weight:600;
    color:#36719F;
    transition:transform 0.3s ease;
}

/*.faq-answer{
    max-height:0;
    overflow:hidden;
    transition:max-height 0.4s ease,opacity 0.3s ease;
    opacity:0;
    margin-top:0;
}

.faq-item.active .faq-answer{
    max-height:500px;
    opacity:1;
    margin-top:12px;
}*/

.faq-item.active .faq-icon{
    transform:rotate(45deg);
}

.faq-answer {
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition: height 0.4s ease, opacity 0.25s ease;
}

.faq-item.active .faq-answer {
  opacity: 1;
}
/* ================= CONTACT ================= */

.contact-form{
    margin-top:40px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
}

.contact-form input,
.contact-form textarea{
    padding:12px;
    border-radius:6px;
    border:1px solid #ddd;
    font-family:'Roboto';
}

.contact-form textarea{
    grid-column:span 2;
    min-height:120px;
}

.contact-form button{
    grid-column:span 2;
    border:none;
    margin:auto;
}


/* ================= FOOTER ================= */

.footer{
    padding:15px 0;
    background:#36719F;
    font-size:14px;
    color:#fff;
}


/* ================= TABLET ================= */

@media (max-width:992px){

.two-col,
.two-col.reverse{
    flex-direction:column;
    text-align:center;
}

.main-title{
    font-size:26px;
}

.cta-inner{
    flex-direction:column;
}

}


/* ================= MOBILE ================= */

@media (max-width:768px){

.main-title{
    font-size:22px;
}

.section-text{
    font-size:15px;
}

.feature-list li{
    font-size:15px;
    text-align: left;
}

.step-content h4{
    font-size:15px;
}

.hero-buttons{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.hero-buttons .btn{
    width:100%;
    margin:0;
}

.section{
    padding:50px 0;
}

.contact-form{
    grid-template-columns:1fr;
}

.contact-form textarea,
.contact-form button{
    grid-column:span 1;
}

}

@media (max-width:768px){

.main-title{
  font-size:22px;
}

.section-text{
  font-size:15px;
  text-align: left;
}

.cta-title{
  font-size:18px;
}

.faq-question{
  font-size:16px;
}

}
@media (max-width:768px){

.mobile-bottom{
  order:2;
}

.content-col{
  order:1;
}

}

/* ================= STEPS CARD ================= */

.steps-col{
    display:flex;
    justify-content:center;
}

.steps-card{
    background:#fff;
    border:1px solid #36719F;
    border-radius:10px;
    padding:40px;
    width:100%;
    max-width:500px;
}

.step-item{
    margin-bottom:28px;
}

.step-item:last-child{
    margin-bottom:0;
}

/* Step title */

.step-title{
    font-family:'Montserrat',sans-serif;
    font-weight:700;
    color:#36719F;
    margin-bottom:6px;
}

/* Step description */

.step-item p{
    font-family: 'Montserrat';
    color: #707070;
    line-height: 1.6;
    font-weight: bold;
    font-size: 14px;
}

/* subtle hover polish */

.steps-card{
    box-shadow:0 4px 18px rgba(0,0,0,0.04);
}

/* ================= MOBILE ================= */

@media (max-width:768px){

.steps-card{
    padding:28px;
    text-align: left;
}

.step-title{
    font-size:16px;
}

.step-item p{
    font-size:14px;
    
}

}

.demo-request-form {
  margin-top: 30px;
}
/* ================= MODERN UI IMPROVEMENTS ================= */

/* smoother typography */
body{
    -webkit-font-smoothing: antialiased;
}

/* nicer section spacing */
.section{
    padding:70px 0;
}

/* modern container spacing */
.container{
    padding-left:10px;
    padding-right:10px;
}

/* image polish */
.image-col img,
.hero-image img{
    border-radius:12px;
}

/* modern subtle shadow */
.image-col img,
.image-placeholder{
    box-shadow:0 8px 25px rgba(0,0,0,0.06);
}

/* buttons feel more modern */
.btn{
    transition: all .25s ease;
}

.btn:hover{
    transform: translateY(-2px);
}

/* slightly stronger titles */
.main-title{
    letter-spacing:-0.3px;
}

/* better FAQ interaction */
.faq-item{
    transition: all .25s ease;
}

.faq-item:hover{
    background:#fafafa;
}

/* CTA polish */
.cta-section{
    border-radius:10px;
}

/* mobile improvements */
@media (max-width:768px){

.main-title{
    line-height:1.35;
}

.hero-buttons .btn{
    width:100%;
}

.section{
    padding:50px 0;
}

}
