/**
 * Vivacity Solutions — Global Design System (v7.0)
 * The Ultimate Source of Truth for Visual Parity
 */

:root {
    --viva-pink: #F3124E;
    --viva-pink-glow: rgba(243, 18, 78, 0.45);
    --viva-pink-soft: rgba(243, 18, 78, 0.1);
    --viva-bg-dark: #07091e;
    --viva-glass: rgba(255, 255, 255, 0.04);
    --viva-border: rgba(255, 255, 255, 0.08);
    --viva-font-main: 'Outfit', sans-serif;
    --viva-pink-filter: invert(18%) sepia(88%) saturate(5412%) hue-rotate(338deg) brightness(97%) contrast(97%);
}

/* 1. Global Reset & Typography
   ========================================================================= */
/* Exclude brand wordmark subtree so navbar/footer lockup keeps Unbounded + Outfit stacks */
*:not(.brand-logo-link):not(.brand-logo-link *) {
    font-family: var(--viva-font-main) !important;
}

body { 
    background: rgba(7, 9, 30, 0.82) !important;
    color: #fdfcf7 !important;
    overflow-x: hidden;
}

h1, h2, .viva-title {
    font-weight: 800 !important;
    font-size: clamp(34px, 5.2vw, 76px);
    letter-spacing: -0.5px !important;
    line-height: 1.1 !important;
    color: #ffffff !important;
}

h3, h4, .viva-accent {
    font-weight: 600 !important;
    letter-spacing: 0.2px !important;
    color: #ffffff !important;
}

p, .viva-text {
    font-size: 16px;
    color: #a7adbe !important;
    line-height: 1.7 !important;
}

.text-accent { color: var(--viva-pink) !important; }

/* Global default for links that are part of the text body */
#siteMain p a,
#siteMain p a *,
#siteMain .viva-text a,
#siteMain .viva-text a *,
#siteMain li:not([class*="nav"]) a:not([class*="btn"]):not([class*="Btn"]):not([class*="Card"]):not([class*="Box"]),
#siteMain li:not([class*="nav"]) a:not([class*="btn"]):not([class*="Btn"]):not([class*="Card"]):not([class*="Box"]) * {
    color: var(--viva-pink) !important;
    font-weight: 600 !important;
    text-decoration: none;
    transition: all 0.3s ease;
}

#siteMain p a:hover,
#siteMain p a:hover *,
#siteMain .viva-text a:hover,
#siteMain .viva-text a:hover *,
#siteMain li:not([class*="nav"]) a:not([class*="btn"]):not([class*="Btn"]):not([class*="Card"]):not([class*="Box"]):hover,
#siteMain li:not([class*="nav"]) a:not([class*="btn"]):not([class*="Btn"]):not([class*="Card"]):not([class*="Box"]):hover * {
    color: #fff !important;
    text-shadow: 0 0 10px var(--viva-pink-glow);
}

/* 2. Hero Aura — solid circular gradient orbs removed; see #pageWebBackdrop in master layout */

/* Navbar Blur Sync */
#mainNavbar {
    background: rgba(7, 9, 30, 0.85) !important;
    backdrop-filter: blur(15px) !important;
    border-bottom: 1px solid var(--viva-border) !important;
}

/* 3. Component Architecture (Premium Fidelity)
   ========================================================================= */

/* BENTO CARD PATTERN (Common for Industries, Projects, Blogs) */
.homeIndustrySecInnerBox, 
.homeProjectSecBox, 
.blogSecInnerBox, 
.featuredBlogSecInnerBox,
.aboutAnalysisSecInnerBox,
.aboutAnalysisSecInnerCardBox,
.videoConBox {
    position: relative !important;
    height: 480px !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    background: #080010 !important;
    border: 1px solid var(--viva-border) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    padding: 0 !important;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

.homeIndustrySecInnerBox::after, 
.homeProjectSecBox::after, 
.blogSecInnerBox::after, 
.featuredBlogSecInnerBox::after,
.aboutAnalysisSecInnerBox::after,
.videoConBox::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(0deg, rgba(7, 9, 30, 0.95) 0%, rgba(7, 9, 30, 0.4) 50%, rgba(7, 9, 30, 0) 100%) !important;
    z-index: 1 !important;
}

.homeIndustrySecInnerBox h4, 
.homeProjectSecBox h4, 
.blogSecInnerBox h4, 
.featuredBlogSecInnerBox h4,
.videoConBox h4,
.aboutAnalysisSecInnerBox h4 {
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 26px !important;
    padding: 0 32px !important;
    margin-bottom: 8px !important;
    position: relative !important;
    z-index: 2 !important;
}

.homeIndustrySecInnerBox p, 
.blogSecInnerBox p, 
.videoConBox p,
.aboutAnalysisSecInnerBox p {
    color: rgba(255, 255, 255, 0.7) !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    padding: 0 32px 40px !important;
    margin-bottom: 0 !important;
    position: relative !important;
    z-index: 2 !important;
}

/* GLASSMORPHISM PATTERN (Tools, Forms, Testimonials) */
.toolBox, 
.contact-form-container, 
#homeContactSecInner, 
.homeQuoteSecSliderInner,
.aboutHeroSecRowInnerBox {
    background: var(--viva-glass) !important;
    backdrop-filter: blur(20px) !important;
    border: 1px solid var(--viva-border) !important;
    border-radius: 24px !important;
    padding: 40px !important;
}

/* RESULTS & STATS PANEL SYNC */
#homeStatSec .homeStatInnerSecCounterRow, .viva-stats-panel {
    background: linear-gradient(135deg, #F3124E 0%, #7d0928 100%) !important;
    border-radius: 24px !important;
    padding: 60px !important;
    color: #fff !important;
}

/* Force Brand Colors on Icons (Stars & Ticks) */
.homeQuoteSecReviewStars span, 
.homeQuoteSecSliderReviewStars span,
.homeTestimonials__stars svg,
.homeFaqContact__badge,
.text-accent,
[data-icon*="star"],
[data-icon*="check"] {
    color: var(--viva-pink) !important;
    fill: var(--viva-pink) !important;
}

.homeQuoteSecInnerBoxChecklistItemIcon span,
.homeCtaSecInnerBoxChecklistItem .iconify {
    color: var(--viva-pink) !important;
}

/* Fix for blue icons in contact cards */
.contactInfoSecInnerBox span img, 
.contactInfoSecInnerBox img[src*="Icon"] {
    filter: var(--viva-pink-filter) !important;
    max-height: 24px !important;
    width: auto !important;
}

.blogSecInnerBoxImg {
    height: 240px !important;
    border-radius: 16px 16px 0 0 !important;
}

.blogSecInnerBoxContent {
    padding: 24px !important;
    background: transparent !important;
    backdrop-filter: none !important;
    position: static !important;
}

.blogSecInnerBoxMeta {
    margin-bottom: 12px !important;
}

.blogSecInnerBoxMetaDate {
    display: inline-block !important;
    background: var(--viva-pink-soft) !important;
    color: var(--viva-pink) !important;
    padding: 4px 12px !important;
    border-radius: 100px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

/* Force specific words pink if user requested */
.homeQuoteSecInnerBox h4 span.text-accent,
.homeQuoteSecInnerBox h4,
#homeQuoteSec h4 {
    color: #ffffff !important;
}
.homeQuoteSecInnerBox h4 .text-accent,
#homeQuoteSec h4 .text-accent {
    color: var(--viva-pink) !important;
}

/* FAQ + contact: full-width 2-column layout (Figma); heading stays centered */
#homeFaqContactSec,
.viva-faq-sec {
    text-align: left !important;
    max-width: none !important;
}

#homeFaqContactSec .homeFaqContact__inner {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.homeFaqContact__head {
    margin-bottom: 60px !important;
    text-align: center !important;
}

.homeFaqContact__body {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: left !important;
}

.homeFaqContact__formCol {
    text-align: left !important;
}

.homeFaqContact__formGroup label {
    text-align: left !important;
}

.homeFaqContact__faqItem {
    border-bottom: 1px solid var(--viva-border) !important;
    text-align: left !important;
}

/* CTA High-Fidelity Style (v10) */
#homeCtaSec {
    background: #0d1025 !important;
    border-radius: 32px !important;
    padding: 80px 60px !important;
    margin: 100px 20px !important;
    border: 1px solid var(--viva-border) !important;
    position: relative !important;
    overflow: hidden !important;
}

#homeCtaSec::before {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 0 !important;
    width: 300px !important;
    height: 300px !important;
    background: radial-gradient(circle, rgba(243, 18, 78, 0.15) 0%, transparent 70%) !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
}

.homeCtaSecInner {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 40px !important;
    text-align: left !important;
}

.homeCtaSecInner h2 {
    font-size: 48px !important;
    line-height: 1.1 !important;
    max-width: 600px !important;
}

.homeCtaSecInner p {
    font-size: 18px !important;
    color: rgba(255,255,255,0.7) !important;
    max-width: 400px !important;
}

.homeCtaSecInnerBoxChecklist {
    display: flex !important;
    gap: 20px !important;
    margin-top: 32px !important;
}

.homeCtaSecInnerBoxChecklistItem {
    background: rgba(255,255,255,0.05) !important;
    padding: 8px 16px !important;
    border-radius: 100px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #fff !important;
}

/* Form Controls & Labels Sync */
.form-group label,
.homeFaqContact__formGroup label {
    display: block !important;
    margin-bottom: 8px !important;
    color: rgba(255, 255, 255, 0.82) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
}

/* Do not stretch checkboxes/radios — was breaking privacy policy row */
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea,
.form-control-standard {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid var(--viva-border) !important;
    border-radius: 12px !important;
    color: #fff !important;
    padding: 14px 18px !important;
    font-size: 16px !important;
    width: 100% !important;
    transition: all 0.3s ease !important;
}

input:not([type="checkbox"]):not([type="radio"])::placeholder,
textarea::placeholder {
    font-size: 15px !important;
    color: rgba(255, 255, 255, 0.6) !important;
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--viva-pink) !important;
    background: rgba(243, 18, 78, 0.02) !important;
    outline: none !important;
    box-shadow: 0 0 15px var(--viva-pink-glow) !important;
}

/* FAQ contact: checkbox + label on one row, label text wraps normally */
#homeFaqContactSec .homeFaqContact__formCheck {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 12px !important;
    width: 100% !important;
    text-align: left !important;
}

#homeFaqContactSec .homeFaqContact__formCheck input[type="checkbox"] {
    width: 18px !important;
    min-width: 18px !important;
    height: 18px !important;
    margin-top: 3px !important;
    flex-shrink: 0 !important;
    padding: 0 !important;
    border-radius: 4px !important;
}

#homeFaqContactSec .homeFaqContact__formCheck label {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    font-size: clamp(16px, 1.1vw, 18px) !important;
    line-height: 1.55 !important;
    color: rgba(255, 255, 255, 0.88) !important;
    text-align: left !important;
}

/* FAQ + embedded contact form: larger type than global form defaults */
#homeFaqContactSec .homeFaqContact__badge {
    font-size: clamp(22px, 2.15vw, 30px) !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    line-height: 1.2 !important;
}

#homeFaqContactSec h2.homeFaqContact__heading {
    font-size: var(--viva-overview-heading-fs, clamp(44px, 5.2vw, 76px)) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.04em !important;
}

#homeFaqContactSec .homeFaqContact__subDesc {
    font-size: clamp(20px, 1.5vw, 26px) !important;
    line-height: 1.65 !important;
    letter-spacing: 0.02em !important;
    color: rgba(255, 255, 255, 0.9) !important;
    max-width: min(48rem, 94vw) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

#homeFaqContactSec .homeFaqContact__faqBtn {
    font-size: clamp(17px, 1.32vw, 20px) !important;
    font-weight: 600 !important;
    padding: 22px 24px !important;
}

#homeFaqContactSec .homeFaqContact__faqBody {
    font-size: clamp(16px, 1.22vw, 19px) !important;
    line-height: 1.72 !important;
    color: rgba(255, 255, 255, 0.82) !important;
}

#homeFaqContactSec .homeFaqContact__formGroup label {
    font-size: clamp(16px, 1.18vw, 19px) !important;
    font-weight: 600 !important;
    color: rgba(255, 255, 255, 0.92) !important;
}

#homeFaqContactSec .homeFaqContact__formGroup input:not([type='checkbox']):not([type='radio']),
#homeFaqContactSec .homeFaqContact__formGroup select,
#homeFaqContactSec .homeFaqContact__formGroup textarea {
    font-size: clamp(17px, 1.2vw, 19px) !important;
    padding: 15px 18px !important;
}

#homeFaqContactSec .homeFaqContact__formGroup input::placeholder,
#homeFaqContactSec .homeFaqContact__formGroup textarea::placeholder {
    font-size: clamp(16px, 1.12vw, 18px) !important;
    color: rgba(255, 255, 255, 0.75) !important;
}

#homeFaqContactSec .homeFaqContact__submitBtn {
    font-size: clamp(17px, 1.18vw, 19px) !important;
    padding: 17px 34px !important;
}

/* Section rhythm — do not pad full-width tickers (was making red bars ~25–30% viewport tall)
   Resources page sections (.resBlog, .resGuides, …) use resources.css; global 120px was overriding and blowing gaps vs Figma */
section:not(#homeMarquee):not(#homeMarquee2):not(#homeMarquee3):not(#homeCaseStudiesSec):not(#homeResultsSec):not(.resBlog):not(.resGuides):not(.resFeatured):not(.resLead):not(#aboutMissionVisionSec):not(#aboutHearSec):not(#aboutIndustriesSec):not(#aboutValuesSec):not(#aboutPromoCtaSec):not(#industriesPromoCtaSec):not(#resAuditsSec):not(#resCategoriesSec):not(#csFeaturedSec):not(#csByIndustrySec):not(#csTransformSec):not(#csResultsSec):not(.blogHero):not(.blogSection),
[id*="Sec"]:not(#homeMarquee):not(#homeMarquee2):not(#homeMarquee3):not(#homeCaseStudiesSec):not(#homeResultsSec):not(#resFeaturedSec):not(#aboutMissionVisionSec):not(#aboutHearSec):not(#aboutIndustriesSec):not(#aboutValuesSec):not(#aboutPromoCtaSec):not(#industriesPromoCtaSec):not(#resAuditsSec):not(#resCategoriesSec):not(#csFeaturedSec):not(#csByIndustrySec):not(#csTransformSec):not(#csResultsSec):not(#blogContentAreaSec),
#contactInfoSec {
    padding: 120px 0 !important;
}

#homeCaseStudiesSec {
    padding: 120px clamp(16px, 3vw, 32px) !important;
}

/* Grid for forms */
.grid-2 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
}
@media (max-width: 768px) { .grid-2 { grid-template-columns: 1fr !important; } }

/* CTA Button Sync */
.btn-primary, .homeHeroSecInnerGetStartedBtn, .quoteFormGetStartedBtn {
    background: var(--viva-pink) !important;
    border: none !important;
    border-radius: 100px !important;
    padding: 16px 36px !important;
    font-weight: 700 !important;
    transition: all 0.3s ease !important;
    color: #fff !important;
}

.btn-primary:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 30px var(--viva-pink-glow) !important;
}

/* ── Homepage: section titles = logo colors (pink + white) — beats global h1/h2/p !important ── */
#siteMain #homeResultsSec .homeResults__preHeading,
#siteMain .homeTrusted__preHeading,
#siteMain .homeCap__preHeading,
#siteMain .homeIndustries__preHeading,
#siteMain .homeCaseStudies__preHeading,
#siteMain .homeWhy__preHeading,
#siteMain .homeTestimonials__preHeading,
#siteMain .homeExperts__preHeading,
#siteMain .homeHowWork__preHeading {
    color: #F3124E !important;
}

#siteMain #homeResultsSec .homeResults__heading,
#siteMain .homeTrusted__heading,
#siteMain .homeCap__heading,
#siteMain .homeIndustries__heading,
#siteMain .homeCaseStudies__heading,
#siteMain .homeWhy__heading,
#siteMain .homeHowWork__heading,
#siteMain .homeTestimonials__heading,
#siteMain .homeExperts__heading {
    color: #ffffff !important;
}

#siteMain .homeWhy__heading {
    font-weight: 800 !important;
}

#siteMain .homeWhy__heading .homeWhy__headingAccent {
    color: #f3124e !important;
    -webkit-text-fill-color: #f3124e !important;
}

/* How we work — intro type (readable vs. diagram); beats global p + any legacy inline */
#siteMain .homeHowWork__preHeading {
    font-size: clamp(20px, 2.2vw, 27px) !important;
    font-weight: 800 !important;
    letter-spacing: 0.02em !important;
    line-height: 1.25 !important;
    margin-bottom: clamp(10px, 1.2vw, 14px) !important;
}

#siteMain .homeHowWork__desc {
    font-size: clamp(19px, 1.45vw, 23px) !important;
    line-height: 1.65 !important;
    letter-spacing: 0.02em !important;
    color: rgba(255, 255, 255, 0.88) !important;
    max-width: min(44rem, 92vw) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Testimonials — section intro + card copy (beats global p) */
#siteMain .homeTestimonials__desc {
    font-family: 'Outfit', sans-serif !important;
    font-size: clamp(18px, 1.45vw, 22px) !important;
    line-height: 1.65 !important;
    letter-spacing: 0.02em !important;
    color: rgba(255, 255, 255, 0.88) !important;
    max-width: min(44rem, 92vw) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

#siteMain .homeTestimonials__name {
    font-size: clamp(17px, 1.25vw, 20px) !important;
    line-height: 1.3 !important;
}

#siteMain .homeTestimonials__quote {
    font-family: 'Outfit', sans-serif !important;
    font-size: clamp(15px, 1.22vw, 18px) !important;
    line-height: 1.7 !important;
    color: rgba(255, 255, 255, 0.88) !important;
}

#siteMain .homeExperts__desc {
    font-family: 'Outfit', sans-serif !important;
    font-size: clamp(18px, 1.45vw, 22px) !important;
    line-height: 1.65 !important;
    letter-spacing: 0.02em !important;
    color: rgba(255, 255, 255, 0.88) !important;
    max-width: min(44rem, 92vw) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

#siteMain .homeExperts__name {
    font-size: clamp(17px, 1.28vw, 20px) !important;
    line-height: 1.3 !important;
}

#siteMain .homeExperts__role {
    font-family: 'Outfit', sans-serif !important;
    font-size: clamp(14px, 1.08vw, 17px) !important;
    line-height: 1.45 !important;
    color: rgba(255, 255, 255, 0.78) !important;
}

#siteMain #homeHeroSec .homeHero__headingAccent {
    color: #F3124E !important;
}

#siteMain #homeHeroSec:not(.homeHero--figma) .homeHero__headingBold {
    color: #ffffff !important;
}

#siteMain .homeCap__badge {
    background: #F3124E !important;
    color: #ffffff !important;
}

#siteMain .homeCap__cardTitle {
    color: var(--viva-pink, #F3124E) !important;
    font-weight: 800 !important;
    font-size: clamp(20px, 1.8vw, 28px) !important;
    line-height: 1.2 !important;
    letter-spacing: -0.02em !important;
}

#siteMain .homeCap__cardDesc {
    color: #ffffff !important;
    font-size: clamp(15px, 1.12vw, 18px) !important;
    line-height: 1.48 !important;
    font-weight: 400 !important;
}

/* Pink hero line: global `p { color: #a7adbe !important; font-size: 16px }` was overriding this */
#siteMain .homeCap__card--center .homeCap__centerText {
    color: #ffffff !important;
    font-size: clamp(23px, 2.05vw, 32px) !important;
    line-height: 1.24 !important;
    font-weight: 500 !important;
    letter-spacing: -0.02em !important;
}

#siteMain .homeCap__centerText strong {
    font-weight: 800 !important;
    color: #ffffff !important;
}

#siteMain .homeIndustries__badge,
#siteMain .homeCaseStudies__badge {
    color: rgba(255, 255, 255, 0.9) !important;
}

#siteMain .homeFaqContact__badge {
    color: #F3124E !important;
    font-size: clamp(22px, 2.15vw, 30px) !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    line-height: 1.2 !important;
}

#siteMain .homeFaqContact__heading {
    color: #ffffff !important;
}

/* Cards / timeline: pink titles (global h3/h4 were forced white) */
#siteMain .homeCaseStudies__timelineTitle {
    color: #F3124E !important;
}

#siteMain .homeCaseStudies__timelineDesc {
    color: #ffffff !important;
    opacity: 0.95 !important;
}

#siteMain .homeWhy__itemTitle {
    color: #F3124E !important;
    font-weight: 700 !important;
    font-size: clamp(19px, 1.55vw, 24px) !important;
    line-height: 1.3 !important;
    letter-spacing: -0.02em !important;
    text-align: center !important;
}

/* Global `p { color: … !important }` was washing out card copy */
#siteMain .homeWhy__itemDesc {
    color: rgba(255, 255, 255, 0.92) !important;
    font-size: clamp(15px, 1.25vw, 18px) !important;
    line-height: 1.65 !important;
    font-weight: 400 !important;
    text-align: center !important;
}

#siteMain .homeWhy__desc {
    color: rgba(255, 255, 255, 0.88) !important;
    font-size: clamp(19px, 1.45vw, 23px) !important;
    line-height: 1.65 !important;
    letter-spacing: 0.02em !important;
    max-width: min(44rem, 92vw) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

#siteMain .homeCap__cardTitle.text-accent {
    color: #F3124E !important;
}

/* Global circular spider-web backdrop (corner SVG rings; particles are separate canvas) */
#pageWebBackdrop.page-web-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
    overflow: hidden !important;
}

.page-web-backdrop__svg {
    position: absolute;
    width: min(92vmin, 920px);
    height: min(92vmin, 920px);
    opacity: 0.24;
}

.page-web-backdrop__svg--tr {
    top: -8%;
    right: -14%;
}

.page-web-backdrop__svg--bl {
    bottom: -12%;
    left: -18%;
    opacity: 0.2;
}

@media (max-width: 768px) {
    .page-web-backdrop__svg {
        width: min(120vmin, 600px);
        height: min(120vmin, 600px);
        opacity: 0.16;
    }
}

/* Page content above fixed canvas + backdrop (z-index 1) */
#siteMain.site-main {
    position: relative;
    z-index: 2;
}

/* Global inner-page surface system:
   keep transparent dark-blue everywhere (except footer), never hard-black blocks. */
:root {
    --viva-surface-blue: rgba(11, 14, 40, 0.58);
    --viva-surface-blue-soft: rgba(11, 14, 40, 0.42);
    --viva-surface-border: rgba(255, 255, 255, 0.12);
}

body.site-body--inner #siteMain,
body.site-body--inner #siteMain > section:not(#homeMarquee):not(#homeMarquee2):not(#homeMarquee3),
body.site-body--inner #siteMain > div {
    background-color: transparent !important;
}

/* Common card/panel wrappers across inner pages */
body.site-body--inner #siteMain .resCard,
body.site-body--inner #siteMain .resBlog__articleRow,
body.site-body--inner #siteMain .resGuides__item,
body.site-body--inner #siteMain .resGuides__side,
body.site-body--inner #siteMain .homeFaqContact__formCol,
body.site-body--inner #siteMain .contactInfoSecInnerBox,
body.site-body--inner #siteMain .blogSecInnerBox,
body.site-body--inner #siteMain #quoteForm,
body.site-body--inner #siteMain .homeQuoteSecSliderInner,
body.site-body--inner #siteMain .homeResults__staffCard,
body.site-body--inner #siteMain .homeResults__staffCardText,
body.site-body--inner #siteMain .serviceDetailIntro__textPanel,
body.site-body--inner #siteMain .serviceDetailDeliverables__panel,
body.site-body--inner #siteMain [class*="glass"],
body.site-body--inner #siteMain [class*="panel"] {
    background: var(--viva-surface-blue) !important;
    border-color: var(--viva-surface-border) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}

/* Keep intended brand sections untouched */
body.site-body--inner #siteMain #homeMarquee,
body.site-body--inner #siteMain #homeMarquee2,
body.site-body--inner #siteMain #homeMarquee3 {
    background: #f3124e !important;
    background-color: #f3124e !important;
}

body.site-body--inner #siteMain .homeResults__statsPanel,
body.site-body--inner #siteMain .btn-primary,
body.site-body--inner #siteMain [class*="btn"],
body.site-body--inner #siteMain button {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

/* Global readability lock for inner pages:
   prevent tiny text from legacy per-page files. */
body.site-body--inner #siteMain p,
body.site-body--inner #siteMain li,
body.site-body--inner #siteMain dd,
body.site-body--inner #siteMain td,
body.site-body--inner #siteMain .homeFaqContact__faqBody,
body.site-body--inner #siteMain .resBlog__articleExcerpt,
body.site-body--inner #siteMain .homeResults__desc,
body.site-body--inner #siteMain .homeTestimonials__quote {
    font-size: clamp(16px, 1.05vw, 18px) !important;
    line-height: 1.58 !important;
}

body.site-body--inner #siteMain label,
body.site-body--inner #siteMain .form-label,
body.site-body--inner #siteMain small,
body.site-body--inner #siteMain .small,
body.site-body--inner #siteMain .homeFaqContact__faqBtn,
body.site-body--inner #siteMain input,
body.site-body--inner #siteMain select,
body.site-body--inner #siteMain textarea,
body.site-body--inner #siteMain button,
body.site-body--inner #siteMain a {
    font-size: clamp(15px, 0.95vw, 17px) !important;
    line-height: 1.45 !important;
}

@media (max-width: 768px) {
    body.site-body--inner #siteMain p,
    body.site-body--inner #siteMain li,
    body.site-body--inner #siteMain dd,
    body.site-body--inner #siteMain td,
    body.site-body--inner #siteMain .homeFaqContact__faqBody,
    body.site-body--inner #siteMain .resBlog__articleExcerpt,
    body.site-body--inner #siteMain .homeResults__desc,
    body.site-body--inner #siteMain .homeTestimonials__quote {
        font-size: 16px !important;
        line-height: 1.55 !important;
    }

    body.site-body--inner #siteMain label,
    body.site-body--inner #siteMain .form-label,
    body.site-body--inner #siteMain small,
    body.site-body--inner #siteMain .small,
    body.site-body--inner #siteMain .homeFaqContact__faqBtn,
    body.site-body--inner #siteMain input,
    body.site-body--inner #siteMain select,
    body.site-body--inner #siteMain textarea,
    body.site-body--inner #siteMain button,
    body.site-body--inner #siteMain a {
        font-size: 15px !important;
        line-height: 1.42 !important;
    }
}

/* Google Translate Widget Styling */
.mainNavbarTranslateWidget, .mobileTranslateWidget {
    display: inline-block;
}
.goog-te-gadget {
    font-family: var(--viva-font-main) !important;
    color: transparent !important;
    font-size: 0 !important;
}
.goog-te-gadget .goog-te-combo {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--viva-border);
    border-radius: 100px;
    padding: 8px 12px;
    color: #fff;
    font-family: var(--viva-font-main);
    font-size: 15px;
    outline: none;
    cursor: pointer;
    transition: all 0.3s ease;
}
.goog-te-gadget .goog-te-combo:focus {
    border-color: var(--viva-pink);
    box-shadow: 0 0 10px var(--viva-pink-glow);
}
.goog-te-gadget .goog-te-combo option {
    background: #0a0d1f;
    color: #fff;
}
/* Hide the Google logo and extra text */
.goog-logo-link {
    display: none !important;
}
.goog-te-gadget span {
    display: none !important;
}
/* Hide the top translation banner if it appears */
body {
    top: 0 !important;
}
.skiptranslate iframe {
    display: none !important;
}
