/* ==================================================
   SECTION COMPONENT
================================================== */

.section{

    padding:8rem 0;

}

.section__container{

    max-width:860px;

    text-align:center;

}

.section__badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:.75rem 1.5rem;

    border-radius:999px;

    background:#F4F1EA;

    color:var(--gold);

    font-size:.85rem;

    letter-spacing:2px;

    font-weight:600;

    margin-bottom:2rem;

}

.section__title{

    font-family:var(--font-title);

    font-size:4rem;

    color:var(--primary);

    margin-bottom:2rem;

}

.section__description{

    color:var(--gray);

    font-size:1.15rem;

    line-height:2;

    margin-bottom:1.5rem;

}

.philosophy{

    background:white;

    margin-top:7rem;

    border-radius:4rem 4rem 0 0;

}

.philosophy__quote{

    margin-top:4rem;

    font-family:var(--font-title);

    font-size:3rem;

    color:var(--gold);

    font-style:italic;

}
/* ==================================================
   ABOUT
================================================== */

.about{

    background:#fff;

}

.about__container{

    display:grid;

    grid-template-columns:220px 1fr 420px;

    gap:4rem;

    align-items:center;

}

.about__experience{

    text-align:center;

}

.about__number{

    display:block;

    font-family:var(--font-title);

    font-size:7rem;

    color:var(--gold);

    line-height:1;

}

.about__label{

    text-transform:uppercase;

    letter-spacing:3px;

    font-size:.9rem;

    color:var(--gray);

}

.about__highlights{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:1rem;

    margin:2rem 0 3rem;

}

.about__item{

    padding:1rem;

    background:#F7F7F7;

    border-radius:var(--radius-sm);

    font-weight:500;

}

.about__image img{

    width:100%;

    border-radius:var(--radius-lg);

    box-shadow:var(--shadow-md);

}

/* ==================================================
   SERVICES
================================================== */

.services{
    background:#fff;
}


/* ==================================================
   BUSINESS
================================================== */

.business{

    background:#f8f7f4;

}

.business__intro{

    max-width:760px;

    margin:0 auto 4rem;

    text-align:center;

}

.business__grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:2rem;

}

.business-card{

    background:#fff;

    padding:2.5rem;

    border-radius:var(--radius-md);

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

    border-top:4px solid transparent;

}

.business-card:hover{

    transform:translateY(-8px);

    border-color:var(--gold);

    box-shadow:var(--shadow-lg);

}

.business-card__icon{

    width:70px;

    height:70px;

    border-radius:50%;

    background:#F5F3ED;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:2rem;

}

.business-card__icon svg{

    width:34px;

    height:34px;

    color:var(--primary);

}

.business-card h3{

    font-family:var(--font-title);

    color:var(--primary);

    margin-bottom:1rem;

}

.business-card p{

    color:var(--gray);

    line-height:1.8;

    margin-bottom:1.5rem;

}

.business-card ul{

    list-style:none;

    display:flex;

    flex-direction:column;

    gap:.75rem;

}

.business-card li{

    position:relative;

    padding-left:1.5rem;

    color:var(--gray);

}

.business-card li::before{

    content:"✓";

    position:absolute;

    left:0;

    color:var(--gold);

    font-weight:700;

}

.business__quote{

    margin-top:5rem;

    text-align:center;

    padding:4rem;

    border-radius:var(--radius-lg);

    background:linear-gradient(135deg,var(--primary),#1d2a43);

    color:#fff;

}

.business__quote h3{

    color:#fff;

    font-family:var(--font-title);

    font-size:2.8rem;

    margin-bottom:1.5rem;

}

.business__quote p{

    max-width:720px;

    margin:0 auto 2rem;

    line-height:1.9;

    opacity:.9;

}
.business__quote span{

    display:inline-block;

    margin-bottom:1rem;

    font-size:.85rem;

    font-weight:600;

    letter-spacing:2px;

    text-transform:uppercase;

    color:rgba(255,255,255,.75);

}
/* ==================================================
   PROCESS
================================================== */

.process{
    background:#fff;
}

.process .cards-grid{
    margin-top:3rem;
}
/* ==================================================
   PREVENTIVE
================================================== */

.preventive{

    background:var(--background);

}

.preventive__container{

    display:grid;

    grid-template-columns:1fr 420px;

    gap:5rem;

    align-items:center;

}

.preventive__quote{

    margin-top:3rem;

    padding-left:1.5rem;

    border-left:4px solid var(--gold);

    font-family:var(--font-title);

    font-size:2.2rem;

    color:var(--primary);

    line-height:1.4;

}

.preventive__illustration{

    display:flex;

    justify-content:center;

}

.preventive__illustration img{

    width:100%;

    max-width:420px;

}
/* ==================================================
   FAQ
================================================== */

.faq{

    background:#ffffff;

}

.faq__intro{

    max-width:720px;

    margin:0 auto 4rem;

    text-align:center;

}

.faq .section__title{

    max-width:760px;

    margin:0 auto 1.5rem;

    text-align:center;

}

.faq__list{

    max-width:900px;

    margin:auto;

}

.faq-item{

    border-bottom:1px solid #E8E8E8;

    padding:1.5rem 0;

}

.faq-item summary{

    cursor:pointer;

    list-style:none;

    font-size:1.15rem;

    font-weight:600;

    color:var(--primary);

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.faq-item summary::-webkit-details-marker{

    display:none;

}

.faq-item summary::after{

    content:"+";

    font-size:1.5rem;

    color:var(--gold);

    transition:.3s;

}

.faq-item[open] summary::after{

    transform:rotate(45deg);

}

.faq-item p{

    margin-top:1rem;

    color:var(--gray);

    line-height:1.9;

    max-width:850px;

}
/* ==================================================
   CTA
================================================== */

.cta{

    background:var(--background);

}

.cta__box{

    max-width:900px;

    margin:auto;

    text-align:center;

}

.cta .section__badge{

    color:var(--gold);

    background:#fff;

}

.cta .section__title{

    color:var(--primary);

}

.cta .section__description{

    color:var(--gray);

    max-width:760px;

    margin:0 auto 1.5rem;

}

.cta__buttons{

    display:flex;

    justify-content:center;

    gap:1.5rem;

    margin-top:3rem;

    flex-wrap:wrap;

}

.cta .button--secondary{

    background:#fff;

    border:1px solid rgba(16,35,63,.15);

    color:var(--primary);

}

.cta .button--secondary:hover{

    background:#F5F3ED;

    border-color:var(--gold);

    color:var(--primary);

}