/* === NAV & LOGO === */
.nav-logo{display:flex;align-items:center;flex-shrink:0}.nav-logo-img,img.custom-logo{height:42px!important;width:auto!important;max-width:none!important;object-fit:contain!important;transition:filter .3s}
[data-theme="dark"] .nav-logo-img{filter:brightness(0) invert(1)!important}
@media(max-width:768px){.nav-logo-img,img.custom-logo{height:28px!important}}

/* === NAV STICKY === */
.nav{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,0.97);backdrop-filter:blur(20px)}.nav.scrolled{box-shadow:0 1px 12px rgba(0,0,0,0.06)}

/* === HERO === */
.hero{position:relative;z-index:1;overflow:hidden}.hero-bg-shapes{opacity:0.2}.hero-content{position:relative;z-index:2}

/* === SECTION UTILITY === */
.heritage-band,.hp-problem,.hp-services,.hp-process,.hp-why,.hp-clients,.hp-industries,.hp-testimonials,.hp-tools,.hp-blog,.hp-cta{position:relative;z-index:1}
.section-heading{font-family:var(--font-heading);font-weight:700;line-height:1.2;margin-bottom:16px;color:#0f1729}.section-tag{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#4159a1;margin-bottom:12px}.section-desc{color:#666;max-width:560px;line-height:1.7}
.hp-why .section-heading{color:#fff!important}.hp-why .section-tag{color:rgba(255,255,255,0.4)!important}.hp-why .section-desc{color:rgba(255,255,255,0.5)!important}.hp-cta .cta-title{color:#fff!important}.hp-cta .section-tag{color:rgba(255,255,255,0.4)!important}

/* === WHY SECTION === */
.hp-why{background:#0f1729}.w-number{color:rgba(255,255,255,0.08)!important;font-size:64px!important;font-weight:800!important}.w-card h4{color:#fff!important;font-size:16px!important}.w-card p{color:rgba(255,255,255,0.55)!important;font-size:14px!important;line-height:1.7!important}.w-card{background:rgba(255,255,255,0.04)!important;border:1px solid rgba(255,255,255,0.08)!important;border-radius:12px!important;padding:32px!important;transition:all 0.3s}.w-card:hover{border-color:rgba(255,255,255,0.2)!important;transform:translateY(-4px);background:rgba(255,255,255,0.07)!important}

/* === TOOL CARDS === */
.tool-icon{display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:#4159a1}.tool-icon svg{width:32px;height:32px}.tool-card{text-align:center}

/* === FOOTER === */
.footer{background:#0f1729;color:rgba(255,255,255,.6);padding:64px 0 0}.footer h4{color:#fff;font-family:var(--font-heading);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:20px}.footer-links-row{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.08)}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin-bottom:12px;font-size:14px}.footer-links a{color:rgba(255,255,255,.45);text-decoration:none;transition:color 0.2s}.footer-links a:hover{color:#fff}.footer-contact li{font-size:13px;color:rgba(255,255,255,.4);line-height:1.6}.footer-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.f-badge{font-size:9px;font-weight:600;letter-spacing:0.5px;padding:4px 10px;border:1px solid rgba(255,255,255,.12);border-radius:4px;color:rgba(255,255,255,.35)}
.footer-brand-big{padding:48px 0 24px;overflow:hidden;border-top:1px solid rgba(255,255,255,.06)}.footer-big-name{font-family:var(--font-heading);font-size:clamp(48px,9vw,130px);font-weight:800;color:#ffffff;-webkit-text-stroke:none;text-stroke:none;line-height:1;display:block;letter-spacing:-2px;white-space:nowrap;text-align:center}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-top:1px solid rgba(255,255,255,.06);font-size:12px;color:rgba(255,255,255,.25)}.footer-tagline{font-style:italic}

/* === ELEMENTOR COMPAT === */
.elementor-page-content{width:100%}

/* === MARQUEE === */
.clients-marquee{overflow:hidden;padding:12px 0;mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%)}.marquee-track{display:flex;gap:20px;animation:marquee-scroll 40s linear infinite;width:max-content}.clients-marquee.reverse .marquee-track{animation-direction:reverse;animation-duration:45s}.marquee-item{flex-shrink:0;padding:10px 24px;background:#f8f9fc;border:1px solid rgba(0,0,0,0.06);border-radius:8px;font-size:13px;font-weight:500;color:#555;white-space:nowrap}.ind-pill{flex-shrink:0;padding:10px 22px;background:#f8f9fc;border:1px solid rgba(0,0,0,0.06);border-radius:20px;font-size:13px;font-weight:500;color:#555;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}@keyframes marquee-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* === PAGE CONTENT TYPOGRAPHY === */
.page-content h2{font-family:var(--font-heading);color:#0f1729;font-size:clamp(22px,3vw,28px);font-weight:700;margin:32px 0 12px}.page-content h3{font-family:var(--font-heading);color:#1a1a2e;font-size:clamp(18px,2.5vw,22px);font-weight:600;margin:24px 0 8px}.page-content li{margin-bottom:8px;line-height:1.7}.page-content a{color:#4159a1;font-weight:500;text-decoration:none}
.page-content{max-width:100%;overflow-x:hidden;word-break:break-word}

/* === GLOBAL SECTION PADDING === */
.section{padding:80px 0}.s-card{transition:transform 0.3s,box-shadow 0.3s,border-color 0.3s}.btn{transition:all 0.15s ease}.btn:hover{transform:translateY(-1px)}.btn-primary:hover{box-shadow:0 6px 20px rgba(65,89,161,0.25)}html{scroll-behavior:smooth}a:focus-visible,button:focus-visible{outline:2px solid #4159a1;outline-offset:2px}

/* === SERVICE PAGES (rsp- prefix) - New theme consistent === */
.rsp-page-wrap{max-width:100%;overflow-x:hidden}
.rsp-hero{background:linear-gradient(135deg,#040c80 0%,#4159a1 100%);color:#fff;padding:100px 0 72px;position:relative;overflow:hidden}
.rsp-hero::before{content:'';position:absolute;top:-40%;right:-15%;width:600px;height:600px;background:rgba(255,255,255,0.04);border-radius:50%;pointer-events:none}
.rsp-hero .container{position:relative;z-index:2}
.rsp-hero-tag{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:16px}
.rsp-hero h1{font-family:var(--font-heading);font-size:clamp(28px,4vw,46px);font-weight:800;line-height:1.15;color:#fff;margin-bottom:20px}
.rsp-hero p{font-size:17px;color:rgba(255,255,255,.7);line-height:1.7;max-width:800px;margin-bottom:32px}
.rsp-hero-actions{display:flex;gap:12px;flex-wrap:wrap}

.rsp-intro{background:#f8f9fc;padding:56px 0;border-bottom:1px solid rgba(0,0,0,.06)}
.rsp-intro-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:center}
.rsp-intro p{font-size:16px;color:#555;line-height:1.8}
.rsp-intro-stats{display:flex;flex-direction:column;gap:16px}
.rsp-stat-row{display:flex;align-items:center;gap:16px;padding:16px 20px;background:#fff;border-radius:10px;border-left:3px solid #4159a1;box-shadow:0 2px 12px rgba(0,0,0,.04)}
.rsp-stat-number{font-family:var(--font-heading);font-size:24px;font-weight:700;color:#4159a1;min-width:56px}
.rsp-stat-label{font-size:13px;color:#666;line-height:1.4}

.rsp-section{padding:72px 0}
.rsp-section-alt{background:#f8f9fc}
.rsp-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:40px}
.rsp-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.rsp-card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:12px;padding:28px;transition:all .3s}
.rsp-card:hover{border-color:#4159a1;box-shadow:0 8px 32px rgba(65,89,161,.12);transform:translateY(-4px)}
.rsp-card-icon{width:44px;height:44px;background:rgba(65,89,161,.08);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#4159a1;margin-bottom:16px}
.rsp-card h4{font-family:var(--font-heading);font-size:16px;font-weight:600;color:#0f1729;margin-bottom:8px}
.rsp-card p{font-size:14px;color:#666;line-height:1.65}
.rsp-card-check{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;font-size:14px;color:#555;line-height:1.5}
.rsp-card-check::before{content:"✓";color:#4159a1;font-weight:700;flex-shrink:0;margin-top:1px}

.rsp-process{counter-reset:rsp-step}
.rsp-step{display:flex;gap:24px;align-items:flex-start;padding:28px;background:#fff;border-radius:12px;border:1px solid rgba(0,0,0,.06);margin-bottom:16px;transition:all .3s;position:relative}
.rsp-step:hover{border-color:#4159a1;box-shadow:0 6px 24px rgba(65,89,161,.1)}
.rsp-step-num{min-width:48px;height:48px;background:linear-gradient(135deg,#4159a1,#040c80);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:15px;font-weight:700;color:#fff;flex-shrink:0}
.rsp-step-body h4{font-family:var(--font-heading);font-size:16px;font-weight:600;color:#0f1729;margin-bottom:6px}
.rsp-step-body p{font-size:14px;color:#666;line-height:1.6}

.rsp-faq-item{border:1px solid rgba(0,0,0,.07);border-radius:10px;margin-bottom:10px;overflow:hidden;transition:border-color .2s}
.rsp-faq-item.open{border-color:#4159a1}
.rsp-faq-q{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;cursor:pointer;font-size:15px;font-weight:600;color:#0f1729;gap:16px;user-select:none}
.rsp-faq-q svg{flex-shrink:0;transition:transform .3s;color:#4159a1}
.rsp-faq-item.open .rsp-faq-q svg{transform:rotate(180deg)}
.rsp-faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .2s}
.rsp-faq-item.open .rsp-faq-a{max-height:300px;padding:0 22px 18px}
.rsp-faq-a p{font-size:14px;color:#666;line-height:1.7}

.rsp-cta-band{background:linear-gradient(135deg,#040c80 0%,#4159a1 100%);padding:72px 0;text-align:center;color:#fff}
.rsp-cta-band h2{font-family:var(--font-heading);font-size:clamp(24px,3.5vw,36px);font-weight:700;margin-bottom:12px}
.rsp-cta-band p{font-size:16px;color:rgba(255,255,255,.65);margin-bottom:28px}
.rsp-cta-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* === BLOG PAGE - TEXT OVERFLOW FIX === */
.blog-card{max-width:100%;overflow:hidden}.blog-card-body{padding:20px 24px;overflow:hidden;word-break:break-word}.blog-card-body h3{font-size:clamp(15px,2vw,17px);line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.blog-card-body p{font-size:14px;color:#666;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.blog-card-img img{width:100%;height:200px;object-fit:cover;display:block}
.single.site-main{padding-top:100px!important}.single .page-content,.single .post-content{max-width:780px;margin:0 auto;padding:0 20px;word-break:break-word;overflow-wrap:break-word}.single .post-content img,.single .page-content img{max-width:100%!important;height:auto!important}

/* === CONTACT PAGE (v3) === */

/* Hero - tighter, no wasted space */
.ct-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#040c80 0%,#1a2980 40%,#4159a1 100%)}
.ct-hero-inner{position:relative;z-index:2;text-align:center;padding:88px 24px 40px}
.ct-hero-tag{font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:16px}
.ct-hero-title{font-family:var(--font-heading);font-size:clamp(30px,4.5vw,48px);font-weight:800;color:#fff;line-height:1.15;margin-bottom:16px}
.ct-hero-sub{font-size:16px;color:rgba(255,255,255,.55);max-width:460px;margin:0 auto;line-height:1.6}

/* Cards - sit inside hero, tight to subtitle */
.ct-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;position:relative;z-index:3;padding:32px 0 40px}
.ct-card{display:flex;align-items:center;gap:14px;padding:18px 20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:12px;text-decoration:none;transition:all .25s;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.ct-card:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.2);transform:translateY(-2px)}
.ct-card-icon{width:44px;height:44px;background:rgba(255,255,255,.1);border-radius:10px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.8);flex-shrink:0;transition:all .25s}
.ct-card:hover .ct-card-icon{background:rgba(255,255,255,.18)}
.ct-card-icon-wa{background:rgba(37,211,102,.15);color:#25d366}
.ct-card:hover .ct-card-icon-wa{background:rgba(37,211,102,.25)}
.ct-card-body{flex:1;min-width:0}
.ct-card-body h3{font-family:var(--font-heading);font-size:14px;font-weight:700;color:#fff;margin:0 0 2px;letter-spacing:.2px}
.ct-card-body p{font-size:13px;color:rgba(255,255,255,.45);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ct-card-arrow{font-size:16px;color:rgba(255,255,255,.25);transition:all .25s;flex-shrink:0}
.ct-card:hover .ct-card-arrow{color:rgba(255,255,255,.6);transform:translateX(3px)}

/* Form Section - tight connection to hero */
.ct-form-section{background:#fff;padding:56px 0 72px}
.ct-form-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:48px;align-items:start;max-width:1060px;margin:0 auto}

/* Left info */
.ct-info-tag{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#4159a1;margin-bottom:14px}
.ct-info-title{font-family:var(--font-heading);font-size:clamp(22px,2.8vw,30px);font-weight:800;color:#0f1729;line-height:1.2;margin-bottom:16px}
.ct-info-desc{font-size:15px;color:#666;line-height:1.7;margin-bottom:24px}

.ct-trust-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.ct-pill{font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:5px 12px;background:rgba(65,89,161,.05);border:1px solid rgba(65,89,161,.12);border-radius:100px;color:#4159a1}

.ct-info-details{display:flex;flex-direction:column;gap:14px}
.ct-detail{display:flex;align-items:center;gap:10px;font-size:13px;color:#666}
.ct-detail svg{color:#4159a1;flex-shrink:0;opacity:.7}

/* Right form box */
.ct-form-box{background:#fff;border-radius:16px;padding:36px;box-shadow:0 2px 32px rgba(0,0,0,.06);border:1px solid #e8ecf4}
.ct-form-header{margin-bottom:24px}
.ct-form-header h3{font-family:var(--font-heading);font-size:20px;font-weight:700;color:#0f1729;margin:0 0 4px}
.ct-form-header p{font-size:13px;color:#999;margin:0}

.ct-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ct-field{margin-bottom:14px}
.ct-field label{display:block;font-size:12px;font-weight:600;color:#444;margin-bottom:5px}
.ct-field input,.ct-field select,.ct-field textarea{width:100%;padding:11px 14px;border:1px solid #e0e4f0;border-radius:8px;font-size:14px;font-family:var(--font-body);color:#333;background:#fafbfe;transition:all .2s;outline:none}
.ct-field input:focus,.ct-field select:focus,.ct-field textarea:focus{border-color:#4159a1;background:#fff;box-shadow:0 0 0 3px rgba(65,89,161,.08)}
.ct-field textarea{resize:vertical;min-height:72px}
.ct-field select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}

.ct-submit-btn{width:100%;padding:13px 24px;background:linear-gradient(135deg,#4159a1,#040c80);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:700;font-family:var(--font-body);cursor:pointer;transition:all .25s;display:flex;align-items:center;justify-content:center;gap:8px;letter-spacing:.3px;margin-top:2px}
.ct-submit-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(65,89,161,.25)}
.ct-submit-btn svg{transition:transform .25s}
.ct-submit-btn:hover svg{transform:translateX(3px)}

.ct-form-note{font-size:11px;color:#bbb;text-align:center;margin-top:12px}

/* Dark mode */
[data-theme="dark"] .ct-hero{background:linear-gradient(135deg,#060820 0%,#0d1340 40%,#1a2366 100%)}
[data-theme="dark"] .ct-form-section{background:#0f1118}
[data-theme="dark"] .ct-info-title{color:#e4e4ef}
[data-theme="dark"] .ct-info-desc{color:#8888a8}
[data-theme="dark"] .ct-pill{background:rgba(65,89,161,.1);border-color:rgba(65,89,161,.2);color:#7b93d4}
[data-theme="dark"] .ct-detail{color:#8888a8}
[data-theme="dark"] .ct-form-box{background:#181a26;border-color:rgba(255,255,255,.06);box-shadow:0 4px 32px rgba(0,0,0,.3)}
[data-theme="dark"] .ct-form-header h3{color:#e4e4ef}
[data-theme="dark"] .ct-form-header p{color:#666}
[data-theme="dark"] .ct-field label{color:#aaa}
[data-theme="dark"] .ct-field input,[data-theme="dark"] .ct-field select,[data-theme="dark"] .ct-field textarea{background:#12141e;border-color:rgba(255,255,255,.08);color:#ddd}
[data-theme="dark"] .ct-field input:focus,[data-theme="dark"] .ct-field select:focus,[data-theme="dark"] .ct-field textarea:focus{border-color:#4159a1;background:#161828}
[data-theme="dark"] .ct-field input::placeholder,[data-theme="dark"] .ct-field textarea::placeholder{color:#555}

/* Responsive */
@media(max-width:1024px){
.ct-cards{grid-template-columns:repeat(3,1fr);gap:10px}
.ct-form-grid{grid-template-columns:1fr;gap:36px;max-width:600px}
}
@media(max-width:768px){
.ct-hero-inner{padding:72px 20px 28px}
.ct-hero-title{font-size:clamp(24px,6.5vw,34px)!important}
.ct-hero-sub{font-size:14px}
.ct-cards{grid-template-columns:1fr!important;gap:8px;padding:24px 0 32px}
.ct-card{padding:14px 16px}
.ct-card-icon{width:40px;height:40px}
.ct-form-section{padding:40px 0 48px}
.ct-form-grid{max-width:100%}
.ct-form-box{padding:24px 20px;border-radius:14px}
.ct-form-row{grid-template-columns:1fr}
.ct-trust-pills{gap:6px}
.ct-pill{font-size:9px;padding:4px 10px}
.ct-detail{font-size:12px}
}


/* === SERVICE PAGES DARK MODE === */
[data-theme="dark"] .rsp-hero{background:linear-gradient(135deg,#060820 0%,#0d1340 40%,#1a2366 100%)}
[data-theme="dark"] .rsp-section{background:#0f1118}
[data-theme="dark"] .rsp-section-alt{background:#161828!important}
[data-theme="dark"] .rsp-cta-band{background:linear-gradient(135deg,#060820 0%,#1a2366 100%)}
[data-theme="dark"] .page-content{color:#bbb}
[data-theme="dark"] .page-content h2{color:#e4e4ef!important}
[data-theme="dark"] .page-content h3{color:#d0d0e0!important}
[data-theme="dark"] .page-content p{color:#9898b8!important}
[data-theme="dark"] .page-content strong{color:#c8c8e0}
[data-theme="dark"] .rsp-hero-tag{color:rgba(255,255,255,.4)!important}
[data-theme="dark"] .rsp-hero h1{color:#fff!important}
[data-theme="dark"] .rsp-hero p{color:rgba(255,255,255,.55)!important}
[data-theme="dark"] .rsp-card{background:#181a26!important;border-color:rgba(255,255,255,.06)!important}
[data-theme="dark"] .rsp-card:hover{border-color:rgba(65,89,161,.3)!important;background:#1e2030!important}
[data-theme="dark"] .rsp-card h4{color:#e4e4ef!important}
[data-theme="dark"] .rsp-card p{color:#8888a8!important}
[data-theme="dark"] .rsp-card-icon{background:rgba(65,89,161,.15)!important}
[data-theme="dark"] .rsp-faq-item{border-color:rgba(255,255,255,.08)!important;background:#181a26}
[data-theme="dark"] .rsp-faq-q{color:#e4e4ef!important}
[data-theme="dark"] .rsp-faq-a p{color:#8888a8!important}
[data-theme="dark"] .rsp-cta-band h2{color:#fff!important}
[data-theme="dark"] .rsp-cta-band p{color:rgba(255,255,255,.5)!important}

/* === MOBILE MENU === */
.mobile-nav-links .sub-menu{list-style:none;padding:0 0 0 16px;margin:0;display:none}.mobile-nav-links .menu-item-has-children>a{position:relative}.mobile-nav-links .menu-item-has-children>a::after{content:"+";position:absolute;right:0;font-size:18px;color:rgba(0,0,0,.35)}.mobile-nav-links .menu-item-has-children.open>a::after{content:"-"}.mobile-nav-links .menu-item-has-children.open>.sub-menu{display:block}.mobile-nav-links .sub-menu a{font-size:14px;padding:10px 0;color:#444}
[data-theme="dark"] .mobile-nav-links .menu-item-has-children>a::after{color:rgba(255,255,255,.4)}[data-theme="dark"] .mobile-nav-links .sub-menu a{color:rgba(255,255,255,.5)}

/* === FAQ ACCORDION (service-single template) === */
.faq-item{border:1px solid rgba(0,0,0,.07);border-radius:10px;margin-bottom:10px;overflow:hidden}.faq-question{display:flex;align-items:center;justify-content:space-between;width:100%;padding:18px 22px;background:none;border:none;cursor:pointer;font-size:15px;font-weight:600;color:#0f1729;gap:16px;text-align:left}.faq-question svg{flex-shrink:0;transition:transform .3s;color:#4159a1}.faq-item.open .faq-question svg{transform:rotate(180deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .2s;padding:0 22px}.faq-item.open .faq-answer{max-height:300px;padding:0 22px 18px}.faq-answer p{font-size:14px;color:#666;line-height:1.7}

/* === PAGE HERO (service pages) === */
.page-hero{background:linear-gradient(135deg,#040c80 0%,#4159a1 100%);padding:100px 0 72px;color:#fff;position:relative;overflow:hidden}
.page-hero::after{content:'';position:absolute;top:-30%;right:-10%;width:500px;height:500px;background:rgba(255,255,255,0.04);border-radius:50%;pointer-events:none}
.page-hero .section-tag{color:rgba(255,255,255,.5)!important;margin-bottom:16px}
.page-hero .section-heading{color:#fff!important;font-size:clamp(28px,4vw,46px)!important}
.page-hero .section-desc{color:rgba(255,255,255,.65)!important;max-width:640px}

/* === ABOUT PAGE EXTRAS === */
.about-hero{background:linear-gradient(135deg,#040c80 0%,#4159a1 100%);padding:100px 0 72px;color:#fff;position:relative;overflow:hidden}
.about-hero .container{position:relative;z-index:2}
.about-hero h1{font-family:var(--font-heading);font-size:clamp(32px,5vw,56px);font-weight:800;color:#fff;line-height:1.1;margin-bottom:20px}
.about-hero p{font-size:18px;color:rgba(255,255,255,.7);max-width:600px;line-height:1.75}
.about-values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.about-value-card{background:#fff;border-radius:14px;padding:28px;border:1px solid rgba(0,0,0,.06);transition:all .3s}
.about-value-card:hover{border-color:#4159a1;box-shadow:0 8px 32px rgba(65,89,161,.12);transform:translateY(-4px)}
.about-value-icon{font-size:28px;margin-bottom:12px}
.about-value-card h4{font-family:var(--font-heading);font-size:15px;font-weight:600;color:#0f1729;margin-bottom:8px}
.about-value-card p{font-size:14px;color:#666;line-height:1.6}
.about-team-card{background:#fff;border-radius:14px;padding:28px;border:1px solid rgba(0,0,0,.06);text-align:center;transition:all .3s}
.about-team-card:hover{border-color:#4159a1;transform:translateY(-4px);box-shadow:0 8px 32px rgba(65,89,161,.12)}
.about-team-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#4159a1,#040c80);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-family:var(--font-heading);font-size:28px;font-weight:700;color:#fff}

/* === RESPONSIVE === */
@media(max-width:1024px){.nav{padding:0 20px;height:56px}.nav-center{display:none}.nav-cta{display:none!important}.mobile-toggle{display:flex}.rsp-grid-3{grid-template-columns:repeat(2,1fr)}.rsp-intro-grid{grid-template-columns:1fr}}
@media(max-width:768px){.rasp-dgft-ticker-wrap{display:none!important}.container{padding-left:20px!important;padding-right:20px!important}.hero{padding:100px 20px 60px!important;min-height:auto!important}.hero-title{font-size:clamp(28px,7vw,42px)!important;line-height:1.15!important}.hero-sub{font-size:15px!important}.hero-eyebrow{font-size:11px!important}.hero-actions{flex-direction:column!important;gap:12px!important}.hero-actions .btn{width:100%;justify-content:center;text-align:center;padding:14px 24px;font-size:15px}.hero-metrics{flex-wrap:wrap!important;gap:16px!important;justify-content:center!important}.metric{flex:0 0 calc(50% - 8px);text-align:center}.metric-divider{display:none!important}.metric-val{font-size:28px!important}.metric-label{font-size:11px!important}.heritage-band{padding:32px 0!important}.heritage-band .heritage-inner,.heritage-band [style*="display:flex"]{flex-direction:column!important;gap:24px!important;text-align:center!important}.problem-grid{grid-template-columns:1fr!important}.services-grid{grid-template-columns:1fr!important}.services-row-3,.services-row-2{grid-template-columns:1fr!important;max-width:100%!important}.s-card{padding:24px!important}.process-steps-wrap{flex-direction:column!important;gap:32px!important}.p-step-new{max-width:100%!important}.p-step-connector{position:static!important;width:2px!important;height:24px!important;margin:8px auto!important;background:linear-gradient(180deg,#4159a1,rgba(65,89,161,0.15))!important}.why-grid{grid-template-columns:1fr!important;gap:12px!important}.w-card{padding:20px!important}.w-number{font-size:40px!important}.test-grid{grid-template-columns:1fr!important}.tools-grid{grid-template-columns:1fr!important}.blog-grid{grid-template-columns:1fr!important}.hp-cta{padding:60px 0!important}.cta-grid{grid-template-columns:1fr!important;gap:32px!important}.cta-title{font-size:clamp(24px,6vw,32px)!important}.form-box{padding:24px!important}.form-row{flex-direction:column!important;gap:0!important}.form-group input,.form-group select,.form-group textarea{font-size:16px!important}.footer{padding:40px 0 0}.footer-links-row{grid-template-columns:repeat(2,1fr);gap:24px;padding-bottom:32px}.footer-big-name{font-size:clamp(36px,10vw,72px)!important;letter-spacing:-1px;white-space:nowrap!important}.footer-bottom{flex-direction:column;gap:4px;text-align:center}.section{padding:56px 0!important}.wa-float{bottom:16px!important;right:16px!important;width:48px!important;height:48px!important}body{overflow-x:hidden!important}.rsp-grid-2,.rsp-grid-3{grid-template-columns:1fr!important}.rsp-hero{padding:80px 0 56px!important}.about-values-grid{grid-template-columns:1fr!important}}
@media(max-width:480px){.footer-links-row{grid-template-columns:1fr}.metric{flex:0 0 calc(50% - 6px)}.metric-val{font-size:24px!important}}

/* === DARK MODE === */
body.rasp-dark-mode{background:#0d0d1a!important;color:#c8c8c8!important}body.rasp-dark-mode .nav{background:rgba(13,13,26,0.95)!important;border-bottom:1px solid rgba(255,255,255,0.06)}body.rasp-dark-mode .section-heading,body.rasp-dark-mode .hero-title,body.rasp-dark-mode .cta-title,body.rasp-dark-mode h1,body.rasp-dark-mode h2,body.rasp-dark-mode h3{color:#fff!important}body.rasp-dark-mode .section-tag,body.rasp-dark-mode .hero-eyebrow{color:rgba(255,255,255,0.35)!important}body.rasp-dark-mode .hero-sub,body.rasp-dark-mode .section-desc,body.rasp-dark-mode p{color:#aaa!important}body.rasp-dark-mode .hero{background:#0d0d1a!important}body.rasp-dark-mode .heritage-band{background:#111122!important;border-color:rgba(255,255,255,0.06)!important}body.rasp-dark-mode .hp-problem{background:#0d0d1a!important}body.rasp-dark-mode .pain-card{background:rgba(255,255,255,0.03)!important;border-color:rgba(255,255,255,0.08)!important}body.rasp-dark-mode .hp-services{background:#0d0d1a!important}body.rasp-dark-mode .s-card{background:rgba(255,255,255,0.03)!important;border-color:rgba(255,255,255,0.08)!important}body.rasp-dark-mode .s-card p{color:#999!important}body.rasp-dark-mode .tag{background:rgba(255,255,255,0.06)!important;color:#888!important}body.rasp-dark-mode .hp-process{background:#0d0d1a!important}body.rasp-dark-mode .p-step-new h4{color:#fff!important}body.rasp-dark-mode .p-step-icon{background:rgba(255,255,255,0.04)!important;border-color:rgba(255,255,255,0.12)!important}body.rasp-dark-mode .hp-why{background:#080814!important}body.rasp-dark-mode .hp-clients,body.rasp-dark-mode .hp-industries{background:#0d0d1a!important}body.rasp-dark-mode .marquee-item,body.rasp-dark-mode .ind-pill{background:rgba(255,255,255,0.04)!important;color:#aaa!important;border-color:rgba(255,255,255,0.08)!important}body.rasp-dark-mode .hp-testimonials{background:#0d0d1a!important}body.rasp-dark-mode .t-card{background:rgba(255,255,255,0.03)!important;border-color:rgba(255,255,255,0.08)!important}body.rasp-dark-mode .hp-tools{background:#0d0d1a!important}body.rasp-dark-mode .tool-card{background:rgba(255,255,255,0.03)!important;border-color:rgba(255,255,255,0.08)!important}body.rasp-dark-mode .hp-blog{background:#0d0d1a!important}body.rasp-dark-mode .blog-card{background:rgba(255,255,255,0.03)!important;border-color:rgba(255,255,255,0.08)!important}body.rasp-dark-mode .form-box{background:rgba(255,255,255,0.05)!important;border:1px solid rgba(255,255,255,0.1)!important}body.rasp-dark-mode .rsp-card{background:rgba(255,255,255,0.03)!important;border-color:rgba(255,255,255,0.08)!important}body.rasp-dark-mode .rsp-step{background:rgba(255,255,255,0.03)!important;border-color:rgba(255,255,255,0.08)!important}body.rasp-dark-mode .rsp-card h4,body.rasp-dark-mode .rsp-step-body h4{color:#fff!important}body.rasp-dark-mode .rsp-card p,body.rasp-dark-mode .rsp-step-body p{color:#aaa!important}body.rasp-dark-mode .metric-val{color:#fff!important}body.rasp-dark-mode .btn-outline{border-color:rgba(255,255,255,0.2)!important;color:#ddd!important}body.rasp-dark-mode .mobile-menu{background:rgba(13,13,26,0.98)!important}body.rasp-dark-mode .rasp-dgft-ticker-wrap{background:#111122!important}body.rasp-dark-mode .page-content{color:#bbb}body.rasp-dark-mode .page-content h2,body.rasp-dark-mode .page-content h3{color:#fff}

/* === EAEL POST GRID - BLOG TEXT OVERFLOW FIX === */
.eael-grid-post-holder{overflow:hidden;max-width:100%;word-break:break-word}
.eael-entry-title a{font-size:15px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.eael-grid-post-excerpt p{font-size:13px;color:#666;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.eael-post-grid-column{overflow:hidden}
.eael-grid-post-holder-inner{overflow:hidden;border-radius:10px}
/* T&C + Captcha dark mode */
[data-theme="dark"] .ct-checkbox-label,[data-theme="dark"] .ct-checkbox-label span{color:#9898b8!important}
[data-theme="dark"] .ct-captcha-field label{color:#aaa!important}
[data-theme="dark"] .ct-captcha-field span{color:#ddd!important}
[data-theme="dark"] .ct-captcha-field input{background:#12141e!important;border-color:rgba(255,255,255,.08)!important;color:#ddd!important}


}


/* === CLIENT LOGO MARQUEE (colored logos on white pill, consistent in day/night) === */
.marquee-item--logo{padding:10px 18px!important;background:#fff!important;border:1px solid rgba(0,0,0,0.06)!important;border-radius:8px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:140px!important;height:64px!important;vertical-align:middle!important;line-height:1!important;box-shadow:0 1px 2px rgba(0,0,0,0.03)!important}
.marquee-item--logo img{height:40px!important;width:auto!important;max-width:180px!important;object-fit:contain!important;display:block!important;filter:none!important;transition:transform .3s ease!important}
.marquee-item--logo:hover{box-shadow:0 2px 8px rgba(0,0,0,0.08)!important}
.marquee-item--logo:hover img{transform:scale(1.05)!important}
/* Dark mode: keep white pill so colored logos stay readable + branded */
body.rasp-dark-mode .marquee-item--logo,[data-theme="dark"] .marquee-item--logo{background:#fff!important;border-color:rgba(255,255,255,0.12)!important;box-shadow:0 1px 3px rgba(0,0,0,0.2)!important}
body.rasp-dark-mode .marquee-item--logo img,[data-theme="dark"] .marquee-item--logo img{filter:none!important}
@media(max-width:768px){.marquee-item--logo{height:52px!important;padding:8px 14px!important;min-width:110px!important}.marquee-item--logo img{height:32px!important;max-width:140px!important}}

/* === FIX: text pill dark mode (site uses [data-theme="dark"], not body.rasp-dark-mode) === */
[data-theme="dark"] .marquee-item{background:rgba(255,255,255,0.04)!important;color:#9898b8!important;border-color:rgba(255,255,255,0.08)!important}
[data-theme="dark"] .ind-pill{background:rgba(255,255,255,0.04)!important;color:#9898b8!important;border-color:rgba(255,255,255,0.08)!important}


/* === V2 ALIGNMENT FIXES === */
/* Blog card featured images: proper object-fit for OG images (1200x630 -> 600x400 crop) */
.blog-card img.wp-post-image,.blog-card .blog-card-thumb img{object-fit:cover;object-position:center center;width:100%;height:100%;display:block}
.blog-card .blog-card-thumb,.blog-card-image{overflow:hidden;aspect-ratio:3/2;position:relative}
.blog-card .blog-card-thumb img{position:absolute;inset:0}

/* CTA section text contrast fix */
.hp-cta p,.hp-cta .cta-text,.hp-cta-text{color:rgba(255,255,255,.9) !important}
section.hp-cta{color:#fff}

/* Dark mode CTA */
[data-theme="dark"] .hp-cta p,[data-theme="dark"] .hp-cta .cta-text{color:rgba(255,255,255,.85) !important}

/* Design system bottom CTA: proper title case preserved */
.rasp-sbc-inner h3{text-transform:none}

/* WhatsApp button icon fix */
a.rasp-sbc-wa svg{vertical-align:middle}

/* === NAV LOGO SPACING FIX === */
.nav-logo{margin-right:16px !important}
.nav{gap:8px}
@media(max-width:1200px){.nav-logo{margin-right:10px !important}}

/* === DARK MODE BUTTON & SERVICE PAGE FIXES === */
/* btn-outline: visible on dark backgrounds in both modes */
.rsp-hero .btn-outline,.rsp-hero a.btn-outline{border:2px solid rgba(255,255,255,0.6) !important;color:#fff !important;background:transparent !important}
.rsp-hero .btn-outline:hover,.rsp-hero a.btn-outline:hover{background:rgba(255,255,255,0.15) !important;border-color:#fff !important}

/* rsp-card dark mode */
[data-theme="dark"] .rsp-card{background:#1a1c28 !important;border-color:rgba(255,255,255,0.06) !important;color:#d0d0e0}
[data-theme="dark"] .rsp-card h4,[data-theme="dark"] .rsp-card h3{color:#e4e4ef !important}
[data-theme="dark"] .rsp-card p{color:#9898b8 !important}
[data-theme="dark"] .rsp-card a{color:#a8b5d9 !important}

/* rsp-section dark mode */
[data-theme="dark"] .rsp-section{background:#12141e !important}
[data-theme="dark"] .rsp-section-alt{background:#0d0f1a !important}
[data-theme="dark"] .rsp-section h2,[data-theme="dark"] .rsp-section h3{color:#e4e4ef !important}
[data-theme="dark"] .rsp-section p{color:#9898b8 !important}

/* self-styled-page dark mode wrapper */
[data-theme="dark"] .self-styled-page{background:#12141e;color:#d0d0e0}
[data-theme="dark"] .page-content{color:#d0d0e0}
[data-theme="dark"] .page-content h2,[data-theme="dark"] .page-content h3{color:#e4e4ef !important}
[data-theme="dark"] .page-content p,[data-theme="dark"] .page-content li{color:#9898b8 !important}
[data-theme="dark"] .page-content strong{color:#c8c8e0 !important}
[data-theme="dark"] .page-content a{color:#a8b5d9 !important}

/* faq section dark mode */
[data-theme="dark"] .faq-item,[data-theme="dark"] .faq-question{background:#1a1c28 !important;color:#d0d0e0 !important}
[data-theme="dark"] .faq-answer{background:#131522 !important;color:#9898b8 !important}

/* rsp-intro dark mode */
[data-theme="dark"] .rsp-intro{background:#0d0f1a !important}
[data-theme="dark"] .rsp-stat-row{background:#1a1c28 !important}

/* blog card dark mode */
[data-theme="dark"] .blog-card{background:#1a1c28 !important;border-color:rgba(255,255,255,0.06) !important}
[data-theme="dark"] .blog-card-body h3{color:#e4e4ef !important}
[data-theme="dark"] .blog-card-body p{color:#9898b8 !important}
[data-theme="dark"] .blog-card-body{background:#1a1c28}
/* === ACCESSIBILITY FIXES (May 2026) === */
/* Touch targets - minimum 24x24px interactive area */
.btn, a.btn, button, input[type="submit"],
.nav-links a, .footer a, .cta-link {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
}
.nav-links .nav-item > a {
    min-height: 44px;
    display: flex;
    align-items: center;
}

/* Contrast: ensure section-tags on dark backgrounds are readable */
.hp-why .section-tag,
.hp-cta .section-tag {
    color: rgba(255,255,255,.75) !important;
}

/* Small text minimum size (11px is too small - bump up) */
.ct-form-header p,
.rasp-disclaimer-text small,
.footer-col small {
    font-size: 12px !important;
    min-height: unset;
}

/* Ensure form inputs have sufficient height for touch */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
select,
textarea {
    min-height: 44px;
    line-height: 1.5;
}
