/* IBOS V16.7.2 — Dynamic Visual Theme System
   Visual-only layer: keeps the V16.7.1 layout/content intact. */
.ibos-visual-theme{
  background:var(--ibos-bg);color:var(--ibos-text);
  --ibos-card-radius:14px;--ibos-control-radius:9px;
  --ibos-soft-shadow:0 16px 42px rgba(20,46,66,.08);
  --ibos-card-shadow:0 10px 28px rgba(20,46,66,.07);
  --ibos-hover-shadow:0 20px 48px rgba(20,46,66,.12);
}
.ibos-visual-theme ::selection{background:var(--ibos-soft-alt);color:var(--ibos-deep)}
.ibos-visual-theme .eyebrow,.ibos-visual-theme .tiny-label{color:var(--ibos-primary)}
.ibos-visual-theme a:hover{color:var(--ibos-primary)}
.ibos-visual-theme .btn,.ibos-visual-theme .header-cta,.ibos-visual-theme input,.ibos-visual-theme textarea,.ibos-visual-theme select{border-radius:var(--ibos-control-radius)}
.ibos-visual-theme .btn-primary{background:var(--ibos-primary);color:#fff;box-shadow:0 8px 22px color-mix(in srgb,var(--ibos-primary) 18%,transparent)}
.ibos-visual-theme .btn-primary:hover{background:var(--ibos-primary-dark);color:#fff}
.ibos-visual-theme .btn-dark,.ibos-visual-theme .header-cta{background:var(--ibos-deep);color:#fff}
.ibos-visual-theme .btn-dark:hover,.ibos-visual-theme .header-cta:hover{background:var(--ibos-primary);color:#fff}
.ibos-visual-theme .btn-outline{background:var(--ibos-surface);border-color:var(--ibos-border);color:var(--ibos-deep)}
.ibos-visual-theme .btn-outline:hover{border-color:var(--ibos-primary);color:var(--ibos-primary)}
.ibos-visual-theme .text-link{color:var(--ibos-deep);border-color:var(--ibos-deep)}
.ibos-visual-theme .text-link:hover{color:var(--ibos-primary);border-color:var(--ibos-primary)}

/* Header / menus */
.ibos-visual-theme .site-header{background:color-mix(in srgb,var(--ibos-bg) 94%,transparent);border-color:var(--ibos-border)}
.ibos-visual-theme .site-brand,.ibos-visual-theme .menu-items a{color:var(--ibos-text)}
.ibos-visual-theme .menu-items a:hover,.ibos-visual-theme .menu-items .current-menu-item>a{color:var(--ibos-primary)}
.ibos-visual-theme .menu-items .sub-menu{background:var(--ibos-surface);border-color:var(--ibos-border);box-shadow:var(--ibos-soft-shadow)}
.ibos-visual-theme .menu-toggle{border-color:var(--ibos-border)}
.ibos-visual-theme .menu-toggle span{background:var(--ibos-deep)}

/* Hero styles */
.ibos-visual-theme .hero-section,.ibos-visual-theme .page-hero{background:linear-gradient(135deg,var(--ibos-hero-a),var(--ibos-hero-b));border-color:var(--ibos-border)}
.ibos-visual-theme .hero-content h1,.ibos-visual-theme .page-hero h1{color:var(--ibos-deep)}
.ibos-visual-theme .hero-description,.ibos-visual-theme .hero-trust,.ibos-visual-theme .page-hero p{color:var(--ibos-muted)}
.ibos-visual-theme .hero-grid-lines{background-image:linear-gradient(color-mix(in srgb,var(--ibos-primary) 8%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--ibos-primary) 8%,transparent) 1px,transparent 1px)}
.ibos-visual-theme .hero-visual-frame{background:var(--ibos-surface);border-color:var(--ibos-border);box-shadow:var(--ibos-hover-shadow);border-radius:var(--ibos-card-radius)}
.ibos-visual-theme.ibos-hero-clean .hero-section,.ibos-visual-theme.ibos-hero-clean .page-hero{background:var(--ibos-bg)}
.ibos-visual-theme.ibos-hero-gradient .hero-section,.ibos-visual-theme.ibos-hero-gradient .page-hero{background:linear-gradient(135deg,var(--ibos-hero-a) 0%,var(--ibos-soft) 45%,var(--ibos-hero-b) 100%)}
.ibos-visual-theme.ibos-hero-mesh .hero-section,.ibos-visual-theme.ibos-hero-mesh .page-hero{background:
 radial-gradient(circle at 12% 18%,color-mix(in srgb,var(--ibos-accent) 20%,transparent),transparent 31%),
 radial-gradient(circle at 82% 20%,color-mix(in srgb,var(--ibos-primary) 20%,transparent),transparent 33%),
 radial-gradient(circle at 67% 88%,color-mix(in srgb,var(--ibos-primary) 10%,transparent),transparent 28%),
 linear-gradient(135deg,var(--ibos-hero-a),var(--ibos-hero-b))}
.ibos-visual-theme.ibos-hero-auto:not(.ibos-theme-classic) .hero-section,.ibos-visual-theme.ibos-hero-auto:not(.ibos-theme-classic) .page-hero{background:
 radial-gradient(circle at 78% 18%,color-mix(in srgb,var(--ibos-accent) 11%,transparent),transparent 31%),
 linear-gradient(135deg,var(--ibos-hero-a),var(--ibos-hero-b))}

/* Alternating sections: same layout, more visual rhythm */
.ibos-visual-theme .trust-strip{background:var(--ibos-bg);border-color:var(--ibos-border)}
.ibos-visual-theme .section-problem,.ibos-visual-theme .capability-section,.ibos-visual-theme .insights-section,.ibos-visual-theme .faq-section{background:var(--ibos-bg)}
.ibos-visual-theme .process-section,.ibos-visual-theme .resident-section,.ibos-visual-theme .pricing-section,.ibos-visual-theme .muted-section{background:var(--ibos-soft)}
.ibos-visual-theme .case-section,.ibos-visual-theme .contact-section{background:var(--ibos-soft-alt)}
.ibos-visual-theme .ecosystem-section{
 background:
  radial-gradient(circle at 10% 12%,color-mix(in srgb,var(--ibos-accent) 10%,transparent),transparent 30%),
  radial-gradient(circle at 90% 84%,color-mix(in srgb,var(--ibos-primary) 9%,transparent),transparent 32%),
  linear-gradient(145deg,var(--ibos-soft),var(--ibos-bg));
 color:var(--ibos-text);
 border-top:1px solid color-mix(in srgb,var(--ibos-primary) 10%,var(--ibos-border));
 border-bottom:1px solid color-mix(in srgb,var(--ibos-primary) 10%,var(--ibos-border))
}
.ibos-visual-theme .ecosystem-section .eyebrow{color:var(--ibos-primary)}
.ibos-visual-theme .ecosystem-section .section-heading h2{color:var(--ibos-deep)}
.ibos-visual-theme .ecosystem-section .section-heading p{color:var(--ibos-muted)}
.ibos-visual-theme .ecosystem-section .ecosystem-product{border-color:color-mix(in srgb,var(--ibos-primary) 12%,var(--ibos-border));box-shadow:var(--ibos-card-shadow)}
.ibos-visual-theme .ecosystem-section .ecosystem-connection{background:color-mix(in srgb,var(--ibos-soft-alt) 82%,var(--ibos-surface));border-color:color-mix(in srgb,var(--ibos-primary) 20%,var(--ibos-border));color:var(--ibos-text)}
.ibos-visual-theme .ecosystem-section .ecosystem-connection:hover{background:color-mix(in srgb,var(--ibos-primary) 8%,var(--ibos-soft-alt));border-color:color-mix(in srgb,var(--ibos-primary) 40%,var(--ibos-border));color:var(--ibos-deep)}
.ibos-visual-theme .ecosystem-section .ecosystem-connection small,.ibos-visual-theme .ecosystem-section .ecosystem-connection em{color:var(--ibos-muted)}
.ibos-visual-theme .ecosystem-section .ecosystem-connection .connection-icon{color:var(--ibos-primary)}

/* Cards / surfaces */
.ibos-visual-theme .problem-card,.ibos-visual-theme .capability-card,.ibos-visual-theme .case-card,.ibos-visual-theme .article-card,
.ibos-visual-theme .pricing-card,.ibos-visual-theme .price-card,.ibos-visual-theme .contact-card,.ibos-visual-theme .faq-item,
.ibos-visual-theme .content-card,.ibos-visual-theme .archive-card,.ibos-visual-theme .ibos-core-group,.ibos-visual-theme .calculator,
.ibos-visual-theme .ibos-compliance-card,.ibos-visual-theme .ibos-compliance-note,.ibos-visual-theme .ibos-compliance-intro{
  border-color:var(--ibos-border);border-radius:var(--ibos-card-radius);box-shadow:var(--ibos-card-shadow)
}
.ibos-visual-theme .problem-card,.ibos-visual-theme .capability-card,.ibos-visual-theme .case-card,.ibos-visual-theme .article-card,
.ibos-visual-theme .pricing-card,.ibos-visual-theme .price-card,.ibos-visual-theme .contact-card,.ibos-visual-theme .faq-item,
.ibos-visual-theme .content-card,.ibos-visual-theme .archive-card,.ibos-visual-theme .ibos-core-group{background:var(--ibos-surface)}
.ibos-visual-theme .problem-card{background:color-mix(in srgb,var(--ibos-soft) 74%,var(--ibos-surface))}
.ibos-visual-theme .problem-index,.ibos-visual-theme .section-side-number{color:color-mix(in srgb,var(--ibos-primary) 35%,var(--ibos-muted))}
.ibos-visual-theme .capability-icon,.ibos-visual-theme .connection-icon,.ibos-visual-theme .ibos-core-check{color:var(--ibos-primary);background:color-mix(in srgb,var(--ibos-primary) 11%,var(--ibos-surface))}
.ibos-visual-theme .ibos-core-scope{border-color:var(--ibos-border);background:linear-gradient(145deg,var(--ibos-soft),var(--ibos-surface) 62%);border-radius:var(--ibos-card-radius)}
.ibos-visual-theme .ibos-core-heading h3,.ibos-visual-theme .ibos-core-group h4,.ibos-visual-theme .ibos-core-group strong{color:var(--ibos-deep)}
.ibos-visual-theme .ibos-core-badge{background:color-mix(in srgb,var(--ibos-primary) 12%,var(--ibos-surface));color:var(--ibos-primary)}
.ibos-visual-theme .ibos-core-scope-note{background:var(--ibos-soft-alt);border-color:var(--ibos-primary)}

/* Product mockups follow palette instead of fixed dark navy */
.ibos-visual-theme .product-visual{background:var(--ibos-soft);border-color:var(--ibos-border)}
.ibos-visual-theme .product-top{background:var(--ibos-deep)}
.ibos-visual-theme .product-side{background:var(--ibos-soft-alt)}
.ibos-visual-theme .product-side-mark{background:var(--ibos-primary)}
.ibos-visual-theme .product-stat div,.ibos-visual-theme .product-panels>div{background:var(--ibos-surface);border-color:var(--ibos-border)}
.ibos-visual-theme .product-stat i{background:color-mix(in srgb,var(--ibos-primary) 52%,#fff)}
.ibos-visual-theme .product-stat div:nth-child(2) i{background:color-mix(in srgb,var(--ibos-accent) 48%,#fff)}

/* Forms */
.ibos-visual-theme input:not([type=checkbox]):not([type=radio]):not([type=submit]),.ibos-visual-theme textarea,.ibos-visual-theme select{
 background:var(--ibos-surface);color:var(--ibos-text);border-color:var(--ibos-border)!important;box-shadow:none
}
.ibos-visual-theme input:focus,.ibos-visual-theme textarea:focus,.ibos-visual-theme select:focus{
 outline:0;border-color:var(--ibos-primary)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--ibos-primary) 13%,transparent)
}
.ibos-visual-theme input[type=checkbox],.ibos-visual-theme input[type=radio]{accent-color:var(--ibos-primary)}
.ibos-visual-theme .form-status.success,.ibos-visual-theme .notice-success{border-color:var(--ibos-primary)}

/* Pricing / calculator / tables */
.ibos-visual-theme .pricing-section,.ibos-visual-theme .page-pricing{background:var(--ibos-soft)}
.ibos-visual-theme .price-card.is-highlight,.ibos-visual-theme .pricing-card.is-highlight,.ibos-visual-theme .price-card.highlight{border-color:var(--ibos-primary);box-shadow:0 20px 46px color-mix(in srgb,var(--ibos-primary) 14%,transparent)}
.ibos-visual-theme .price-badge,.ibos-visual-theme .pricing-badge{background:var(--ibos-primary);color:#fff}
.ibos-visual-theme .calc-cost-header{background:linear-gradient(135deg,var(--ibos-deep),var(--ibos-primary))}
.ibos-visual-theme .calculator>.calc-note,.ibos-visual-theme .ibos-policy-price-note{background:var(--ibos-soft-alt);border-color:var(--ibos-primary)}
.ibos-visual-theme .ibos-policy-price-table,.ibos-visual-theme .ibos-compliance-table{background:var(--ibos-surface);border-color:var(--ibos-border)}
.ibos-visual-theme .ibos-policy-price-table th,.ibos-visual-theme .ibos-compliance-table th{background:var(--ibos-soft);color:var(--ibos-deep)}
.ibos-visual-theme .ibos-policy-price-table td,.ibos-visual-theme .ibos-policy-price-table th,.ibos-visual-theme .ibos-compliance-table td,.ibos-visual-theme .ibos-compliance-table th{border-color:var(--ibos-border)}

/* Legal pages retain restrained appearance but inherit palette. */
.ibos-visual-theme .ibos-compliance-card,.ibos-visual-theme .ibos-compliance-intro{background:color-mix(in srgb,var(--ibos-soft) 64%,var(--ibos-surface));color:var(--ibos-text)}
.ibos-visual-theme .ibos-compliance-card.ibos-na,.ibos-visual-theme .ibos-compliance-note{background:var(--ibos-soft);border-color:var(--ibos-border)}
.ibos-visual-theme .ibos-compliance-card.ibos-na{border-left-color:var(--ibos-primary)}
.ibos-visual-theme .ibos-compliance-dl dt,.ibos-visual-theme .ibos-compliance-card.ibos-na strong{color:var(--ibos-deep)}
.ibos-visual-theme .ibos-disclosure-table a{color:var(--ibos-primary)}

/* Footer: existing V16.7 controls remain valid. When enabled, the global palette gently tints it. */
.ibos-theme-footer .site-footer.footer-dynamic.footer-theme-light{background:var(--ibos-footer);border-color:var(--ibos-border)}
.ibos-theme-footer .site-footer.footer-dynamic.footer-theme-white{background:var(--ibos-bg);border-color:var(--ibos-border)}
.ibos-theme-footer .site-footer .footer-disclosure-primary{background:var(--ibos-soft);border-color:color-mix(in srgb,var(--ibos-primary) 35%,var(--ibos-border));color:var(--ibos-primary)!important}
.ibos-theme-footer .site-footer .footer-identity-link,.ibos-theme-footer .site-footer .footer-links a:hover{color:var(--ibos-primary)!important}
.ibos-theme-footer .site-footer.footer-dynamic.footer-theme-dark{background:var(--ibos-deep);border-color:color-mix(in srgb,var(--ibos-primary) 35%,var(--ibos-deep))}

/* Intensity presets: visual only, no structural changes. */
.ibos-intensity-calm{--ibos-card-radius:8px;--ibos-control-radius:6px;--ibos-soft-shadow:0 8px 24px rgba(20,46,66,.05);--ibos-card-shadow:0 4px 16px rgba(20,46,66,.045);--ibos-hover-shadow:0 12px 30px rgba(20,46,66,.08)}
.ibos-intensity-calm .problem-card,.ibos-intensity-calm .capability-card,.ibos-intensity-calm .case-card,.ibos-intensity-calm .article-card,.ibos-intensity-calm .price-card{box-shadow:none}
.ibos-intensity-saas{--ibos-card-radius:14px;--ibos-control-radius:9px}
.ibos-intensity-vivid{--ibos-card-radius:19px;--ibos-control-radius:12px;--ibos-soft-shadow:0 20px 55px rgba(20,46,66,.1);--ibos-card-shadow:0 12px 34px rgba(20,46,66,.09);--ibos-hover-shadow:0 25px 60px rgba(20,46,66,.15)}
.ibos-intensity-vivid .problem-card,.ibos-intensity-vivid .capability-card,.ibos-intensity-vivid .case-card,.ibos-intensity-vivid .article-card,.ibos-intensity-vivid .price-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.ibos-intensity-vivid .problem-card:hover,.ibos-intensity-vivid .capability-card:hover,.ibos-intensity-vivid .case-card:hover,.ibos-intensity-vivid .article-card:hover,.ibos-intensity-vivid .price-card:hover{transform:translateY(-4px);box-shadow:var(--ibos-hover-shadow);border-color:color-mix(in srgb,var(--ibos-primary) 30%,var(--ibos-border))}

/* Preset-specific accents. */
.ibos-theme-aurora-ai.ibos-intensity-vivid .hero-section,.ibos-theme-violet-neural.ibos-intensity-vivid .hero-section{background:
 radial-gradient(circle at 78% 14%,color-mix(in srgb,var(--ibos-accent) 22%,transparent),transparent 28%),
 radial-gradient(circle at 16% 84%,color-mix(in srgb,var(--ibos-primary) 14%,transparent),transparent 31%),
 linear-gradient(135deg,var(--ibos-hero-a),var(--ibos-hero-b))}
.ibos-theme-cyan-future .hero-grid-lines,.ibos-theme-ocean-cloud .hero-grid-lines{background-size:54px 54px}

/* Tết Việt: tasteful, CSS-only decoration; no heavy images, no content changes. */
.ibos-theme-tet-viet .eyebrow,.ibos-theme-tet-viet .tiny-label{color:var(--ibos-primary)}
.ibos-theme-tet-viet .ecosystem-section{background:
 radial-gradient(circle at 12% 12%,rgba(212,166,42,.12),transparent 30%),
 radial-gradient(circle at 90% 82%,rgba(198,40,40,.08),transparent 32%),
 linear-gradient(145deg,var(--ibos-soft),var(--ibos-bg))}
.ibos-theme-tet-viet .btn-primary{box-shadow:0 8px 22px rgba(198,40,40,.16)}
.ibos-theme-tet-viet.ibos-tet-on .hero-section::before,.ibos-theme-tet-viet.ibos-tet-on .hero-section::after{content:"";position:absolute;pointer-events:none;z-index:0;border-radius:50%}
.ibos-theme-tet-viet.ibos-tet-on .hero-section::before{width:360px;height:360px;right:-130px;top:-155px;background:
 radial-gradient(circle at 50% 10%,rgba(212,166,42,.24) 0 7%,transparent 8%),
 radial-gradient(circle at 90% 50%,rgba(212,166,42,.20) 0 7%,transparent 8%),
 radial-gradient(circle at 50% 90%,rgba(198,40,40,.12) 0 7%,transparent 8%),
 radial-gradient(circle at 10% 50%,rgba(198,40,40,.12) 0 7%,transparent 8%),
 radial-gradient(circle,rgba(212,166,42,.12),transparent 64%)}
.ibos-theme-tet-viet.ibos-tet-on .hero-section::after{width:250px;height:250px;left:-110px;bottom:-130px;border:1px solid rgba(212,166,42,.22);box-shadow:0 0 0 18px rgba(198,40,40,.025),0 0 0 42px rgba(212,166,42,.035)}
.ibos-theme-tet-viet.ibos-tet-highlight .hero-section::before{width:430px;height:430px;opacity:1}
.ibos-theme-tet-viet.ibos-tet-highlight .hero-section::after{width:310px;height:310px}
.ibos-theme-tet-viet.ibos-tet-on .site-header{box-shadow:0 1px 0 rgba(212,166,42,.12)}
.ibos-theme-tet-viet.ibos-tet-on .header-cta{background:linear-gradient(135deg,var(--ibos-primary),var(--ibos-primary-dark))}
.ibos-theme-tet-viet.ibos-tet-on .price-card.is-highlight,.ibos-theme-tet-viet.ibos-tet-on .pricing-card.is-highlight,.ibos-theme-tet-viet.ibos-tet-on .price-card.highlight{border-color:var(--ibos-accent)}

@media (prefers-reduced-motion:reduce){.ibos-intensity-vivid .problem-card,.ibos-intensity-vivid .capability-card,.ibos-intensity-vivid .case-card,.ibos-intensity-vivid .article-card,.ibos-intensity-vivid .price-card{transition:none}.ibos-intensity-vivid .problem-card:hover,.ibos-intensity-vivid .capability-card:hover,.ibos-intensity-vivid .case-card:hover,.ibos-intensity-vivid .article-card:hover,.ibos-intensity-vivid .price-card:hover{transform:none}}
@media(max-width:700px){.ibos-theme-tet-viet.ibos-tet-on .hero-section::before{width:240px;height:240px;right:-120px;top:-100px}.ibos-theme-tet-viet.ibos-tet-on .hero-section::after{display:none}}

/* ========================================================================== 
   IBOS V16.7.2.2 — Full Theme Color Sync
   Visual-only normalization. No layout/content/data behavior changes.
   Goal: every selectable visual preset feels cohesive without large dark blocks.
   ========================================================================== */

/* Global text/brand/link synchronization */
.ibos-visual-theme{background:var(--ibos-bg);color:var(--ibos-text)}
.ibos-visual-theme .site-brand,
.ibos-visual-theme .site-brand .brand-text-only,
.ibos-visual-theme .brand-wordmark,
.ibos-visual-theme .footer-brand .brand-text-only{color:var(--ibos-primary)!important}
.ibos-visual-theme .brand-wordmark small{color:var(--ibos-accent)!important}
.ibos-visual-theme .brand-symbol{background:var(--ibos-primary);color:#fff}
.ibos-visual-theme .brand-symbol span{color:var(--ibos-accent)}
.ibos-visual-theme a:not(.btn):not(.header-cta):not(.ibos-verified-link){text-decoration-color:color-mix(in srgb,var(--ibos-primary) 32%,transparent)}
.ibos-visual-theme .prose a,
.ibos-visual-theme .entry-content a,
.ibos-visual-theme .price-common-label a,
.ibos-visual-theme .footer-identity-link{color:var(--ibos-primary)}
.ibos-visual-theme .prose a:hover,
.ibos-visual-theme .entry-content a:hover,
.ibos-visual-theme .price-common-label a:hover{color:var(--ibos-primary-dark)}

/* Navigation, mobile trigger and breadcrumbs */
.ibos-visual-theme .menu-toggle{border-color:color-mix(in srgb,var(--ibos-primary) 22%,var(--ibos-border));background:color-mix(in srgb,var(--ibos-surface) 96%,var(--ibos-soft))}
.ibos-visual-theme .menu-toggle span{background:var(--ibos-primary)}
.ibos-visual-theme .menu-toggle:hover,.ibos-visual-theme .menu-toggle[aria-expanded="true"]{border-color:var(--ibos-primary);background:var(--ibos-soft)}
.ibos-visual-theme .breadcrumbs,.ibos-visual-theme .breadcrumb,.ibos-visual-theme .breadcrumbs a,.ibos-visual-theme .breadcrumb a{color:var(--ibos-muted)}
.ibos-visual-theme .breadcrumbs a:hover,.ibos-visual-theme .breadcrumb a:hover{color:var(--ibos-primary)}
.ibos-visual-theme .mobile-menu-cta{background:var(--ibos-primary)!important;color:var(--ibos-on-primary)!important;border-color:var(--ibos-primary)!important}

/* General headings and small accents that previously retained old blue/teal */
.ibos-visual-theme .section-heading h2,
.ibos-visual-theme .split-heading h2,
.ibos-visual-theme .calc-summary-heading h4,
.ibos-visual-theme .price-difference-title,
.ibos-visual-theme .contact-page-promise b,
.ibos-visual-theme .resident-media-label,
.ibos-visual-theme .product-main>strong{color:var(--ibos-deep)}
.ibos-visual-theme .section-heading p,
.ibos-visual-theme .problem-card p,
.ibos-visual-theme .contact-form-title p,
.ibos-visual-theme .resident-media-label span,
.ibos-visual-theme .price-common-label,
.ibos-visual-theme .calc-summary-heading>p{color:var(--ibos-muted)}
.ibos-visual-theme .hero-side-label{color:var(--ibos-muted)}
.ibos-visual-theme .hero-side-label span{color:var(--ibos-accent)}
.ibos-visual-theme .hero-trust svg,.ibos-visual-theme .trust-items b{color:var(--ibos-primary)}

/* Light surfaces: prevent preset primary/deep colors from turning whole content blocks dark. */
.ibos-visual-theme .ecosystem-section,
.ibos-visual-theme .pricing-section,
.ibos-visual-theme .page-pricing,
.ibos-visual-theme .muted-section,
.ibos-visual-theme .resident-section,
.ibos-visual-theme .contact-section,
.ibos-visual-theme .contact-page-section,
.ibos-visual-theme .process-section,
.ibos-visual-theme .case-section,
.ibos-visual-theme .insights-section,
.ibos-visual-theme .faq-section{color:var(--ibos-text)}
.ibos-visual-theme .resident-section{background:color-mix(in srgb,var(--ibos-soft) 84%,var(--ibos-bg))}
.ibos-visual-theme .contact-section,.ibos-visual-theme .case-section{background:color-mix(in srgb,var(--ibos-soft-alt) 82%,var(--ibos-bg))}
.ibos-visual-theme .contact-page-section{background:color-mix(in srgb,var(--ibos-soft) 42%,var(--ibos-bg))}
.ibos-visual-theme .process-section{background:var(--ibos-bg)}

/* Ecosystem cards/media */
.ibos-visual-theme .ecosystem-product,.ibos-visual-theme .ecosystem-product.product-2,
.ibos-visual-theme .ecosystem-product-media,.ibos-visual-theme .resident-media,
.ibos-visual-theme .process-real-image,.ibos-visual-theme .page-hero-image,
.ibos-visual-theme .product-detail-image,.ibos-visual-theme .contact-form-wrap{
 background:var(--ibos-surface);border-color:var(--ibos-border)
}
.ibos-visual-theme .ecosystem-product-media img,.ibos-visual-theme .ecosystem-product-media>img,
.ibos-visual-theme .ibos-inline-art img,.ibos-visual-theme .detail-featured img,
.ibos-visual-theme .article-image img,.ibos-visual-theme .archive-image img,.ibos-visual-theme .case-image img{background:var(--ibos-surface);border-color:var(--ibos-border)}
.ibos-visual-theme .article-image,.ibos-visual-theme .archive-image,.ibos-visual-theme .case-image{background:var(--ibos-soft)}

/* Pricing: keep headers light, use primary only as accent. */
.ibos-visual-theme .price-card,.ibos-visual-theme .pricing-card,.ibos-visual-theme .calc-cost-card,.ibos-visual-theme .calculator{background:var(--ibos-surface);border-color:var(--ibos-border)}
.ibos-visual-theme .price-card.featured,.ibos-visual-theme .price-card.is-highlight,.ibos-visual-theme .pricing-card.is-highlight,.ibos-visual-theme .price-card.highlight{border-color:color-mix(in srgb,var(--ibos-primary) 46%,var(--ibos-border));box-shadow:0 16px 42px color-mix(in srgb,var(--ibos-primary) 10%,transparent)}
.ibos-visual-theme .calc-cost-monthly{border-color:color-mix(in srgb,var(--ibos-primary) 34%,var(--ibos-border));box-shadow:0 9px 24px color-mix(in srgb,var(--ibos-primary) 7%,transparent)}
.ibos-visual-theme .calc-cost-header{
 background:linear-gradient(135deg,color-mix(in srgb,var(--ibos-primary) 10%,var(--ibos-surface)),color-mix(in srgb,var(--ibos-accent) 8%,var(--ibos-surface)))!important;
 border-bottom:1px solid color-mix(in srgb,var(--ibos-primary) 16%,var(--ibos-border));
 color:var(--ibos-text)
}
.ibos-visual-theme .calc-cost-kicker{color:var(--ibos-primary)!important}
.ibos-visual-theme .calc-cost-header h5{color:var(--ibos-deep)!important}
.ibos-visual-theme .calc-cost-header p{color:var(--ibos-muted)!important}
.ibos-visual-theme .calc-cost-figure{background:color-mix(in srgb,var(--ibos-soft) 78%,var(--ibos-surface))}
.ibos-visual-theme .calc-cost-once .calc-cost-figure{background:color-mix(in srgb,var(--ibos-soft-alt) 68%,var(--ibos-surface))}
.ibos-visual-theme .calc-cost-figure strong,.ibos-visual-theme .calc-cost-details dd{color:var(--ibos-primary-dark)}
.ibos-visual-theme .calc-cost-figure span,.ibos-visual-theme .calc-cost-details dt,.ibos-visual-theme .calc-cost-details .calc-cost-tax dd,.ibos-visual-theme .calc-cost-hint{color:var(--ibos-muted)}
.ibos-visual-theme .calc-cost-details>div,.ibos-visual-theme .calc-cost-hint{border-color:var(--ibos-border)}
.ibos-visual-theme .calculator>.calc-note{background:var(--ibos-soft-alt);border-left-color:var(--ibos-primary);color:var(--ibos-muted)}

/* Forms and contact callouts */
.ibos-visual-theme .contact-page-promise{background:var(--ibos-soft);border-color:var(--ibos-border)}
.ibos-visual-theme .contact-card,.ibos-visual-theme .contact-form-wrap{box-shadow:var(--ibos-card-shadow)}
.ibos-visual-theme label{color:var(--ibos-text)}
.ibos-visual-theme input::placeholder,.ibos-visual-theme textarea::placeholder{color:color-mix(in srgb,var(--ibos-muted) 72%,transparent)}

/* Product illustration: soften the top bar so AI/tech presets don't create a dark island. */
.ibos-visual-theme .product-top{
 background:linear-gradient(135deg,color-mix(in srgb,var(--ibos-primary) 16%,var(--ibos-surface)),color-mix(in srgb,var(--ibos-accent) 9%,var(--ibos-surface)))!important;
 color:var(--ibos-deep)!important;border-bottom:1px solid var(--ibos-border)
}
.ibos-visual-theme .product-top small{color:var(--ibos-muted)}
.ibos-visual-theme .product-dots i{background:color-mix(in srgb,var(--ibos-primary) 28%,var(--ibos-border))}
.ibos-visual-theme .product-dots i:first-child{background:var(--ibos-accent)}
.ibos-visual-theme .product-side span{background:color-mix(in srgb,var(--ibos-primary) 18%,var(--ibos-border))}
.ibos-visual-theme .product-side span:nth-child(3){background:color-mix(in srgb,var(--ibos-primary) 48%,var(--ibos-border))}
.ibos-visual-theme .product-breadcrumb,.ibos-visual-theme .product-panels b{color:var(--ibos-muted)}
.ibos-visual-theme .product-stat span,.ibos-visual-theme .product-panels span{background:color-mix(in srgb,var(--ibos-primary) 8%,var(--ibos-border))}

/* Tables / long-form content */
.ibos-visual-theme .prose td,.ibos-visual-theme .prose th,.ibos-visual-theme .wp-block-table td,.ibos-visual-theme .wp-block-table th{border-color:var(--ibos-border)}
.ibos-visual-theme .prose th,.ibos-visual-theme .wp-block-table th{background:var(--ibos-soft);color:var(--ibos-deep)}

/* Core scope and compliance: remove remaining hard-coded old blues. */
.ibos-visual-theme .ibos-core-group h4{border-color:var(--ibos-border)}
.ibos-visual-theme .ibos-core-group p,.ibos-visual-theme .ibos-core-scope-note{color:var(--ibos-muted)}
.ibos-visual-theme .ibos-core-scope-note strong{color:var(--ibos-deep)}
.ibos-visual-theme .ibos-compliance-dl>div,.ibos-visual-theme .ibos-compliance-supplement{border-color:var(--ibos-border)}
.ibos-visual-theme .ibos-policy-updated,.ibos-visual-theme .ibos-compliance-table td small{color:var(--ibos-muted)}

/* Footer light/white palettes — synchronize text/lines while preserving the user's footer mode. */
.ibos-theme-footer .site-footer:not(.footer-theme-dark){color:var(--ibos-text)}
.ibos-theme-footer .site-footer:not(.footer-theme-dark) h2,
.ibos-theme-footer .site-footer:not(.footer-theme-dark) h3,
.ibos-theme-footer .site-footer:not(.footer-theme-dark) h4,
.ibos-theme-footer .site-footer:not(.footer-theme-dark) strong,
.ibos-theme-footer .site-footer:not(.footer-theme-dark) a,
.ibos-theme-footer .site-footer:not(.footer-theme-dark) p,
.ibos-theme-footer .site-footer:not(.footer-theme-dark) small,
.ibos-theme-footer .site-footer:not(.footer-theme-dark) span{color:var(--ibos-text)}
.ibos-theme-footer .site-footer:not(.footer-theme-dark) .footer-company-details,
.ibos-theme-footer .site-footer:not(.footer-theme-dark) .footer-bottom,
.ibos-theme-footer .site-footer:not(.footer-theme-dark) .footer-verified{border-color:var(--ibos-border)}
.ibos-theme-footer .site-footer:not(.footer-theme-dark) .footer-verified h4{color:var(--ibos-deep)}
.ibos-theme-footer .site-footer .footer-verified .ibos-verified-link{border-color:var(--ibos-border)}

/* Social float: preserve recognizable network colors, but harmonize frame/shadow. */
.ibos-visual-theme .floating-social,.ibos-visual-theme .social-float,.ibos-visual-theme .floating-contact{filter:drop-shadow(0 10px 22px color-mix(in srgb,var(--ibos-deep) 12%,transparent))}
.ibos-visual-theme .floating-social a,.ibos-visual-theme .social-float a,.ibos-visual-theme .floating-contact a{border-color:color-mix(in srgb,var(--ibos-primary) 18%,rgba(255,255,255,.55))}

/* Focus and keyboard visibility follow the selected palette. */
.ibos-visual-theme :where(a,button,input,textarea,select,summary):focus-visible{outline:3px solid color-mix(in srgb,var(--ibos-accent) 62%,var(--ibos-primary));outline-offset:3px}

/* Tet stays light: red/gold are accents rather than full dark blocks. */
.ibos-theme-tet-viet .calc-cost-header,.ibos-theme-tet-viet .product-top{background:linear-gradient(135deg,#fff9ec,#fff3dc)!important;border-color:color-mix(in srgb,var(--ibos-accent) 30%,var(--ibos-border))}
.ibos-theme-tet-viet .calc-cost-figure strong,.ibos-theme-tet-viet .calc-cost-details dd{color:var(--ibos-primary)}

/* Mobile: keep the visible brand/menu/price components coherent with theme. */
@media(max-width:950px){
 .ibos-visual-theme .site-brand .brand-text-only{color:var(--ibos-primary)!important}
 .ibos-visual-theme .primary-menu{background:var(--ibos-surface);border-color:var(--ibos-border)}
 .ibos-visual-theme .primary-menu .menu-items a{color:var(--ibos-text)}
 .ibos-visual-theme .primary-menu .menu-items a:hover,.ibos-visual-theme .primary-menu .menu-items .current-menu-item>a{color:var(--ibos-primary)}
}
@media(max-width:430px){
 .ibos-visual-theme .calc-cost-header{padding-top:21px}
}
