/* ===========================
   FAQ Page Hero
=========================== */

.faq-page-hero{
    position:relative;
    overflow:hidden;

    padding:165px 0 80px;

    background:url("../images/faq-hero-image.jpg") center center / cover no-repeat;
}
.faq-page-hero .container{
	width: min(1469px, calc(100% - 40px));
}
.faq-page-hero::before{
    content:"";
    position:absolute;
    inset:0;

    background:linear-gradient(
        to right,
        rgba(247,250,247,.82) 0%,
        rgba(247,250,247,.45) 35%,
        rgba(24,52,45,.18) 100%
    );

    z-index:0;
}

.faq-page-hero::after{
    content:"";
    position:absolute;
    inset:0;

    background:
        radial-gradient(
            1200px 600px at 15% 10%,
            rgba(255,255,255,.18),
            transparent 60%
        ),
        radial-gradient(
            1000px 700px at 85% 20%,
            rgba(255,245,210,.15),
            transparent 60%
        ),
        radial-gradient(
            900px 700px at 60% 90%,
            rgba(255,255,255,.12),
            transparent 60%
        );

    pointer-events:none;
    z-index:1;
}

.faq-page-hero > *{
    position:relative;
    z-index:2;
}

.faq-section{
    padding:88px 0;
/*     background:linear-gradient(110deg,#f8fbf7 0%,#fff 48%,#f8f8f2 100%); */
}
.faq-hero-image{
	display:none;
}
.faq-content .eyebrow::after { width: 28px; height: 1px; background: #d5a525; content: ""; }.faq-content h2 { margin: 0 0 25px; color: #102c1e; font-size:65px; font-weight: 900; line-height: 1; letter-spacing: -2px; }.faq-list { display: grid; gap: 10px; }.faq-list details { overflow: hidden; background: rgba(255,255,255,.82); border: 1px solid #dce3dc; border-radius: 18px;    max-width: 630px;
    width: 100%; }.faq-list summary { display: flex; align-items: center; justify-content: space-between; min-height: 57px; padding: 14px 16px; color: #142c20; cursor: pointer; font-size: 18px; font-weight: 700; list-style: none; text-transform: uppercase; }.faq-list summary::-webkit-details-marker { display: none; }.faq-list summary span::after { transform: rotate(90deg); }.faq-list details[open] { border-color: #a6b8a8; }.faq-list details[open] summary { color: #174d31; }.faq-list details[open] summary span::after { transform: rotate(0); }.faq-answer { padding: 0 20px 17px; color: #5e6960; font-size: 14px; line-height: 1.55; }.faq-answer p { margin: 0; }.faq-image { width: 100%; max-width: 505px; min-height: 260px; justify-self: end; overflow: hidden; border-radius: 22px; box-shadow: 0 12px 28px rgba(38, 55, 42, .08); transition: box-shadow .25s ease, transform .25s ease; }.faq-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease, filter .45s ease; }.faq-image:hover { box-shadow: 0 18px 34px rgba(38, 55, 42, .15); transform: translateY(-4px); }.faq-image:hover img { filter: saturate(1.06) contrast(1.02); transform: scale(1.045); }
@media (max-width: 900px) { .faq-section { padding: 70px 0; }.faq-grid { grid-template-columns: 1fr; }.faq-image { min-height: 290px; }.faq-content h2 { font-size: 42px; } }
@media (max-width: 720px) { .faq-section { padding: 60px 0; }.faq-grid { gap: 30px; }.faq-content h2 { margin-bottom: 22px; font-size: 33px; letter-spacing: -1px; }.faq-list summary { min-height: 55px; font-size: 16px; }.faq-answer { font-size: 13px; }.faq-image { min-height: 240px; border-radius: 18px; } }

summary{
    display:flex;
    justify-content:space-between;
    align-items:center;
    list-style:none;
    cursor:default;
}

summary::-webkit-details-marker{
    display:none;
}

.faq-question{
    flex:1;
    cursor:default;
}

.faq-toggle{
    width:40px;
    height:40px;
    border:1px solid lightgray;
    border-radius:50%;
    background:#fff;
    color:darkgray;
    font-size:22px;
    cursor:pointer;
    transition:.3s;
}

details[open] .faq-toggle{
    content:"-";
}

/*=========================================
FAQ PAGE HERO
=========================================*/
.faq-hidden{
    display:none;
}
.faq-page-hero{
	padding:145px 0 70px;

}

.faq-hero-wrapper{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:80px;
}

.faq-hero-content{
	max-width: 504px;
}

.faq-hero-image{
	max-width: 504px;
}

.faq-hero-image img{
	width:100%;
	display:block;
	border-radius:28px;
	box-shadow:0 30px 80px rgba(0,0,0,.08);
}

.faq-eyebrow{
	font-size:11px;
	font-weight:500;
	text-transform:uppercase;
	letter-spacing:3px;
	color:#55766a;
	font-weight: 700;
}

.faq-title{
	font-size:91px;
	line-height:.95;
	font-weight:900;
	color:#0b1d14;
	margin-bottom:28px;
}
.faq-hero-content h1{
	margin-top:0;
}
.faq-description{
	font-size:16px;
	line-height:1.7;
	color:#2a302e;
	max-width:640px;
	margin-bottom:29px;
}

.faq-hero-content span{
	color: #153c25 !important;
}
.faq-search{
	height:47px;
	max-width:520px;
	background:#fff;
	border:1px solid #e2e8e3;
	border-radius:60px;
	display:flex;
	align-items:center;
	padding:0 24px;
	box-shadow:0 12px 35px rgba(0,0,0,.05);
	transition:.3s;
}

.faq-search:hover{
	box-shadow:0 18px 40px rgba(0,0,0,.08);
}

.faq-search:focus-within{
	border-color:#1b5a39;
	box-shadow:0 20px 45px rgba(0,0,0,.10);
}


.faq-search svg{
	color:#6d7c76;
	flex-shrink:0;
}

.faq-search input{
	flex:1;
	border:none;
	outline:none;
	background:none;
	font-size:17px;
	padding-left:16px;
	color:#18342d;
}

.faq-page-content .faq-category-section:last-child .faq-category-content{
	margin-top: -130px;
}

.faq-search input::placeholder{
	color:#9aa7a1;
}

@media (max-width:991px){

	.faq-hero-wrapper{
		flex-direction:column;
		text-align:center;
		gap:50px;
	}

	.faq-title{
		font-size:56px;
	}

	.faq-description{
		font-size:18px;
		margin-left:auto;
		margin-right:auto;
	}

	.faq-search{
		margin:auto;
	}

}

@media (max-width:576px){

	.faq-page-hero{
		padding:70px 0 50px;
		    background-position-x: right;
	}

	.faq-title{
		font-size:42px;
	}

	.faq-description{
		font-size:16px;
	}

	.faq-search{
		height:60px;
	}
	.faq-hero-wrapper{
		padding-top: 45px;
	}

}

/*==================================
FAQ CONTENT
==================================*/

/* ==========================================================
   FAQ PAGE CONTENT
========================================================== */

.faq-category-list{
    display:flex;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
    margin:10px 0;
}

.faq-filter{
    padding:12px 26px;
    border:1px solid #d9e4dd;
    background:#fff;
    color:#1B5A39;
    border-radius:999px;
    font-size:15px;
    font-weight:600;
    cursor:pointer;
    transition:all .35s ease;
}

.faq-filter:hover{
    background:#1B5A39;
    color:#fff;
    border-color:#1B5A39;
    transform:translateY(-2px);
}
.faq-categories{
	border:1px solid lightgray;
}
.faq-categories{
    background:#fff;
    padding:20px 0;
}

.faq-category-list{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:14px;
}

.faq-filter{

    padding:12px 24px;
    border:1px solid #dbe6df;
    background:#fff;
    color:#18342d;
    border-radius:999px;
    font-size:15px;
    font-weight:600;
    cursor:pointer;
    transition:.35s ease;

}

.faq-filter:hover{

    background:#18342d;
    color:#fff;
    border-color:#18342d;

}

.faq-filter.active{

    background:#18342d;
    color:#fff;
    border-color:#18342d;

}

.faq-filter.active{
    background:#1B5A39;
    color:#fff;
    border-color:#1B5A39;
}

.faq-page-content{
    padding:90px 0;
    background:#fcfaf3;
}


.faq-category-section{
    margin-bottom:100px;
}

.faq-category-grid{

    display:grid;
    grid-template-columns:500px 1fr;
    gap:60px;
    align-items:start;

}
.faq-category-image{
    width:100%;
    max-width:500px;
    height:360px;      /* Adjust to 320px–380px if needed */
    overflow:hidden;
    border-radius:24px;
    align-self:flex-start;
}

.faq-category-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    border-radius:24px;
    transition:transform .6s ease;
}

.faq-category-image:hover img{
    transform:scale(1.05);
}

.faq-category-heading{
    margin-bottom:40px;
}

.faq-label{
    display:inline-flex;
    align-items:center;
    gap:16px;
    font-size:13px;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:#222;
    margin-bottom:18px;
}

.faq-label::after{
    content:"";
    width:55px;
    height:2px;
    background:#c89a3d;
}


.faq-category-title{
     font-size: 62px;
    line-height: 1;
    color: black;
    margin: 0 0 35px;
    font-weight: 900;
	 max-width:520px;
}

/* ==========================================================
   ACCORDION
========================================================== */

.faq-list{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.faq-item{
    border:1px solid #e8ecea;
    border-radius:18px;
    overflow:hidden;
    background:#fff;
    transition:.35s;
}

.faq-item:hover{
    box-shadow:0 15px 35px rgba(0,0,0,.06);
}

.faq-item summary{
    list-style:none;
    cursor:pointer;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:21px 24px;
    font-size:18px;
    font-weight:600;
    color:#18342d;
}

.faq-item summary::-webkit-details-marker{
    display:none;
}

.faq-question{
    flex:1;
    padding-right:20px;
}

.faq-icon{
	width:40px;
	height:40px;
	border-radius:50%;
	background:#fff;
	border:1px solid #e5e5e5;
	color:#1B5A39;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:26px;
	font-weight:500;
	line-height:1;
	flex-shrink:0;
	transition:.3s;
}

.faq-item:hover .faq-icon{
	border-color:#1B5A39;
}

.faq-answer{
    padding:0 30px 28px;
    color:#5d6662;
    line-height:1.8;
    font-size:16px;
}

.faq-answer p:last-child{
    margin-bottom:0;
}

/* ==========================================================
   BUTTON
========================================================== */

.faq-more-button{
    display:flex;
    align-items:center;
    justify-content:center;
	margin: 0 auto;
    margin-top:30px;
    padding:15px 30px;
    border-radius:999px;
    background:#18342d;
    color:#fff;
    text-decoration:none;
    font-weight:600;
    transition:.3s;
}

.faq-more-button:hover{
    background:#1B5A39;
    transform:translateY(-3px);
    color:#fff;
}
.faq-category-content{
	margin-top:-200px;
	    max-width: 643px;
    margin-left: 13px;
}
/* .faq-category-section:nth-child(even){
    background:#e9e2e4;
}
 */

/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width:991px){

    .faq-category-grid{
        grid-template-columns:1fr;
        gap:40px;
    }

    .faq-category-section:nth-child(even) .faq-category-image,
    .faq-category-section:nth-child(even) .faq-category-content{
        order:initial;
    }

    .faq-category-title{
        font-size:34px;
}
}

@media (max-width:767px){

    .faq-page-content{
        padding:70px 0;
		margin-top: 0 !important;
    }

    .faq-category-section{
        margin-bottom:70px;
		padding:15px;
    }

    .faq-category-title{
        font-size:28px;
        margin-bottom:25px;
    }

    .faq-item summary{
        padding:20px;
        font-size:17px;
    }

    .faq-answer{
        padding:0 20px 20px;
    }

    .faq-icon{
        width:32px;
        height:32px;
        font-size:20px;
    }
}

/* ============================
   FAQ CTA
============================ */

.faq-cta{
    padding:100px 0;
    background:#fff;
	padding-top:0;
}

.faq-cta-box{

    background:#143f28;
    border-radius:42px;

    padding:70px;

    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:60px;

}

.faq-cta-content{

    max-width:598px;

}

.faq-cta-eyebrow{

    display:block;

    margin-bottom:18px;

    color:lightgray;

    font-size:12px;

    letter-spacing:3px;

    font-weight:700;

}

.faq-cta-content h2{

    color:#fff;

    font-size:57px;

    line-height:.95;

    margin:0 0 24px;

    font-weight:900;

}

.faq-cta-content p{

    color:#ddd9d9;

    font-size:16px;

    line-height:1.7;

    margin:0;

}

.faq-cta-content a{

    color:#ddd9d9;

    text-decoration:none;

}

.faq-cta-buttons{

    display:flex;
    gap:18px;
    flex-wrap:wrap;

}

.faq-btn{

    display:inline-flex;

    align-items:center;
    justify-content:center;

    padding: 12px 26px;

    border-radius:999px;

    font-weight:400;

    text-decoration:none;

    transition:.35s;
	font-size:14px;

}

.faq-btn-primary{

    background:#d7aa35;

    color:#143f28;

}

.faq-btn-primary:hover{

    transform:translateY(-3px);

    background:#e8b93d;

}

.faq-btn-outline{

    border:1px solid rgba(255,255,255,.25);

    color:#fff;

}

.faq-btn-outline:hover{

    background:#fff;

    color:#143f28;

}

@media(max-width:991px){

    .faq-cta-box{

        flex-direction:column;

        text-align:center;

        padding:50px 35px;

    }

    .faq-cta-content h2{

        font-size:48px;

    }

    .faq-cta-buttons{

        justify-content:center;

    }

}

@media(max-width:576px){

    .faq-cta{

        padding:70px 0;

    }

    .faq-cta-box{

        border-radius:28px;

        padding:40px 25px;

    }

    .faq-cta-content h2{

        font-size:36px;

    }

    .faq-cta-content p{

        font-size:16px;

    }


}

	@media(max-width:767px){
		.faq-category-content{
	margin-top:0 !important;
}
		    .faq-category-list{
        display:flex;
        flex-wrap:nowrap;
        overflow-x:auto;
        overflow-y:hidden;
        gap:14px;
        padding:0 20px 10px;
        white-space:nowrap;

        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
    }

    .faq-category-list::-webkit-scrollbar{
        display:none;
    }

    .faq-filter{
        flex:0 0 auto;
        white-space:nowrap;
    }

	}

.faq-grid{
	display:flex;
	justify-content: space-between;
}