/*
 * IBOS V16.7.3 — Unified Visual Design System
 * Visual-only layer. It intentionally does not alter content, WordPress data,
 * URLs, forms, pricing logic, legal text or template structure.
 */

/* ---------- 1. FOUNDATION / TYPOGRAPHY ---------- */
.ibos-visual-theme{
  --ibos-font-sans:Inter,"Segoe UI",Roboto,"Helvetica Neue",Arial,system-ui,-apple-system,sans-serif;
  --ibos-font-display:var(--ibos-font-sans);
  --ibos-heading:var(--ibos-deep);
  --ibos-body:var(--ibos-text);
  --ibos-caption:var(--ibos-muted);
  --ibos-link:var(--ibos-primary-dark);
  --ibos-on-primary:#fff;
  --ibos-radius-xs:8px;
  --ibos-radius-sm:12px;
  --ibos-radius-md:16px;
  --ibos-radius-lg:22px;
  --ibos-shadow-xs:0 5px 16px color-mix(in srgb,var(--ibos-deep) 6%,transparent);
  --ibos-shadow-sm:0 10px 30px color-mix(in srgb,var(--ibos-deep) 8%,transparent);
  --ibos-shadow-md:0 18px 48px color-mix(in srgb,var(--ibos-deep) 11%,transparent);
  --ibos-focus-ring:color-mix(in srgb,var(--ibos-accent) 64%,var(--ibos-primary));
  --ibos-section-tint:color-mix(in srgb,var(--ibos-soft) 74%,var(--ibos-bg));
  --ibos-section-tint-alt:color-mix(in srgb,var(--ibos-soft-alt) 72%,var(--ibos-bg));
  --ibos-card-border:color-mix(in srgb,var(--ibos-primary) 9%,var(--ibos-border));
  --ibos-accent-soft:color-mix(in srgb,var(--ibos-primary) 9%,var(--ibos-surface));
  --ibos-accent-soft-2:color-mix(in srgb,var(--ibos-accent) 9%,var(--ibos-surface));
  font-family:var(--ibos-font-sans);
  color:var(--ibos-body);
  background:var(--ibos-bg);
}
.ibos-visual-theme,
.ibos-visual-theme button,
.ibos-visual-theme input,
.ibos-visual-theme textarea,
.ibos-visual-theme select{font-family:var(--ibos-font-sans)}
.ibos-visual-theme :where(h1,h2,h3,h4,h5,h6){
  font-family:var(--ibos-font-display);
  color:var(--ibos-heading);
  font-weight:760;
  letter-spacing:-.035em;
  text-wrap:balance;
}
.ibos-visual-theme :where(p,li,dt,dd,figcaption,.prose,.description){color:var(--ibos-body)}
.ibos-visual-theme :where(.section-heading p,.hero-description,.page-hero p,.muted,.description,.visual-note,.hero-trust,.calc-cost-header p,.calc-cost-details dt,.calc-cost-hint){color:var(--ibos-caption)}
.ibos-visual-theme :where(a:not(.btn):not(.header-cta):not(.ibos-verified-link)){text-decoration-color:color-mix(in srgb,var(--ibos-primary) 35%,transparent)}
.ibos-visual-theme :where(a:not(.btn):not(.header-cta):not(.ibos-verified-link)):hover{color:var(--ibos-link)}
.ibos-visual-theme :where(.eyebrow,.tiny-label,.calc-cost-kicker,.price-difference-title,.capability-num,.process-count,.section-side-number){
  font-family:var(--ibos-font-sans);
  color:var(--ibos-primary);
  font-weight:800;
  letter-spacing:.13em;
}
.ibos-visual-theme .problem-index{font-family:var(--ibos-font-display);font-weight:700;color:color-mix(in srgb,var(--ibos-primary) 34%,var(--ibos-muted));letter-spacing:-.04em}

/* ---------- 2. GLOBAL SURFACES ---------- */
.ibos-visual-theme :where(.problem-card,.capability-card,.archive-card,.article-card,.case-card,.price-card,.pricing-card,.calc-cost-card,.contact-card,.contact-form-wrap,.ibos-core-group,.detail-side,.detail-content,.page-aside,.faq-item,.ecosystem-product){
  background:var(--ibos-surface);
  border-color:var(--ibos-card-border);
  box-shadow:var(--ibos-shadow-xs);
}
.ibos-visual-theme :where(.problem-card,.capability-card,.archive-card,.article-card,.case-card,.price-card,.pricing-card,.calc-cost-card,.contact-card,.contact-form-wrap,.ibos-core-group,.faq-item){border-radius:var(--ibos-radius-sm)}
.ibos-visual-theme :where(.hero-visual-frame,.page-hero-image,.product-detail-image,.resident-media,.process-real-image){
  background:var(--ibos-surface);
  border-color:var(--ibos-card-border);
  border-radius:var(--ibos-radius-md);
  box-shadow:var(--ibos-shadow-md);
}

/* ---------- 3. HEADER / BRAND / NAV ---------- */
.ibos-visual-theme .site-header{
  background:color-mix(in srgb,var(--ibos-bg) 95%,transparent);
  border-color:var(--ibos-border);
  box-shadow:0 1px 0 color-mix(in srgb,var(--ibos-primary) 4%,transparent);
}
.ibos-visual-theme .site-brand{color:var(--ibos-heading)}
.ibos-visual-theme .brand-symbol{background:var(--ibos-primary);color:var(--ibos-on-primary);border-radius:var(--ibos-radius-xs)}
.ibos-visual-theme .brand-wordmark{color:var(--ibos-heading);font-family:var(--ibos-font-display);font-weight:800;letter-spacing:-.045em}
.ibos-visual-theme .brand-wordmark small{color:var(--ibos-primary);letter-spacing:.12em}
.ibos-visual-theme .menu-items a{color:var(--ibos-body);font-weight:700}
.ibos-visual-theme .menu-items a:hover,
.ibos-visual-theme .menu-items .current-menu-item>a,
.ibos-visual-theme .menu-items .current-menu-ancestor>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-shadow-md);border-radius:var(--ibos-radius-sm)}
.ibos-visual-theme .menu-toggle{background:var(--ibos-surface);border-color:color-mix(in srgb,var(--ibos-primary) 22%,var(--ibos-border));border-radius:var(--ibos-radius-xs)}
.ibos-visual-theme .menu-toggle span{background:var(--ibos-primary)}
.ibos-visual-theme .menu-toggle:hover,
.ibos-visual-theme .menu-toggle[aria-expanded="true"]{background:var(--ibos-accent-soft);border-color:var(--ibos-primary)}
.ibos-visual-theme .header-cta{background:var(--ibos-primary);color:var(--ibos-on-primary);border-radius:var(--ibos-radius-xs);box-shadow:0 7px 18px color-mix(in srgb,var(--ibos-primary) 17%,transparent)}
.ibos-visual-theme .header-cta:hover{background:var(--ibos-primary-dark);color:var(--ibos-on-primary)}

/* ---------- 4. BUTTONS / CONTROLS ---------- */
.ibos-visual-theme .btn{border-radius:var(--ibos-radius-xs);font-weight:800;letter-spacing:.01em}
.ibos-visual-theme .btn-primary{background:var(--ibos-primary);color:var(--ibos-on-primary);box-shadow:0 8px 22px color-mix(in srgb,var(--ibos-primary) 16%,transparent)}
.ibos-visual-theme .btn-primary:hover{background:var(--ibos-primary-dark);color:var(--ibos-on-primary)}
.ibos-visual-theme .btn-dark{background:var(--ibos-primary-dark);color:var(--ibos-on-primary)}
.ibos-visual-theme .btn-dark:hover{background:var(--ibos-primary);color:var(--ibos-on-primary)}
.ibos-visual-theme .btn-outline{background:var(--ibos-surface);color:var(--ibos-heading);border-color:var(--ibos-border)}
.ibos-visual-theme .btn-outline:hover{color:var(--ibos-primary);border-color:var(--ibos-primary);background:var(--ibos-accent-soft)}
.ibos-visual-theme .text-link{color:var(--ibos-link);border-color:color-mix(in srgb,var(--ibos-primary) 58%,var(--ibos-border))}
.ibos-visual-theme .text-link:hover{color:var(--ibos-primary);border-color:var(--ibos-primary)}
.ibos-visual-theme :where(input,textarea,select){
  color:var(--ibos-body)!important;
  background:var(--ibos-surface)!important;
  border-color:var(--ibos-border)!important;
  border-radius:var(--ibos-radius-xs)!important;
}
.ibos-visual-theme :where(input,textarea,select):focus{border-color:var(--ibos-primary)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--ibos-primary) 12%,transparent)!important;outline:0}
.ibos-visual-theme :where(input,textarea)::placeholder{color:color-mix(in srgb,var(--ibos-muted) 72%,transparent)}
.ibos-visual-theme :where(a,button,input,textarea,select,summary):focus-visible{outline:3px solid var(--ibos-focus-ring);outline-offset:3px}

/* ---------- 5. ONE BANNER LANGUAGE ---------- */
.ibos-visual-theme .hero-section,
.ibos-visual-theme .page-hero,
.ibos-visual-theme .product-detail-hero{
  position:relative;
  isolation:isolate;
  color:var(--ibos-body);
  border-color:var(--ibos-border);
  background:
    radial-gradient(circle at 10% 15%,color-mix(in srgb,var(--ibos-accent) 10%,transparent),transparent 31%),
    radial-gradient(circle at 88% 12%,color-mix(in srgb,var(--ibos-primary) 12%,transparent),transparent 34%),
    linear-gradient(135deg,var(--ibos-hero-a) 0%,var(--ibos-bg) 52%,var(--ibos-hero-b) 100%);
}
.ibos-visual-theme .hero-section::after,
.ibos-visual-theme .page-hero::after,
.ibos-visual-theme .product-detail-hero::after{
  content:"";position:absolute;inset:auto -12% -38% 38%;height:55%;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse at center,color-mix(in srgb,var(--ibos-primary) 8%,transparent),transparent 68%);
}
.ibos-visual-theme :where(.hero-content h1,.page-hero h1,.product-detail-hero h1){color:var(--ibos-heading)}
.ibos-visual-theme :where(.hero-description,.page-hero p,.product-detail-hero p){color:var(--ibos-caption)}
.ibos-visual-theme .hero-grid-lines{opacity:.55;background-image:linear-gradient(color-mix(in srgb,var(--ibos-primary) 7%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--ibos-primary) 7%,transparent) 1px,transparent 1px)}
.ibos-visual-theme.ibos-hero-clean :where(.hero-section,.page-hero,.product-detail-hero){background:linear-gradient(180deg,var(--ibos-bg),color-mix(in srgb,var(--ibos-soft) 45%,var(--ibos-bg)))}
.ibos-visual-theme.ibos-hero-gradient :where(.hero-section,.page-hero,.product-detail-hero){background:linear-gradient(135deg,var(--ibos-hero-a),var(--ibos-soft),var(--ibos-hero-b))}
.ibos-visual-theme.ibos-hero-mesh :where(.hero-section,.page-hero,.product-detail-hero){background:
 radial-gradient(circle at 8% 18%,color-mix(in srgb,var(--ibos-accent) 17%,transparent),transparent 31%),
 radial-gradient(circle at 86% 16%,color-mix(in srgb,var(--ibos-primary) 17%,transparent),transparent 34%),
 radial-gradient(circle at 72% 88%,color-mix(in srgb,var(--ibos-primary-dark) 8%,transparent),transparent 30%),
 linear-gradient(135deg,var(--ibos-hero-a),var(--ibos-bg) 54%,var(--ibos-hero-b))}

/* ---------- 6. SECTION RHYTHM ---------- */
.ibos-visual-theme :where(.section-problem,.process-section,.capability-section,.insights-section,.faq-section,.page-content-area){background:var(--ibos-bg);color:var(--ibos-body)}
.ibos-visual-theme :where(.ecosystem-section,.resident-section,.pricing-section,.page-pricing,.muted-section){background:var(--ibos-section-tint);color:var(--ibos-body)}
.ibos-visual-theme :where(.case-section,.contact-section,.contact-page-section,.trust-strip){background:var(--ibos-section-tint-alt);color:var(--ibos-body)}
.ibos-visual-theme :where(.ecosystem-section,.resident-section,.pricing-section,.case-section,.contact-section,.contact-page-section) :where(h2,h3,h4,h5,strong){color:var(--ibos-heading)}
.ibos-visual-theme :where(.ecosystem-section,.resident-section,.pricing-section,.case-section,.contact-section,.contact-page-section) :where(p,li,small){color:var(--ibos-body)}
.ibos-visual-theme .ecosystem-section .eyebrow{color:var(--ibos-primary)}
.ibos-visual-theme .section-heading h2,
.ibos-visual-theme .split-heading h2,
.ibos-visual-theme .insights-heading h2{color:var(--ibos-heading)}
.ibos-visual-theme .section-heading p,
.ibos-visual-theme .problem-card p,
.ibos-visual-theme .resident-copy p,
.ibos-visual-theme .contact-copy p{color:var(--ibos-caption)}

/* ---------- 7. PRODUCT / ECOSYSTEM / FEATURE UI ---------- */
.ibos-visual-theme .ecosystem-product{background:var(--ibos-surface)!important;border-color:var(--ibos-card-border)!important;color:var(--ibos-body)!important;box-shadow:var(--ibos-shadow-sm)}
.ibos-visual-theme .ecosystem-card-top{border-color:var(--ibos-border)}
.ibos-visual-theme .ecosystem-card-copy :where(h3,h4,strong){color:var(--ibos-heading)!important}
.ibos-visual-theme .ecosystem-card-copy :where(p,small){color:var(--ibos-caption)!important}
.ibos-visual-theme .ecosystem-connection{color:var(--ibos-primary)}
.ibos-visual-theme .connection-icon{background:var(--ibos-primary);color:var(--ibos-on-primary);box-shadow:0 8px 22px color-mix(in srgb,var(--ibos-primary) 17%,transparent)}
.ibos-visual-theme .capability-icon{background:var(--ibos-accent-soft);color:var(--ibos-primary)}
.ibos-visual-theme .resident-point{border-color:var(--ibos-border)}
.ibos-visual-theme .resident-point :where(strong,b){color:var(--ibos-heading)}
.ibos-visual-theme .resident-point :where(p,span){color:var(--ibos-caption)}

/* CSS product mockup uses exactly the active theme — no old blue islands. */
.ibos-visual-theme .product-visual{background:color-mix(in srgb,var(--ibos-soft) 42%,var(--ibos-surface));border-color:var(--ibos-border)}
.ibos-visual-theme .product-top{background:linear-gradient(135deg,var(--ibos-primary-dark),var(--ibos-primary))!important;color:var(--ibos-on-primary)!important;border:0}
.ibos-visual-theme .product-top strong{color:var(--ibos-on-primary)!important}
.ibos-visual-theme .product-top small{color:color-mix(in srgb,#fff 72%,transparent)!important}
.ibos-visual-theme .product-dots i{background:color-mix(in srgb,#fff 44%,transparent)}
.ibos-visual-theme .product-dots i:first-child{background:var(--ibos-accent)}
.ibos-visual-theme .product-side{background:color-mix(in srgb,var(--ibos-soft) 84%,var(--ibos-surface))}
.ibos-visual-theme .product-side-mark{background:var(--ibos-primary)}
.ibos-visual-theme .product-side span{background:color-mix(in srgb,var(--ibos-primary) 23%,var(--ibos-border))}
.ibos-visual-theme .product-side span:nth-child(3){background:color-mix(in srgb,var(--ibos-primary) 58%,var(--ibos-border))}
.ibos-visual-theme .product-main{color:var(--ibos-body)}
.ibos-visual-theme .product-breadcrumb,.ibos-visual-theme .product-panels b{color:var(--ibos-caption)}
.ibos-visual-theme .product-main>strong{color:var(--ibos-heading)}
.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 span,.ibos-visual-theme .product-panels span{background:color-mix(in srgb,var(--ibos-primary) 9%,var(--ibos-border))}
.ibos-visual-theme .product-stat i{background:color-mix(in srgb,var(--ibos-primary) 54%,var(--ibos-border))}
.ibos-visual-theme .product-stat div:nth-child(2) i{background:color-mix(in srgb,var(--ibos-accent) 60%,var(--ibos-border))}

/* ---------- 8. PRICING / CALCULATOR ---------- */
.ibos-visual-theme :where(.price-card,.pricing-card,.calculator,.calc-cost-card){background:var(--ibos-surface);border-color:var(--ibos-card-border)}
.ibos-visual-theme :where(.price-plan,.price-amount,.price-head h3,.calc-summary-heading h4,.calc-cost-header h5){color:var(--ibos-heading)!important}
.ibos-visual-theme :where(.price-subtitle,.price-account,.price-common-label,.calc-summary-heading>p){color:var(--ibos-caption)!important}
.ibos-visual-theme .price-highlight{background:var(--ibos-primary);color:var(--ibos-on-primary);border-radius:999px}
.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) 48%,var(--ibos-border));box-shadow:0 18px 48px color-mix(in srgb,var(--ibos-primary) 11%,transparent)}
.ibos-visual-theme .calc-cost-header{
  background:linear-gradient(135deg,var(--ibos-accent-soft),var(--ibos-accent-soft-2))!important;
  border-bottom:1px solid var(--ibos-border);
  color:var(--ibos-body)!important;
}
.ibos-visual-theme .calc-cost-kicker{color:var(--ibos-primary)!important}
.ibos-visual-theme .calc-cost-header h5{color:var(--ibos-heading)!important}
.ibos-visual-theme .calc-cost-header p{color:var(--ibos-caption)!important}
.ibos-visual-theme .calc-cost-figure{background:color-mix(in srgb,var(--ibos-soft) 70%,var(--ibos-surface))}
.ibos-visual-theme .calc-cost-once .calc-cost-figure{background:color-mix(in srgb,var(--ibos-soft-alt) 70%,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-details>div,.ibos-visual-theme .calc-cost-hint{border-color:var(--ibos-border)}
.ibos-visual-theme .calculator>.calc-note{background:var(--ibos-accent-soft);border-left-color:var(--ibos-primary);color:var(--ibos-caption)}
.ibos-visual-theme .ibos-core-scope{background:linear-gradient(145deg,var(--ibos-section-tint),var(--ibos-surface) 62%);border-color:var(--ibos-card-border)}
.ibos-visual-theme .ibos-core-heading h3,.ibos-visual-theme .ibos-core-group h4,.ibos-visual-theme .ibos-core-group strong,.ibos-visual-theme .ibos-core-scope-note strong{color:var(--ibos-heading)}
.ibos-visual-theme .ibos-core-badge{background:var(--ibos-accent-soft);color:var(--ibos-primary-dark)}
.ibos-visual-theme .ibos-core-check{background:var(--ibos-accent-soft);color:var(--ibos-primary)}
.ibos-visual-theme .ibos-core-scope-note{background:var(--ibos-section-tint-alt);border-left-color:var(--ibos-primary);color:var(--ibos-caption)}

/* ---------- 9. FAQ / TABLES / LONG FORM / LEGAL ---------- */
.ibos-visual-theme :where(.prose,.prose-page,.detail-content,.article-copy,.archive-card-copy){color:var(--ibos-body)}
.ibos-visual-theme :where(.prose h2,.prose h3,.prose h4,.prose-page h2,.prose-page h3,.detail-content h2,.detail-content h3){color:var(--ibos-heading)}
.ibos-visual-theme :where(.prose a,.prose-page a,.detail-content a){color:var(--ibos-link)}
.ibos-visual-theme :where(.prose table,.wp-block-table table){border-color:var(--ibos-border);background:var(--ibos-surface)}
.ibos-visual-theme :where(.prose th,.wp-block-table th){background:var(--ibos-section-tint);color:var(--ibos-heading);border-color:var(--ibos-border)}
.ibos-visual-theme :where(.prose td,.wp-block-table td){color:var(--ibos-body);border-color:var(--ibos-border)}
.ibos-visual-theme :where(blockquote,.wp-block-quote){border-left-color:var(--ibos-primary);background:var(--ibos-accent-soft);color:var(--ibos-body)}
.ibos-visual-theme :where(.ibos-policy-updated,.ibos-compliance-note,.ibos-compliance-supplement){background:var(--ibos-section-tint);border-color:var(--ibos-border);color:var(--ibos-caption)}
.ibos-visual-theme :where(.ibos-compliance-card,.ibos-table-wrap){border-color:var(--ibos-border);background:var(--ibos-surface)}
.ibos-visual-theme .faq-grid details,.ibos-visual-theme .faq-item{background:var(--ibos-surface);border-color:var(--ibos-card-border)}
.ibos-visual-theme .faq-grid summary,.ibos-visual-theme .faq-item summary{color:var(--ibos-heading)}
.ibos-visual-theme .faq-grid details[open],.ibos-visual-theme .faq-item[open]{border-color:color-mix(in srgb,var(--ibos-primary) 34%,var(--ibos-border));background:linear-gradient(180deg,var(--ibos-accent-soft),var(--ibos-surface) 36%)}

/* ---------- 10. FOOTER ---------- */
.ibos-theme-footer .site-footer:not(.footer-theme-dark){background:var(--ibos-footer);color:var(--ibos-body);border-color:var(--ibos-border)}
.ibos-theme-footer .site-footer:not(.footer-theme-dark) :where(h2,h3,h4,strong){color:var(--ibos-heading)}
.ibos-theme-footer .site-footer:not(.footer-theme-dark) :where(p,small,span){color:var(--ibos-caption)}
.ibos-theme-footer .site-footer:not(.footer-theme-dark) a{color:var(--ibos-body)}
.ibos-theme-footer .site-footer:not(.footer-theme-dark) a:hover{color:var(--ibos-primary)}
.ibos-theme-footer .site-footer:not(.footer-theme-dark) :where(.footer-company-details,.footer-bottom,.footer-verified){border-color:var(--ibos-border)}
.ibos-theme-footer .site-footer:not(.footer-theme-dark) .footer-identity-link{color:var(--ibos-primary-dark)}
.ibos-theme-footer .site-footer:not(.footer-theme-dark) .ibos-verified-link{background:var(--ibos-surface);border-color:var(--ibos-border);box-shadow:var(--ibos-shadow-xs)}
.ibos-theme-footer .site-footer.footer-theme-dark{background:var(--ibos-deep);color:color-mix(in srgb,#fff 86%,transparent)}
.ibos-theme-footer .site-footer.footer-theme-dark :where(h2,h3,h4,strong,a){color:#fff}
.ibos-theme-footer .site-footer.footer-theme-dark :where(p,small,span){color:color-mix(in srgb,#fff 72%,transparent)}
.ibos-theme-footer .site-footer.footer-theme-dark :where(.footer-company-details,.footer-bottom,.footer-verified){border-color:color-mix(in srgb,#fff 16%,transparent)}
.ibos-theme-footer .site-footer.footer-theme-dark a:hover{color:color-mix(in srgb,var(--ibos-accent) 75%,#fff)}

/* ---------- 11. INTENSITY ---------- */
.ibos-visual-theme.ibos-intensity-calm{
  --ibos-shadow-xs:none;--ibos-shadow-sm:0 2px 8px color-mix(in srgb,var(--ibos-deep) 4%,transparent);--ibos-shadow-md:0 8px 24px color-mix(in srgb,var(--ibos-deep) 6%,transparent)
}
.ibos-visual-theme.ibos-intensity-calm :where(.hero-section,.page-hero,.product-detail-hero){background:linear-gradient(180deg,var(--ibos-bg),var(--ibos-section-tint))}
.ibos-visual-theme.ibos-intensity-vivid{
  --ibos-shadow-xs:0 8px 24px color-mix(in srgb,var(--ibos-primary) 8%,transparent);
  --ibos-shadow-sm:0 16px 38px color-mix(in srgb,var(--ibos-primary) 11%,transparent);
  --ibos-shadow-md:0 24px 62px color-mix(in srgb,var(--ibos-primary) 15%,transparent)
}
.ibos-visual-theme.ibos-intensity-vivid :where(.problem-card,.capability-card,.archive-card,.article-card,.case-card,.price-card,.contact-card):hover{transform:translateY(-3px);box-shadow:var(--ibos-shadow-md);border-color:color-mix(in srgb,var(--ibos-primary) 25%,var(--ibos-border))}

/* ---------- 12. TET VIET — SAME SYSTEM, SEASONAL ACCENTS ONLY ---------- */
.ibos-theme-tet-viet.ibos-tet-on .hero-section::before,
.ibos-theme-tet-viet.ibos-tet-on .page-hero::before{
  content:"";position:absolute;pointer-events:none;z-index:-1;width:220px;height:220px;right:-55px;top:40px;border-radius:50%;opacity:.18;
  background:radial-gradient(circle at 48% 48%,var(--ibos-accent) 0 7%,transparent 8% 16%,var(--ibos-primary) 17% 18%,transparent 19% 28%,var(--ibos-accent) 29% 30%,transparent 31%);
}
.ibos-theme-tet-viet.ibos-tet-highlight .hero-section::before,.ibos-theme-tet-viet.ibos-tet-highlight .page-hero::before{opacity:.28;transform:scale(1.18)}

/* ---------- 13. RESPONSIVE TYPOGRAPHY CONSISTENCY ---------- */
@media(max-width:760px){
  .ibos-visual-theme :where(h1,.hero-content h1,.page-hero h1){letter-spacing:-.035em}
  .ibos-visual-theme :where(.section-heading p,.hero-description,.page-hero p){line-height:1.72}
  .ibos-visual-theme .site-header{backdrop-filter:blur(10px)}
}

@media(prefers-reduced-motion:reduce){
  .ibos-visual-theme *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* V16.7.3.1 — Mobile CTA contrast fix */
.ibos-visual-theme .mobile-menu-cta{background:var(--ibos-primary)!important;color:var(--ibos-on-primary)!important;border:1px solid var(--ibos-primary)!important;box-shadow:0 8px 20px color-mix(in srgb,var(--ibos-primary) 16%,transparent);border-radius:var(--ibos-control-radius)}
.ibos-visual-theme .mobile-menu-cta:hover,.ibos-visual-theme .mobile-menu-cta:focus-visible{background:var(--ibos-primary-dark)!important;color:var(--ibos-on-primary)!important;border-color:var(--ibos-primary-dark)!important}
