/* Site-specific refinements for the Sahibji Associates content. */
.sahib-hero .hero-slide-item.style-one { min-height: 690px; padding: 180px 0 100px; display: flex; align-items: center; }
.sahib-hero .hero-slide-item.style-one:after { height: 100%; background: linear-gradient(90deg, rgba(0, 37, 44, .92) 0%, rgba(0, 37, 44, .72) 48%, rgba(0, 37, 44, .42) 100%); }
.sahib-hero .hero-content h1 { max-width: 680px; margin: 0 0 24px !important; font-size: clamp(40px, 4.2vw, 64px) !important; line-height: 1.1 !important; }
.sahib-hero .hero-content > p { max-width: 650px; line-height: 1.7; }
.sahib-glance { padding: 28px; background: rgba(4, 49, 56, .82); border: 1px solid rgba(255, 255, 255, .2); box-shadow: 0 20px 50px rgba(0, 0, 0, .2); backdrop-filter: blur(10px); }
.sahib-glance small { font-size: 13px; }
.sahib-section-heading small { letter-spacing: 1.4px; color: var(--primaryColor); margin-bottom: 12px; }
.sahib-service-card { border: 1px solid #e7ecec; transition: transform .25s ease, box-shadow .25s ease; }
.sahib-service-card:hover { transform: translateY(-5px); box-shadow: 0 16px 34px rgba(0, 37, 44, .1); }
.sahib-service-card .feature-list li { padding-left: 24px; margin-bottom: 9px; }
.sahib-service-card .feature-list li img { top: 5px; width: 14px; }
.sahib-calendar { overflow: hidden; border-color: #e1e7e7 !important; }
.sahib-calendar th { color: var(--titleColor); font-size: 14px; letter-spacing: .6px; }
.sahib-calendar td { border-top: 1px solid #edf0f0; }
.sahib-process .feature-card { border: 1px solid #e7ecec; }
.sahib-faq { max-width: 820px; }
.sahib-faq .accordion-item { overflow: hidden; margin-bottom: 12px; border: 1px solid #e3e9e9 !important; border-radius: 16px !important; background: #fff; }
.sahib-faq .accordion-button { padding: 22px 26px !important; color: var(--titleColor) !important; background: transparent !important; box-shadow: none !important; font-family: var(--secondaryFont); font-size: 18px; }
.sahib-faq .accordion-button::after { content: "+"; width: 28px; height: 28px; margin-left: auto; display: grid !important; place-items: center; color: #fff; background: var(--secondaryColor) !important; background-image: none !important; border-radius: 50%; transform: none !important; font-size: 20px; }
.sahib-faq .accordion-button:not(.collapsed)::after { content: "−"; }
.sahib-faq .accordion-body { padding: 0 26px 24px !important; line-height: 1.7; }
.sahib-contact-form { box-shadow: 0 18px 45px rgba(0, 0, 0, .16); }
/* Home-page sections use the original theme classes with the reference content. */
#services .feature-card { border: 1px solid #e7ecec; transition: transform .25s ease, box-shadow .25s ease; }
#services .feature-card:hover { transform: translateY(-5px); box-shadow: 0 16px 34px rgba(0, 37, 44, .1); }
#services .feature-list li { padding-left: 24px; margin-bottom: 9px; }
#services .feature-list li img { top: 5px; width: 14px; }
#due-dates .table-responsive { overflow: hidden; border-color: #e1e7e7 !important; }
#due-dates th { color: var(--titleColor); font-size: 14px; letter-spacing: .6px; }
#due-dates td { border-top: 1px solid #edf0f0; }
#faq .accordion { max-width: 820px; }
#faq .accordion-item { overflow: hidden; margin-bottom: 12px; border: 1px solid #e3e9e9 !important; border-radius: 16px !important; background: #fff; }
#faq .accordion-button { padding: 22px 26px !important; color: var(--titleColor) !important; background: transparent !important; box-shadow: none !important; font-family: var(--secondaryFont); font-size: 18px; }
#faq .accordion-button::after { content: "+"; width: 28px; height: 28px; margin-left: auto; display: grid !important; place-items: center; color: #fff; background: var(--secondaryColor) !important; background-image: none !important; border-radius: 50%; transform: none !important; font-size: 20px; }
#faq .accordion-button:not(.collapsed)::after { content: "−"; }
#faq .accordion-body { padding: 0 26px 24px !important; line-height: 1.7; }
.promo-area .contact-form.style-three { box-shadow: 0 18px 45px rgba(0, 0, 0, .16); }
/* The final contact CTA uses a bright source image; keep its content legible. */
.promo-area.style-one { isolation: isolate; }
.promo-area.style-one .promo-bg::after { height: 100%; background: linear-gradient(90deg, rgba(0, 37, 44, .88) 0%, rgba(0, 37, 44, .72) 48%, rgba(0, 37, 44, .58) 100%); }
.promo-area.style-one .container { min-height: 650px; display: flex; align-items: center; }
.promo-area.style-one .container > .row { width: 100%; align-items: center; }
.promo-area.style-one .contact-form.style-three { padding: 42px 48px; }
.promo-area.style-one .contact-form.style-three select { width: 100%; min-height: 48px; padding: 0 14px; color: var(--titleColor); border: 1px solid #d9d9d9; border-radius: 5px; background: #fff; }
.promo-area.style-one .contact-form.style-three textarea { min-height: 84px; }
.sahib-client-section { position: relative; overflow: hidden; background: #043138; }
.sahib-client-section::before { position: absolute; top: -210px; right: -90px; width: 580px; height: 580px; content: ""; border: 1px solid rgba(145, 208, 137, .18); border-radius: 50%; box-shadow: 0 0 0 70px rgba(145, 208, 137, .04), 0 0 0 140px rgba(145, 208, 137, .03); }
.sahib-client-section .container { position: relative; z-index: 1; }
.sahib-client-section .section-title small { color: #91d089; letter-spacing: 1.4px; }
.sahib-client-card { position: relative; padding: 32px 28px 30px; overflow: hidden; color: #d8e4e5; border: 1px solid rgba(255, 255, 255, .15); border-radius: 18px; background: rgba(255, 255, 255, .06); transition: transform .25s ease, background .25s ease, border-color .25s ease; }
.sahib-client-card:hover { transform: translateY(-7px); border-color: #91d089; background: rgba(255, 255, 255, .1); }
.sahib-client-icon { width: 54px; height: 54px; display: grid; place-items: center; margin-bottom: 34px; color: #043138; border-radius: 50%; background: #91d089; font-size: 25px; }
.sahib-client-card small { display: block; margin-bottom: 10px; color: #91d089; font-weight: 700; font-size: 12px; letter-spacing: 1px; text-transform: uppercase; }
.sahib-client-card h3 { margin-bottom: 14px; color: #fff; font-size: 25px; }
.sahib-client-card p { min-height: 78px; margin-bottom: 26px; line-height: 1.65; }
.sahib-client-card a { color: #fff; font-weight: 700; text-decoration: none; }
.sahib-client-card a i { margin-left: 5px; color: #91d089; transition: margin .2s ease; }
.sahib-client-card:hover a i { margin-left: 10px; }
.sahib-due-page .feature-card { border: 1px solid #e4eaea; }
@media (max-width: 991px) { .sahib-hero .hero-slide-item.style-one { min-height: auto; padding: 155px 0 80px; } .sahib-hero .hero-content h1 { font-size: 42px !important; } .promo-area.style-one .container { min-height: auto; display: block; } .promo-area.style-one .contact-form.style-three { margin-top: 35px; } }
@media (max-width: 575px) { .sahib-hero .hero-slide-item.style-one { padding: 135px 0 65px; } .sahib-hero .hero-content h1 { font-size: 35px !important; } .sahib-faq .accordion-button, #faq .accordion-button { padding: 18px 20px !important; font-size: 16px; } .sahib-faq .accordion-body, #faq .accordion-body { padding: 0 20px 20px !important; } }
