/* ============================================
   Ingram Digital Publishing - STYLE.CSS
   ============================================ */

/* Google Fonts Import */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;0,9..144,800;1,9..144,400;1,9..144,700&family=Poppins:wght@300;400;500;600;700;800&display=swap');

/* ============================================
   ROOT VARIABLES
   ============================================ */
:root {
    /* Brand Colors */
    --green:        #3a7c92;
    --yellow:           #ffc40c;
    --black:            #000000;
    --white:            #ffffff;
    --dark-yellow:      #febe10;
    --mango-yellow:     #febe10;

    /* Background Colors */
    --bg-light-yellow:  #ffc20c17;
    --bg-light-green:    #3a7c9215;
    --testimonial-bg:   #ffc40c21;
    --contact-bg:       #f6f4ed;

    /* Text Colors */
    --text-paragraph:   #151515;
    --text-white:       #ffffff;

    /* Border */
    --border-color:     #0000003b;

    /* Typography */
    --font-heading:     'Fraunces', serif;
    --font-body:        'Poppins', sans-serif;

    /* Font Sizes */
    --fs-hero:          clamp(2.2rem, 5vw, 3.8rem);
    --fs-h1:            clamp(2rem, 4vw, 3rem);
    --fs-h2:            clamp(1.6rem, 3vw, 2.4rem);
    --fs-h3:            clamp(1.2rem, 2vw, 1.6rem);
    --fs-h4:            clamp(1rem, 1.5vw, 1.2rem);
    --fs-body:          1rem;
    --fs-sm:            0.875rem;
    --fs-xs:            0.75rem;

    /* Spacing */
    --section-py:       80px;
    --container-max:    1200px;

    /* Border Radius */
    --radius-sm:        6px;
    --radius-md:        10px;
    --radius-lg:        16px;
    --radius-pill:      50px;

    /* Shadows */
    --shadow-sm:        0 2px 8px rgba(0,0,0,0.08);
    --shadow-md:        0 4px 20px rgba(0,0,0,0.12);
    --shadow-lg:        0 10px 40px rgba(0,0,0,0.15);

    /* Transitions */
    --transition:       0.3s ease;
    --transition-slow:  0.5s ease;
}

/* ============================================
   RESET & BASE
   ============================================ */

/* width */
::-webkit-scrollbar {
    width: 10px;
  }
  
  /* Track */
::-webkit-scrollbar-track {
    background:var(--green);  
}
   
  /* Handle */
::-webkit-scrollbar-thumb {
    background: var(--yellow); 
    border-radius: 50px;
}
  
  
*, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-body);
    font-size: var(--fs-body);
    color: var(--text-paragraph);
    line-height: 1.7;
    overflow-x: hidden !important;
    max-width: 100%;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    color: var(--green);
    line-height: 1.3;
}

a {
    text-decoration: none;
    color: inherit;
    transition: var(--transition);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

ul {
    list-style: none;
}

/* ============================================
   BUTTONS
   ============================================ */

/* Base Button */
.btn {
    justify-content: center;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 28px;
    font-family: var(--font-body);
    font-size: var(--fs-sm);
    font-weight: 600;
    border-radius: var(--radius-sm);
    border: 2px solid transparent;
    cursor: pointer;
    transition: var(--transition);
    text-decoration: none;
    white-space: nowrap;
}

/* Button 1: Navy bg, White text → hover Orange bg */
.btn-1 {
    background-color: var(--green);
    color: var(--white);
    border-color: var(--green);
}
.btn-1:hover {
    background-color: var(--yellow);
    border-color: var(--yellow);
    color: var(--white);
}

/* Button 2: Orange bg, White text → hover Navy bg */
.btn-2 {
    background-color: var(--yellow);
    color: var(--white);
    border-color: var(--yellow);
}
.btn-2:hover {
    background-color: var(--green);
    border-color: var(--green);
    color: var(--white);
}

/* Button 3: Navy bg, White text → hover White bg, Navy text */
.btn-3 {
    background-color: var(--green);
    color: var(--white);
    border-color: var(--green);
}
.btn-3:hover {
    background-color: var(--white);
    border-color: var(--white);
    color: var(--green);
}

/* Button 4: Orange bg, White text → hover White bg, Navy text */
.btn-4 {
    background-color: var(--yellow);
    color: var(--white);
    border-color: var(--yellow);
}
.btn-4:hover {
    background-color: var(--white);
    border-color: var(--white);
    color: var(--green);
}

/* ============================================
   HEADER STYLES
   ============================================ *

/* Top Bar */
.header-topbar {
    background-color: transparent;
    border-bottom: 1px solid var(--border-color);
    padding: 8px 0;
    font-size: var(--fs-xs);
}

.header-topbar .contact-info a {
    color: var(--text-paragraph);
    font-weight: 500;
}
.header-topbar .contact-info a i{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--green);
  color: var(--white);
  font-size: 0.75rem;
  transition: var(--transition);
}
.header-topbar .contact-info a:hover i{
  background: var(--yellow);
}


.header-topbar .social-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--green);
    color: var(--white);
    font-size: 0.75rem;
    transition: var(--transition);
}
.header-topbar .social-links a:hover {
    background: var(--yellow);
    color: var(--white);
}

/* Main Navigation */

.navbar-brand img {
    height: 75px;
    width: auto;
}
@media only screen and (max-width:767px) {
    .navbar-brand img {
        height: 65px;
    }
    .offcanvas-header img{
         height: 55px;
    }

}

.main-banner-all {
  position: absolute;
  width: 100%;
  top: 0 !important;
  z-index: 99;
}

.header-main {
  background-color: transparent;
  box-shadow: none;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1050;
  padding: 14px 0;
  transition: background-color 0.35s ease,
  box-shadow 0.35s ease,
  padding 0.35s ease;
}

/* Scroll pe yeh class JS se lagegi */
.header-main.header-scrolled {
  position: fixed;
  background-color: var(--white);
  box-shadow: 0 2px 20px rgba(2,27,94,0.1);
  padding: 10px 0;
}

/* Nav links - transparent state mein bhi dikh sakein */
.header-main .navbar-nav .nav-item > .nav-link {
  color: var(--text-paragraph);
}
/* Nav Links */
.navbar-nav .nav-item > .nav-link {
    font-family: var(--font-body);
    font-size: var(--fs-sm);
    font-weight: 600;
    color: var(--text-paragraph);
    padding: 8px 14px !important;
    position: relative;
    transition: var(--transition);
}
.navbar-nav .nav-item > .nav-link:hover,
.navbar-nav .nav-item > .nav-link.active {
    color: var(--green);
}
.navbar-nav .nav-item > .nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 2px;
    background: var(--yellow);
    border-radius: 2px;
    transition: var(--transition);
}
.navbar-nav .nav-item > .nav-link:hover::after,
.navbar-nav .nav-item > .nav-link.active::after {
    width: calc(100% - 28px);
}

/* Dropdown toggle arrow */
.navbar-nav .nav-item .dropdown-toggle::after {
    display: none;
}
.navbar-nav .nav-item .dropdown-toggle .fa-chevron-down {
    font-size: 0.65rem;
    margin-left: 4px;
    transition: transform var(--transition);
}
.navbar-nav .nav-item.show .dropdown-toggle .fa-chevron-down {
    transform: rotate(180deg);
}

/* ============================================
   MEGA MENU
   ============================================ */
.mega-menu {
    position: absolute !important;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    /* width: 95vw;
    max-width: 1140px; */
    background: var(--white);
    border-top: 3px solid var(--yellow);
    border-radius: 0 0 var(--radius-md) var(--radius-md);
    box-shadow: var(--shadow-lg);
    padding: 32px 28px;
    display: none;
    z-index: 9999;
}
.mega-menu.dropdown-menu.show{
  left: 50% !important;
  position: absolute !important;
  top:100% !important;
}
.nav-item:hover .mega-menu,
.nav-item.show .mega-menu {
    display: block;
    animation: megaFadeIn 0.25s ease forwards;
}

@keyframes megaFadeIn {
    from { opacity: 0; transform: translateX(-50%) translateY(10px); }
    to   { opacity: 1; transform: translateX(-50%) translateY(0); }
}

.mega-menu-col {
    border-right: 1px solid var(--border-color);
    padding: 0 20px;
}
.mega-menu-col:first-child { padding-left: 0; }
.mega-menu-col:last-child  { border-right: none; padding-right: 0; }

.mega-menu-col-title {
    font-family: var(--font-heading);
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--green);
    margin-bottom: 18px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--bg-light-yellow);
    display: flex;
    align-items: center;
    gap: 8px;
}
.mega-menu-col-title i {
    color: var(--yellow);
    font-size: 1rem;
}

.mega-menu-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px 12px;
}

.mega-menu-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: var(--radius-sm);
    transition: var(--transition);
    cursor: pointer;
}
.mega-menu-item:hover {
    background: var(--bg-light-green);
}
.mega-menu-item:hover .mm-icon {
    background: var(--yellow);
    color: var(--white);
}
.mega-menu-item:hover .mm-label {
    color: var(--green);
}

.mm-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: var(--radius-sm);
    background: var(--bg-light-yellow);
    color: var(--yellow);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    transition: var(--transition);
}

.mm-label {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--text-paragraph);
    line-height: 1.3;
    transition: var(--transition);
}

/* ============================================
   MOBILE OFFCANVAS
   ============================================ */

.offcanvas.mobile-nav {
    max-width: 310px;
    background: var(--white);
    z-index: 9999999999999 !important;
}

.offcanvas-header {
    border-bottom: 1px solid var(--border-color);
    padding: 16px 20px;
}

.offcanvas-header .btn-close-custom {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--bg-light-green);
    color: var(--green);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    transition: var(--transition);
}
.offcanvas-header .btn-close-custom:hover {
    background: var(--green);
    color: var(--white);
}

.mobile-nav-links {
    padding: 20px 0;
}

.mobile-nav-links .nav-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 20px;
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--text-paragraph);
    border-bottom: 1px solid var(--border-color);
    transition: var(--transition);
}
.mobile-nav-links .nav-link:hover {
    color: var(--green);
    background: var(--bg-light-green);
    padding-left: 26px;
}

.mobile-nav-links .nav-link.active {
    color: var(--green);
}

.mobile-accordion .accordion-item {
    border: none;
    border-bottom: 1px solid var(--border-color);
}

.mobile-accordion .accordion-button {
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--text-paragraph);
    background: transparent;
    padding: 12px 20px;
    box-shadow: none;
}
.mobile-accordion .accordion-button:not(.collapsed) {
    color: var(--green);
    background: var(--bg-light-green);
}
.mobile-accordion .accordion-button::after {
    filter: none;
}

.mobile-accordion .accordion-body {
    padding: 10px 20px 16px;
    background: var(--bg-light-green);
}

.mobile-sub-col-title {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--green);
    margin-bottom: 8px;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--border-color);
}

.mobile-sub-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 0;
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--text-paragraph);
    transition: var(--transition);
}
.mobile-sub-item:hover {
    color: var(--yellow);
}
.mobile-sub-item i {
    color: var(--yellow);
    font-size: 0.7rem;
    width: 16px;
    text-align: center;
}

.mobile-nav-cta {
    padding: 20px;
    border-top: 1px solid var(--border-color);
    margin-top: auto;
}

/* Hamburger */
.navbar-toggler-custom {
    border-radius: var(--radius-sm);
    background: var(--green);
    border: none;
    cursor: pointer;
    padding: 8px;
    color: var(--white);
    font-size: 1.4rem;
    display: none;
    transition: var(--transition);
}
.navbar-toggler-custom:hover{
    background: var(--yellow);
    color: var(--white) !important; 
}
/* Mega menu - active item */
.mega-menu-item.mm-active {
  background: var(--bg-light-green);
}
.mega-menu-item.mm-active .mm-icon {
  background: var(--yellow);
  color: var(--white);
}
.mega-menu-item.mm-active .mm-label {
  color: var(--green);
  font-weight: 600;
}
 
/* Mobile sub item - active */
.mobile-sub-item.mobile-sub-active {
  color: var(--yellow) !important;
  font-weight: 600;
}
.mobile-sub-item.mobile-sub-active i {
  color: var(--yellow) !important;
}


/* ============================================
   FOOTER STYLES
   ============================================ */
.footer-main {
    background-color: var(--green);
    color: var(--white);
    padding: 70px 0 30px;
}

.footer-logo img {
    height: 75px;
    margin-bottom: 18px;
}

.footer-desc {
    color: rgba(255,255,255,0.75);
    font-size: var(--fs-sm);
    line-height: 1.8;
    margin-bottom: 22px;
}

.footer-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.3);
    color: var(--white);
    font-size: 0.8rem;
    transition: var(--transition);
    margin-right: 6px;
}
.footer-social a:hover {
    background: var(--yellow);
    border-color: var(--yellow);
}

.footer-heading {
    font-family: var(--font-heading);
    font-size: 1.15rem;
    font-weight: 500;
    color: var(--white);
    margin-bottom: 22px;
    padding-bottom: 12px;
    position: relative;
}
.footer-heading::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 40px;
    height: 2px;
    background: var(--yellow);
    border-radius: 2px;
}
.footer-links{
  padding-left: 0;
}
.footer-links li {
    margin-bottom: 10px;
}
.footer-links a {
    color: rgba(255,255,255,0.75);
    font-size: var(--fs-sm);
    display: flex;
    align-items: center;
    gap: 8px;
    transition: var(--transition);
}
.footer-links a:hover {
    color: var(--yellow);
    padding-left: 6px;
}
.footer-links a i {
    font-size: 0.6rem;
    color: var(--yellow);
}

.footer-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
    color: rgba(255,255,255,0.75);
    font-size: var(--fs-sm);
}
.footer-contact-item a:hover{
  color: var(--yellow) !important;
}
.footer-contact-item .icon {
    width: 36px;
    height: 36px;
    border-radius: var(--radius-sm);
    background: rgba(254, 148, 70, 0.2);
    color: var(--yellow);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 0.85rem;
}

.footer-newsletter input {
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.2);
    color: var(--white);
    border-radius: var(--radius-sm) 0 0 var(--radius-sm);
    padding: 10px 16px;
    font-size: var(--fs-sm);
    outline: none;
}
.footer-newsletter input::placeholder { color: rgba(255,255,255,0.5); }
.footer-newsletter input:focus { border-color: var(--yellow); }
.footer-newsletter .btn {
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    padding: 10px 18px;
}

.footer-bottom {
    background-color: #1c3c46;
    padding: 18px 0;
    font-size: var(--fs-xs);
    color: rgba(255,255,255,0.6);
}
.footer-bottom a {
    color: var(--yellow);
}
.footer-bottom a:hover { color: var(--white); }

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 991.98px) {
    .navbar-nav,
    .header-nav-cta { display: none !important; }
    .navbar-toggler-custom { display: flex !important; }
    .footer-main { padding: 50px 0 24px;  overflow-x: hidden !important;  }
}

@media (max-width: 767.98px) {
    :root { --section-py: 55px; }
    .header-topbar { display: none; }
    .footer-main { padding: 50px 0 24px;  }
    .footer-heading { margin-top: 30px; }
    .footer-bottom { padding-bottom: 60px !important;}
    
}

@media (max-width: 575.98px) {
    .btn { padding: 10px 20px; font-size: 0.8rem; }
}







/* ============================================
   POPUP + FLOATING FORM CSS
   ============================================ */

/* ============================================
   QUOTE POPUP MODAL
   ============================================ */
   .quote-popup-overlay {
    
    position: fixed;
    inset: 0;
    background: rgb(81 119 132 / 75%);
    backdrop-filter: blur(4px);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease;
}
/* Popup - offcanvas ke upar aur mobile input fix */
/* .quote-popup-overlay {
    z-index: 999999 !important;
}
.quote-popup-modal {
    z-index: 1000000 !important;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.quote-popup-modal input,
.quote-popup-modal textarea,
.quote-popup-modal button {
    pointer-events: all !important;
    touch-action: manipulation !important;
    -webkit-user-select: text !important;
    user-select: text !important;
    position: relative;
    z-index: 1000001 !important;
} */
.quote-popup-overlay.active {
    opacity: 1;
    visibility: visible;
}

.quote-popup-modal {
    background: var(--white);
    border-radius: 20px;
    overflow: hidden;
    width: 100%;
    max-width: 820px;
    max-height: 90vh;
    display: flex;
    position: relative;
    box-shadow: 0 25px 60px rgba(2,27,94,0.3);
    transform: scale(0.88) translateY(30px);
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.quote-popup-overlay.active .quote-popup-modal {
    transform: scale(1) translateY(0);
}

/* Close Button */
.popup-close-btn {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 10;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--green);
    border: 1px solid rgba(255,255,255,0.4);
    color: var(--white);
    font-size: 1rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition);
}
.popup-close-btn:hover {
    background: var(--yellow);
    border-color: var(--yellow);
    transform: rotate(90deg);
}

/* Left Decorative Panel */
.popup-left {
    background: linear-gradient(145deg, var(--green) 0%, #1c3c46 100%);
    width: 38%;
    flex-shrink: 0;
    padding: 44px 32px;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
}
.popup-left::before {
    content: '';
    position: absolute;
    bottom: -60px;
    left: -60px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: rgba(254,148,70,0.12);
}
.popup-left::after {
    content: '';
    position: absolute;
    top: -40px;
    right: -40px;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: rgba(255,255,255,0.05);
}
.popup-left-content {
    position: relative;
    z-index: 1;
}
.popup-icon-wrap {
    width: 56px;
    height: 56px;
    background: var(--yellow);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: var(--white);
    margin-bottom: 20px;
}
.popup-left-content h3 {
    font-family: var(--font-heading);
    color: var(--white);
    font-size: 1.5rem;
    line-height: 1.3;
    margin-bottom: 12px;
}
.popup-left-content h3 span {
    color: var(--yellow);
}
.popup-left-content p {
    color: rgba(255,255,255,0.72);
    font-size: 0.85rem;
    line-height: 1.7;
    margin-bottom: 24px;
}
.popup-perks {
    list-style: none;
    padding: 0;
    margin: 0;
}
.popup-perks li {
    display: flex;
    align-items: center;
    gap: 10px;
    color: rgba(255,255,255,0.85);
    font-size: 0.83rem;
    margin-bottom: 10px;
    font-weight: 500;
}
.popup-perks li i {
    width: 20px;
    height: 20px;
    background: var(--yellow);
    border-radius: 50%;
    color: white;
    font-size: 0.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* Right Form Panel */
.popup-right {
    flex: 1;
    padding: 40px 36px;
    overflow-y: auto;
}
.popup-badge {
    display: inline-block;
    background: var(--bg-light-yellow);
    color: var(--yellow);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 4px 12px;
    border-radius: 20px;
    margin-bottom: 10px;
}
.popup-form-header h2 {
    font-family: var(--font-heading);
    font-size: 1.7rem;
    color: var(--green);
    margin-bottom: 6px;
}
.popup-form-header h2 span { color: var(--yellow); }
.popup-form-header p {
    font-size: 0.82rem;
    color: #777;
    margin-bottom: 22px;
}

/* Form */
.popup-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.popup-form-group {
    position: relative;
    margin-bottom: 14px;
}
.popup-form-group input,
.popup-form-group textarea {
    width: 100%;
    border: 1.5px solid var(--border-color);
    border-radius: 10px;
    padding: 11px 14px 11px 40px;
    font-family: var(--font-body);
    font-size: 0.85rem;
    color: var(--text-paragraph);
    outline: none;
    background: var(--white);
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
    resize: none;
}
.popup-form-group textarea {
    padding-top: 12px;
}
.popup-form-group i {
    position: absolute;
    top: 50%;
    left: 14px;
    transform: translateY(-50%);
    color: #aaa;
    font-size: 0.8rem;
    pointer-events: none;
    transition: color 0.25s;
}
.popup-form-group textarea ~ i {
    top: 14px;
    transform: none;
}
.popup-form-group input:focus,
.popup-form-group textarea:focus {
    border-color: var(--yellow);
    box-shadow: 0 0 0 3px rgba(254,148,70,0.15);
}
.popup-form-group input:focus ~ i,
.popup-form-group textarea:focus ~ i {
    color: var(--yellow);
}
.popup-submit-btn {
    margin-top: 4px;
    font-size: 0.9rem;
    padding: 13px 28px;
}

/* ============================================
   FLOATING SIDEBAR - 2 Stacked Buttons (Right)
   ============================================ */

.floating-form-tab {
    position: fixed;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    z-index: 9990;
    user-select: none;
}

/* Phone wrapper */
.floating-phone-wrap {
    position: relative;
}

/* Phone Button (upar - navy) */
.floating-phone-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 52px;
    background: var(--yellow);
    color: var(--white);
    border-radius: 10px 0 0 0;
    cursor: pointer;
    font-size: 1.1rem;
    transition: background var(--transition);
    text-decoration: none;
    border-bottom: 1px solid rgba(255,255,255,0.18);
    flex-shrink: 0;
}
.floating-phone-btn:hover {
    background: var(--dark-yellow);
    color: var(--white);
}

/* Phone Number Tooltip */
.floating-phone-tooltip {
    position: absolute;
    right: 100%;
    top: 0;
    height: 52px;
    width: 0;
    overflow: hidden;
    border-radius: 8px 0 0 8px;
    background: var(--yellow);
    box-shadow: -4px 0 16px rgba(2,27,94,0.2);
    transition: width 0.35s cubic-bezier(0.34, 1.3, 0.64, 1);
    z-index: 9991;
    white-space: nowrap;
}
.floating-phone-tooltip.show {
    width: 220px;
}
.floating-phone-tooltip a {
    display: flex;
    align-items: center;
    height: 100%;
    text-decoration: none;
    color: var(--white);
}
.floating-phone-tooltip .tt-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 100%;
    background: rgba(0,0,0,0.15);
    font-size: 1rem;
    flex-shrink: 0;
}
.floating-phone-tooltip .tt-divider {
    width: 1px;
    height: 55%;
    background: rgba(255,255,255,0.4);
    flex-shrink: 0;
}
.floating-phone-tooltip .tt-number {
    font-family: var(--font-body);
    font-size: 0.88rem;
    font-weight: 600;
    letter-spacing: 0.5px;
    padding: 0 16px 0 12px;
}

/* Contact Us Button (neeche - orange) */
.floating-contact-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 46px;
    background: var(--yellow);
    color: var(--white);
    border-radius: 0 0 0 10px;
    cursor: pointer;
    padding: 14px 0;
    gap: 6px;
    transition: background var(--transition);
    flex-shrink: 0;
}
.floating-contact-btn:hover {
    background: var(--dark-yellow);
}
.floating-contact-icon {
    font-size: 0.9rem;
}

/* Vertical Text */
.floating-tab-text {
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 0.88rem;
    letter-spacing: 2.5px;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    text-transform: uppercase;
    line-height: 1;
    color: var(--white);
}

/* Floating Form Panel */
.floating-form-panel {
    position: fixed;
    right: -340px;
    top: 50%;
    transform: translateY(-50%);
    width: 310px;
    background: #F6F4EDE5;
    border-radius: 16px 0 0 16px;
    box-shadow: -6px 0 30px rgba(2,27,94,0.2);
    z-index: 9989;
    transition: right 0.4s cubic-bezier(0.34, 1.2, 0.64, 1);
    overflow: hidden;
}
.floating-form-panel.open {
    right: 30px;
}

.floating-form-inner {
    padding: 0 0 28px 0;
    position: relative;
}

.floating-close-btn {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 30px;
    height: 30px;
    background: rgba(2,27,94,0.1);
    border: none;
    border-radius: 50%;
    color: var(--green);
    font-size: 0.85rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition);
    z-index: 2;
}
.floating-close-btn:hover {
    background: var(--yellow);
    color: var(--white);
    transform: rotate(90deg);
}

.floating-form-heading {
    margin-bottom: 22px;
}
.floating-orange-tab {
    background: var(--yellow);
    color: var(--white);
    font-family: var(--font-heading);
    font-size: 1.25rem;
    font-weight: 600;
    padding: 18px 28px;
    border-radius: 16px 0 0 0;
    clip-path: ellipse(100% 100% at 0% 0%);
}

.floating-form {
    padding: 0 24px;
}
.floating-form-group {
    margin-bottom: 14px;
}
.floating-form-group input {
    width: 100%;
    border: 1.5px solid var(--border-color);
    border-radius: 10px;
    padding: 11px 16px;
    font-family: var(--font-body);
    font-size: 0.85rem;
    background: var(--white);
    color: var(--text-paragraph);
    outline: none;
    transition: border-color 0.25s, box-shadow 0.25s;
}
.floating-form-group input:focus {
    border-color: var(--yellow);
    box-shadow: 0 0 0 3px rgba(254,148,70,0.15);
}
.floating-form-group input::placeholder {
    color: #aaa;
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 767.98px) {
    .floating-form-tab{
        display: none !important;
    }
    .quote-popup-modal { flex-direction: column; }
    .popup-left { width: 100%; padding: 28px 24px; }
    .popup-right { padding: 24px 22px; }
    .popup-form-row { grid-template-columns: 1fr; }

    .floating-phone-btn { width: 38px; height: 44px; font-size: 1rem; }
    .floating-phone-tooltip { height: 44px; }
    .floating-phone-tooltip.show { width: 185px; }
    .floating-phone-tooltip .tt-icon { width: 38px; }
    .floating-phone-tooltip .tt-number { font-size: 0.78rem; }
    .floating-contact-btn { width: 38px; padding: 10px 0; }
    .floating-tab-text { font-size: 0.7rem; letter-spacing: 2px; }
    .floating-form-panel { width: 270px; right: -280px; }
    .floating-form-panel.open { right: 2px; }
    .popup-modal input,
    .popup-modal textarea,
    .popup-modal select,
    .popup-modal button {
        pointer-events: all !important;
        -webkit-user-select: text !important;
        user-select: text !important;
        touch-action: manipulation !important;
        position: relative;
        z-index: 100000;
    }
}






/* ================================================================================================= */
/* ============================================ START HOME PAGE===================================== */
/* ================================================================================================= */




/* ============================================
   BANNER SECTIOn
   ============================================ */

.hero-banner {
  position: relative;
  min-height: 90vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #3a7c9212;
  padding: 200px 0 0;
}

.hero-bg-top {
  position: absolute;
  top: 0; left: 0; right: 0;
  z-index: 0;
  pointer-events: none;
}
.hero-bg-top img {
  width: 100%;
  height: auto;
  display: block;
  opacity: 0.9;
}
.hero-bg-bottom {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  z-index: 0;
  pointer-events: none;
}
.hero-bg-bottom img {
  width: 100%;
  height: auto;
  display: block;
  opacity: 0.9;
}

.hero-banner .container {
  position: relative;
  z-index: 2;
}

.hero-heading {
  font-family: var(--font-heading);
  font-size: clamp(2.8rem, 6vw, 4.8rem);
  color: var(--green);
  font-weight:500;
  line-height: 1.1;
  margin-bottom: 20px;
}
.hero-heading span{
    color: var(--yellow);
}

.hero-sub {
  font-family: var(--font-body);
  font-size: 0.95rem;
  color: #555;
  line-height: 1.8;
  margin-bottom: 0px;
}

.banner-btn {
    padding-top:30px;
}
.hero-image-wrap {
  position: relative;
  display: inline-block;
}

.hero-book-img {
  display: block;
  margin: 0 auto;
  filter: drop-shadow(0 20px 50px rgba(2,27,94,0.1));
  filter: blur(4px) drop-shadow(0 20px 50px rgba(2,27,94,0.1));
  transition: filter 0.6s ease;
  animation: heroFloat 4s ease-in-out infinite;
  padding-bottom: 100px;

}
.hero-book-img.unblur {
  filter: blur(0px) drop-shadow(0 20px 50px rgba(2,27,94,0.1));
  
}
@keyframes heroFloat {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-14px); }
}

.hero-badge {
  position: absolute;
  background: var(--white);
  border-radius: 12px;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  box-shadow: 0 6px 24px rgba(2,27,94,0.13);
  animation: badgeFloat 3.5s ease-in-out infinite;
  white-space: nowrap;
}
.hero-badge-left  { left: 0; top: 40%; animation-delay: 0.4s; }
.hero-badge-right { right: 0; top: 55%; animation-delay: 1s; }

@keyframes badgeFloat {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-8px); }
}

.hb-icon {
  width: 36px;
  height: 36px;
  background: var(--bg-light-yellow);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--yellow);
  font-size: 0.9rem;
  flex-shrink: 0;
}
.hb-num {
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 700;
  color: var(--green);
  line-height: 1;
}
.hb-label {
  font-size: 0.68rem;
  color: #999;
  font-weight: 500;
  margin-top: 2px;
}

@media (max-width: 1360px) {
    .hero-book-img{padding-bottom: 70px;}
}

@media (max-width: 767.98px) {
  .hero-banner { padding: 100px 0 0; min-height: auto; }
  .hero-heading { font-size: 2.4rem; }
  .hero-badge { display: none; }
  .banner-btn {
    padding-top:0px !important;
}
}





/* ============================================
   BOOK LOGO SLIDER SECTION
   ============================================ */


.books-logos {
    overflow: hidden;
    padding: 0px 0 50px;
    background: var(--white);
    position: relative;
    display: flex;
    align-items: flex-end;
}

.books-logos::before,
.books-logos::after {
    content: '';
    position: absolute;
    top: 0; bottom: 0;
    width: 140px;
    z-index: 3;
    pointer-events: none;
}
.books-logos::before {
    left: 0;
    background: linear-gradient(to right, #fff 0%, transparent 100%);
}
.books-logos::after {
    right: 0;
    background: linear-gradient(to left, #fff 0%, transparent 100%);
}

.books-carousel-slide {
    display: inline-flex;     /* inline-flex — same as carousel-slide3 trick */
    align-items: flex-end;
    gap: 16px;
    flex-shrink: 0;
    padding: 0 8px;
    animation: booksSlide 28s linear infinite;
    will-change: transform;
}

.books-logos:hover .books-carousel-slide {
    animation-play-state: paused;
}

@keyframes booksSlide {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-100%); }
       
}

.book-slide {
    flex-shrink: 0;
    width: 200px;
    height: 300px;
    border-radius: 10px;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.08s linear, box-shadow 0.08s linear;
}

.book-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 10px;
}

@media (max-width: 991.98px) {
    .book-slide { width: 130px; height: 188px; }
}
@media (max-width: 575.98px) {
    .book-slide { width: 105px; height: 152px; }
    .books-logos::before,
    .books-logos::after { width: 60px; }
}









/* ============================================
   LOGO SLIDER SECTION
   ============================================ */

   .logos1 {
    overflow: hidden;
    padding-block:30px 30px;
    background: var(--white);
    border-top: 1px solid var(--border-color);
    position: relative;
    white-space: nowrap;
    display: block;
}

/* Fade edges */
.logos1::before,
.logos1::after {
    content: '';
    position: absolute;
    top: 0; bottom: 0;
    width: 120px;
    z-index: 3;
    pointer-events: none;
}
.logos1::before {
    left: 0;
    background: linear-gradient(to right, #fff 0%, transparent 100%);
}
.logos1::after {
    right: 0;
    background: linear-gradient(to left, #fff 0%, transparent 100%);
}

/* Each slide — inline-block important */
.carousel-slide1 {
    display: inline-block;
    white-space: nowrap;
    animation: slide1 30s linear infinite;
    vertical-align: middle;
}

.logos1:hover .carousel-slide1 {
    animation-play-state: paused;
}

@keyframes slide1 {
    0%   { transform: translateX(-100%); }
    100% { transform: translateX(00%); }
}

/* Inner row */
.logo-img1 {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

/* Each logo link */
a.logo-box {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    padding: 0 18px;
    text-decoration: none;
    vertical-align: middle;
}

/* Logo image */
a.logo-box img.logo-img {
    max-width: 100%;
    max-height: 42px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: inline-block;
    filter: grayscale(100%) opacity(0.6);
    transition: filter 0.3s ease;
}

a.logo-box:hover img.logo-img {
    filter: grayscale(0%) opacity(1);
}

/* Responsive */
@media (max-width: 1199.98px) {
    a.logo-box { width: 135px; padding: 0 12px; }
}
@media (max-width: 767.98px) {
    a.logo-box { width: 110px; padding: 0 10px; }
    a.logo-box img.logo-img { max-height: 32px; }
    .logos1::before, .logos1::after { width: 60px; }
}







/* ============================================
   ABOUT US WHO WE ARE - STICKY SCROLL SECTION
   ============================================ */



/* Outer wrapper: Extra height = scroll space for 3 tabs */
.wwa-scroll-wrapper {
    /* 3 tabs × 2 scrolls + padding = ~4.5× viewport height */
    height: calc(4.5 * 100vh);
    position: relative;
  }
  .wwa-scroll-wrapper::before {
      width: 100%;
      height: 100%;
      z-index: 1;
      content: '';
      position: absolute;
      top: 0 !important;
      background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(133, 70, 70, 0) 100%);
  }
  
  /* Sticky container*/
  .wwa-sticky-container {
      z-index: 9 !important;
    position: sticky;
    top: 0;
    height: 100vh;
    background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, #3a7c920f 90%, rgba(255, 255, 255, 1) 100%);
    overflow: hidden;
    display: flex;
    align-items: center;
    padding: 80px 0;
  }
  
  .wwa-section-bg {
    position: absolute;
    top: 0; left: 0;
    width: 80%;
    opacity: 0.5;
    pointer-events: none;
    z-index: 0;
  }
  
  .wwa-sticky-container .container-xl {
    position: relative;
    z-index: 1;
    width: 100%;
  }
  
  /* LEFT image */
  .wwa-img-side {
    width: 100%;
  }
  .wwa-main-img {
    width: 100%;

    display: block;
    filter: drop-shadow(0 16px 40px rgba(2,27,94,0.1));
    transition: opacity 0.4s ease;
  }
  
  /* RIGHT */
  .wwa-right-col { padding-left: 30px; }
  
  .wwa-header { margin-bottom: 36px; }
  .wwa-heading {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 4vw, 2.8rem);
    color: var(--green);
    font-weight: 700;
    margin-bottom: 6px;
  }
  .wwa-subheading {
    font-family: var(--font-heading);
    font-size: 1.1rem;
    color: var(--green);
    font-style: italic;
    font-weight: 400;
    opacity: 0.75;
    margin: 0;
  }
  
  /* Timeline */
  .wwa-tl-item {
    display: flex;
    gap: 20px;
  }
  .wwa-tl-left {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    width: 44px;
  }
  
  /* Dot - inactive */
  .wwa-tl-num {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #f0c987;
    color: transparent;
    font-size: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-body);
    font-weight: 700;
    flex-shrink: 0;
    transition: all 0.45s cubic-bezier(0.34,1.4,0.64,1);
    margin-top: 6px;
    z-index: 1;
  }
  .wwa-tl-line {
    width: 2px;
    flex: 1;
    min-height: 30px;
    background: #e8d5a3;
    margin-top: 4px;
  }
  .wwa-tl-line-last { background: transparent; }
  
  .wwa-tl-body {
    padding-bottom: 32px;
    padding-top: 2px;
    flex: 1;
  }
  .wwa-tl-title {
    font-family: var(--font-heading);
    font-size: clamp(1.1rem, 2vw, 1.3rem);
    font-weight: 600;
    color: var(--green);
    margin-bottom: 0;
    transition: color 0.3s ease;
    line-height: 1.4;
    cursor: default;
  }
  
  /* Content hidden by default */
  .wwa-tl-content {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.5s ease, opacity 0.4s ease;
  }
  .wwa-tl-content p {
    font-size: 0.9rem;
    color: var(--text-paragraph);
    line-height: 1.8;
    margin-bottom: 10px;
    margin-top: 12px;
  }
  .wwa-tl-p2 { color: #999 !important; font-size: 0.85rem !important; }
  
  /* Active state */
  .wwa-tl-item.wwa-active .wwa-tl-num {
    width: 44px;
    height: 44px;
    background: var(--yellow);
    color: var(--white);
    font-size: 1rem;
    margin-top: 0;
    box-shadow: 0 0 0 5px rgba(254,148,70,0.2), 0 0 0 9px rgba(254,148,70,0.1);
  }
  .wwa-tl-item.wwa-active .wwa-tl-title {
    color: var(--yellow);
  }
  .wwa-tl-item.wwa-active .wwa-tl-content {
    max-height: 500px;
    opacity: 1;
  }
  
  /* ============================================
     MOBILE: All TABS ARE OPEN
     ============================================ */
  @media (max-width: 991.98px) {
    .wwa-scroll-wrapper {
      height: auto !important; /* mobile pe normal flow */
    }
    .wwa-sticky-container {
      position: relative !important;
      height: auto !important;
      padding: 60px 0;
    }
    .wwa-right-col { padding-left: 0; }
    .wwa-tl-content {
      max-height: none !important;
      opacity: 1 !important;
    }
    .wwa-tl-num {
      width: 36px !important;
      height: 36px !important;
      background: var(--yellow) !important;
      color: white !important;
      font-size: 0.9rem !important;
      margin-top: 0 !important;
    }
    .wwa-tl-title {
      color: var(--green) !important;
      margin-bottom: 10px !important;
    }
  }
  @media (max-width: 767px) {
    .wwa-sticky-container{
        padding-inline: 20px;
    }
    .wwa-sticky-container.row{
        row-gap: 30px;
    }
    .wwa-sticky-container .col-lg-5 {
        display: block !important;
    }
    .wwa-section-bg {
        height: 390px !important;
        object-fit: cover;
        object-position: top left;
        width: 100%;
    }
}


/* ============================================
   CTA SECTION
   ============================================ */
   .cta-voice-section {
    margin-block: 100px 50px;
    position: relative;
    padding: 0 0 50px 0;
    overflow: visible;
}

/* ── BG Image: left se chipki, right side rounded ── */
.cta-voice-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 80px; /* right side thodi gap - pill shape effect */
    bottom: 0;
    z-index: 0;
    pointer-events: none;
}

.cta-voice-bg img {
    width: 100%;
    height: 100%;
    object-fit: fill;
    display: block;
}

/* Container upar */
.cta-voice-section .container {
    position: relative;
    z-index: 2;
}

/* Row min height */
.cta-voice-section .row {
    min-height: 240px;
}

/* ── LEFT: Text ── */
.cta-voice-left {
    padding: 50px 20px 50px 0;
}

.cta-voice-heading {
    text-align: center;
    font-family: var(--font-heading);
    font-size: clamp(2.8rem, 5vw, 4.2rem);
    font-weight: 400;
    font-style: italic;
    color: var(--white);
    line-height: 1.1;
    margin-bottom: 12px;
}

.cta-voice-highlight {
    position: relative;
    width: 100%;
    text-align: center;
    display: inline-block;
    background-color: var(--yellow);
    color: var(--white);
    font-family: var(--font-heading);
    font-size: clamp(1.5rem, 2.8vw, 2.2rem);
    font-weight: 400;
    font-style: italic;
    padding: 10px 26px;
    line-height: 1.3;
    border-radius: var(--radius-sm);
    
}
.cta-voice-highlight::before {
    content: '';
    width: 100%;
    height: 100%;
    left: 0;
    bottom: -60px;
    position: absolute;
    z-index: 0 !important;
    background-image: url(../images/cta-shadow.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.cta-voice-left {
    text-align: center;
}
.cta-voice-btn {
    transition: background-color var(--transition), 
    color var(--transition) !important;
    background-color: var(--green);
    color: var(--white); 
    border-radius: var(--radius-sm);
    
}
.cta-voice-btn:hover {
    background-color: var(--yellow);
    color: var(--white);
}

/* ── RIGHT: Girl Image - upar se nikal rahi ── */
.cta-voice-right {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.cta-girl-wrap {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.cta-girl-img {
    margin-top: -60px;
    width: 340px;
    height: auto;
    display: block;
    object-fit: contain;
    /* Larki upar se nikli hui - section se bahar */
    margin-bottom: -80px;
    position: relative;
    z-index: 3;
    filter: drop-shadow(0 10px 30px rgba(2,27,94,0.15));
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 1199.98px) {
    .cta-girl-img {
        width: 290px;
        margin-bottom: -60px;
    }
}

@media (max-width: 991.98px) {
    .cta-voice-bg {
        right: 40px;
    }
    .cta-girl-img {
        width: 240px;
        margin-bottom: -50px;
    }
    .cta-voice-heading {
        font-size: 2.6rem;
    }
}

@media (max-width: 767.98px) {
    .cta-voice-bg img{
        object-fit: cover;
    }
    .cta-voice-section {
        margin-block: 0px 50px;
        padding: 0 0 0px;
    }
    .cta-voice-bg {
        right: 0;
        border-radius: 0 0 60px 0;
    }
    .cta-voice-left {
        padding: 40px 20px 20px 20px;
        text-align: center;
    }
    .cta-voice-right {
        justify-content: center;
    }
    .cta-girl-img {
        width: 200px;
        margin-bottom: 0px;
        margin-top: 0px;
    }
    .cta-voice-highlight::before{
        bottom: -40px;
    }
}








/* ============================================
   PREMIUM SERVICES - STICKY FADE
   ============================================ */

/* ── Scroll Wrapper: 300vh = 3 panels ka scroll space ── */
.svc-scroll-wrapper {
    height: 350vh;
    position: relative;
}

/* ── Sticky Block: poora section ek saath sticky ── */
.svc-sticky-block {
    position: sticky;
    top: 0;
    height: 100vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;

    /* Default bg: white, JS se change hoga */
    background-color: var(--white);
    transition: background-color 0.6s ease;
}

/* BG states — JS se yeh classes lagti hain */
.svc-sticky-block.bg-white  { background-color: var(--white); }
.svc-sticky-block.bg-orange { background-color: var(--bg-light-yellow); }
.svc-sticky-block.bg-blue   { background-color: var(--bg-light-green); }

/* ── Heading: upar center, hamesha visible ── */
.svc-heading-wrap {
    padding: 50px 0 20px;  
    text-align: center;
    flex-shrink: 0;
    position: relative;
    z-index: 5;
}


.header-scrolled ~ * .svc-heading-wrap,
body .svc-heading-wrap {
    padding-top: 200px; 
    margin-bottom: -200px;
}

.svc-main-title {
    font-family: var(--font-heading);
    font-size: clamp(1.8rem, 3.5vw, 2.8rem);
    font-weight: 500;
    color: var(--green);
    margin: 0;
}

/* ── Panels wrap: flex 1, remaining height ── */
.svc-panels-wrap {
    flex: 1;
    position: relative;
    overflow: hidden;
}

/* ── Individual panel: absolute, full size ── */
.svc-panel {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    opacity: 0;
    transition: opacity 0.55s ease;
    pointer-events: none;
}

.svc-panel.svc-active {
    opacity: 1;
    pointer-events: all;
}

/* ── Image ── */
.svc-img-wrap {
    width: 100%;
    max-width: 460px;
    margin: 0 auto;
}
.svc-img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
}

/* ── Content ── */
.svc-content-col {
    padding-left: 30px;
}

.svc-category {
    font-family: var(--font-heading);
    font-size: clamp(2.4rem, 4.5vw, 4rem);
    font-weight: 400;
    font-style: italic;
    color: var(--green);
    line-height: 1.1;
    margin-bottom: 24px;
}

/* ── Grid ── */
.svc-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px 36px;
}
.svc-grid--3col {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 18px 24px;
}

.svc-item {
    border-top: 1.5px solid var(--border-color);
    padding-top: 12px;
}
.svc-item-title {
    font-family: var(--font-body);
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--green);
    margin-bottom: 6px;
}
.svc-item-desc {
    font-size: 0.78rem;
    color: var(--text-paragraph);
    line-height: 1.6;
    margin-bottom: 8px;
    opacity: 0.8;
}
.svc-item-link {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--yellow);
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: gap var(--transition), color var(--transition);
}
.svc-item-link:hover { color: var(--green); gap: 10px; }
.svc-item-link i { font-size: 0.62rem; }

/* ── Dots ── */
.svc-dots {
    position: absolute;
    bottom: 28px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
    z-index: 10;
}
.svc-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(2,27,94,0.2);
    display: block;
    transition: background 0.3s, transform 0.3s;
    cursor: pointer;
}
.svc-dot.svc-dot-active {
    background: var(--yellow);
    transform: scale(1.4);
}

/* ============================================
   RESPONSIVE — mobile: normal flow
   ============================================ */
@media (max-width: 991.98px) {
    .svc-scroll-wrapper {
        height: auto;
    }
    .svc-sticky-block {
        position: relative;
        height: auto;
        display: block;
    }
    .svc-panels-wrap {
        position: relative;
    }
    .svc-panel {
        position: relative;
        opacity: 1 !important;
        pointer-events: all;
        padding: 50px 0;
    }
    .svc-dots { display: none; }
    .svc-heading-wrap { padding: 50px 0 20px; }
    
}
@media (max-width: 1368px) {
    .header-scrolled ~ * .svc-heading-wrap,
body .svc-heading-wrap {
    padding-top: 30px !important;
    margin-bottom: -30px !important;
}
}
@media (max-width: 767.98px) {
    .svc-content-col { padding-left: 0; padding-top: 24px; }
    .svc-category { font-size: 2.4rem; }
    .svc-grid, .svc-grid--3col {
        grid-template-columns: 1fr 1fr;
        gap: 16px 20px;
    }
    .header-scrolled ~ * .svc-heading-wrap, body .svc-heading-wrap {
        padding-top: 30px !important;
        margin-bottom: 00px !important;
    }
    div#svcScrollWrapper {
        padding-inline: 20px;
    }
}
@media (max-width: 480px) {
    .svc-grid, .svc-grid--3col { grid-template-columns: 1fr; }
}













/* ============================================
   TESTIMONIALS SECTION
   ============================================ */

   .testi-section {
    background: var(--white);
    overflow: hidden;
}

.testi-main-title {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 500;
    color: var(--green);
    margin-bottom: 14px;
}

.testi-main-sub {
    font-size: 0.9rem;
    color: var(--text-paragraph);
    max-width: 640px;
    margin: 0 auto;
    line-height: 1.7;
    opacity: 0.85;
}

/* ── Track wrapper: overflow hidden + fade edges ── */
.testi-track-wrap {
    position: relative;
    overflow: hidden;
    margin-top: 0px !important;
}

.testi-track-wrap::before,
.testi-track-wrap::after {
    content: '';
    position: absolute;
    top: 0; bottom: 0;
    width: 120px;
    z-index: 3;
    pointer-events: none;
}
.testi-track-wrap::before {
    left: 0;
    background: linear-gradient(to right, #fff 0%, transparent 100%);
}
.testi-track-wrap::after {
    right: 0;
    background: linear-gradient(to left, #fff 0%, transparent 100%);
}

/* ── Track: flex, infinite scroll ── */
.testi-track {
    display: flex;
    gap: 20px;
    width: max-content;
}

/* Row 1: Left to Right */
.testi-track--ltr {
    animation: testiLTR 40s linear infinite;
}
.testi-track--ltr:hover {
    animation-play-state: paused;
}

/* Row 2: Right to Left */
.testi-track--rtl {
    animation: testiRTL 40s linear infinite;
}
.testi-track--rtl:hover {
    animation-play-state: paused;
}

@keyframes testiLTR {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
@keyframes testiRTL {
    0%   { transform: translateX(-50%); }
    100% { transform: translateX(0); }
}

/* ── Slide set: one full set of cards ── */
.testi-slide-set {
    display: flex;
    gap: 20px;
    padding-block: 20px;
    flex-shrink: 0;
}

/* ── Card ── */
.testi-card {
    background: var(--testimonial-bg);
    border-radius: var(--radius-lg);
    padding: 35px 30px 35px;
    width: 400px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 16px;
    transition: box-shadow var(--transition), transform var(--transition);
}
.testi-card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-3px);
}

.testi-text {
    font-size: 0.82rem;
    color: var(--text-paragraph);
    line-height: 1.75;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ── Card Footer ── */
.testi-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.testi-author {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Avatar initials */
.testi-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--green);
    color: var(--white);
    font-size: 0.72rem;
    font-weight: 700;
    font-family: var(--font-body);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.testi-name {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--green);
    line-height: 1.2;
}
.testi-role {
    font-size: 0.72rem;
    color: #999;
    margin-top: 2px;
}

/* Rating */
.testi-rating {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    flex-shrink: 0;
}

.testi-tp-logo {
    height: 16px;
    width: auto;
    display: block;
    /* Trustpilot logo white → navy pe dark filter */
    filter: invert(1) brightness(0.3);
}

.testi-stars {
    display: flex;
    gap: 2px;
}
.testi-stars i {
    font-size: 0.7rem;
    color: #00b67a; /* Trustpilot green */
}

/* ── Responsive ── */
@media (max-width: 767.98px) {
    .testi-card { width: 260px; padding: 20px; }
    .testi-track-wrap::before,
    .testi-track-wrap::after { width: 60px; }
}



/* ============================================
   CONTACT FORM SECTION - MAKE A DIFFERENCE
   ============================================ */

   .contact-form-section {
    padding-block: 50px 250px;
    background: var(--white);
    background-image: url('../images/contact-bg.png');
    background-size: 100%;
    background-position: bottom center;
    background-repeat: no-repeat;
}

/* ── Heading ── */
.contact-main-title {
    font-family: var(--font-heading);
    font-size: clamp(2.4rem, 5vw, 3.8rem);
    font-weight: 500;
    color: var(--green);
    line-height: 1.15;
    margin: 0;
}

.contact-main-tagline {
    text-align: right;
    font-family: var(--font-body);
    font-size: 1.5rem;
    color: var(--green);
    line-height: 1.6;
    margin: 0;
    opacity: 0.85;
}

/* ── Form Box ── */
.contact-form-box {
    background: var(--contact-bg);
    border-radius: var(--radius-lg);
    padding: 40px 44px 36px;
}

/* ── Sentence Rows ── */
.contact-sentence-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 10px;
    margin-bottom: 18px;
    line-height: 1.8;
}

.contact-sentence-row--block {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.contact-sentence-txt {
    font-family: var(--font-body);
    font-size: 1.8rem;
    color: var(--green);
    font-weight: 400;
    white-space: nowrap;
}

/* ── Inline Inputs ── */
.contact-field-wrap {
    position: relative;
}

.contact-inline-input {
    border: none;
    border-bottom: 1.5px solid var(--border-color);
    background: transparent;
    outline: none;
    font-family: var(--font-body);
    font-size: 0.88rem;
    color: var(--text-paragraph);
    padding: 4px 6px;
    width: 300px;
    transition: border-color var(--transition);
}
.contact-inline-input::placeholder {
    color: #bbb;
    font-size: 20px;
}
.contact-inline-input:focus {
    border-color: var(--yellow);
}

/* Phone input thoda chhota */
.contact-inline-input[name="phone"] {
    width: 350px;
}

/* ── Textarea ── */
.contact-textarea-wrap {
    width: 100%;
}

.contact-inline-textarea {
    width: 100%;
    border: none;
    border-bottom: 1.5px solid var(--border-color);
    background: transparent;
    outline: none;
    font-family: var(--font-body);
    font-size: 0.88rem;
    color: var(--text-paragraph);
    padding: 6px 6px;
    resize: none;
    transition: border-color var(--transition);
    line-height: 1.6;
}
.contact-inline-textarea::placeholder { color: #bbb; font-size: 20px; }
.contact-inline-textarea:focus { border-color: var(--yellow); }

/* ── Divider ── */
.contact-divider {
    height: 1px;
    background: var(--border-color);
    margin: 24px 0;
}

/* ── Tags Section ── */
.contact-tags-label {
    font-family: var(--font-body);
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--green);
    margin-bottom: 14px;
}

.contact-tags-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.contact-tag {
    font-family: var(--font-body);
    font-size: 0.8rem;
    font-weight: 600;
    background: var(--yellow);
    color: var(--white);
    border: 2px solid var(--yellow);
    border-radius: var(--radius-pill);
    padding: 7px 18px;
    cursor: pointer;
    transition: background var(--transition), color var(--transition), border-color var(--transition);
    white-space: nowrap;
}
.contact-tag:hover {
    background: var(--green);
    border-color: var(--green);
    color: var(--white);
}
.contact-tag-active {
    background: var(--green);
    border-color: var(--green);
    color: var(--white);
}

/* ── Submit ── */
.contact-submit-wrap {
    margin-top: 28px;
}
.contact-submit-wrap  button.btn.btn-2{
    justify-content: center;
    width: 100%;
}

/* ── Responsive ── */

@media (max-width: 1360px) {
    .contact-form-section {
        padding-block: 50px 150px;
    }
}
@media (max-width: 991.98px) {
    .contact-main-tagline {
        margin-top: 16px;
    }
    .contact-form-section {
        padding-block: 50px 150px;
    }
}

@media (max-width: 767.98px) {
    .contact-form-box {
        padding: 28px 22px 28px;
    }
    .contact-inline-input {
        width: 140px;
    }
    .contact-inline-input[name="phone"] {
        width: 120px;
    }
    .contact-sentence-txt {
        font-size: 0.85rem;
    }
    .contact-inline-input::placeholder , .contact-inline-textarea::placeholder{
        font-size: 14px;
    }
    .contact-main-title{
        text-align: center;
    }
    .contact-main-tagline{
        text-align: center;
        font-size:20px;
    }
    .contact-form-section {
        padding-block: 50px 80px;
    }
}

@media (max-width: 480px) {
    .contact-sentence-row {
        flex-direction: column;
        align-items: flex-start;
    }
    .contact-inline-input,
    .contact-inline-input[name="phone"] {
        width: 100%;
    }
}



/* ================================================================================================= */
/* ============================================ END HOME PAGE===================================== */
/* ================================================================================================= */





/* ================================================================================================= */
/* ============================================ Services Pages ===================================== */
/* ================================================================================================= */

section.bmk-why-section , .ab-why-section , .bcd-why-section , .baw-why-section , .bp-why-section , .bi-why-section , .ccw-why-section , .pfaq-main{
    width: 100% !important;
    overflow-x: hidden !important;
}
